GEO Pilot: we optimise your site for AI search in 30 days, $999.See what is included →

WordPress

GEO for WordPress, implemented by us on your site

Most AI visibility tools hand a WordPress owner a report and a to do list. We log in, make the fixes on your site, and you approve each change.

Admin login or a staging copy is enough. You approve every change before it goes live.

Prompt trackingSample data
All enginesCited onlyGapsLast 30 days
PromptEngineVisibilityStatus
best wordpress theme for a law firmChatGPT 58%Mentioned
how to add schema to wordpressGemini 66%Cited
wordpress hosting for small businessGoogle AI Overviews 49%Mentioned
best seo plugin for wordpressPerplexity 72%Cited
why is my wordpress site not in chatgptChatGPT 31%Not shown
wordpress vs shopify for a small storeGoogle AI Mode 44%Mentioned
PlatformWordPress, any theme, any page builder, any host
Fixed price$999 one time, delivered in 30 days
Who does the workWe do. You give access and approve.

WordPress is flexible, which is also the problem. Two sites on the same version can behave very differently because of the theme, the plugins, the cache and the host. A generic checklist cannot see that. A person who opens your site can.

Nobody can promise that a fix makes an AI engine name you. What we can do is remove the technical blockers, make your content easy to quote, and test the result against real prompts before and after.

Platforms we implement on

  • WordPress
  • Shopify
  • WooCommerce
  • Webflow
  • Wix
  • Squarespace
  • Next.js
  • PHP

Logos belong to their owners. We are an independent agency with no partnership or endorsement implied.

The gap

Why a WordPress report is not enough

An AI visibility tool can tell you that a competitor is mentioned in ChatGPT and you are not. That is useful. It does not tell you that your robots.txt has a stray rule, that two plugins are printing the same schema twice, or that your best service page buries the answer under a slider and a hero video.

On a WordPress site those fixes touch real settings and real files. Many owners do not have the time or the confidence to change them. Agencies often quote them as a separate project. So the report sits in a folder and nothing moves.

We built the GEO Pilot around that gap. We find the problem, then we fix it on your platform. You do not need a developer on call. You only need to approve what we do.

The difference in one line: a tool measures, we measure and then do the work.

What we touch

Where GEO work lives inside WordPress

Each of these is a place we check and, where needed, change.

robots.txt

WordPress builds a virtual robots.txt on the fly. Plugins and hosts can change it. We read what is actually served and set rules for AI crawlers on purpose.

XML sitemap

Core WordPress publishes a sitemap index and lists it in robots.txt. SEO plugins often replace it. We check one clean sitemap is live and only lists pages you want found.

Structured data

Schema may come from your theme, an SEO plugin, a dedicated schema plugin, or hand written code. We find every source, remove duplicates and make sure it matches the visible page.

Page content

We restructure priority pages in the block editor or your page builder so the answer comes first, headings match real questions and FAQs are real.

Caching and delivery

A page cache decides what a crawler receives. We check that bots get the same complete HTML as people and that old versions are cleared after we publish.

Safe changes

We work on a staging copy when your host offers one, or on a backed up live site with a change log you can read.

WordPress touchpoints
Your WordPress sitePlaces we check and change
  • robots.txtRead what is actually served
  • XML sitemapOne clean sitemap of wanted pages
  • Structured dataOne accurate source, not two plugins
  • llms.txtLow cost, uncertain value
Taken from the cards and sections above.

Crawler access

robots.txt on WordPress: what is really being served

The file you see in a plugin screen is not always the file crawlers receive.

According to the WordPress developer reference, when no physical file exists WordPress generates robots.txt itself, and plugins can change the output through the robots_txt filter. Since version 5.3, a site set to discourage search engines no longer prints a blanket Disallow in that file. The block moved to a robots meta tag. That detail matters when you audit an old site.

A physical robots.txt in the web root is normally served by the web server instead of the virtual one. A CDN or security layer can also answer for the file. So we do not trust the settings screen. We fetch the live URL, read it line by line and test it against the AI crawlers that matter, such as OAI-SearchBot, ChatGPT-User, Google-Extended, Claude-SearchBot and Perplexity-User. OpenAI documents that it can take about 24 hours for a robots.txt change to be picked up for search, so we plan for lag.

