Skip to main content

GEO for Webflow: How to Make a Webflow Site Citable by ChatGPT, Perplexity & AI Overviews

How to set up GEO on Webflow: robots.txt rules for AI crawlers, the native llms.txt upload, JSON-LD in custom code, and a free audit to check the result.

published:

GEO for Webflow is the work of making a Webflow site readable and quotable by AI answer engines such as ChatGPT, Perplexity and Google AI Overviews. It has four parts: allowing the AI crawlers you want in robots.txt, publishing an llms.txt file, adding JSON-LD through custom code, and writing CMS content so each section opens with its answer. The first three are settings and the fourth is editorial. None of them guarantees a citation, and Webflow does not make a site citable on its own.

Menu paths and limits below come from Webflow's help pages, read on October 13, 2026. Webflow changes its interface from time to time, so confirm the labels in your own account. At any point you can run a free audit to see what your live domain serves.

How to set up GEO on Webflow: five steps

  1. Review the robots.txt rules in Site settings, SEO tab, Indexing, so that the AI crawlers you want are not disallowed.
  2. Upload an llms.txt file in Site settings, SEO tab, LLMs.txt.
  3. Add JSON-LD in Site settings, Custom code, or on a CMS template through a Code Embed.
  4. Write CMS content with real headings and the answer in the first sentences of each section.
  5. Publish, then audit the live domain. Webflow's settings take effect only after you publish the site.

Does Webflow block AI crawlers by default?

Webflow's help page names one default: a published site links its sitemap in robots.txt. It lists no rule that blocks AI crawlers, but it also does not print the full default file, so the file your site serves today is the only reliable answer. Open yourdomain.com/robots.txt and look at two things: whether any User-agent group disallows an AI crawler, and whether the User-agent: * group (the catch-all for bots you did not name) disallows paths you want crawled. For the ChatGPT-specific version of this check, see does robots.txt block ChatGPT.

Under RFC 9309, crawlers obey the * group only when no other group matches them. A bot you name in its own group therefore escapes your catch-all rules, and any path you still want hidden has to be repeated inside that group. Our robots.txt guide for AI bots covers the same trap on other platforms.

How to edit robots.txt in Webflow

Open Site settings, SEO tab, Indexing. Webflow's page shows rules that name specific bots next to a catch-all rule, and ends with "Click Save and publish your site". Enter each block of the example below as a rule in that field, following the format Webflow shows there. The help page does not name the plans that include the field, so check your own plan.

User-agent: OAI-SearchBot
Allow: /
Disallow: /internal/

User-agent: GPTBot
Disallow: /

User-agent: *
Disallow: /internal/

The example illustrates the logic and is not a recommendation. It lets OpenAI's search crawler in, keeps its training crawler out, and hides one path from everyone. /internal/ appears twice because OAI-SearchBot follows only its own group and ignores the * group. Inside that group, the longer Disallow: /internal/ rule wins over Allow: /.

OpenAI documents OAI-SearchBot as the crawler used to surface websites in ChatGPT search, and says sites that opt out of it will not be shown in ChatGPT search answers, though they can still appear as navigational links. GPTBot is a separate crawler for content that may be used in training, and each crawler is controlled separately. For ChatGPT-User, OpenAI says robots.txt rules may not apply because a user initiates the request. A robots.txt change can take about 24 hours to reach OpenAI's search systems, according to the same page.

Allowing OAI-SearchBot keeps a page eligible for ChatGPT search. It does not mean the page will be shown. Whether to allow training crawlers is a business decision. Our list of AI crawlers to allow in robots.txt names the bots and what each is used for.

In Site settings, SEO tab, Indexing, Webflow can also send a Content-Signal HTTP header that separates training, search and AI input preferences, for example:

Content-Signal: ai-train=no, search=yes, ai-input=no

Webflow's page says this is based on a proposed extension to RFC 9309 and is not yet an accepted standard. Treat it as a stated preference. The sources used for this guide do not say which crawlers honor it.

How to upload llms.txt on Webflow

Webflow added llms.txt upload to its SEO settings on July 23, 2025, so the file can be served from your domain root without a proxy rule or a redirect. Per Webflow's help page, go to Site settings, SEO tab, LLMs.txt, choose Upload file, and click Save changes. The file is available after you publish.

