DEV Community

Cover image for GEO: What Generative Engine Optimization Means for Your Website in 2026
Mahadevan
Mahadevan

Posted on • Originally published at devndespro.com

GEO: What Generative Engine Optimization Means for Your Website in 2026

GEO: What Generative Engine Optimization Means for Your Website in 2026

If you read our earlier post on WebMCP, this is the follow-up. WebMCP is about making your site something AI agents can act on. GEO, Generative Engine Optimization, is about making your content something AI models actually cite when answering a question. This post skips the theory as much as possible and gets into exact steps: prompts to run, code to add, and a real before/after rewrite.

Step 1: Find Out Where You Actually Stand (10 minutes, no tools needed)

Open ChatGPT, Perplexity, and Google (with AI Overview) in three tabs. Ask each one a question a real customer would type, not a keyword, an actual question. For example, if you run a plumbing business in Stavanger:

  • "who does emergency plumbing repairs in Stavanger"
  • "best plumber for a burst pipe in Stavanger"
  • "how much does it cost to fix a leaking pipe in Norway"

Write down, for each tool:

  1. Is your business named at all?
  2. Which sites got cited or linked as sources?
  3. What did the AI get wrong or leave out about your business or industry?

That third question matters more than most people expect. If an AI model is giving customers wrong information about your pricing, service area, or hours because it pulled from an outdated directory listing, that is a concrete problem you can go fix today.

Repeat this for 5 to 10 questions covering your main services. This is the actual audit, no paid tool required, and it takes less time than reading this post.

Step 2: Add Structured Data That AI Crawlers Can Actually Parse

This is the single highest-leverage technical change. Here is a real, working JSON-LD block for a local business page. Adjust the fields, drop it in a <script type="application/ld+json"> tag in your page <head>:

{
  "@context": "https://schema.org",
  "@type": "LocalBusiness",
  "name": "Your Business Name",
  "image": "https://www.yoursite.com/logo.png",
  "url": "https://www.yoursite.com",
  "telephone": "+47-XXX-XX-XXX",
  "address": {
    "@type": "PostalAddress",
    "streetAddress": "Street Name 1",
    "addressLocality": "Stavanger",
    "postalCode": "4001",
    "addressCountry": "NO"
  },
  "openingHoursSpecification": [
    {
      "@type": "OpeningHoursSpecification",
      "dayOfWeek": ["Monday", "Tuesday", "Wednesday", "Thursday", "Friday"],
      "opens": "08:00",
      "closes": "16:00"
    }
  ],
  "priceRange": "$$"
}
Enter fullscreen mode Exit fullscreen mode

For a blog post or article page, use Article schema instead, and for anything answering a direct question (which most GEO-friendly content should), add FAQPage schema:

{
  "@context": "https://schema.org",
  "@type": "FAQPage",
  "mainEntity": [
    {
      "@type": "Question",
      "name": "How much does it cost to fix a leaking pipe in Norway?",
      "acceptedAnswer": {
        "@type": "Answer",
        "text": "A straightforward pipe repair typically costs between 1,500 and 4,000 NOK depending on access and pipe material, while more complex jobs involving wall or floor access can run higher."
      }
    }
  ]
}
Enter fullscreen mode Exit fullscreen mode

This is not decoration. FAQPage and Article schema give an AI crawler a direct, unambiguous answer to lift, instead of asking it to infer one from paragraph text.

Validate whatever you add with Google's Rich Results Test before publishing (search.google.com/test/rich-results). A schema block with a typo in a field name is worse than no schema at all, since it silently fails.

Step 3: Check Whether AI Crawlers Can Even Reach Your Site

Open yoursite.com/robots.txt. If you see any of these blocking rules, an AI model cannot read your site at all, no matter how good the content is:

User-agent: GPTBot
Disallow: /
Enter fullscreen mode Exit fullscreen mode

To actually allow the major AI crawlers (assuming you want the visibility, which for most businesses you do), your robots.txt should include:

User-agent: GPTBot
Allow: /

User-agent: PerplexityBot
Allow: /

User-agent: Google-Extended
Allow: /

User-agent: ClaudeBot
Allow: /
Enter fullscreen mode Exit fullscreen mode

Then check your actual server logs (or Cloudflare analytics if you're behind Cloudflare) for hits from these user agents. If GPTBot or PerplexityBot show zero requests in the last 30 days, either they are blocked somewhere upstream (a WAF rule, Cloudflare bot-fight mode, or a CDN setting), or your site simply is not being crawled yet. Both are fixable, but you need to know which one you are dealing with before "writing more content" is the right next move.

Step 4: Rewrite for Extraction, Not Just for Reading

Here is a real before and after, using a plumbing business as the example again.

Before (reads fine for a human, hard for an AI to extract cleanly):

When it comes to dealing with plumbing issues in your home, there are a lot of factors that can affect the price you might end up paying. Things like how accessible the pipe is, what it's made of, and how long the job takes all play a role, and it's worth getting a quote before committing to any work so you know what to expect.

An AI model reading this has to infer the actual answer. There is no number here, no direct statement.

After (same information, self-contained, extractable):

Fixing a leaking pipe in Norway typically costs 1,500 to 4,000 NOK for a straightforward repair. Cost depends on three factors: pipe accessibility, pipe material (copper repairs cost more than plastic), and whether wall or floor access is needed. Always request a fixed quote before work begins.

Notice the difference is not "more SEO-y," it is more direct. Numbers stated plainly, a clear list of factors, no dependency on the paragraph before it. This paragraph could be lifted whole into an AI answer and still make complete sense. It also happens to be faster for a human to skim, so this is not a tradeoff against your actual readers, it helps both.

Step 5: Get Cited on Other Sites, Not Just Your Own

AI models pull from many sources to build one answer, not only the top-ranking page. Two concrete, low-cost moves:

  • Claim and fully complete your Google Business Profile, Bing Places, and relevant Norwegian directories (like 1881.no or Gule Sider if you're local to Norway). These are exactly the kind of structured, trusted sources AI models lean on for local answers, and incomplete profiles get skipped.
  • Answer questions on forums and Q&A sites in your niche (relevant subreddits, Reddit-adjacent Norwegian forums, industry-specific communities) with your real name or business attached where appropriate. This is one of the more consistently cited source types in AI-generated answers right now, because the content is genuinely question-and-answer shaped already.

A Simple Ongoing Check

Once a month, repeat step 1: ask the same 5 to 10 questions across ChatGPT, Perplexity, and Google AI Overview. Track whether you start appearing, whether wrong information about your business gets corrected, and which competitor sites keep getting cited that you are not on yet. This turns GEO from a one-time project into a small, repeatable habit that takes 15 minutes a month.

Where This Actually Gets Built

Steps 2 and 3 need a developer. Steps 1, 4, and 5 need someone who understands the business and its customers, sometimes the same person, sometimes not. Neither half does much alone: perfect schema markup on vague, non-committal content will not get cited, and great direct answers trapped behind a robots.txt block that silently disallows AI crawlers will never be seen at all.

If you want a second pair of eyes on any of these five steps for your own site, that is exactly the kind of audit we do at DevnDespro.

Top comments (0)