# Dennis GEO > Dennis GEO is a free WordPress plugin for Generative Engine Optimization — > making WordPress sites structured, readable, and citable by AI search engines > like ChatGPT, Perplexity, Claude, and Google's AI Overviews. Made in Sweden > by aistaffing.se. --- ## Homepage URL: https://dennisgeo.com/ AI is already writing about your business. It's just getting it wrong. Dennis GEO structures your WordPress site for Generative Engine Optimization — the new discipline of being read, understood, and cited by AI models like ChatGPT, Perplexity, Claude, and Google's AI Overviews. ### The problem Search stopped returning links. It started returning answers. When a user asks ChatGPT "best accountant in Gothenburg" or Perplexity "how does Stripe compare to Mollie," the AI composes an answer from the web pages it can parse, quote, and trust. If your site lacks the structural signals these models rely on — Organization schema, FAQ schema, clear entity definitions, answer-shaped paragraphs, and an llms.txt manifest — your content is invisible to that answer. ### What the plugin does Twelve signals, one plugin, no theme changes: 1. Organization schema with JSON-LD including address, phone, hours, geo, sameAs 2. FAQ schema auto-detected from core/details blocks 3. llms.txt and llms-full.txt generated from your sitemap 4. Per-page SEO fields (title, description, keyphrase, OG, canonical, robots) 5. Schema type per page (Service, ContactPage, AboutPage, FAQPage, Article, WebPage) 6. Smart sitemap.xml respecting noindex 7. Breadcrumb schema on every page 8. GEO audit dashboard scoring 0–100% 9. Service offer markup with priceRange 10. Archive descriptions for category, tag, custom post types 11. WooCommerce compatible 12. Zero theme changes ### Pricing The plugin is free and fully usable on its own. Inside the plugin there's optional AI help for populating SEO/GEO fields ($19, one-time per site) — the plugin itself is not gated behind them. ### Contact info@dennisgeo.com --- ## Features URL: https://dennisgeo.com/features ### Schema.org JSON-LD All structured data is output as valid JSON-LD in the document head, tested against Google's Rich Results Test and Schema.org validator. Schema types supported: Organization, LocalBusiness, WebSite with SearchAction, WebPage, AboutPage, ContactPage, FAQPage, CollectionPage, Article, BlogPosting, Service with provider/areaServed/offers, BreadcrumbList, and FAQPage auto-generated from core/details blocks. ### AI crawler files Dennis GEO generates and serves both llms.txt and llms-full.txt automatically. llms.txt is a short manifest listing key pages. llms-full.txt contains the full readable content of the site, stripped of navigation and rendered as clean Markdown — the format AI crawlers prefer. llms.txt is a community convention, not a ratified standard. Many well-known companies publish one; crawler-side adoption is still early and growing. Publishing the file costs little and gives your site a head start. ### Per-page controls Twelve unified fields on every post and page: SEO title, meta description, focus keyphrase, canonical URL, robots directives, OG title, OG description, OG image, schema type, llms.txt include toggle, llms.txt description. ### GEO audit Scores your site across three dimensions: global settings (30%), per-page fields (60%), llms-full.txt quality (10%). Tells you exactly what's missing. ### Technical requirements PHP 8.0+, WordPress 6.0+, works with every major theme including block themes, WooCommerce 8.0+ compatible, settings manageable via standard WP-CLI commands, GPL-2.0 licensed. --- ## How it works URL: https://dennisgeo.com/how-it-works ### Step 1: Install Dennis GEO activates like any WordPress plugin. On first activation it runs a background scan of your content and stores a baseline GEO audit score. Most unoptimized WordPress sites score 15–35% on the first run. ### Step 2: Configure The global settings screen has 20 fields: business name, description, address, phone, hours, social profiles, default OG image, homepage title and description. Fill once. These power site-wide schema, llms.txt header, and default OG tags. Per-page fields are edited inline. You don't need to fill them all at once — the audit shows which pages are missing what. ### Step 3: Populate (optional) For $19 one-time, the AI Populate service reads your site, drafts every field in your site's language, and populates them directly into your site. Fields are live immediately — you can review and tweak them anytime. Opt-in. The plugin is complete without it. ### What gets emitted Additions to the document head on a typical page: - SEO title with focus keyphrase - Meta description up to 155 characters - Canonical URL - Link tag pointing to llms.txt - OG title, description, image - JSON-LD script with @graph containing Organization, WebSite, WebPage, BreadcrumbList, and where applicable FAQPage, Service, or Article schema ### Getting cited After activation, submit the updated sitemap to Google Search Console. Google re-indexes within days. ChatGPT, Perplexity, and Claude crawl on their own undisclosed schedules. --- ## Pricing URL: https://dennisgeo.com/pricing ### Plugin — Free The plugin is free. Full schema.org output, llms.txt generation, per-page SEO fields, FAQ and Service schema, breadcrumb schema, smart sitemap.xml, GEO audit dashboard, WooCommerce compatible, all future updates. ### Optional AI service If you'd rather skip typing, there's Dennis. He reads your site, writes each field in your site's language, and populates the fields directly — live immediately. $19, one-time per site. Not required. --- ## What is Generative Engine Optimization? URL: https://dennisgeo.com/blog/what-is-geo Generative Engine Optimization (GEO) is the practice of structuring a website so AI search engines can accurately read, understand, and cite it. It's the second generation of SEO — and most sites are about two years behind on it. For twenty years, search engines returned ten blue links. Your job was to rank in the top three. That phase of the internet is shifting. AI Overviews now appear on a growing share of Google's results pages. ChatGPT Search, Perplexity, Claude, and You.com all compose answers from web pages they have crawled and judged quotable. Inside an AI-generated answer, your site can appear in three places: quoted directly, paraphrased with citation, or invisible. The first two produce referral traffic. Which category you land in is decided almost entirely by how readable your page is to the model. The term was introduced in a 2023 paper by researchers at Princeton, Georgia Tech, the Allen Institute for AI, and IIT Delhi (Aggarwal et al., "GEO: Generative Engine Optimization"). Content-level edits like adding quotations, statistics, and citations measurably improved source visibility, with the largest effects approaching 40% in their experiments — while keyword-density tactics had essentially zero effect. Action list for WordPress site owners: add complete Organization or LocalBusiness schema, add FAQ sections to top 5 pages marked up as FAQPage schema, publish llms.txt and llms-full.txt at the site root, rewrite homepage and service pages so the first paragraph defines specifically what you do and for whom, submit the updated sitemap to Google Search Console. --- ## llms.txt, explained for WordPress owners URL: https://dennisgeo.com/blog/llms-txt-explained llms.txt is a proposed convention for helping AI systems find and understand valuable content on your website. It was proposed by Jeremy Howard (founder of fast.ai) in late 2024. Publishing-side adoption is broad — companies like Anthropic, Cloudflare, Stripe, and Vercel serve one at their root — but the crawlers that actually consume it have been mostly silent about it in public. Two related files in practice: llms.txt (a short manifest listing key pages with descriptions) and llms-full.txt (the actual content of your site converted to clean Markdown). robots.txt tells crawlers what they can visit. sitemap.xml tells them where to find every page. llms.txt goes further: it tells LLMs why each page matters and gives them the content in a format that's cheap to read — no HTML parsing, no navigation clutter, no JavaScript required. No major AI vendor has publicly committed to consuming llms.txt as crawler behavior. The honest case for publishing one: the file costs nothing to serve, and if it helps with AI citation, good. If it does nothing, you've added a few kilobytes of plain text. Cheap insurance. In WordPress, you can write it by hand, use a code snippet, or install Dennis GEO which generates both files automatically from your sitemap and per-page descriptions. --- ## Why FAQ schema is the highest-leverage signal for AI citation URL: https://dennisgeo.com/blog/faq-schema-for-ai-citation If you can only do one thing to improve your site's presence in AI-generated answers, add structured FAQ sections to your top pages. When a language model generates an answer, it runs a retrieval step first — finding the most relevant passages across a corpus — then a generation step that composes an answer from those passages. The retrieval step heavily favors self-contained chunks of text: passages that make sense without reading the rest of the page. A structured FAQ is exactly that. Content patterns that get cited: phrase questions as users ask them, first sentence directly answers, include specifics (numbers, timelines, locations, brand names), keep answers under 80 words, no filler. As a rule of thumb: 5–6 questions per service page, 3–4 per product page, 8–10 on a dedicated FAQ page. Don't put them on blog posts — FAQ schema on editorial content can trigger manual actions from Google. In Dennis GEO, every WordPress core/details block on your site is automatically converted to FAQPage schema. No manual markup. --- ## Dennis GEO is live URL: https://dennisgeo.com/blog/dennis-geo-is-live Dennis GEO — AI Visibility for WordPress is officially live. The plugin is free and works on any WordPress 6.0+ site. It adds Organization schema, FAQ schema, llms.txt, llms-full.txt, per-page SEO fields, and a GEO audit dashboard that scores your site 0–100%. Optional: a $19 one-time AI Populate service that reads your site and drafts every SEO and GEO field automatically. Payment via Stripe, no subscription. --- ## The free AI Visibility Score is live URL: https://dennisgeo.com/blog/free-ai-visibility-score A free tool that checks any website's AI visibility. Enter a URL, get an instant score out of 100. The scanner checks 8 signals: Schema/JSON-LD (20 pts), FAQ markup (15 pts), llms.txt (15 pts), llms-full.txt (15 pts), robots.txt AI crawlers (10 pts), structured business data (10 pts), meta title and description (10 pts), and Open Graph tags (5 pts). Most unoptimized sites score 20–40. Sites running Dennis GEO with populated fields typically score 85–95. The last few points come from content quality — something no plugin can automate. The tool is free and always will be. No signup, no email required. --- ## The easiest AI adoption you'll do this year URL: https://dennisgeo.com/blog/ai-adoption-low-hanging-fruit Everyone's talking about AI strategy, AI transformation, AI roadmaps. Meanwhile, most business websites can't even be read by ChatGPT. Before any AI strategy matters, AI search engines need to be able to find and read your website — and right now, most can't. When someone asks ChatGPT or Perplexity a question, the AI looks for pages with clear structure: schema markup, llms.txt files, FAQ blocks. If your site doesn't have those signals, you're invisible to every AI search engine. The fix is simple: check your site with the free AI Visibility Score (dennisgeo.com/wordpress-ai-visibility-score), then install Dennis GEO — a free WordPress plugin that adds all 8 signals. Most sites go from scoring 20-40 to 85-95 in about five minutes. Technical GEO is the lowest-effort, highest-impact first step any business can take for AI adoption. And unlike most AI projects, it's actually free. --- ## Schema markup vs llms.txt: what's the difference? URL: https://dennisgeo.com/blog/schema-vs-llms-txt Both schema markup and llms.txt help AI search engines understand your site, but they solve different problems. Schema markup is JSON-LD structured data inside the of each page — invisible to humans, read by AI to understand what a specific page is about (a business, an article, a product, an FAQ). The most relevant types for AI search: Organization or LocalBusiness, FAQPage, Service, Article, BreadcrumbList. llms.txt is a separate plain-text file at yoursite.com/llms.txt — an index of the most important pages on your site, written specifically for AI crawlers. There is also llms-full.txt, which contains the complete content of the site in clean Markdown so AI models can read everything in one file instead of crawling page by page. You need both. Schema answers "when AI lands on a specific page, can it understand it?" llms.txt answers "when AI wants to learn about your site, does it know where to start?" Sites with one but not the other are only half-visible to AI search engines like ChatGPT, Perplexity, Claude, and Google AI Overviews. Dennis GEO generates both automatically — schema in the page head, llms.txt and llms-full.txt at the site root, regenerated whenever content changes. --- ## Dennis GEO is now on WordPress.org URL: https://dennisgeo.com/blog/now-on-wordpress-org Dennis GEO has been approved for and listed in the official WordPress.org plugin directory at https://wordpress.org/plugins/dennis-geo/. It can now be installed directly from the WordPress dashboard under Plugins → Add New by searching "Dennis GEO" — no manual zip upload — and it receives automatic update notifications going forward. Getting listed required meeting the directory's guidelines: extracting inline scripts and styles into properly enqueued files, adding clear privacy disclosures for the optional AI Populate service, and a number of smaller compliance fixes. The plugin remains free with all features included — Organization and LocalBusiness schema, FAQ schema, llms.txt and llms-full.txt, per-page SEO fields, breadcrumb markup, smart sitemap, AI crawler management, and the 0–100% GEO audit. The optional $19 one-time AI Populate service is unchanged. Existing users of the manually uploaded zip version don't need to do anything; the directory version is the same code, and settings and fields are preserved in the database. --- ## Privacy policy URL: https://dennisgeo.com/privacy This website is hosted on Cloudflare Pages. No Google Analytics, no Facebook Pixel, no tracking cookies. If you email info@dennisgeo.com, we keep that email to reply. We do not add you to a marketing list. If you ask to be forgotten, we delete the thread. The Dennis GEO WordPress plugin runs entirely on your server. It does not phone home. It does not send data about your site to us or any third party, except when you explicitly use the AI Populate service. When you purchase AI Populate: Stripe processes payment (we receive email and customer ID, not card details); the plugin sends your page content to api.dennisgeo.com for processing; drafted content is populated directly into the plugin SEO fields; logs retained 30 days then deleted; we do not train AI models on your content. --- ## Terms of service URL: https://dennisgeo.com/terms The plugin is GPL-2.0 licensed, same as WordPress itself. Use on any number of sites, commercial or otherwise. Modify, redistribute under the same license. Provided "as is." Back up your site before installing any plugin. The $19 AI Populate service is one-time per site. Payment via Stripe. We don't guarantee specific SEO or AI-citation outcomes. Fields are populated directly and editable in WordPress. Refunds available within 7 days if output is unusable. You retain full ownership of your content. We do not train AI models on it. Contact: info@dennisgeo.com