Boost Your WordPress Site's Visibility in AI Search in 2026: What a Cited Page Has That a Ranked Page Does Not
Updated September 2026
We fetched 1,567 WordPress homepages as an agent on 25 September 2026 and counted the words a reader could take away without running JavaScript. The median page offered 746. Per Google’s own Core Web Vitals guidance on web.dev, the set has meanwhile settled at three metrics, one of which, Interaction to Next Paint, replaced First Input Delay in March 2024.
The comparison people expect is AI search against traditional SEO. The more useful comparison is being retrievable against being citable, because almost every WordPress site already passes the first and most fail the second for reasons that have nothing to do with rankings.
This guide covers the content side of that problem: what a page an assistant quotes has that a page it skips does not, and how to test your own pages against it. The delivery side, whether an agent can reach and read your HTML at all, is measured in our companion study of what an AI agent actually sees.
Quick Summary / TL;DR
| If you want to… | Do this | Why it works |
|---|---|---|
| find out if you are excluded outright | grep your robots.txt for gptbot, claudebot, ccbot | only 5.4% of the sites we measured name any AI agent, so most owners have never decided |
| find out if there is anything to quote | strip the tags from your own HTML and count words | 157 of 1,440 served pages carried under 200 readable words |
| make one page more citable today | put a number, a date and a source in the first 60 words of each section | this is the unit an assistant extracts, not the page |
| stop losing pages to staleness | put a visible dated line at the top and review on a cadence | an assistant prefers the source that proves it is current |
| check the delivery half | run the free xSpeed Scan | no account, and it grades first-byte time and cache evidence |
| check the agent-readiness half | run AIScan on the same URL | it grades robots.txt for named agents, llms.txt and whether content survives the trip |
The short version: on WordPress the technical foundation is usually already fine. Not one of the 1,440 pages we measured showed a JavaScript shell where the content should be, because WordPress renders on the server. What fails is substance, structure and freshness, and all three are editorial decisions rather than plugin settings.
How AI Search Differs From Traditional Search
Traditional search returns a ranked list of links and leaves the reading to you. An assistant retrieves content from several sources, reads it, synthesises an answer, and attaches a small number of citations.
That changes what the competition is. You are no longer competing to be the first link on a results page. You are competing to be one of the handful of sources a system judges worth quoting. A page can rank perfectly well and never be surfaced in an answer, because the two systems weigh different things.
| Traditional search | AI answer engines | |
|---|---|---|
| Unit of competition | the page | the section, or a single sentence |
| Weighs heavily | backlinks, keyword relevance, historical signals | retrievability, directness, verifiability |
| Rewards | depth across a whole document | a self-contained claim with a source attached |
| Punishes | thin content, slow pages | ambiguity, undated claims, buried answers |
| Failure mode | you rank on page four | you are absent from the answer entirely |
The third row is the one most WordPress sites act on last. An assistant does not cite a document, it cites a passage, so the useful unit of optimisation is the section rather than the post.
The Delivery Floor: What Has to Be True Before Content Matters
Our own probe of 1,567 WordPress sites on 25 September 2026 found that 1,201 of them, 76.6%, clear every delivery test we could apply, and that among the 366 that fail, 354 fail exactly one. So the odds are good that you have a single identifiable problem rather than a general condition.
The figures worth knowing, all from that study:
| What we measured | Finding | What it means for you |
|---|---|---|
| Sites naming any AI agent in robots.txt | 84 of 1,567, 5.4% | most owners have made no decision either way |
| Sites blocking at least one named agent | 48 | exclusion is real but rare |
| Sites serving a browser and refusing a non-browser | 39, 2.5% | usually a security plugin default rather than a policy |
| Median time to first byte | 619ms, with 29.1% over a second | this is the one a page cache moves |
| Pages with under 200 readable words after tag stripping | 157 of 1,440, 10.9% | the largest single cause, and not a technical one |
| Pages showing a JavaScript shell instead of content | 0 of 1,440 | the client-side-rendering worry does not apply to WordPress |
Read the last two rows together. The failure everyone writes about, an empty page waiting for JavaScript, did not occur once in our sample. The failure that actually cost sites was having little to read, which no plugin fixes.
Where Speed Genuinely Matters, and Where It Does Not
Speed sets a floor rather than a ceiling. An assistant that cannot get bytes from you in time reads nothing, so first-byte time is a gate. But it is a gate that almost everyone already passes: at a three-second threshold it cost 41 of 1,442 sites, against 157 lost for thin text.
We are a caching vendor saying this, so it is worth being blunt about the boundary. Our own cache ceiling study subtracted each site’s entire server response from its Largest Contentful Paint across 413 WordPress sites and found 93.4% of the failures still failing. Caching is a delivery fix. Three of the four things deciding whether you get cited are not delivery.
Mobile is the case where the floor is genuinely low. Crawling and indexing are mobile-first, so a page that is quick on your desktop and slow on a phone is still a weak candidate. Our guide to reading a PageSpeed report covers which of those numbers to act on first.
What Our Own Plugin Does, and Where the Pro Line Falls
xSpeed Cache is ours: we build it at WPDeveloper. On the delivery floor above, these are the parts it moves, and the free-versus-Pro split matters because two of them are not free.
| Capability | What it changes | Tier |
|---|---|---|
| Page, mobile and browser caching | serves stored pages as static files, so PHP never runs for a crawler hit | Free |
| Object caching (Redis or Memcached) | removes repeated database queries under load | Free |
| Minification and combining of CSS, JS and HTML | fewer and smaller files to fetch and parse | Free |
| Lazy loading | stops offscreen media holding up the first paint | Free |
| GZIP compression | fewer bytes over the wire | Free |
| Cloudflare integration | purges Cloudflare’s edge when your own cache purges, and toggles development mode | Free |
| Critical CSS and removing unused CSS | cuts render-blocking stylesheet weight | Pro |
| Cloudflare APO, cache level and browser TTL | serves your cached HTML from Cloudflare’s edge and sets the zone’s cache rules | Pro |
Cloudflare integration itself is free; APO and the zone cache settings are the Pro part, and APO also needs a paid Cloudflare plan. The Cloudflare documentation covers both, Free vs Pro is the current line, and the 80-capability comparison sets the whole feature set against the field, including the rows where we lose.
None of this earns a citation. It removes speed and crawl friction as reasons your content is skipped before it is read, which is a smaller claim and a true one.
The Citable-Section Test
Here is the framework this guide is actually for. An assistant extracts a passage, so audit your page one section at a time rather than as a whole. For every H2 on the page, ask five questions about its first 60 words only.
- Does it answer the heading? If the heading asks a question, the first sentence should answer it. Not set it up.
- Is there a number in it? A claim with a quantity attached is more quotable than a claim without one, because it can be checked.
- Is there a date on that number? An undated figure is a liability; a dated one survives being quoted six months later.
- Is there a named source, linked? “Per web.dev’s Core Web Vitals guidance” beats “studies show”, which is not a citation at all.
- Would it make sense alone? Paste those 60 words into a blank document. If they depend on three earlier sections, an assistant that quotes them produces nonsense and will prefer someone else.
Score each section out of five and fix the lowest first. State the limitation out loud: this is a heuristic we use on our own drafts, not a measured ranking factor, and no assistant publishes its extraction rules. What it does reliably do is make a page harder to misquote, which is the property you actually control.
| Section score | What it usually means | Fix |
|---|---|---|
| 5 of 5 | quotable as it stands | leave it |
| 3 to 4 | answer is there, evidence is thin | add the number, the date or the link |
| 1 to 2 | the section is setup, not substance | move the answer to the top, cut the runway |
| 0 | the section exists for word count | delete it |
Structuring Content So an Assistant Can Use It
- Lead with the answer. Put the conclusion in the first sentence after the heading and the supporting detail underneath. A reader who skims gets the same benefit.
- Use a real heading hierarchy. Genuine H2 and H3 elements, not bold paragraphs styled to look like headings. Headings should describe the section, not tease it.
- Write self-contained sections. Each one should stand up without the reader having absorbed the three before it.
- Add structured data. Schema states explicitly what a system would otherwise infer: the page type, the author, the subject. According to Google Search Central’s structured data introduction, it is how you make that context machine-readable rather than inferred.
- Link internally, and mean it. A page connected to related pages reads as part of a body of work. An isolated page reads as a one-off, and our own archive is the cautionary example: pages with no inbound links from siblings are the ones search engines reach last.
- Date your claims and keep them current. A figure with a date attached tells a reader and an assistant when to stop trusting it. A figure without one is already stale.
- Publish something nobody else has. A first-party number, a test protocol, a counted sample. A page that repeats what ten other pages say gives a system no reason to pick yours.
An llms.txt Is Cheap, and Not the Fix You Think
30.3% of the WordPress sites we measured, 475 of 1,567, already serve a real /llms.txt, verified on 25 September 2026, and 258 of those carry a generator line naming Yoast SEO, Rank Math or All in One SEO. Most of those owners did not decide to publish one. They updated a plugin.
Two things follow. It is cheap enough that you may already have it, so check. And it points at pages: if the pages behind it carry 89 readable words, a tidier index changes nothing. A separate 66 sites in our sample return a 200 with an HTML content type at that path, which is a soft 404 wearing a success code. Check the content type, not the status.
Common Mistakes That Hurt AI Visibility
- Auditing robots.txt and stopping. It is the cheapest thing to check and it cost 48 sites in our sample, against 157 lost to thin text.
- Long generic introductions. If your first three paragraphs would fit any article on the topic, they are runway, not content.
- Weak internal linking. An isolated page reads as thinner than the same page connected to five siblings.
- Writing the copy into the images. One site in our sample served 279KB of HTML carrying 89 readable words, because the products were pictures and the words were inside them. It is a design decision with a retrieval cost.
- Undated statistics. A number with no date cannot be trusted by a system deciding between you and a competitor who dated theirs.
- Assuming a caching plugin covers this. A cache moves first-byte time. It does not write your copy or structure your headings.
- Trusting a 200. Fifteen sites in our sample returned 200 with a bot-challenge page. The owner sees a success in the log and an assistant sees nothing to read.
- Treating it as an SEO task alone. Delivery, design and editorial each own part of this, and the editorial part is the largest.
Running This Across More Than One Site
Checking a single page against the five questions above takes a few minutes. Checking forty client pages is an afternoon, which is why it happens once and never again.
Split the job in two. The free xSpeed Scan grades the delivery half of any public URL without an account. For the agent-readiness half, robots.txt rules for named agents, llms.txt, and whether the content survives the trip, hand off to AIScan, which is also ours and is built for exactly that. Covering half the question in a caching article and calling it finished would be the worse choice.
If you would rather drive it from a chat window, our scan MCP documentation covers connecting it to Claude or any MCP client, and the roundup of WordPress MCP servers covers the wider category, re-queried monthly. Prompts for running the scan from ChatGPT are in Scan site speed with ChatGPT. Hosting sets the floor under first-byte time that no plugin lifts: we recommend xCloud for it, and it is ours, since xCloud and WPDeveloper are both Startise companies.
Step-by-Step Action Plan
- Run one non-browser fetch of your own homepage and read the status code and the body. A 200 carrying a challenge page is the trap.
- Strip the tags and count the words. Compare that number to what you believe the page says. A large gap means the copy is in the images.
- Fix the delivery floor once, because it applies to every page at the same time. First-byte time and Core Web Vitals, checked on mobile rather than on your desktop.
- Run the citable-section test on your five most important pages. Score every H2 out of five and fix the lowest-scoring section first.
- Add a visible dated line at the top of anything carrying figures, and put a review date in your calendar rather than in your intentions.
- Link each page to three siblings where a reader would genuinely go next, placed in the body rather than stacked in a related-posts block.
- Check
/llms.txtreturns plain text, and if a plugin generated one, read what it actually points at.
Frequently Asked Questions
Does AI search visibility replace traditional SEO? No, it sits on the same foundation and adds requirements. A fast, well-structured, authoritative site is the basis for both. The addition is that an assistant quotes passages rather than ranking documents, so the section becomes the unit you optimise.
I blocked GPTBot last year. Did I stop ChatGPT citing me? Not necessarily. Per OpenAI’s crawler documentation the tags are independent: GPTBot governs training and OAI-SearchBot governs appearing in search results, and OpenAI reports a lag of roughly 24 hours before a robots.txt change takes effect. Thirteen sites in our 1,567 block the second one, which is the one tied to referral traffic.
My homepage looks full of text in a browser. Why would an agent see almost none? Because the words may be inside the images. That was a real site in our sample: 279KB of HTML, 89 readable words. Strip the tags from your own HTML and count what survives.
Is page speed really that important next to content quality? It is a floor, not a ranking lever. At a three-second first-byte threshold, speed cost 41 of 1,442 sites in our sample while thin text cost 157. Fix it because it is cheap and applies site-wide, not because it is the main event.
Do I have to rewrite all my existing content? No. Start with the five pages that carry the most traffic or the most intent, run the citable-section test on those, and expand as time allows.
Does my WordPress site need to work without JavaScript? It almost certainly already does. Not one of the 1,440 pages we measured showed a JavaScript shell in place of content, because WordPress renders on the server. The problem we found was short copy and images, not client-side rendering.
I have no robots.txt at all. Am I invisible? No, that is the default and it blocks nothing. 152 of our 1,567 hosts served no readable robots.txt, and 94.6% of the rest name no AI agent. It does mean you have made no decision either way.
I added schema markup and nothing changed. Was it pointless? Schema states context explicitly rather than earning a citation by itself. It is worth having and it is not a lever. If the page underneath it carries no dated, sourced claim, the markup describes an empty room.
How often should I review a page for staleness? Tie it to the volatility of what is on the page. Prices, version numbers and directory counts move monthly: our own MCP roundup found four of nine install figures changed bucket in thirty days. Conceptual explanations survive far longer.
Should I add an llms.txt file? Check whether you already have one first, because 30.3% of the sites we measured serve one and most of those were generated by an SEO plugin update. Then confirm it returns a plain-text content type rather than HTML, which 66 sites in our sample fail while still returning 200.
What single change moves this the most? On the evidence above, putting a dated, sourced number into the first 60 words of each section. It is the cheapest change on this page and it addresses the gate that lost the most sites.
Where to Start
The delivery floor is the fastest part to fix and the easiest to get wrong on WordPress by default, so start there and then stop treating it as the whole job.
What to do this week:
- Fetch your own homepage with a non-browser user agent, then strip the tags and count the words. Two commands, and they tell you which half of this problem you have.
- Run both scanners named above on your slowest page. Neither needs an account.
- Run the citable-section test on your single most important page and fix the lowest-scoring section.
- Add a dated line to anything carrying figures, and pick the review cadence from how fast those figures move.
- If the delivery floor is what is failing, set up xSpeed Cache and get caching, minification and compression running in a few minutes. It is ours, it is free on wordpress.org, and Pro starts at $29 a year at founding pricing with a 14-day money-back guarantee.
Related reading
- What an AI agent sees on 1,567 WordPress sites, the measured study behind every figure on this page
- Take the server out entirely and 93% of slow sites are still slow, where caching stops helping