DEMG.ai
FREE DIAGNOSTIC · NO SIGNUP TO SCAN

See your page the way Google and AI see it.

Paste a URL. We fetch it exactly like a crawler does — no JavaScript, no shortcuts — and show you the search result you'd actually get, plus every SEO, answer-engine and local signal you're winning or losing.

✓ Fetched as Googlebot ✓ 45+ signals checked ✓ Results in seconds

Know what's broken. Now fix it.

A scan tells you where you stand. Getting found is a system: structured data, content built to be quoted, and a site fast enough to earn the crawl. That's what we build.

Book a strategy call →
TECHNICAL SEO

Why Search Engine Simulators Belong in Your Monthly Monitoring

A search engine simulator fetches your page the same way a search crawler does, then shows you exactly what came back. No browser. No JavaScript execution. Just the raw HTML a crawler receives, parsed and scored the way a search engine reads it. That distinction matters more than most operators expect, because the page you see in Chrome is not the page Google indexes.

Why your browser lies to you about your own site

Open your site in Chrome and everything looks right. Headlines render. Images load. Copy reads clean.

Chrome produced that view by running your JavaScript. It executed every framework, hydrated every component, and finished every API call before painting the screen.

A crawler's first pass does none of that. It requests the URL and reads whatever HTML the server returned. Google can render JavaScript, but as Google's own documentation on JavaScript SEO describes, rendering is a separate, queued stage that happens after the initial crawl. Other crawlers skip it entirely.

So two versions of your page exist: the one you look at, and the one machines index. A simulator shows you the second one.

What a Googlebot simulator shows that other tools miss

Most preview tools fetch your page with their own user agent, or with a generic browser string. On any site that changes its response based on who is asking, that produces a misleading result.

Plenty of sites do exactly that. Dynamic rendering is a documented pattern: prerender services and edge functions inspect the user agent, then serve pre-built HTML to recognised crawlers while sending humans the JavaScript application. Google publishes the exact user agent strings its crawlers use, which is what those rules match against.

Here is a measurement from a page on a site we operate. Same URL, same moment, two user agents:

Fetched asHTML sizeWords of textTitle tag
Generic crawler60,211 bytes775none
Googlebot17,469 bytes1,950present

The generic fetch returned an empty application shell. Any tool scoring that response would report a page with no title and thin content, and it would be wrong. Googlebot receives the real article.

The user agent is not a detail. A simulator that does not identify as Googlebot is testing a page Google never sees.

A SERP simulator worth using also builds the search result preview from what it actually fetched, rather than from text you type into a form. Watching your real title truncate at 60 characters inside a live Google, Bing or Yahoo SERP preview tells you more than a character counter does, because it uses the title you actually published.

Dynamic rendering: the failure mode almost nobody checks

Once you accept that servers answer differently depending on who asks, a second question follows. Who else is asking?

Prerender rules usually get written once, against a list of search crawlers: Googlebot, Bingbot, maybe a few social unfurlers. That list rarely gets revisited.

The AI crawlers are not on it.

So a site can pass every traditional SEO audit, rank respectably in Google, and still hand ChatGPT an empty div. The page is invisible in AI answers, and no conventional tool reports it, because conventional tools only test the Google path.

Catching this requires fetching the same URL twice under different identities and comparing what comes back. That comparison is the most useful test you can run right now, and almost nothing on the market performs it.

Search engines are no longer your only readers

A second class of machine now consumes your content and sends you no click at all. It reads the page, extracts an answer, and either cites you or does not.

Those crawlers are named, documented and controllable. OpenAI, for one, publishes its crawler names and the robots.txt directives that govern them:

  • GPTBot and OAI-SearchBot (OpenAI)
  • ClaudeBot (Anthropic)
  • PerplexityBot (Perplexity)
  • Google-Extended, which governs Gemini and AI Overviews separately from Search
  • Applebot-Extended (Apple Intelligence)
  • CCBot (Common Crawl), which feeds a long list of open models

Two things about that list are worth holding onto. Your robots.txt decides which of them may read you, and a blocked crawler cannot cite you. And many sites block them by accident, inheriting a rule someone copied from a publisher who blocked them deliberately.

A simulator should tell you, per crawler, whether it is allowed to read the page you just tested. Reading your own robots.txt by hand and reasoning about longest-match precedence is a poor use of an operator's afternoon.

SEO, AEO and GEO test different things

These three get used interchangeably. They reward different page structures.

