How to fix crawler findings on Webflow
Where each fix is made on Webflow, including where Webflow does not let you make it and what to do instead. Every report on a Webflow site shows these steps under the finding they fix.
WordPress · Shopify · Webflow · Squarespace · Wix · Next.js · Drupal · Cloudflare
Edit robots.txt
- Site settings → SEO → robots.txt: edit the text there.
- Publish the site; the change is not live until you do.
Fixes these findings: ROBOTS_RULES_SHADOWED, ROBOTS_NO_SITEMAP, ROBOTS_NOT_200, ROBOTS_IS_HTML, ROBOTS_IS_CATCHALL, ROBOTS_DISALLOW_ALL, ROBOTS_CTYPE, ROBOTS_BLOCKED, RENDER_RESOURCE_BLOCKED, INSTRUCTION_CONFLICT, DECLARED_SITEMAP_REFUSED, DECLARED_SITEMAP_BROKEN, SITEMAP_BLOCKED, AI_OPTOUT_SET, BOT_BLOCKED_NOT_CITED, BOT_RULES_SHADOWED_NOT_CITED
Publish a sitemap
- Site settings → SEO → Sitemap: turn on auto-generate, then publish. It is served at /sitemap.xml.
- Pages excluded from search (page settings) are left out.
Fixes these findings: NO_SITEMAP_FOUND, SITEMAP_NO_LASTMOD, SITEMAP_IS_HTML, SITEMAP_DECLARES_NOTHING, SITEMAP_UNREADABLE, SITEMAP_ORIGIN_ERROR, ROBOTS_NO_SITEMAP, DECLARED_SITEMAP_BROKEN, DECLARED_SITEMAP_REFUSED
Publish llms.txt
- Webflow cannot host a file at the root. Upload llms.txt as an asset, then add a 301 redirect from /llms.txt to the asset URL in Site settings → Publishing → 301 redirects.
- Publish the site.
Fixes these findings: NO_LLMS_TXT, NO_LLMS_TXT_NOT_CITED
Send HSTS
- Webflow sets response headers itself; you cannot add HSTS on Webflow hosting. If the domain runs through Cloudflare, set it there.
Fixes these findings: HSTS_MISSING, HSTS_PRELOAD_INELIGIBLE, HSTS_PRELOAD_REMOVED
Let crawlers through
- Webflow has no bot-blocking setting; the block usually comes from Cloudflare or another proxy in front of the site. Check there.
Fixes these findings: CHALLENGE_SERVED_200, CHALLENGE_PINNED_AT_EDGE, ANSWER_ENGINE_REFUSED, UNIFORM_REFUSAL, HOMEPAGE_REFUSED, HOMEPAGE_IS_INTERSTITIAL, ORIGIN_REFUSED_SCANNER, CRAWLER_SERVED_LESS, CRAWLER_REDIRECTED_AWAY, BOT_BLOCKED_NOT_CITED
Serve the text, not just code
- Remove unused interactions and custom code embeds; Webflow's own runtime cannot be reduced.
- Put the main text in the page itself, not in elements filled by script.
Fixes these findings: PAGE_IS_MOSTLY_CODE, CONTENT_NEEDS_JAVASCRIPT
Fix the structured data
- Page settings → Custom code → Inside <head> tag: one <script type="application/ld+json"> block; site-wide markup goes in Site settings → Custom code.
Fixes these findings: ENTITY_COLLISION, ENTITY_NO_COORDINATES, GEO_COUNTRY_MISMATCH, NAP_NAME_DRIFT, NAP_UNDECLARED_LISTING
Clear stale copies
- Republish the site; Webflow clears its CDN on publish. If Cloudflare is in front, purge there too.
Fixes these findings: STALE_CACHE_SERVED, MACHINE_FILE_CACHE_STALE, MACHINE_FILE_CACHE_SPLIT
Check the fix
Scan the site again on the homepage: a fix counts when the finding is gone from the new report. JSON for tools: /api/v1/fix/platform?platform=webflow.