Which bots to allow is a business choice, not a technical one. Allowing a search crawler is different from allowing a training crawler. We lay out the options and you decide. Our guide on which AI crawlers to allow explains the trade offs, and the robots.txt generator shows what a rule set looks like.

  • Live robots.txt fetched and compared to settings
  • Bot by bot access test
  • Sitemap line present and valid
  • CDN and security rules checked for bot blocking
Technical auditSample data
82health score
  • CriticalAI crawlers blocked in robots.txt
  • WarningMissing canonical on 14 pages
  • WarningSchema does not match visible text
  • WarningSlow LCP on mobile templates
  • NoticeSitemap lists redirected URLs

Structured data

Schema for AI on WordPress: accurate beats plentiful

Markup should describe what is on the page, once, and correctly.

Google recommends JSON LD for structured data and says the markup must match content that readers can see. It also says markup does not guarantee any special result. We apply the same discipline for AI search: say true things, say them once, keep them in step with the page.

In practice we map the entity first. Your organization, your people, your services and your location need consistent names, URLs and profile links. Then we place the right types on the right pages: Organization, WebSite, Service or Product, Article, FAQPage where the FAQ is genuinely on the page, and BreadcrumbList. Where your SEO plugin can output these, we configure it. Where it cannot, we add clean code in a child theme or a small custom plugin so a theme update does not erase it.

The most common problem we expect to find is not missing schema but conflicting schema from more than one source. We list every block on every priority template and remove the extras. For more background, read schema markup for AI search.

  • Every schema source listed and de duplicated
  • Entity names and URLs consistent across pages
  • Markup validated against the visible page
  • Custom code kept in a child theme or small plugin
Structured data checkSample data
{
  "@type": "LocalBusiness",
  "name": "Your brand",
  "areaServed": "Dubai",
  "sameAs": [ "linkedin.com/..." ]
}
  • ValidMatches visible page text
  • ValidSame name on profiles
  • CheckOpening hours missing

Discovery files

Sitemap and llms.txt for WordPress

WordPress core has published an XML sitemap index since version 5.5, and it is referenced from robots.txt automatically according to the core team. It is switched off when the site is set to discourage search engines. Core does not handle noindex on its own, so a page you hide with a plugin can still appear in the sitemap unless the plugin also removes it. We check both sides.

llms.txt is a proposed convention, a plain file that points machines to your most useful pages. We treat it as low cost and uncertain value. Whether any given engine reads it is not something we can promise, and we say so. If it is useful for your site, we create it as a static file or through a small code snippet and keep it short and accurate. Our post llms.txt: do you need one gives the full reasoning, and the llms.txt generator builds a first draft.

We also make sure canonical tags are correct, pagination and archive pages do not compete with the pages you want cited, and old attachment or tag pages are not thin duplicates.

  • One sitemap, only indexable URLs
  • Noindex pages excluded from the sitemap
  • llms.txt added only if it helps
  • Canonicals and archives reviewed

How we deliver it

The 30 day GEO Pilot on a WordPress site

  1. 1

    Week 1: baseline and audit

    We run up to 20 buyer prompts across five AI engines, check AI crawler access, and audit your technical setup and entity signals. You get a plain list of what is blocking you.

  2. 2

    Week 2: technical fixes

    We implement robots rules, sitemap, canonicals, structured data and llms.txt where useful. We work on staging when possible and send you each change to approve.

  3. 3

    Week 3: priority pages

    We rewrite and restructure up to 10 priority pages so they are answer ready: direct answers, question style headings, real FAQs and matching schema.

  4. 4

    Week 4: retest and roadmap

    We run the same prompts again, hand over a before and after report, and give you a 90 day roadmap. One domain, one language.

Compare

Visibility tool, plugin only, or the Pilot

Tool or report onlyPlugin settings onlyGEO Pilot
Shows where you standYesNoYes, before and after on the same prompts
Fixes robots and sitemapYou do itPartly, if you know the settingsWe do it
Cleans duplicate schemaYou do itOften adds to itWe find every source and fix it
Rewrites priority pagesYou do itNoUp to 10 pages, done for you
Your time neededHighMediumAccess and approvals

