How Do You Add Schema Markup to a Webflow Site?
How do you add schema markup to a Webflow site?
You paste a JSON-LD script block into custom code, either site wide in Site settings, per page in Page settings, or inside a Code Embed on a Collection page template. On a Collection page you bind CMS fields into the values, so every item in the collection gets its own correct markup from one template.
That is the whole mechanic. The part that goes wrong is never the pasting. It is choosing which properties to include, keeping them honest, and not letting a CMS field with a stray quotation mark break the block for four hundred pages at once.
We build Webflow sites for B2B companies where organic and AI search are the main acquisition channels, so this is a step we do on every project. Here is the version we would hand a client's in house marketer.
What is JSON-LD, and why does Google prefer it?
JSON-LD is structured data written as a separate block of JSON in the page, rather than woven through the visible HTML. Google's structured data introduction says all three formats are equally fine, and recommends JSON-LD because it is, in Google's words, "the easiest solution for website owners to implement and maintain at scale."
Its practical advantage in Webflow is separation. Microdata and RDFa require you to add attributes to the elements themselves, which in Webflow means fighting the Designer. JSON-LD sits in one block you can read, edit and delete without touching the layout.
If structured data is new to you as a concept, start with our general explainer on what schema markup does for SEO and come back for the Webflow specifics.
Where does the code actually go in Webflow?
Three places, and picking the wrong one causes most problems. Site settings custom code applies to every page, which suits Organization and WebSite markup. Page settings custom code applies to one static page, which suits a single About or Contact page. A Code Embed on a Collection page template applies to every item in that collection.
The rule we use: if the value is the same on every page, it belongs in Site settings. If it changes per item, it belongs in a Code Embed on the template, bound to CMS fields.
Remember that custom code runs on the published site, not inside the Designer. You cannot check your work by previewing. You have to publish, at minimum to a staging domain.
How much code can you actually add?
Webflow raised the ceiling to 50,000 characters, and its own product update says you can now add up to 50,000 characters of custom code across Site settings, Page settings, Code Embed elements and CMS Rich text fields. For schema markup that is far more room than you will ever need.
This matters because older advice, and a lot of blog posts still circulating, assume a much tighter limit and recommend hosting your schema on an external file to get around it. That workaround is now solving a problem you do not have.
Keep the block inline. External scripts add a request, and a request that fails means your markup silently disappears.
How do you make schema dynamic on Collection pages?
Put a Code Embed inside the Collection page template and insert CMS fields into the values, the same way you would bind a heading. Webflow substitutes each item's field value at publish time, so one block produces correct markup for every post, product or role in the collection.
Bind the title field to headline, the publish date to datePublished, the updated date to dateModified, and the main image to image. Keep the author as a fixed string if a single organisation writes everything, or bind an author field if you have real bylines.
The trap is rich text. Never bind a rich text field into a JSON value. It contains HTML tags and quotation marks that will break the JSON. Use a plain text summary field instead, and add one to the collection if it does not exist.
If you are still deciding how your collections should be shaped, that decision comes first, and we covered it in how to structure Webflow Collection lists.
Which properties should an article actually include?
Fewer than you think. Google's Article documentation, updated on September 8, 2026, states plainly that there are no required properties, and says to add the properties that apply to your content. There is no checklist to complete for its own sake.
Google's guidance on the main ones is specific. Use a concise headline, because long titles may be truncated on some devices. Provide high resolution images, with a minimum of 50,000 pixels when width is multiplied by height, ideally in 16x9, 4x3 and 1x1 ratios. Use ISO 8601 format for datePublished and dateModified.
For author, Google says to specify only the name, without job titles or publisher information, and to use author.url as a link to a page that uniquely identifies that author. A studio or company byline is fine, as long as the page you point to genuinely represents them.
What breaks most often on a real Webflow site?
Quotation marks inside a CMS field. An apostrophe is harmless, but a straight double quote inside a bound plain text field closes the JSON string early and invalidates the whole block. One bad title takes down structured data across the template, not just that page.
The second most common failure is a date field left empty on a few older items. The value renders as an empty string, the date fails validation, and the error only shows up for those specific items.
The third is duplication. A site wide WebSite block plus a page level Article block is fine. Two Article blocks on the same page, one from an old experiment, is not, and nobody notices until someone runs a test.
How do you test it, before and after publishing?
Google names two tools for two different jobs. Use the Rich Results Test during development on a published staging URL, then use the rich result status reports in Search Console after deployment to monitor validity across the whole site over time.
The staging test catches syntax. The Search Console report catches the slow failures, like those three items with a missing date, that you would never find by spot checking. Check it monthly rather than once at launch.
Test at least three Collection items, not one. A single item passing tells you the template is valid for that item's data, not that every item's data is valid.
Does schema markup still matter when AI answers the question?
It matters for a different reason than it used to. Structured data was a route to rich results in a blue link list. Now it is also the cleanest machine readable statement of what a page is, who wrote it, and when it was updated, which is exactly what answer engines need to decide whether to trust and cite you.
Be careful about the promise, though. Google is explicit that valid structured data does not guarantee an enhanced result. It makes you eligible. It does not make you chosen.
We treat it as hygiene rather than strategy. It costs an hour, it removes ambiguity about your content, and nothing else you do that week has that ratio. Our view on which schema types still earn their keep goes further into where the returns have moved.
What should you avoid doing?
Do not describe things the reader cannot see. Google's guidance is direct: do not create blank or empty pages just to hold structured data, and do not add structured data about information that is not visible to the user, even if the information is accurate. Accuracy is not a defence here.
In practice that rules out the tempting Webflow shortcuts. Do not mark up a rating nobody can read on the page. Do not add an author that appears nowhere. Do not describe a price that lives only in a hidden CMS field.
Keep your markup a faithful description of the page, and you never have to think about this again.
Where should you start on your own site?
Do three things in one sitting. Add an Organization block in Site settings. Add an Article block as a Code Embed on your blog Collection template, bound to title, dates and image. Then publish to staging and run three items through the Rich Results Test.
That covers the majority of the value. Everything after it, product markup, breadcrumbs, events, is worth adding only when you actually have those page types and they matter to the business.
If you would rather not hand this to a marketer who has never touched a Code Embed, it is the kind of thing we set up once and document so the team can maintain it. We are happy to take a look at your site and say what is worth adding. You can find us at phoenix.studio.
Want a site that performs like this?
Tell us about your project. We will come back with a clear next step, no pressure.
This site is protected by reCAPTCHA and the Google Privacy Policy and Terms of Service apply.
Have a project like this?
Tell us where you want to go. We'll tell you how we'd get you there.