Dev.to AI 🤖 Ai 👁 0 📖 4 min read

I deployed a WordPress plugin that makes sites AI-readable. It generates llms.txt, ai.txt, and summary.json

WordPress runs 43% of all websites. If AI search visibility is a real problem, the solution has to work on WordPress, not just on Astro and Next.js sites built by developers who read Hacker News. I built a WordPress plu

WordPress runs 43% of all websites. If AI search visibility is a real problem, the solution has to work on WordPress, not just on Astro and Next.js sites built by developers who read Hacker News.

I built a WordPress plugin that does three things: generates /llms.txt, generates /.well-known/ai.txt, and generates /ai/summary.json from published content. It also runs a one-click AI readiness audit of the home page. It is at v0.1.1 and lives on GitHub. It is not yet on WordPress.org.

What the plugin generates

llms.txt: A plain-text file at the site root that summarizes the site for AI crawlers. The plugin builds it from published posts and pages, pulling titles and descriptions. It respects SEO plugin settings: content marked as noindex or nofollow in Yoast SEO, Rank Math, SEOPress, or All in One SEO is excluded automatically.

ai.txt: A .well-known/ai.txt file that declares which AI crawlers are allowed to access the site. This is similar to robots.txt but specific to AI agents. The plugin generates it with Allow rules for the 27 AI crawlers that GEO Optimizer tracks.

summary.json: A machine-readable JSON file at /ai/summary.json that provides a structured summary of the site's content, services, and key pages. This is the file that AI agents can fetch and parse to understand what the site is about without crawling every page.

Sitemap detection

The plugin detects sitemaps from five sources:

  • WordPress core sitemap (built in since 5.5)
  • Yoast SEO sitemap
  • Rank Math sitemap
  • SEOPress sitemap
  • All in One SEO sitemap

If any of these are active, the plugin reads the sitemap to build the llms.txt and summary.json. If none are active, it falls back to WordPress's native post and page listings.

The one-click audit

The plugin includes a "Run AI readiness audit" button on the settings page. It runs the same GEO Optimizer engine that powers the CLI and the web audit on geoready.dev. It audits the home page and returns a 0-to-100 score, 9 category scores, and a list of fixes ranked by priority.

The audit runs locally on the WordPress server. It does not send data to geoready.dev or any external service. The results are stored in the WordPress database and can be viewed in the admin dashboard.

What is not done yet

The plugin is at v0.1.1. Several things are planned but not built:

  • WordPress.org submission: The plugin is on GitHub only. It needs to pass the WordPress.org plugin review process, which can take weeks. I have not submitted it yet.
  • Headless WordPress support: The plugin works on classic WordPress. Headless setups (WordPress as a CMS with a separate frontend like Next.js or Astro) need REST API integration, which is planned.
  • JSON-LD schema output: The plugin generates llms.txt, ai.txt, and summary.json. It does not yet inject JSON-LD structured data into page templates. This is planned for v0.2.
  • Gutenberg editor panel: A block editor panel that shows the AI readiness score for the post being edited is planned for later.
  • Dashboard widget: A WordPress dashboard widget showing the latest audit score is planned but not built.

Why WordPress matters for AI visibility

The 1,800+ sites audited through GeoReady have a median score of 59/100. WordPress sites tend to score lower than Astro or Next.js sites because:

  • Many WordPress sites use page builders (Elementor, Divi) that render content in ways that are harder for AI crawlers to parse
  • robots.txt rules are often set by security plugins (Wordfence, Sucuri) that block unknown user agents, including AI crawlers, by default
  • Schema markup depends on the SEO plugin, and many sites have incomplete or invalid JSON-LD
  • llms.txt adoption is near zero on WordPress (the competing "Website LLMs.txt" plugin by Ryan Howard exists on WordPress.org, but adoption is still low)

The plugin addresses the first three gaps: it generates llms.txt, sets ai.txt with Allow rules for AI crawlers, and runs an audit that identifies the remaining issues. The schema injection is coming in v0.2.

The opt-in benchmark

The WordPress plugin has an opt-in setting (off by default) to contribute pseudonymised audit results to the GeoReady benchmark dataset. If enabled, the plugin sends a salted domain hash and the category scores to the GeoReady API. No domain name, no content, no personal data. The benchmark currently has 1,800+ sites. WordPress results are internal-only for now.

This opt-in is how the benchmark grows. The more sites that participate, the more accurate the median and band distributions become. The calibration study I published last week was based on 341 pages. A larger benchmark makes future studies more reliable.

Try it

The plugin is at github.com/Auriti-Labs/wordpress-geoready. It is not on WordPress.org yet. If you want to try it, clone the repo and activate it in WordPress. The settings page is under Settings > GeoReady.

If you want to run the same audit without WordPress, paste a URL into the free web audit on geoready.dev. The CLI is on GitHub, MIT licensed, 1,137 stars.

WordPress is 43% of the web. If 43% of the web is invisible to AI search engines, the problem is not niche. It is structural. This plugin is one step toward fixing it.

📰 Read the original article on Dev.to AI

Originally published by Dev.to AI. Aggregated on AIWithGhost for educational purposes — full credit and traffic to the original publisher.