IndexZeroDocs

Audit issue types

Every check a site audit runs, what each means, and how to fix it.

A site audit checks every crawled page against the 27 issue types below, grouped by severity. The issueType argument of get_audit_issues accepts the id in the second line of each row. The explanations and fixes are the same text the dashboard shows.

Critical

Issue typeSeverityWhat it meansHow to fix it
Crawler was blocked
blocked-page
criticalThe site returned a bot challenge or access denial (e.g. a Cloudflare challenge, 403, or 429) instead of the page. We report this honestly rather than pretending the page is broken — but it means this page could not be audited, and other crawlers like search engines may face similar friction.If you own this site, allowlist the "IndexZero-Audit" user agent in your WAF/bot-protection settings (on Cloudflare: a WAF custom rule that skips bot protection when the user agent contains "IndexZero-Audit"; on some free tiers you may need to relax bot protection). Then re-run the audit.
Server error (5xx)
server-error
criticalThe page returned a 5xx server error. Search engines that repeatedly see server errors will crawl the site less and may drop the page from the index.Check the server logs for this URL and fix the underlying error. If the page is gone, return a 404/410 or redirect it to a relevant page instead of erroring.
Broken internal link
broken-internal-link
criticalThis page links to an internal URL that returns an error status (4xx/5xx). Broken links waste crawl budget, leak link equity, and frustrate users — they are among the most common and most damaging technical SEO issues.Update the link to point at the correct live URL, or remove it. If the target was moved, prefer linking directly to the new URL rather than relying on a redirect.
Missing title tag
missing-title
criticalThe page has no <title>. The title is the strongest on-page relevance signal and the headline shown in search results; without it search engines generate one themselves, usually badly.Add a unique, descriptive <title> of roughly 50–60 characters that includes the page's primary topic.

Warnings

Issue typeSeverityWhat it meansHow to fix it
Page returns an error (4xx)
broken-page
warningThis crawled URL returned a client error (e.g. 404). If it is referenced from your sitemap or other pages, crawlers keep wasting requests on it.If the page should exist, restore it. If it is intentionally gone, remove it from the sitemap and internal links, and consider a 301 redirect to the closest live page.
Duplicate title
duplicate-title
warningMultiple pages share the same title tag. Search engines use titles to differentiate pages; duplicates make pages compete with each other and depress click-through rates.Write a unique title for each page describing its specific content. For templated pages, include the distinguishing attribute (name, category, location) in the template.
Duplicate meta description
duplicate-meta-description
warningMultiple pages share the same meta description, so search results show identical snippets and users cannot tell the pages apart.Write a unique meta description per page, or remove the duplicated one entirely — search engines will generate a snippet from page content, which beats a wrong duplicate.
Duplicate page content
duplicate-content
warningTwo or more URLs serve byte-identical visible text. Search engines pick one version to index and ignore the rest, and ranking signals get split across the duplicates.Consolidate duplicates: pick the canonical URL, add rel=canonical from the others, and 301-redirect duplicate URLs where possible (common causes: trailing-slash variants, URL parameters, http/https or www variants).
Missing meta description
missing-meta-description
warningThe page has no meta description. Search engines will assemble a snippet from page text, which is often less compelling and hurts click-through rate.Add a meta description of roughly 70–160 characters that summarizes the page and gives a reason to click.
Missing H1 heading
missing-h1
warningThe page has no H1. The H1 tells users and search engines what the page is about; pages without one tend to have weaker topical clarity.Add a single H1 that states the page's main topic, consistent with the title tag.
Multiple H1 headings
multiple-h1
warningThe page has more than one H1, which dilutes the main-topic signal and usually indicates a templating mistake (e.g. a logo and a headline both marked up as H1).Keep one H1 for the page's main heading and demote the others to H2/H3 (or unstyled elements for non-headings like logos).
Redirect chain
redirect-chain
warningReaching the final page requires two or more consecutive redirects. Each hop adds latency, leaks link equity, and burns crawl budget; long chains may not be followed at all.Point the first URL (and any internal links) directly at the final destination so there is at most one redirect.
Redirect loop
redirect-loop
warningThis redirect eventually points back to itself, so the URL never resolves. Browsers and crawlers give up with an error.Trace the redirect rules for this URL and break the cycle so the chain terminates at a real 200 page.
Conflicting canonical signals
canonical-conflict
warningThe page declares different canonical URLs in its HTML <link rel=canonical> and its HTTP Link header. When signals conflict, search engines ignore both and choose their own canonical.Pick one canonical URL and declare it in exactly one place (HTML head is the most common); remove or align the other declaration.
Thin content
thin-content
warningThe page has very little visible text. Thin pages rarely rank, can drag down sitewide quality assessments, and (if the site renders client-side) may indicate content invisible to plain-HTML crawlers.Either expand the page with genuinely useful content, noindex it, or consolidate it into a stronger page. If the content exists but is rendered by JavaScript, ensure it is server-rendered or pre-rendered.
Images missing alt text
images-missing-alt
warningOne or more images on the page lack alt attributes. Alt text is an accessibility requirement and the main way search engines understand images.Add descriptive alt text to meaningful images; use an empty alt (alt="") only for purely decorative ones.
Orphan page
orphan-page
warningNo crawled page links to this URL — it was only discoverable via the sitemap. Pages without internal links receive little crawl attention and no internal link equity, and users can't find them by browsing.Link to this page from relevant pages (navigation, related content, hub pages), or remove it from the sitemap if it shouldn't be indexed.
Page has no outgoing links
no-outgoing-links
warningThe page contains no links at all — a dead end. Link equity that flows into it stops there, crawlers have nowhere to go next, and users have to reach for the back button.Add links to related pages, the parent category, or the homepage. If the page's navigation is rendered by JavaScript, make sure it also exists in the server-rendered HTML.

