The first-class question: why your intro offer and price belong in plain text
"What does a first class cost?" decides bookings. If the price only lives in your booking widget, neither your website nor an AI assistant can answer it.
Most boutique studios sell a first visit: a proefles, an intro class, a starter pack. It is the offer that turns a curious person into someone standing in the studio. Yet in the first six Rotterdam studio sites I scanned while building my check, three had no intro price anywhere in the page text.
Where the price usually hides
Booking systems are good at selling passes, so studios let them. The schedule, the intro offer and the price live in an embedded widget or a link to the vendor’s checkout. Mindbody, for example, offers “branded web tools” that you paste into your site as widgets (sources 3 and 4). Many other vendors work the same way. The result looks fine to a visitor with a fast connection and a mouse.
It looks different to anything that reads your site rather than looks at it.
What a crawler sees
Content that appears inside an embedded frame belongs, technically, to the vendor’s page, not yours. Google can index some embedded content, and it added the indexifembedded instruction specifically for the case where a page is only meant to be seen inside another site (source 2). But that content is attributed to the frame’s own URL. A prospect asking an assistant about your studio gets an answer built from your pages.
Content built by JavaScript is a second layer. Google renders JavaScript, though with delays and limits it documents itself (source 1). Several AI crawlers fetch the raw HTML only. If your intro price is only written to the page by a script, or only fetched into a widget, the raw HTML does not contain it. My check flags this as “limited text in the fetched HTML; rendering not tested”, because a non-rendering fetch cannot prove what a rendering one would see. It can prove that the price was not in the HTML.
What this does to the question that matters
When I ask an assistant “what does a first class at [studio] in Rotterdam cost and how do I book it?”, the good outcome is a sentence with the price and a link to your booking page, citing your site. The common outcome is one of three worse things: “prices are not listed on the website”, a guess drawn from a directory that is out of date, or a competitor’s offer because their page had the answer.
None of those is a problem with the assistant. The page did not contain the sentence.
The fix takes one sentence
Write the offer as text, near the booking button and on the pricing page, in the language of the site:
Proefles €15. Daarna kun je kiezen voor een intro-maand van €59. Boek je proefles via de knop hieronder.
Include what it is, what it costs, what it includes, and any condition such as “for new members only”. Keep the widget; just stop letting it be the only place the fact exists. When the price changes, change both.
While you are there, do the same for the two other facts that hide in widgets: which days classes run, and which class types you actually offer.
Twenty-minute action
Open your pricing page, press Ctrl-U (or View Source), and search the code for your intro price. If it is not there, it is not on your website in any sense a machine understands. Add the sentence, and check again.
The free check looks for exactly this and shows you what the assistants currently say when asked the price question about your studio.
Sources
- Google Search Central: Understand JavaScript SEO basics (checked 2026-09-13)
- Google Search Central Blog: Robots meta tag: indexifembedded (2022) (checked 2026-09-13)
- Mindbody: Branded web tools (checked 2026-09-13)
- Mindbody support: How to put branded web tool widgets on your site (checked 2026-09-13)