Plugins are useful building blocks. Choosing and configuring them correctly is the part people skip.

Three routes

What each route covers

Report onlyPlugin onlyGEO Pilot
Shows where you stand
Fixes robots and sitemap
Cleans duplicate schema
Rewrites priority pages
Example reading of the comparison table above. Plugins are useful building blocks.

Questions we get

How do I make a WordPress site show up in AI answers?

Start with access, then facts, then answers. First, confirm that the AI crawlers you want can fetch your pages. Second, make sure your business facts are stated the same way everywhere on the site. Third, rewrite the pages buyers actually ask about so each opens with a direct answer. Those three steps cover most of what a WordPress owner can control.

Google says in its Search Central guidance on AI features, as read in October 2026, that a page can be shown as a supporting link in AI Overviews and AI Mode if it is indexed and eligible to appear in Search with a snippet. Google adds that you do not need new machine readable files, AI text files or special schema markup for these features. That is a useful correction to a lot of plugin marketing. Fundamentals come first: crawlable, indexable, helpful pages.

What about the other engines? OpenAI documents three separate crawlers. OAI-SearchBot surfaces sites in ChatGPT search, GPTBot is used for training data, and ChatGPT-User fetches a page when a person asks ChatGPT to visit it. Each robots.txt setting is independent. A WordPress site that blocks OAI-SearchBot by accident, usually through a security plugin or a copied rule set, will not appear in ChatGPT search answers except as a plain link. Our ChatGPT SEO page covers that engine in more detail.

  • Pages indexable and eligible for snippets
  • OAI-SearchBot not blocked by a plugin or host rule
  • Business facts identical across the site
  • Top pages open with a direct answer

Sitemaps

WordPress sitemap handling: core, Yoast and what to exclude

One sitemap, only the URLs you want found.

The WordPress core team documented the built in sitemap when it shipped in version 5.5. The index lives at a path such as https://example.com/wp-sitemap.xml, and WordPress adds a reference to it in robots.txt automatically. Core can be tuned with filters. Returning false from wp_sitemaps_add_provider for the users provider removes author pages. The wp_sitemaps_post_types filter removes whole post types. The wp_sitemaps_taxonomies filter removes taxonomies such as tags. The wp_sitemaps_posts_query_args filter lets you exclude single posts by ID.

The same core post notes that core has no built in noindex check. A plugin that sets noindex on a page must also keep it out of the sitemap, or you send mixed signals. We test this by comparing the sitemap against a crawl and listing every URL that is in the sitemap but marked noindex, redirected or canonicalized elsewhere.

If you run Yoast SEO, the plugin serves its own index at sitemap_index.xml. Yoast's help page says that to go back to the core sitemap you deactivate the Yoast XML sitemap feature. The point is not which one you use. The point is that only one is live, that robots.txt names it, and that Search Console shows it as submitted. You can read our wider thinking on technical GEO.

  • Only one sitemap index active
  • Users, empty tags and thin archives excluded
  • Noindex URLs absent from the sitemap
  • Sitemap line present in the live robots.txt
1Baseline

Record what AI engines say today.

2Fix

Open access and repair the foundation.

3Rewrite

Make priority pages answer ready.

4Verify

Test again and report.

llms.txt

llms.txt on WordPress with a plugin or by hand

Cheap to add, uncertain in value, easy to get wrong.

Yoast SEO can generate an llms.txt file. According to Yoast's help page, you switch it on under Yoast SEO, Settings, Site features, in the AI tools area, and you can choose pages manually. Its developer documentation says the file is written to the site root, regenerated weekly, built from recently updated pages, posts published in the last 12 months and top categories, and that Yoast will not overwrite an existing llms.txt file. The feature is not available for multisite. If another plugin already serves a file, Yoast's static file takes priority.

Those details matter in practice. A static file left behind by an old experiment can silently block the plugin from writing a new one. A weekly auto list of recent posts may feature a news item you would never choose as a top page. So we read the output, remove what does not belong, and decide whether to keep the generated file or write a short one by hand.