Informational

Issue typeSeverityWhat it meansHow to fix it
Title too long
title-too-long
infoThe title exceeds ~60 characters, so search results will truncate it and the ending may be cut off mid-phrase.Shorten the title to roughly 50–60 characters, front-loading the most important words.
Title too short
title-too-short
infoThe title is under ~10 characters, which is usually too generic to describe the page or attract clicks.Expand the title into a descriptive phrase (roughly 30–60 characters) that states what the page offers.
Meta description too long
meta-description-too-long
infoThe meta description exceeds ~160 characters, so search engines will truncate the snippet.Trim the description to roughly 70–160 characters while keeping the core message and call to action.
Meta description too short
meta-description-too-short
infoThe meta description is under ~70 characters. Short descriptions waste the snippet space search results give you, and search engines often ignore them in favor of text pulled from the page.Expand the description to roughly 70–160 characters that summarize the page and give a reason to click.
Heading levels skip
heading-order-skip
infoThe heading hierarchy skips levels (e.g. an H4 directly after an H2). This weakens document structure for accessibility tools and content parsing.Adjust heading levels so they descend one step at a time (H1 → H2 → H3) without skipping.
Slow server response
slow-response
infoThe HTML response took over 1.5 seconds. Slow time-to-first-byte drags down every downstream performance metric and reduces crawl rate on large sites.Investigate server/database time and caching for this route; serving cached or statically generated HTML usually fixes it.
Page is noindex
noindex-page
infoThe page asks search engines not to index it (via robots meta tag or X-Robots-Tag header). That's often intentional — this is a heads-up, not an error.If this page should rank, remove the noindex directive. If it's intentional (admin, thank-you, filter pages), no action is needed.
Canonicalized to another URL
canonicalized-page
infoThe page declares a different URL as its canonical, telling search engines to index that URL instead. Fine when intentional (parameter pages, syndication) — a problem if this page was meant to rank.If this page should rank on its own, set its canonical to itself. Otherwise no action is needed.
Page is deep in the site structure
deep-page
infoThe page is 5+ clicks from the homepage. Deep pages get crawled less often and receive less link equity.Add links from higher-level pages (hubs, category pages, navigation) to flatten the path to this page.

Thresholds used

  • Slow response means the HTML took more than 1.5 seconds.
  • Deep page means five or more clicks from the homepage.
  • Title length flags under about 10 characters or over about 60.
  • Meta description length flags under about 70 characters or over about 160.
  • Blocked page covers a bot challenge, a 401, 403, or 429, or a 503 whose body is a challenge page. The crawler identifies as IndexZero-Audit/1.0; allowlisting that user agent is the fix.

On this page