← All documentation
32 checks

Indexability

Whether a page can be indexed at all: canonicals, noindex directives, soft 404s and the size limits Googlebot works within.

CriticalCrawl budget

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
Critical

Homepage is set to noindex

Id
HOMEPAGE_NOINDEX
Fix estimate
5 min per page
High

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
High

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
High

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
High

Canonical points to a non-indexable URL

Id
CANONICAL_TO_NONCANONICAL
Fix estimate
6 min per page
HighNeeds GSC

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
High

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
High

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
High

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
HighNeeds GSC

Noindex page still receiving search impressions

Id
RANKING_PAGE_NOINDEX
Fires at
≥ 50 impressions
Fix estimate
6 min per page
High

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
High

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
High

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
High

Self-canonical but noindex

Id
SELF_REFERENCING_BUT_NOINDEX
Fix estimate
6 min per page
High

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
High

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
Medium

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
Medium

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
Medium

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
Medium

Canonical points to a redirect

Point the canonical at the redirect’s final destination.

Id
CANONICAL_TO_REDIRECT
Fix estimate
6 min per page
Medium

Canonicalised URL listed in sitemap

Id
CANONICALIZED_IN_SITEMAP
Fix estimate
4 min per page
Medium

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
Medium

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
MediumCrawl budget

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
Medium

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
Medium

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
Medium

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
LowCrawl budget

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
Low

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
Low

Noindex page linked internally

Id
NOINDEX_PAGE_LINKED_INTERNALLY
Fix estimate
5 min per page
Low

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
See it on your own site

Which of these would your site trip?

Read your site, free