Be realistic about value. Google states that no special AI text file is needed for AI Overviews or AI Mode. Other engines have not published firm commitments to read llms.txt. We treat it as an optional signpost for tools and agents that look for it, never as a ranking lever. The llms.txt generator gives you a draft to compare with what your plugin produced.

  • Existing static file found and reviewed
  • Generated list matches your real priority pages
  • File fetched live and read as plain text
  • Decision recorded: keep, edit or remove
Technical auditSample data
82health score
  • CriticalAI crawlers blocked in robots.txt
  • WarningMissing canonical on 14 pages
  • WarningSchema does not match visible text
  • WarningSlow LCP on mobile templates
  • NoticeSitemap lists redirected URLs

Compare

Which WordPress setup do you have, and what changes

SetupWhere GEO fixes liveWhat we watch for
Block themeSite Editor templates, block patterns, theme.json, page contentTemplate parts that repeat the same footer text on every page, hiding the unique answer
Classic themePHP template files, widgets, a child themeEdits lost on a theme update if made outside a child theme
Page builderBuilder templates, global sections, dynamic fieldsHeadings used for style, not structure, and text held in images or sliders
WordPress as a headless back endThe REST API or GraphQL plus a separate front endContent that never reaches the front end HTML. See our page on custom and headless sites
WordPress multisitePer site settings and network pluginsNetwork level rules that change robots.txt for every site, and plugin features not available on multisite

Dated October 2026. Your theme and builder versions decide the exact menus, so we read your setup first.

Your setup

Block theme

Site Editor

  • Templates and patterns
  • theme.json and page content
  • Repeated footer text hides answers

Classic theme

PHP templates

  • Template files and widgets
  • Use a child theme
  • Edits lost on update otherwise

Page builder

Builder templates

  • Global sections and fields
  • Headings used for style
  • Text trapped in images or sliders

Headless

REST API and front end

  • Content must reach the front end
  • Check what a crawler receives
Summary of the setup table above.

Run it today

A WordPress AI search checklist you can run in an afternoon

  1. 1

    Fetch the live robots.txt

    Open yoursite.com/robots.txt in a browser. Note every User-agent group and any Disallow that covers your service or product pages. Compare it with what your SEO or security plugin says it outputs.

  2. 2

    Check the Reading setting

    In Settings, Reading, confirm the option that asks search engines to discourage indexing is off. A site left in that state after a launch is a classic cause of invisibility.

  3. 3

    Open the sitemap and spot check

    Load your sitemap index. Pick ten URLs. Confirm each returns a 200 status, is indexable and is a page you want cited.

  4. 4

    View source on your best page

    Search the HTML for application/ld+json. Count the blocks and read each one. Two Organization blocks with different names is a finding.

  5. 5

    Read the first 100 words

    Open your top service page and read the first screen of text. If it does not answer the buyer's main question in plain words, that page is a rewrite candidate.

  6. 6

    Test three prompts

    Ask ChatGPT, Perplexity and Google AI Mode three questions a buyer would ask. Write down who is named. Our free AI visibility checker gives a first read.

Afternoon audit

A quick WordPress check

  • ✓Live robots.txt matches your plugin output
  • ✓Discourage indexing setting is off
  • ✓Ten sitemap URLs return 200
  • ✓One source of schema, not two
  • ✓Answer appears in the first 100 words
  • Two Organization blocks with different names
A cross is a finding to fix. Taken from the checklist above.

The problem

Common WordPress mistakes and how we fix each

Security plugin blocks unknown bots

A firewall rule or a managed host setting returns 403 to bots it does not know. We test each AI crawler and add the allow rule where you want access.

Staging settings left on

The discourage indexing setting or a noindex header survives a go live. We find it and remove it, then ask for a fresh crawl.

Two plugins print schema

A theme, an SEO plugin and a reviews plugin each describe the same business. We keep one source and switch the others off.

Answer buried under a hero

The main answer sits below a slider, a video and a long intro. We move it to the first paragraph under the heading.

Category and tag archives outrank real pages

Thin archive pages compete with the pages you want cited. We noindex or merge them.