DisciplineWhat it optimises forWhat wins
SEO A ranked position in a list of links Titles, canonicals, structured data, speed, links
AEO Getting your answer extracted into a snippet or AI response Question headings, direct answers, FAQ markup, tables
GEO Appearing in map and local results LocalBusiness schema, complete address, consistent NAP, coordinates

A page can score well on one and badly on the others. Perfect technical SEO with no question-formatted headings will rank and never get quoted. Flawless content with no address markup will never surface for a search carrying local intent.

Scoring them separately is the only way to know which one is costing you traffic.

What to check every month

Run this against your highest-value pages, not just the homepage:

  1. Does the raw HTML contain your actual content, without JavaScript?
  2. Is the title tag inside 60 characters and the meta description inside 158?
  3. Does exactly one H1 exist?
  4. Is structured data present, and does it parse without errors?
  5. Do question-formatted headings exist, each followed by a direct answer?
  6. Is there a self-referencing canonical?
  7. Which AI crawlers does your robots.txt allow?
  8. Does GPTBot receive the same content Googlebot receives?
  9. For local businesses: is a complete address in schema, with coordinates?
  10. Is time to first byte under 400 milliseconds?

None of that needs a subscription or a crawl budget. It needs looking.

How often is often enough?

Monthly on the pages that make money. Immediately after any of these:

  • A site migration or redesign
  • A framework or CMS upgrade
  • A change to your CDN, edge functions or prerender configuration
  • A robots.txt edit
  • A new template shipping to production

That last one catches the most problems. A template change that drops a canonical or a title tag does not look broken in a browser. It looks broken to a crawler, silently, until traffic falls and somebody goes looking two months later.

Monitoring is cheaper than recovery.

Run the simulator on your own page →

Search engine simulator FAQ

What is a search engine simulator?

A search engine simulator fetches a web page the same way a search crawler does, then shows you exactly what came back. It does not run JavaScript or render the page in a browser. That is the point: it shows you the raw HTML a crawler actually receives, which is frequently not the page you see in Chrome.

What is a Googlebot simulator and why does the user agent matter?

A Googlebot simulator sends the official Googlebot user agent instead of a generic one. This matters because many sites change their response based on who is asking. Prerender services, edge functions and dynamic-rendering rules serve pre-built HTML to recognized crawlers and the raw JavaScript app to everyone else. We measured one page that returned 775 words and no title tag to a generic crawler, and 1,950 words with a full title to Googlebot. Same URL, same moment. A tool that does not identify as Googlebot is testing a page Google never sees.

How is this different from a SERP preview tool?

A SERP preview tool usually takes a title and description you type in and draws a mock Google result. This fetches your live page as Googlebot and builds the preview from what is actually published, then adds the checks a preview cannot do: structured data parsing, AI crawler access from your robots.txt, redirect chains, server response time and render-blocking resources.

Can this tool show me how ChatGPT will actually answer a question?

No, and any tool claiming otherwise is guessing. What we show instead is verifiable: the exact passage an answer engine would extract from your page, and whether GPTBot, OAI-SearchBot, ClaudeBot, PerplexityBot and Google-Extended are permitted to read the page according to your live robots.txt. A blocked crawler cannot cite you.

Does blocking GPTBot hurt my Google rankings?

No. GPTBot is OpenAI, not Google, and blocking it has no effect on Google Search rankings. Google-Extended is the separate directive that governs Gemini and AI Overviews, and blocking that one also does not affect your ranking in Search. What blocking costs you is citation eligibility in AI answers. That is a distribution decision, not a ranking one.

Why does my page score badly when it looks fine in a browser?

Usually JavaScript. Chrome executes your framework before painting the screen. A crawler reads whatever HTML the server returned. If your content is rendered client-side, the word count collapses and so does your AI visibility, because AI crawlers generally do not run a full rendering pipeline. That gap is the finding, not a bug in the scan.

What is the difference between SEO, AEO and GEO?

SEO gets you a ranked position in a list of links. AEO, or Answer Engine Optimization, gets your answer lifted into a featured snippet or an AI response. GEO, or Geographic SEO, gets you into map and local results. They share signals but reward different page structures, so this tool scores them separately.

How accurate is the page speed measurement?

We measure server response time (time to first byte), HTML payload size, compression, cache headers and the number of render-blocking resources in the head. Those are measured directly, not estimated. We do not report Core Web Vitals such as LCP or CLS, because those require rendering the page in a real browser.

Do you store the URL I test?

Yes. We store the URL, the resulting report and the email you provide, so we can show you the report and follow up if you want help fixing what it found. We do not sell or share it. See our privacy policy for detail.