Webflow SEO

How do I add schema markup (structured data) to Webflow?

Add JSON-LD in Webflow Page settings, bind CMS fields on templates, and test the live page without expecting guaranteed rich results.

THE SHORT ANSWER

Open Page settings and use the Schema markup field. Generate JSON-LD with Webflow AI or paste your own, then save and publish. On a Collection template, bind supported fields so each item has its own data. Keep existing custom code schema where it is, and do not add a second copy. Valid markup can qualify a page for rich results. Search engines decide whether to show them.

Add JSON-LD in the Schema markup field

Schema markup, also called structured data, tells search engines what a page is about. In Webflow, add it per page, including Collection templates. Anyone except a Reviewer can add it when the site has a paid Site plan or sits in a paid Workspace.

Open the site, open the page, and open the Pages panel. Hover the page, click the settings icon, and scroll to Schema markup. Click Generate schema markup to let Webflow AI write it, or paste your own JSON-LD. Save, then publish to the staging domain or the custom domain. The markup is not live until that publish.

Use one type that matches the page. A studio homepage can describe the business name, the site URL, and the public phone number. A single article page should describe that article, not the whole company. If the page does not have enough content yet, add the real copy first. Generation also stays unavailable while Webflow AI is off in Workspace settings, or while the field already contains code.

Bind fields on a Collection template

On a Collection template, each item needs its own data. When you generate schema with Webflow AI on that template, Webflow can include relevant item fields such as name, address, price, and image. If you write the markup yourself, bind those fields so the published item pages do not all repeat the template placeholder.

Example: a Case studies template binds the item name, a short summary, and the main image. Each published case study then carries its own name and image. A shared studio name can stay as plain text if every item uses the same business.

Reference, Multi-reference, and Multi-image fields cannot be used in schema. Use a supported field instead, such as Plain text, Option, or a single Image. If you later delete a field that the markup still references, that connection breaks. Update the schema to point at a field that still exists.

During the current beta, AI generation runs on the primary locale only. You can still paste locale-specific schema by hand on a secondary locale.

Leave custom code schema in one place

Schema you already added in custom code still works. You do not have to move it into the Schema markup field. Webflow recommends one location, because the same data in both places is duplicate structured data.

The Schema markup field and custom code are separate places. If the same business details are already in site Head code, or in the page Before body tag field, leave the Schema markup field empty for that data. Pick one place.

Example: the homepage already has an Organization block in site Head code, with the studio name and URL. Generating schema again in Page settings can add a second copy. Keep the Head code version and leave this page's Schema markup field empty, or delete the Head code block and use the field only. Publish once, then run the testing tool on the live homepage and confirm the business name shows up once.

Custom code itself only accepts HTML, CSS, and JavaScript. Do not wrap the snippet in extra html, head, or body tags. The page already has those.

Test the published URL

Webflow recommends checking generated or hand-written schema with a structured data testing tool, such as Schema Markup Validator. The help article also names Google's Rich Results Test. Run the test on the published URL, not on an unsaved Designer canvas.

Schema Markup Validator checks the markup for errors. Google's Rich Results Test checks whether the page is eligible for a rich result. Eligibility still does not mean Google will show stars, a FAQ dropdown, or an event listing. Search engines choose from page quality, relevance, and the query. A pricing page can pass the test and still appear as an ordinary blue link. That is a normal outcome, not a broken publish.

If the test reports a missing name or image, fix that field, save, and publish again before you retest. Retesting the old URL only repeats the previous result.

Recheck after the next content change

Schema goes stale when the page changes and the markup does not. After you rename a service or replace the main image, open Page settings and confirm the schema still describes the live page. On a template, confirm the bound fields still exist.

Example: you rename the Collection field Summary to Excerpt and the old binding breaks. Open the template schema, point the description at Excerpt, save, and publish one item. Test that item's URL. If the name and image match the item, the template is ready for the rest of the Collection.

Questions & answers

Why will Webflow not generate schema for this page?

Generation needs Webflow AI turned on, a page with enough content, a role above Reviewer, and a paid Site plan or a paid Workspace. Clear the Schema markup field first if it already contains code.

Which Collection fields can schema use?

Supported fields include Plain text, Image, Video link, Link, Email, Phone, Number, Date/Time, Switch, Color, Option, and File. Reference, Multi-reference, and Multi-image fields are not supported.

Should I move schema I already pasted into custom code?

No. Schema added in custom code keeps working. Leave it in that one place. Adding the same markup again in the Schema markup field can create duplicate structured data.

The test says the markup is valid. Where are the rich results?

A valid test means the page can be eligible. Google still chooses whether to show a rich result, using page quality, relevance, and the search itself.

Sources & further reading

Need a hand with your Webflow site?

View membership