Webflow's llms.txt limits: the file must be UTF-8 and under 100 KB. It is served at the root of your custom domain, for example yourdomain.com/llms.txt, and it is not published to the Webflow staging domain. Webflow says its implementation is intentionally scoped to the llms.txt file itself, so the .html.md page versions from the llms.txt proposal are not supported. The help page does not state which plans include the feature.

Upload a file with real content: an empty or placeholder file gives a reader nothing (see the llms.txt placeholder problem). Build the first version from your sitemap with the free llms.txt generator, edit it by hand, and keep internal or sensitive URLs out, as Webflow advises. After publishing, open the URL in a browser, or run this in a terminal:

curl -sSL -D - https://yourdomain.com/llms.txt | head -n 20

Replace yourdomain.com with your custom domain. The first line should read HTTP/2 200, followed by the text of your file. A 404 means the file is not published on that domain.

WarningWebflow's help page says llms.txt does not guarantee that LLMs will read your site, and that its effects on AI-driven search are unclear. Google's AI features documentation (updated December 10, 2025) says you do not need new machine-readable files, AI text files or markup to appear in AI Overviews or AI Mode.

llms.txt is a proposal, not an established standard, and its effect is unclear. See what llms.txt is for the format, and our data on whether llms.txt changes a GEO score. On WordPress instead? Read llms.txt for WordPress.

How to add JSON-LD to a Webflow site

On Webflow, structured data goes in through custom code. Webflow's help page puts site-wide code in Site settings, Custom code, with a Head code field and a Footer code field. Code for a single page goes in Page settings, Custom code. Each field takes up to 50,000 characters, accepts only HTML, CSS and JavaScript (Webflow says server-side languages such as PHP or Python are not supported), and goes live only when you publish. Webflow lists the feature for Core, Growth, Agency and Freelancer Workspaces, or for a site with an active Site plan.

JSON-LD lets a system read facts without inferring them. It does not guarantee a citation. Which types to include is covered in structured data for AI citations.

Site-wide: Organization

Put the Organization block in Head code so every page carries the same entity. Use full URLs and list only profiles that are really yours in sameAs. See Organization and sameAs schema for how to choose them.

<script type="application/ld+json">
{
  "@context": "https://schema.org",
  "@type": "Organization",
  "name": "Your Company",
  "url": "https://www.example.com",
  "logo": "https://www.example.com/logo.png",
  "sameAs": [
    "https://www.linkedin.com/company/example",
    "https://github.com/example"
  ]
}
</script>

CMS pages: Article from collection fields

On a Collection page, a Code Embed can read CMS fields. According to Webflow, select the embed, click Edit code, put the cursor where the value belongs, click the purple dot on that line, and pick the field. The embed has to sit in a Collection list or on a Collection page for the fields to appear.

<script type="application/ld+json">
{
  "@context": "https://schema.org",
  "@type": "Article",
  "headline": "[Name field]",
  "description": "[Summary field, plain text]",
  "datePublished": "[Published date field]",
  "author": { "@type": "Person", "name": "[Author name field]" }
}
</script>

Inside each pair of double quotes, replace the bracketed text, brackets included, with the matching CMS field and keep the quotes. Webflow's article does not cover escaping or date formats. Our reading, not Webflow's: a title or summary with a straight double quote or a line break can produce invalid JSON, so feed plain text fields into the script, never rich text, and check a few published pages after launch. If datePublished does not look like 2026-10-13 in the page source, use a plain text field that holds the date in that format. A FAQ block follows the same pattern, described in the FAQPage schema guide.

How to structure Webflow CMS content so it can be quoted

Webflow CMS content is quotable when each section starts with a real heading and gives its answer in the first two sentences. Most blog and guide content on Webflow is written in a CMS Rich Text field. Check which heading levels that field offers, then open the published page source and confirm that each section starts with a real heading element. If a section title is bold text, change it to a heading in the Rich Text editor.

Give each question its own H2 and add concrete numbers with their source. Princeton's GEO paper (KDD 2024, arXiv:2311.09735) tested nine content-optimization methods and reported visibility gains of up to about 40% in generative-engine responses. Those are relative gains in a visibility metric under research conditions, not citation rates. The paper also reports that keyword stuffing did not perform well.

How to check whether a firewall or CDN blocks AI bots

A permissive robots.txt does not stop a firewall, CDN or bot-protection rule from refusing a crawler. Request a page with a crawler's user agent and compare the status code with a normal request:

curl -s -o /dev/null -w "%{http_code}\n" -A "OAI-SearchBot" https://yourdomain.com/

A 403, a 429 or a challenge page means something in front of the site is refusing that user agent. A 200 is a clue, not proof: real crawlers are often verified by IP address, and a request that only copies the user agent can pass rules that block the real bot. Webflow's help pages used for this guide say nothing about bot rules on Webflow hosting. If you put your own CDN or firewall in front of Webflow, check its bot rules and logs.

Check the result with a free audit

A GEO audit reads the HTML, robots.txt, llms.txt and JSON-LD your domain actually serves, so it works on a published Webflow site. The free audit needs no account and allows 5 audits a day. It gives a score from 0 to 100 and reports robots.txt access, llms.txt and Schema JSON-LD as separate categories, which are the three covered above.

The score measures structural readiness, not whether any AI system cites you today. A site can score 90 and never be quoted. Developers can run the open-source engine locally with pip install geo-optimizer-skill, then geo audit --url https://your-site.com. The engine and CLI are MIT licensed.

If you look after several Webflow sites, Pro is $19/month for weekly monitoring of one domain, with score history and alerts when the score moves 5 points or more. Studio is $49/month for daily monitoring of 15 domains plus AI citation tracking, which runs 5 automated Perplexity checks a day. These are founding prices, and you can cancel anytime from your account settings.

Sources

Apply this guide

Run an AI SEO audit before you change pages.

Use the audit to find which signal is holding the site back: crawler access, schema, llms.txt, content clarity, AI discovery, or entity strength.

  • Best for pages that need a technical and content baseline.
  • Next metric: AI readiness score plus the weakest signal category.

Frequently asked questions

Can Webflow host llms.txt?

Yes. Webflow added llms.txt upload in July 2025, under Site settings, SEO tab, LLMs.txt. The file must be UTF-8 and under 100 KB, and it is served at the root of your custom domain after you publish.

Does Webflow block AI crawlers by default?

Webflow's help page names one default: a published site links its sitemap in robots.txt. It lists no rule that blocks AI crawlers but does not print the full default file, so open yourdomain.com/robots.txt to see what your site serves.

Where is robots.txt in Webflow?

In Site settings, SEO tab, Indexing. Add rules there, click Save, and publish the site. Webflow's help page does not name the plans that include the field, so check your own plan.

How do I allow GPTBot in Webflow?

In Site settings, SEO tab, Indexing, add a rule with the user agent GPTBot and Allow set to a slash, then publish. GPTBot is OpenAI's training crawler. OAI-SearchBot is the separate crawler OpenAI documents for ChatGPT search, so decide on each one on its own.

Do I need a plugin for schema on Webflow?

No. Webflow's route for structured data is custom code: site-wide in Site settings, Custom code, per page in Page settings, or in a Code Embed on a CMS template that reads collection fields. Webflow lists custom code for Core, Growth, Agency and Freelancer Workspaces, or sites with an active Site plan.

Will llms.txt or schema get my Webflow site cited?

Neither is a guarantee. Webflow says llms.txt does not guarantee that LLMs will read your site, and Google documents that no special files or markup are needed to appear in its AI features. Treat both as preparation.

How do I check a Webflow site for AI readiness?

Run an audit on the published domain. The free GeoReady audit reads robots.txt, llms.txt, JSON-LD and the page content as served, gives a 0 to 100 score, and needs no account.

Get the monthly State of GEO report

AI search readiness benchmarks, adoption stats, and the actions that move the needle — delivered monthly. No spam.

By submitting, you agree to receive the monthly GeoReady newsletter: benchmark data from the State of GEO dataset, practical GEO guidance, and product updates. You can unsubscribe anytime. See our Privacy Policy.

GeoReadyv4.19.2

Open-source AI search visibility audit and monitoring. Built in Italy by Juan Camilo Auriti.

The Book

AI Search Engineering

Google non è più l'unica porta d'accesso ai clienti. Manuale tecnico per far citare il tuo sito da LLM e agenti AI, con protocolli validati su AutoGEO (preprint arXiv:2510.11438) e KDD 2024.992 pagine, paperback e Kindle.

Get the book
Launchpadly Startup Directory

Built in Italy by Juan Camilo Auriti. Designed for the global AI search ecosystem. Powered by Princeton KDD 2024 + AutoGEO (arXiv:2510.11438, preprint) research.