robots.txt blocks search engines from this page
CriticalGooglebot cannot fetch the page. Without indexing, neither search results nor the AI answers built on top of search can surface you.
Method
Every check the audit runs, with its weight and an explanation of why it is measured. No check is hidden.
61 checks · Engine version 3
A check that cannot apply to a page drops out of the scoring entirely rather than scoring zero. A page with no images is not penalised for having none, and a product page is not asked for an author.
Googlebot cannot fetch the page. Without indexing, neither search results nor the AI answers built on top of search can surface you.
The page can be crawled but is told not to be indexed. This is usually a staging tag that shipped to production, and on its own it zeroes out organic traffic.
When the same content answers on four addresses, search engines split authority between them and have to guess which is canonical.
The canonical tag names the authoritative version among duplicates. Without it, every parameterised URL can be treated as a separate page.
The address does not answer with 200, or sits behind a long redirect chain. Crawlers stop following chains after a few hops.
HTTPS has been a ranking signal for years and browsers flag insecure pages. A certificate error also stops crawlers outright.
A sitemap tells search engines "these are worth indexing". When it lists 404s, redirects or noindex pages, Google trusts the file less and crawls accordingly.
When non-existent addresses answer "success", a crawler discovers unlimited empty pages and spends its crawl budget on them.
The PageSpeed Insights performance score is below threshold. Slow pages rank worse and lose visitors before the content renders.
Google indexes the mobile version first. A page without a viewport declaration renders at desktop width on phones.
Broken links waste crawl budget and dead-end the reader. They are usually leftovers from a content migration.
Browsers block http:// scripts and stylesheets on a secure page and mark images as not secure. A blocked script can leave half the page non-functional.
When a certificate lapses browsers block the site outright and crawlers cannot connect; one missed renewal stops all traffic.
Every script in `<head>` without async or defer must download and run before the browser paints anything. A third-party stylesheet does the same, at the mercy of another server.
Each external origin is a separate DNS lookup, TLS handshake and dependency on another company’s uptime. Measurement and widget scripts run on the main thread, so they raise INP and TBT directly.
A version past end of life receives no security patches, so known holes stay open. This check only judges libraries whose version number was actually readable.
A sitemap tells search engines directly which pages exist and when they changed. For pages that are hard to reach by internal links it is the only route.
Time to first byte sets the ceiling for how fast everything else can load. It is usually a caching or server-location problem.
On multilingual sites hreflang decides which version each visitor sees. Declarations that are not reciprocal are ignored entirely.
Uncompressed HTML slows every crawler request and feeds straight into TTFB. HSTS makes even the first http:// request go secure; it is not a ranking factor but a security and redirect-hygiene signal.
Google shows the site favicon in mobile results. Without one a grey globe appears and the result gets fewer clicks. Not a ranking factor, a results-page visibility detail.
HTTP/2 downloads in parallel over a single connection. On HTTP/1.1 the browser is limited to a few simultaneous connections per host, so pages with many files queue up.
The title is the main search-result headline. There is no fixed character limit; it should describe the page concisely and accurately.
If you do not write one, the search engine picks a sentence at random. It is one of the few snippets you control that directly moves click-through.
Alt text is both an accessibility requirement and the only content signal in image search. Decorative images should carry an empty alt="", not be skipped.
Malformed JSON-LD cannot be read by search engines. Feature-specific eligibility should also be checked with Google Rich Results Test.
A primary heading explains the page topic to users and search systems. Multiple H1s are not inherently an error; a missing or unclear heading is.
Modern formats, lazy loading and explicit dimensions each move page speed and layout shift (CLS) directly.
These decide the title, description and image shown when the link is shared. Without them the platform picks something at random.
Pages sharing the same title and description look like copies of each other to a search engine; which one to show becomes ambiguous and the template value is usually rewritten.
Jumping from H2 to H4 breaks the document outline. AI systems chunk pages along the heading tree, so a broken outline produces mis-scoped quotes.
This check does not impose a word-count target. It only verifies that users and crawlers receive meaningful main content from the server.
The schema is valid, but the properties Google recommends for the matching rich result are empty. Not an error; each missing property is a visibility feature left unused.
"Click here" and "read more" say nothing about the destination. Anchor text is how you describe the page you are linking to.
A breadcrumb tells both users and search engines where the page sits in the site hierarchy. BreadcrumbList schema replaces the raw URL in results with a readable path.
Title and H1 are two headlines for the same page. When they share no vocabulary, engines and readers read the topic differently; Google often rewrites the title to the H1 in that case.
Schema is not mandatory on every page. Only relevant, accurate markup that matches visible content can enable supported rich-result eligibility.
This only covers bots used for search, citation, or user-requested fetches. Blocking training crawlers is a publisher choice and does not lower the AEO score.
robots.txt allows them but the server answers these bots with a 403 or a challenge page. This is the most insidious failure mode — no SEO tool reports it, so it can go unnoticed for years. It usually comes from CDN bot management.
AI Overviews and Gemini see what Googlebot sees; Copilot and ChatGPT Search use the Bing index. If either gets a 403, search and every AI surface built on it go dark.
Most AI crawlers do not execute JavaScript. If the raw HTML from the server is empty, your page really is empty to them — no matter how good the content is. Server-side rendering or static generation fixes this in one step.
If a cookie banner, login screen or age gate is what the first response contains, the wall is all a crawler ever sees.
When main content is a small share of all text, a model chunking the page struggles to find a passage worth quoting and the quality signal drops. Google likewise separates template text as boilerplate.
AI systems prefer current sources. Undated content is assumed stale next to a dated competitor.
Who wrote this feeds directly into how trustworthy the content is judged to be. Author schema plus a verifiable profile link closes the gap.
AI systems chunk the page and look for the most direct answer. A page that answers its own headline in the first two sentences is far more citable.
Organization schema plus a match in a known knowledge base makes it unambiguous which entity your brand name refers to.
Answer engines quote passages, not pages. A single H2 section over 300 words or 150-word paragraphs cannot be chunked, and an average sentence over 25 words hurts summarisation.
The body returned to bots differs materially from the one visitors get. If deliberate that is a penalisable practice; if not, a cache or bot-management layer is likely truncating the content.
<main> or <article> tells a parser where the real content starts and ends. Without it, navigation, sidebar and footer bleed into the content.
llms.txt is experimental. It is not an SEO or AEO requirement, and its absence does not affect the score.
Perplexity and other answer engines still watch feeds to discover new content. A <link rel="alternate" type="application/rss+xml"> tag can cut the time to index a new post from hours to minutes.
Answer engines pick the more recently dated of two similar sources. A stale dateModified lowers citation odds even when the content is still correct.
The page already answers three or more questions. Marking the pairs up as FAQPage lets answer engines read the question–answer mapping instead of guessing it. Using question headings is not a requirement on its own.
Tables and lists are ready-made chunks that lift straight into an answer. Long unbroken paragraphs do not extract that way.
Reliable external sources help readers verify claims in articles and guides. Random numeric density is not treated as a quality signal.
A "key takeaways" list at the top and a table of contents let a model see at a glance what the page answers. In-page anchor links also help Google passage indexing.
Google quality raters and answer engines look for who runs the site. A visible link to about and contact pages is the cheapest piece of the E-E-A-T signal.
Tags like noai / noimageai refuse AI use of the content. Fine if deliberate; if not, it quietly switches off visibility.
The Content-Signal line in robots.txt states a preference about using content in AI answers (ai-input) or training (ai-train). With ai-input=no, answer engines may choose not to cite the content.
Some sites return a Markdown version when asked with Accept: text/markdown. It is the cheapest form for a model to read and removes HTML noise entirely. Optional good practice; absence does not affect the score.
These findings cost no points. Because each one ends visibility on its own, they are shown ahead of the score as a separate warning.
A real request is sent to the page with each of these user agents. robots.txt allowing a bot while the server turns it away with a 403 is the most common failure, and no tool that only reads the file can see it.
| User-agent | Product | Purpose |
|---|---|---|
Googlebot | Google Search · AI Overviews · Gemini | search |
Bingbot | Bing · Copilot · ChatGPT Search dizini | search |
OAI-SearchBot | OpenAI · ChatGPT Search | search |
ChatGPT-User | OpenAI · kullanıcı isteğiyle getirme | live fetch |
Claude-User | Anthropic · kullanıcı isteğiyle getirme | live fetch |
Claude-SearchBot | Anthropic · Claude arama | search |
PerplexityBot | Perplexity | search |
Perplexity-User | Perplexity · kullanıcı isteğiyle getirme | live fetch |
Applebot | Apple · Siri / Spotlight / Apple Intelligence | search |
DuckAssistBot | DuckDuckGo · DuckAssist | search |
MistralAI-User | Mistral · Le Chat kullanıcı isteğiyle getirme | live fetch |
Google-CloudVertexBot | Google · Vertex AI Agents | live fetch |
GPTBot | OpenAI · ChatGPT | training |
ClaudeBot | Anthropic · Claude | training |
CCBot | Common Crawl | training |
meta-externalagent | Meta AI | training |
Amazonbot | Amazon · Alexa / Rufus | training |
Bytespider | ByteDance | training |
Blocking training-only crawlers is a publisher choice and does not lower the AEO score. Only search and user-requested fetch crawlers enter the scoring.
Google-Extended — Google · Gemini eğitim izniApplebot-Extended — Apple · Apple Intelligence eğitim izniThese two tokens are permission switches in robots.txt only; no bot ever sends them as a user agent, so they are not probed.
The technology inventory judges support status only where a version number is actually written down. Support dates are a snapshot valid as of 2026-05, and the report shows that date.