GEO (Generative Engine Optimization) made simple. AI assistants are becoming a major way people find websites. Wille GEO shows you which AI systems read your pages and gives you a set of optimizations for AI search, each with a plain-language explanation of what it does.
Free. No subscription, no premium version, no account, no personal data. Two optional features contact external services and are off until you enable them – see “External services” below.
AI statistics
- Which AI reads which page for which term – every access by ChatGPT-User, GPTBot, OAI-SearchBot, ClaudeBot, Claude-User, PerplexityBot, Perplexity-User, Bingbot, Bytespider, Amazonbot, CCBot and more is logged and mapped to the focus term of the page.
- The three bot classes explained: Agent bots fetch your page live because a human just asked an AI about it. Retrieval bots build the index AI answers cite from. Training bots only feed models. The dashboard separates them, because they mean completely different things for your business.
- Human visitors from AI answers: people who click your link inside ChatGPT, Perplexity, Gemini, Copilot & co. – detected via referrer and via utm_source (ChatGPT tags its outbound links, which survives even stripped referrers).
- Bot identity verification (opt-in): user agents can be faked. Enable verification and every hit is checked against the official IP ranges published by OpenAI, Anthropic, Perplexity, Google and Microsoft – impostors are flagged separately.
- Counts AI visitors even behind full-page caches: an opt-in, sub-1-kB beacon reports visits from AI answers that server-side tracking cannot see (no cookies, no IPs, no external service).
- Weekly email report (opt-in): totals with trend, top bots, AI visitors, most-read pages and open issues – sent only when there was AI activity.
- AI column in your content lists: see AI accesses of the last 30 days next to every post and page.
- Modern React dashboard: interactive stacked timeline (tooltips, zoom brush, toggleable series), KPI cards with sparklines and change vs. the previous period, bot-class donut, top bots, term × AI matrix, landing pages, 7/30/90-day ranges, CSV export.
- Built to scale: raw hits are compressed into a daily aggregate table after 7 days, so the dashboard stays fast on busy sites.
- WP-CLI:
wp geoins stats, export, report, cleanup, refresh-ranges, selftest.
GEO optimizations – always with a benefit explanation
- AI crawler control (robots.txt): block or allow each AI bot individually, grouped by what blocking actually costs you. Blocking training bots does not affect whether AI answers can cite you; blocking retrieval/agent bots removes you from AI answers – the UI points this out clearly.
- llms.txt generator: a machine-readable Markdown summary of your site at /llms.txt. Honest explanation included: big crawlers rarely fetch it yet, but it costs nothing and helps AI agents.
- llms-full.txt + Markdown endpoints: your complete key content as clean Markdown in one file, and a Markdown version of every page by appending .md to its URL (advertised via a link tag) – pure content, cheap for AI agents to read.
- Live GEO checks while you write: in the block editor, the 13-point checklist updates as you type, right in the sidebar.
- Structured data (JSON-LD): WebSite, Organization/Person, Article with dates and author, breadcrumbs – plus automatic FAQ schema from question headings (H2/H3 ending in “?”).
- Meta description & Open Graph fallbacks – only when no other SEO plugin is active, so nothing is ever duplicated.
- GEO check per post: a 13-point checklist (direct answer first, question headings, lists/tables, concrete numbers, internal links, image alt text, freshness, author bio …) – every check explains why AI systems care.
- Site status panel: visibility, robots.txt analysis, permalinks, sitemap, llms.txt, IndexNow, schema – traffic-light simple.
- Content & freshness signals: exact lastmod times in the XML sitemap, an optional visible “Updated on” date, and an optional auto table of contents with citable heading anchors.
- Author E-E-A-T: job title + profile URLs per author feed the article schema; author archives ship ProfilePage structured data.
- IndexNow (opt-in): new and updated content is pushed to Bing & co. within minutes. Bing feeds Copilot and parts of ChatGPT search – faster indexing means faster AI citations.
- “How it works” page: a plain-language explainer for non-technical users – what GEO is, how the plugin works, and an honest assessment of what results to expect.
Plays nicely with your SEO plugin
Yoast SEO, Rank Math, All in One SEO, SEOPress and The SEO Framework are detected automatically. Wille GEO then leaves schema and meta tags to them and only adds what they don’t do: AI tracking, llms.txt, AI robots control and GEO content checks.
Privacy
- No IP addresses stored, no cookies set, no fingerprinting.
- No external requests by default. The only exceptions are two opt-in features, documented in “External services” below.
- Configurable data retention with automatic cleanup.
- Data is only removed on uninstall if you opt in.
About the author
Wille GEO is developed and maintained by Lucas Wille, a web developer from Magdeburg, Germany, who builds websites and AI automations: https://lucaswille.de/
Found a bug or have an idea? Open a topic in the support forum. And if the plugin helps you, a review on WordPress.org is the best way to say thanks – it helps other site owners find it.
External services
The plugin works without any external service. Two optional features, both off by default, connect to third-party services. Nothing is sent on activation; nothing is sent to the plugin author.
Bot identity verification (opt-in, setting “Verify bot identity against official IP ranges”)
Used to check whether a visitor that claims to be an AI crawler really comes from that company. When enabled, the plugin downloads the public lists of crawler IP ranges once a day (WP-Cron) from the services below. These are plain GET requests for public JSON files; no data about your site or your visitors is sent, apart from the technical request itself (your server’s IP address and a user agent naming the plugin). Visitor IPs are compared locally in memory and never stored or transmitted.
- OpenAI – https://openai.com/gptbot.json, https://openai.com/searchbot.json, https://openai.com/chatgpt-user.json. Terms of use: https://openai.com/policies/terms-of-use/ – Privacy policy: https://openai.com/policies/privacy-policy/
- Anthropic – https://claude.com/crawling/bots.json. Terms: https://www.anthropic.com/legal/commercial-terms – Privacy policy: https://www.anthropic.com/legal/privacy
- Perplexity – https://www.perplexity.ai/perplexitybot.json, https://www.perplexity.ai/perplexity-user.json. Terms of service: https://www.perplexity.ai/hub/legal/terms-of-service – Privacy policy: https://www.perplexity.ai/hub/legal/privacy-policy
- Google – https://developers.google.com/static/search/apis/ipranges/special-crawlers.json. Terms of service: https://policies.google.com/terms – Privacy policy: https://policies.google.com/privacy
- Microsoft (Bing) – https://www.bing.com/toolbox/bingbot.json. Services agreement: https://www.microsoft.com/en-us/servicesagreement – Privacy statement: https://www.microsoft.com/en-us/privacy/privacystatement
IndexNow (opt-in, setting “Ping IndexNow on publish and update”)
Used to notify search engines (Bing, Seznam, Naver and others) as soon as content changes, so it is recrawled sooner. When enabled, each time a post is published, updated or deleted the plugin sends the post’s URL, your site’s host name and the IndexNow key of your site to https://api.indexnow.org/indexnow, which shares it with the participating search engines. Once a day the plugin also requests its own key file from your site to make sure the engines can verify it. No visitor data is sent.
- IndexNow terms: https://www.indexnow.org/terms – documentation: https://www.indexnow.org/documentation
- The shared endpoint api.indexnow.org is operated by Microsoft: Privacy statement https://www.microsoft.com/en-us/privacy/privacystatement
Weekly email report (opt-in)
Sent with your site’s own wp_mail() configuration to the address you enter; the plugin itself does not contact a mail service.
Third-party libraries
The statistics dashboard bundles the following open-source libraries into assets/js/geoins-dashboard.js (no CDN, no external requests; license headers are preserved in the bundle):
- React and ReactDOM – Copyright (c) Meta Platforms, Inc. and affiliates. Released under the MIT License.
- Apache ECharts – Copyright (c) The Apache Software Foundation. Released under the Apache License 2.0 (GPL-compatible).
- Simple Icons (selected brand icon paths) – released under CC0 1.0; all trademarks remain the property of their respective owners and are used for identification only.
The license headers of these libraries are kept in the bundle, and the readable source of the bundle ships with the plugin in src/dashboard/. Full license texts:
- MIT License: https://opensource.org/licenses/MIT
- Apache License 2.0: https://www.apache.org/licenses/LICENSE-2.0
- CC0 1.0: https://creativecommons.org/publicdomain/zero/1.0/