Wix App · v1.2.0 · Live on the Wix App Market
Blog Contents & Reading Time
A contents list built from the headings already on the page, a reading time counted from the article itself, and related posts that never need a permission into your blog.
- Contents from your own page
- Reading time free
- No badge, ever
- No blog permission
The gap it closes
Wix Blog does none of these three things, and its own reviewers keep asking. “目次が作れるようにしてほしい” — I want to be able to make a table of contents (1★) · “The Blog Apps should have more Elements. The possibility to add internal Links is a must have” (3 votes) · “I don’t like that I don’t have a word count” (2 votes). Wix Blog is 4.1★ over 2,469 reviews and free to install with no pricing plans whatsoever — there is not one thing in it behind a paywall, so nothing it also does could honestly be sold here.
Its reading-time field is there and it reads nought. Wix Blog carries a minutesToRead value on every post; it measured 0 on every post in this build, six-hundred-word ones included. “I don’t like that I don’t have a word count — what use are characters?” is a live two-vote review on it. This app counts the words in the article in front of the reader rather than reading a field, so the figure is either right or absent.
The one contents-list app on the shelf sells three things that are not features. Blog Table of Contents (0.0★ / 0) gives you “Selected templates”, “Basic customization” and “Purple branding” free. Its $8.38 a month tier is “Unlock Full Templates”, “Sticky mode”, “No watermark” and “Priority Support” — three of its four paid bullets are permission to use the app without its name on your website and with its own designs. A contents list that scrolls away is half a contents list, so following the reader is free here.
The shelf beside it is almost entirely empty, and the word “blog” is a trap. Nine of eleven phrases a buyer types return nothing real at all — related posts, recent posts, post navigation, blog sidebar, popular posts, blog widget, estimated reading time, blog posts list, blog toolkit. Searching blog itself returns 28 apparently-real apps, and almost every one is an AI writing engine or a rival blog engine. Something that writes a post for you is not something that helps a reader through one; counted as supply they would have trebled the apparent competition.
And the honest half of the read: a rival gives the whole progress bar away. Reading Progress Bar (0.0★ / 0) is free for everything — bar or circle, live percentage, gradient fills, thickness, radius, opacity, and a reading time in the owner’s own words in any language. A listing that reads meaner than a rival on an axis a buyer compares directly is a listing you lose, so the reading time, the word count and the progress bar are all free here too, with every design control.
How it works
Three steps, then it runs itself.
- 01
Drop a block on the page and publish
Three ordinary elements — a contents list, a reading time and a row of related posts — and you use as many or as few as you like, as many times as you like. There is no cap on placements on any plan. Each one has its own arrangement and its own design controls, and they are all free.
- 02
The contents list reads the page it is standing on
It looks at the headings already in the article, in the reader’s own browser, every time the page loads. Nothing to type, nothing to keep in step with the post, and nothing to go stale when you edit it. It works out which headings are the article’s and which belong to your menu, your footer or another app, and a post written entirely in one heading level still comes out as a proper list rather than nothing.
- 03
Related posts come from your own list
You add your pages in the dashboard — title, address, tag, an excerpt if you want one — and the block matches them against the words on the page being read. It never asks for a permission into your blog, never syncs and never keeps a copy of your posts. On Pro you can hand-pick what relates to what, or narrow the matching to a tag.
How it behaves
The decisions that matter.
-
No watermark and no badge, on any plan, ever
Not on the page, not in the editor, not on the free plan, not on a lapsed one. The one contents-list app on this shelf ships “Purple branding” on its free tier and charges $8.38 a month for “No watermark”. This is the wedge for the whole wave and it is not going to move.
-
Everything a reader sees is free
The contents list, the list following the reader and marking where they are, the reading time, the word count and the progress bar — all free, with every arrangement and every design control. What is paid for sits in your dashboard, not in front of your visitors.
-
It never connects to your blog
No permission into your posts, no sync, no copy of your content, no scheduled job. The contents list reads the page it is on; related posts come from a list you typed. There is no connection here to break, and nothing of yours held anywhere it could go stale.
-
Nothing is stored about a reader
No cookie, no identifier, no session, no IP address, no scroll log, no analytics. The progress bar is worked out in the reader’s own browser and nothing about it ever leaves. There is nothing here to sell, to join to anything, or to lose.
-
No cap on placements, headings, words or posts
On any plan, including the free one. A page with sixty headings is a list with sixty entries, a ten-thousand-word article is counted in full, and your post list can be as long as you like.
-
It handles a post written entirely in one heading level
A post that is all H3 — which is most posts, because the theme took H1 and H2 — becomes a flat list of every heading rather than an empty box. Whatever the shallowest level present on the page is becomes the top of the list, so you never have to go and re-tag your headings to make the app work.
-
It tells the difference between your article and your furniture
A Wix page carries headings from the site menu, the footer, a cookie banner and any other app on the page. This one finds the densest cluster of headings and takes that as the article, so the contents list is the post rather than the website.
-
The reading time is either right or absent
Below twenty words it draws nothing at all rather than “0 min read”, and it is counted from the article in front of the reader at your own words-a-minute figure, in your own wording and your own language. Wix Blog’s own minutesToRead field read 0 on every post this build measured.
-
It never links to a heading it did not list
The list only ever gives an id to a heading it is actually going to link to, and it leaves alone any id the page already had. Nothing else on your page changes, and no anchor is created that leads somewhere the reader was not offered.
-
The progress track hides when there is nothing to track
On an article shorter than the window there is no scrolling to do, so a progress bar would sit permanently at either 0% or 100% and mean nothing. It draws no track at all instead.
-
It works on a phone and inside a column
Measured at 390 pixels on a published page. Each block asks its own container how wide it is rather than asking the browser, so it is right in a narrow column on a wide screen as well as on a phone — which the browser’s own width would get wrong on a classic Wix page.
-
Your post list is your own data
Ordinary rows in your own site’s content manager. CSV both ways on Business, and uninstalling removes the app’s collections and touches nothing else.
-
Nothing that is free today will ever move behind the paywall
Stated here and in the App Market listing. The free plan is the pitch, not a trial.
Pricing
Free tier that actually works.
Billed per site through the Wix App Market, monthly or yearly (yearly saves 20%). Every paid plan starts with a 14-day free trial. The free plan is deliberately functional and never expires, so the app can prove itself on a real site before you pay for it.
Free
$0
Pro
$9.99/mo
or $95.88/yr
Business
$19.99/mo
or $191.88/yr
Documentation & data handling
Everything it touches, stated plainly.
Installing & getting started
- Add Blog Contents & Reading Time to your Wix site from the App Market and approve the permissions listed below.
- Open it from your site dashboard under Apps. It adds the Contents list element (editor widget, any page, any number of times) / Reading time element (editor widget, any page, any number of times) / Related posts element (editor widget, any page, any number of times) / Dashboard page.
- Follow the three steps above. The free tier covers all three blocks, unlimited placements, on any page. A contents list built from the page’s own headings, including a post written entirely in one heading level, that follows the reader and marks where they are — the $8.38-a-month feature on the one rival that has it. Reading time at your own words-a-minute figure, in your own wording and language, with a word count and a progress bar. Related posts from your own list, matched against the page being read. Every arrangement and every design control. No cap on placements, headings, words or posts. No watermark and no badge, ever, so you can prove it works before paying.
- Stuck? Email support@buildsbyluke.com — two business days response.
Permissions, and why each one
SCOPE.DEV_CENTER.APP-INSTANCE-READ-BASIC-INFO- Read which plan the site is on, so Pro and Business features unlock. It is the only permission this app asks for, and it asks for nothing at all about your blog.
What is stored, and where
- The contents list and the reading time are worked out entirely in the reader’s own browser, from the page already in front of them. Neither the headings nor the article text is ever sent anywhere or written down.
- Nothing whatsoever is stored about a reader: no cookie, no identifier, no session, no IP address, no scroll position, no reading log and no analytics of any kind.
- The related-posts list is what the site owner typed into their own dashboard — title, address, tag and an optional excerpt. The app never reads the blog, never asks for a permission into it and never keeps a copy of a post’s content.
- Every row lives in a collection inside the site owner’s own site, under their own account. The site owner is the controller of it.
- Nothing is loaded from any third party: no script, no tracker, no font and no icon set.
- Uninstalling removes the app’s collections and touches nothing else.
Technical detail
- Version
- 1.2.0
- Hosting
- Wix (the app runs on Wix’s own infrastructure — no servers of ours)
- Runtime
- Wix CLI app — Astro + React, Node.js
- Authentication
- Wix app-instance identity, verified on every request
- Wix surfaces
- Contents list element (editor widget, any page, any number of times), Reading time element (editor widget, any page, any number of times), Related posts element (editor widget, any page, any number of times), Dashboard page
- App ID
9e93e827-d170-4c1b-b0c4-02dd2a86311c- Support
- support@buildsbyluke.com
- Support SLA
- Two business days
- Publisher
- Builds By Luke, Canada
Questions people ask.
Does it need permission to read my blog?
No, and it never will. The contents list reads the page it is standing on, in the reader’s own browser. Related posts come from a list you type into your own dashboard. The only permission this app asks for is the one that tells it which plan your site is on.
How is this different from what Wix Blog already does?
Wix Blog does none of these three things. It has no table of contents, no progress bar, and no related-posts block you can place and design yourself. It does carry a minutesToRead field, and that field read 0 on every post this build measured, including six-hundred-word ones — which is why this app counts the words in the article rather than reading a number off the post.
My whole post is H3 because the theme took H1 and H2. Will the contents list be empty?
No. Whatever the shallowest heading level actually present on the page is becomes the top of the list, so an all-H3 post comes out as a flat list of every heading. You never have to re-tag your headings to make the app work.
Will it put my site menu and footer in the contents list?
No. A Wix page carries headings from the menu, the footer, a cookie banner and any other app on the page. It finds the densest cluster of headings and treats that as the article, so the list is the post rather than the website.
Does the contents list follow the reader on the free plan?
Yes. It follows the reader down the page and marks where they are, free, on every plan. It is the $8.38-a-month “Sticky mode” feature on the one other contents-list app on this shelf, and a contents list that scrolls away is half a contents list.
Is there a watermark on the free plan?
No, and there is none on any plan, ever — not on the page, not in the editor, not on a lapsed plan. The rival app ships “Purple branding” on its free tier and charges $8.38 a month to remove it.
Can I change the wording and the language?
Yes, free. Every word a reader sees is yours to write, including the reading-time sentence and its singular and plural, so it works in any language. You set the words-a-minute figure too.
Why does the reading time sometimes not appear?
Below twenty words there is nothing meaningful to estimate, so it draws nothing rather than “0 min read”. The same rule applies to the progress track: on an article shorter than the window there is no scrolling to do, so no track is drawn instead of one stuck at 0% or 100%.
Does it change my page’s HTML?
Only where it must, and as little as possible. To link to a heading that has no id it gives that one heading an id — and only ones it is actually going to list. Any id your page already had is left exactly as it is.
Does it store anything about my readers?
Nothing at all. No cookie, no identifier, no session, no IP address, no scroll log, no analytics. The progress bar is worked out in the reader’s own browser and never leaves it.
What happens to my post list if I stop paying?
It stays. Your rows are ordinary records in your own site’s content manager and the free plan still shows related posts from them. The Pro and Business features stop; nothing of yours is deleted or held hostage.
Will it slow my page down?
The contents list and the reading time make no request at all — they read the page already loaded. The related-posts block makes one request per placement, to your own site’s app, and nothing at all is loaded from any third party: no script, no tracker, no font, no icon set.
Does it work on Wix Studio?
Yes. These are custom elements, so they run on Wix Studio, the classic Wix Editor and Wix Harmony — the same app and the same settings panels. Verified on a published Wix Studio page and on a published classic Wix page.
Put Blog Contents & Reading Time on your site.
Add it, use the free plan on a real site, and only pay once it has earned it.