GEO for a WordPress site: what to set up so AI chatbots can see you
GEO for WordPress comes down to eight things: your site is accessible to crawlers, robots.txt doesn't block GPTBot, ClaudeBot, and PerplexityBot, you have a sitemap.xml, every page has its own title and description, Schema.org JSON-LD markup is in place, you have FAQ blocks, and there's an llms.txt file in the root. On top of the technical layer sits a blog where every article answers a specific client question. WordPress is more convenient for this than site builders: you get access to the root files, to template code, and to auto-publishing via API.
Why is WordPress the most convenient platform for GEO?
Three reasons: open access to templates, the ability to drop any file into the site's root, and an API for automatic publishing.
In practice, this means you can edit the title and description on every page, add JSON-LD to the header code, place llms.txt next to robots.txt, and run a blog that fills up without manual work. On builders like Wix, Tilda, or Squarespace, you have less freedom: root files and code access are limited by the platform itself.
That's why in GEO Autopilot, articles are published automatically to a WordPress blog, while for code-based sites, Shopify, and Webflow they arrive in your dashboard as ready-made HTML. Auto-publishing doesn't work for Wix, Tilda, or Squarespace, and we say so upfront, not after payment.
Is your site open to AI crawlers?
Start with two checks — they take a minute. In "Settings → Reading," uncheck "Discourage search engines from indexing this site": it's often turned on during development and forgotten. Then open yoursite.com/robots.txt and see what's written there.
WordPress serves a virtual robots.txt if there's no physical file in the root. Plugins can add their own rules there, so a block can appear without you noticing. Make sure these agents aren't blocked:
- GPTBot, OAI-SearchBot, ChatGPT-User — OpenAI's crawlers;
- ClaudeBot — Anthropic;
- PerplexityBot — Perplexity;
- Google-Extended — per Google's own description, this controls how content is used in its AI products, not site crawling.
Separately, check your security settings. Cloudflare and security plugins sometimes block bots by User-Agent or serve them a CAPTCHA. To an AI model, that looks exactly like an inaccessible site.
How do you set up sitemap.xml, title, and description?
A sitemap is needed by both search engines and AI crawlers — it's where crawling starts. Since version 5.5, WordPress automatically serves wp-sitemap.xml, and SEO plugins like Yoast or Rank Math build their own sitemap and usually disable the built-in one. Keep a single working version, open it in your browser, and check that it includes services, pricing, contacts, and blog posts — not just the homepage.
Next, metadata. Every page should have its own title under 60 characters, with the query people use to find you, and a description of 140–160 characters with a concrete benefit. Plugin templates will cover bulk pages, but the homepage, services, pricing, and contacts are better written by hand.
This isn't a formality. AI models with search capabilities largely rely on existing indexes: ChatGPT's search mode uses, among other things, the Bing index, while Gemini and AI Overviews run on Google's data. Until a page is indexed, it won't make it into an answer.
Want to know where your website stands today? Free: an AI-readiness check, a 30-day plan and your first article in 3–6 minutes.
Get my planWhat Schema.org markup does a WordPress site need?
The minimum set for a business: Organization or LocalBusiness on the homepage, Service on service pages, FAQPage wherever there are questions and answers, and Article in the blog. One format: JSON-LD.
You can add it two ways. A markup plugin covers the basics and applies it to every page at once. Precise details (address, hours, phone, "from" pricing, service list) are usually added by hand via the wp_head hook in a child theme, so a theme update doesn't wipe out your edits.
Keep things consistent: the name, address, and phone number in the markup, in the site footer, and in your Google Business profile should match character for character. For a breakdown of which markup types cover what, see the guide Schema.org for AI models.
Do you need llms.txt, and how do you put it in the root?
llms.txt is a format proposed in 2024 (llmstxt.org): a text file in the site's root that briefly describes what you do and links to your main pages. It hasn't become an official standard, support from major AI models isn't guaranteed, and it's more honest to say so upfront.
It's still worth doing: half an hour of work and zero risk. WordPress doesn't create this file on its own. Upload it via your hosting's file manager or FTP into the same folder as wp-config.php and robots.txt, and check it at yoursite.com/llms.txt.
Inside: who you are, the regions you serve, services with "from" pricing, links to service pages and key articles, and contact details. For more detail, see the guide what llms.txt is and whether your site needs one.
How do you run a blog that AI models actually cite?
The technical setup opens your site to crawlers, but it's the text that gets cited. An AI model pulls fragments into its answer that directly address the user's question, which is why structure matters more than volume.
A working framework for a WordPress blog:
- one article equals one question clients actually ask you, and that question is the headline;
- the answer comes in the first paragraph, no three-screen warm-up;
- h2 subheadings phrased the way clients talk, not the way the marketing department does;
- tables and checklists: easy to summarize;
- an FAQ block with FAQPage markup at the end of the page;
- internal links between articles and service pages.
Specifics make text citable: "from" pricing, timelines, terms of work, cities. For the strategy-level view, see the guide how to get into ChatGPT's answers.
Checklist: 8 technical factors and where to check them
| Factor | Where to check in WordPress |
|---|---|
| Site responds | open it from mobile and a different IP, check the SSL expiration date |
| title | SEO plugin, per page |
| meta description | SEO plugin, per page |
| Schema.org JSON-LD | theme header code or markup plugin |
| FAQ markup | question blocks on service pages and in articles |
| llms.txt | file in the root, at /llms.txt |
| AI crawlers allowed | /robots.txt |
| sitemap.xml | /wp-sitemap.xml or the SEO plugin's sitemap |
These are the same 8 factors we use to score technical readiness in our own audit. On insync.com.ua, we brought them to 100/100, and roughly a week and a half after launching the GEO setup, the site went from 0 to 24 citations in ChatGPT. For 4 out of 4 branded queries, the AI model knows the agency and reflects its positioning accurately, but for category queries ("best agency…") we're not named yet — that's decided by external mentions.
For how to run your own site through these checks, see the guide how to check whether ChatGPT sees your business.
What parts of this don't need to be done by hand?
A one-time setup covers the technical layer. After that, you need a steady flow of articles and regular measurement: two articles a week, markup on every one, llms.txt updates, and checking whether AI models have started mentioning you. That's months of work.
We've automated that part. The free AI visibility check on the homepage works like this: enter your site's URL, and in 3–6 minutes you get a review across 8 technical factors, a list of who AI models and search sources recommend instead of you for your clients' questions, a 30-day plan of 8 articles, and the first article already written for your site. All on the site, no payment and no Telegram bot required.
If the format fits, GEO Autopilot keeps running the blog for you: 8 articles a month with auto-publishing to WordPress, monthly measurement across AI models (currently Gemini and Claude, with ChatGPT, Perplexity, and Google AI coming later), and a dashboard with articles, the plan, measurements, and payments. Price: $299 for the first month, then $249 a month. No minimum term, one-click cancellation, and a paid month runs through to its end.
FAQ
Which SEO plugin should I choose for GEO on WordPress?
Any of the common ones will work: Yoast, Rank Math, or All in One SEO. For GEO, what matters isn't the plugin's name but the result: every page has its own title and description, a single sitemap is active, and there's no accidental noindex anywhere. Schema.org markup with precise details (address, hours, "from" pricing) usually still needs to be added by hand regardless.
Isn't it risky to open up to AI crawlers — won't they just take the content?
If you want to show up in AI answers, you can't block them: the crawler won't see the page and won't be able to cite it. The choice is simple: either your content gets used and brings in clients, or your site effectively doesn't exist for AI models. It only makes sense to block sections with personal data or a private knowledge base.
How long should I wait for results after setup?
Indexing new pages in Google usually takes 2–3 weeks. The first mentions in AI model answers tend to show up after 1–3 months of consistent work. Nobody can guarantee "#1 in ChatGPT," which is why we do the work and measure it rather than promise rankings.
My site is on Tilda or Wix. What should I do?
Auto-publishing doesn't work there: there's no access to root files or publishing via API, so Autopilot isn't a fit for those platforms. In that case, we build you a WordPress site with a blog in 3–5 days under the "Site + GEO" format: starting at $490 for the site, plus $249 a month. You don't necessarily need to migrate all your old content.
How many articles a month does a WordPress blog need?
We consider two articles a week — 8 a month — a working minimum: that's enough to address client questions and build up pages an AI model can reference. Frequency matters less than making sure each article answers one specific question and gives concrete detail: prices, timelines, terms. Ten "about everything at once" pieces perform worse than eight focused ones.
Can I skip llms.txt?
Yes, your site will still work without it: the format was proposed in 2024, it hasn't become an official standard, and support from major AI models isn't guaranteed. But the file takes half an hour to create and doesn't get in the way of anything, so we include it in the base setup. Just don't confuse its role: llms.txt doesn't replace robots.txt or sitemap.xml.