Indexability
Whether a page can be indexed at all: canonicals, noindex directives, soft 404s and the size limits Googlebot works within.
Title, canonical or structured data past the 2 MB fetch limit
Move the title, canonical link and JSON-LD to the top of the document — Googlebot stops reading at 2 MB and ignores everything after it.
- Id
- HEAD_ELEMENTS_BEYOND_FETCH_LIMIT
- Fires at
- > 2 MB
- Fix estimate
- 60 min per page
Homepage is set to noindex
- Id
- HOMEPAGE_NOINDEX
- Fix estimate
- 5 min per page
Canonical added by JavaScript
Put the canonical in the HTML the server sends: the version added after scripts run is not always the one that counts.
- Id
- CANONICAL_ONLY_IN_RENDERED_HTML
- Fix estimate
- 25 min per page
Canonical tag printed outside the head
Move the canonical link into <head>; anywhere else it is ignored.
- Id
- CANONICAL_OUTSIDE_HEAD
- Fix estimate
- 6 min per page
Canonical points at the http address
Point the canonical at the https address, so the secure page is the one indexed.
- Id
- CANONICAL_TO_INSECURE
- Fix estimate
- 6 min per page
Canonical points to a non-indexable URL
- Id
- CANONICAL_TO_NONCANONICAL
- Fix estimate
- 6 min per page
Page earns impressions but Google reports it is not indexed
- Id
- GSC_URL_NOT_INDEXED
- Fires at
- ≥ 50 impressions
- Fix estimate
- 6 min per page
Two canonical tags that disagree
Leave one canonical tag on the page; when several disagree, search engines ignore all of them.
- Id
- MULTIPLE_CANONICALS
- Fix estimate
- 6 min per page
Noindex page listed in sitemap
Either remove the noindex tag or take the URL out of the sitemap — the two signals contradict each other.
- Id
- NOINDEX_PAGE_IN_SITEMAP
- Fix estimate
- 5 min per page
Kept out of search by a header alone
The noindex arrives in the X-Robots-Tag header and is invisible in the page source: confirm it is deliberate, or drop it.
- Id
- NOINDEX_VIA_HEADER_ONLY
- Fix estimate
- 15 min per page
Noindex page still receiving search impressions
- Id
- RANKING_PAGE_NOINDEX
- Fires at
- ≥ 50 impressions
- Fix estimate
- 6 min per page
Canonical tags form a loop
Break the cycle — exactly one URL in the loop should be canonical, and every other page should point straight at it.
- Id
- RECURSIVE_CANONICAL
- Fix estimate
- 8 min per page
Indexing rule rewritten by JavaScript
Serve the final indexing directive in the HTML: a rule that changes after render can be read either way.
- Id
- ROBOTS_CHANGED_BY_JS
- Fix estimate
- 25 min per page
Robots tag and header disagree
Decide whether the page belongs in search and say it once, in the meta tag or the header, not differently in both.
- Id
- ROBOTS_META_HEADER_CONFLICT
- Fix estimate
- 15 min per page
Self-canonical but noindex
- Id
- SELF_REFERENCING_BUT_NOINDEX
- Fix estimate
- 6 min per page
Soft 404 — "not found" served as 200
Return a real 404 (or 410) status for missing content, or restore genuine content at this URL.
- Id
- SOFT_404
- Fix estimate
- 8 min per page
Page set to drop out of search on a date already past
Remove the unavailable_after directive, or move the date, if the page should still be found.
- Id
- UNAVAILABLE_AFTER_PAST
- Fix estimate
- 5 min per page
One crawler is told something else
A per-crawler rule contradicts the page-wide one, usually left over from a migration: remove it or apply it to all.
- Id
- BOT_SPECIFIC_ROBOTS_DIRECTIVE
- Fix estimate
- 15 min per page
Canonical chain (A → B → C)
Point the canonical straight at the final URL instead of another canonicalized page.
- Id
- CANONICAL_CHAIN
- Fix estimate
- 6 min per page
Canonical points to a URL we could not confirm
The canonical names a URL the crawl never reached as a live page. Point it at the page itself, or at a real, crawlable URL of the same content.
- Id
- CANONICAL_MISMATCH
- Fix estimate
- 6 min per page
Canonical points to a redirect
Point the canonical at the redirect’s final destination.
- Id
- CANONICAL_TO_REDIRECT
- Fix estimate
- 6 min per page
Canonicalised URL listed in sitemap
- Id
- CANONICALIZED_IN_SITEMAP
- Fix estimate
- 4 min per page
Same page answers on more than one spelling of its address
Pick one spelling — with or without the trailing slash, never index.html — and 301 the others to it, so each page exists at exactly one address.
- Id
- DUPLICATE_URL_FORMS
- Fix estimate
- 15 min per page
Site reachable on multiple host variants
Redirect the www/non-www and http variants to one canonical origin with a 301 so the site exists at exactly one address.
- Id
- HOST_NOT_CANONICALIZED
- Fix estimate
- 20 min per page
HTML larger than the 2 MB Googlebot fetches
Trim the HTML below 2 MB — Googlebot truncates the download there and indexes the fragment as if it were the complete page.
- Id
- HTML_EXCEEDS_FETCH_LIMIT
- Fires at
- > 2 MB
- Fix estimate
- 45 min per page
Noindex and canonical cancel out
Pick one: noindex drops the page, a canonical merges it into another. Asking for both leaves the outcome undefined.
- Id
- NOINDEX_WITH_CANONICAL_ELSEWHERE
- Fix estimate
- 15 min per page
Every link on the page is dropped
A page-wide nofollow stops the pages linked from here being discovered: remove it unless that is what you meant.
- Id
- PAGE_LEVEL_NOFOLLOW
- Fix estimate
- 15 min per page
Later pages canonicalise to the first
Let each page in the sequence canonicalise to itself: pointing them at page one tells search engines their contents are page one.
- Id
- PAGINATION_CANONICAL_TO_FIRST
- Fix estimate
- 20 min per page
Critical head tags sit deep in the document
Keep the title, canonical link and structured data near the start of the HTML so they stay comfortably inside the 2 MB Googlebot reads.
- Id
- HEAD_ELEMENTS_LATE_IN_DOCUMENT
- Fires at
- > 1 MB
- Fix estimate
- 30 min per page
Missing canonical tag
Add a self-referencing canonical tag so search engines know which URL is the original.
- Id
- MISSING_CANONICAL
- Fix estimate
- 5 min per page
Noindex page linked internally
- Id
- NOINDEX_PAGE_LINKED_INTERNALLY
- Fix estimate
- 5 min per page
Page text hidden from the result
nosnippet and noarchive leave the result with a title and no text: confirm that is intended for this page.
- Id
- SNIPPET_SUPPRESSED
- Fix estimate
- 10 min per page