Cache serves old HTML

After a fix, a page cache still shows the old version. We purge it and verify with a crawler fetch.

Worked example

Example, hypothetical: a London accounting firm on WordPress

Imagine a small London accounting firm. Its site runs on a classic theme with an SEO plugin and a reviews plugin. The owner asks ChatGPT for accountants who handle limited company tax in London and the firm is never named. This is a made up scenario to show the order of work, not a result.

In week 1 we fetch the live robots.txt and find that a security plugin returns 403 to several AI crawlers. We also find two Organization blocks, one from the theme and one from the SEO plugin, with different business names. The services page opens with a slider and 200 words of history before the first mention of limited company tax.

In week 2 we add allow rules for the crawlers the owner chose, switch off the theme's schema, and align the plugin's organization data with the name on the Google Business Profile. In week 3 we rewrite the services page so the first paragraph states who the firm helps, what it does and where, add five real client questions as an FAQ, and add matching FAQPage markup. In week 4 we run the same prompts again and report exactly what changed, including any prompt where nothing moved. Whether the firm is named is up to the engines. Everything on the list was in the firm's control.

Honest limits

What we cannot control

AI engines change their sources, their rules and their behavior often. Nothing we do on your site guarantees a mention or a citation. Third party sites, reviews and press also shape what engines say about you, and those sit outside the Pilot, which does not include digital PR or link building.

Some WordPress setups limit what is possible. A heavily locked down host may block file edits. A page builder may output messy markup that we can improve but not fully rewrite. A multilingual plugin setup is beyond one language per domain. We tell you in week one if any of this applies.

Our proof is narrow and real. A Dubai IT company, Emtech, is now cited for IT AMC queries in several AI engines, as described in the Emtech case. One client, one market, not a promise. You can compare pricing and scope on the pricing page.

FAQ

Questions people ask

Do I need to change my WordPress theme or host?

No. We work with your current theme, page builder and host. If a specific limit blocks a fix, such as a host that locks file edits, we tell you in week one and suggest the least disruptive option.

Will you install a lot of plugins?

We prefer fewer. We use what you already run where it can do the job and add custom code only where a plugin cannot. We do not endorse a particular plugin. We choose by what your site already has and what is safest to maintain.

Can you work on a staging site first?

Yes, if your host offers staging or you can clone the site. If not, we back up before each change and keep a written change log so anything can be reversed.

What access do you need?

An administrator login or a limited account with rights to edit settings, pages and, if needed, theme files. Some fixes need file or hosting access. You can grant and remove access at any time.

Does GEO conflict with my existing SEO plugin?

Usually not. Good GEO work builds on sound SEO. We review how your SEO plugin is configured and fix conflicts, such as double schema or a sitemap served from two places.

Will this make ChatGPT mention my business?

We cannot promise that. We remove technical barriers, improve how clearly your pages answer questions and test real prompts before and after. Whether engines name you also depends on factors outside your site.

Does it cost more if my site is large?

The GEO Pilot is $999 fixed for one domain and one language, with up to 10 priority pages rewritten. Ongoing work after the Pilot is quoted. Ranges are on the pricing page.

Do I need a special plugin for Google AI Overviews?

No. Google's Search Central guidance on AI features says no special markup or AI text file is needed. A page needs to be indexed and eligible to show with a snippet. Plugins can help you manage robots, sitemaps and schema, but they are not a requirement.

Should I use the Yoast sitemap or the WordPress core sitemap?

Either can work. What matters is that only one is live, it lists only indexable pages, and robots.txt points to it. Switching between them needs care, so we check redirects and Search Console after any change.

Will switching on the Yoast llms.txt feature help me?

It may help tools that look for the file, but no engine has promised to use it. Google says it is not needed for its AI features. If you switch it on, read the file, since it is built automatically from recent content and may not list your best pages.

Start your GEO Pilot

Tell us your website and the five questions your buyers ask. We reply within one working day with a clear next step.

  • Fixed $999, one time
  • We implement the work for you
  • Any platform, delivered in 30 days

Takes 20 seconds. No card, no sales script.

Step 2 of 2 Where should we send it?