Findings Reference
Every finding the site check and the site crawl report, with its severity, what it means, why it matters and how to fix it.
A finding is something RankDebug found on your site that can cost search traffic. Each one has a kind, which is the identifier the API and webhooks use, a label, which is what the dashboard shows, and a severity:
- High can remove pages from search or stop crawlers outright. Fix these first.
- Medium weakens how pages are crawled, understood or shown.
- Low is worth tidying, but rarely moves traffic on its own.
Every finding also carries the Search Console clicks its pages earned over the last 28 days, so within a severity the findings on pages that matter most come first.
There are two families. Site check findings come from the daily site check of robots.txt, sitemaps, hosts and your top pages. Crawl findings come from the full site crawl.
Site check findings
The site check reports two things. An issue is wrong right now, judged from one check alone. A regression got worse since the previous check, and only a high-severity regression sends an alert. Some kinds can be either.
Robots.txt Unreachable
robots_unreachable · High · Issue and regression
What it means. robots.txt did not answer, or answered with a server error. As a regression, it answered 200 in the previous check and does not now.
Why it matters. When robots.txt fails with a server error, search engines may slow down or pause crawling the whole site until it comes back.
How to fix it. Make /robots.txt answer 200 with your rules, or 404 if you have none. Check the server, CDN and any rewrite that could send it to an error.
Crawler Blocked
crawler_blocked · High for Googlebot and Bingbot, Low for AI crawlers · Issue and regression
What it means. robots.txt does not let this crawler reach the homepage. As a regression, the crawler was allowed in the previous check.
Why it matters. A blocked search crawler cannot read your pages, and they drop out of results over time. A blocked AI crawler cannot read the site for that assistant.
How to fix it. Find the Disallow that applies to that user agent, or to * when no group names it, and remove or narrow it. If blocking an AI crawler is intended, leave it.
Disallow Added
robots_disallow_added · High for Disallow: /, otherwise Medium · Regression
What it means. robots.txt has a Disallow rule that was not in the previous check.
Why it matters. A new disallow can cut crawlers off from sections that earn traffic. Disallow: / cuts off the whole site.
How to fix it. If the rule was not meant to ship, often a staging robots.txt released to production, remove it. Otherwise check that it does not cover pages that earn clicks.
Sitemap Removed
robots_sitemap_removed · Medium · Regression
What it means. A Sitemap: line that was in robots.txt is gone.
Why it matters. Search engines use it to find the sitemap and, through it, new and changed pages.
How to fix it. Put the Sitemap: line back with the sitemap's full URL, or submit the sitemap directly if it moved.
Robots.txt Changed
robots_changed · Low · Regression
What it means. Another rule in robots.txt changed: an Allow removed, a user-agent group added, and similar.
Why it matters. Usually harmless, but a change you did not expect is worth reading.
How to fix it. Compare the before and after shown with the finding and confirm the change was intended.
Sitemap Missing
sitemap_missing · High · Issue
What it means. None of the sitemaps declared in robots.txt, or /sitemap.xml when none is declared, could be read as a sitemap.
Why it matters. Without a working sitemap, search engines discover pages only through links, which is slow for new and deep pages.
How to fix it. Serve a valid XML sitemap and declare it in robots.txt.
Sitemap Empty
sitemap_empty · Medium · Issue
What it means. The sitemap answers but lists no pages.
Why it matters. An empty sitemap gives search engines nothing to work from, often because the generator broke.
How to fix it. Check the job or route that builds the sitemap and make sure it lists your indexable pages.
Sitemap Lost
sitemap_lost · High · Regression
What it means. A sitemap that could be read in the previous check can no longer be read.
Why it matters. Same as a missing sitemap, and it usually means a deploy broke it.
How to fix it. Restore the sitemap at its URL, or update robots.txt if it moved.
Sitemap Shrank
sitemap_shrank · Medium · Regression
What it means. The sitemaps list over a fifth fewer pages than in the previous check.
Why it matters. Pages that leave the sitemap are often pages the site stopped generating or linking to.
How to fix it. Find which section shrank and check whether those pages were removed on purpose.
Duplicate Host
duplicate_host (issue) and duplicate_host_added (regression) · High
What it means. The homepage answers 200 on more than one origin, for example on both www and the bare host, or on both http and https, without redirecting to one of them. As a regression, the site was served on one origin in the previous check.
Why it matters. Search engines split signals and clicks between the copies, and may index the wrong one.
How to fix it. Pick one origin and permanently redirect (301) every other variant to it.
Page Error
page_error · High · Issue and regression
What it means. One of the checked pages answered with an error status, or could not be reached. As a regression, it answered successfully in the previous check.
Why it matters. The checked pages are the ones that earn you the most clicks. An error on one costs traffic immediately.
How to fix it. Open the page, find why it fails, and restore it or redirect it to its replacement.
Noindex
noindex (issue) and noindex_added (regression, label Noindex Added) · High
What it means. The page tells search engines not to index it, in a robots meta tag or an X-Robots-Tag header. As a regression, it did not in the previous check.
Why it matters. A noindexed page leaves search results. On a top page this is one of the fastest ways to lose traffic.
How to fix it. Remove noindex from the meta tag or the header unless the page should really be out of search.
Canonical Off-Site
canonical_cross_host · High · Issue
What it means. The page's canonical URL points to a different host.
Why it matters. It tells search engines the real page lives elsewhere, so this page may be dropped in favour of that one.
How to fix it. Point the canonical at the page's own URL on your site, unless the content really belongs to the other host.
Canonical Removed
canonical_removed · High · Regression
What it means. The page had a canonical URL in the previous check and has none now.
Why it matters. Without a canonical, search engines choose one themselves among URL variants, and may choose a different one.
How to fix it. Restore the canonical link, usually pointing to the page itself.
Canonical Changed
canonical_changed · High · Regression
What it means. The page's canonical URL is different from the previous check.
Why it matters. A canonical moved to another URL can take this page out of search in favour of that one.
How to fix it. Confirm the new canonical is intended. If not, point it back.
New Redirect
redirect_added · Medium · Regression
What it means. The page answered directly in the previous check and now redirects.
Why it matters. A top page that suddenly redirects may be sending visitors and crawlers somewhere unintended.
How to fix it. Check the target. If the move is intended, make sure the redirect is permanent and internal links point to the new URL.
Title Removed
title_removed · Medium · Regression
What it means. The page had a <title> in the previous check and has none now.
Why it matters. The title is the main text of the search result. Without it, search engines write their own.
How to fix it. Restore the title in the page template.
Title Changed
title_changed · Low · Regression
What it means. The page's title is different from the previous check.
Why it matters. A new title can change the click-through rate of the result, for better or worse.
How to fix it. Confirm the change was intended and watch the page's CTR.
Hreflang Dropped
hreflang_dropped · Medium · Regression
What it means. The page has fewer hreflang links than in the previous check.
Why it matters. Search engines may show the wrong language or country version to visitors.
How to fix it. Restore the missing alternate links in the template.
H1 Removed
h1_removed · Low · Regression
What it means. The page had an H1 heading in the previous check and has none now.
Why it matters. The main heading helps search engines and visitors understand the page.
How to fix it. Restore the H1 in the page template.
Performance Dropped
performance_dropped · Medium · Regression
What it means. The homepage's mobile lab performance score fell by 15 points or more since the previous check.
Why it matters. A slower page is a worse experience, and a sudden drop usually comes from a release.
How to fix it. Look at what the last release added to the homepage, such as scripts, images or fonts. Web Vitals shows whether real visitors feel it.
Crawl findings
Crawl findings name the pages they apply to. Four of them describe the crawl or the site as a whole instead of a list of pages: Crawler Blocked, Crawler Rate Limited, Client-Side Rendered and Missing HSTS. On pages that arrive as a client-side shell, checks that read the page content are skipped unless the page was rendered; those are marked below.
A crawl finding counts as new when it names pages it did not name in the crawl before, and resolved when those pages clear. A whole-crawl finding is new when it was absent last time.
Crawler Blocked
crawl_blocked · High · Whole crawl
What it means. The site refused the crawler: the homepage did, or a fifth or more of all fetches did, with 401, 403, 202, a bot challenge page or a CDN mitigation.
Why it matters. RankDebug could not see the site, so it reports the block once instead of listing errors that are not real. If search crawlers meet the same rule, it costs traffic too.
How to fix it. Allow RankDebugBot in your firewall or bot protection, or give it a header or login in Crawler Access.
Crawler Rate Limited
crawl_rate_limited · Medium · Whole crawl
What it means. The site kept answering 429 or 503, so the crawl stopped early.
Why it matters. The crawl is incomplete. Search crawlers may be slowed by the same limit.
How to fix it. Raise the rate limit for RankDebugBot, or for verified crawlers in general.
Client-Side Rendered
client_side_rendered · Low · Whole crawl
What it means. Some pages arrive as an almost empty HTML shell that JavaScript fills in. The finding says how many.
Why it matters. Crawlers that do not run JavaScript, including many AI crawlers, see an empty page. Search engines that do run it may still index such pages later or less fully.
How to fix it. Render the main content on the server. To check those pages as a browser sees them in the meantime, turn on Render JavaScript Pages.
Server Error
server_error · High
What it means. The page answered with a 5xx status.
Why it matters. Pages that keep failing drop out of search, and repeated server errors make search engines crawl the whole site more slowly.
How to fix it. Check the server logs for that URL and fix the cause.
Broken Page
broken_page · High
What it means. The page answered with a 4xx status.
Why it matters. A page linked from your own site that does not exist wastes crawling and sends visitors to a dead end.
How to fix it. Restore the page, redirect it to its replacement, or remove the links to it.
Broken Internal Link
broken_internal_link · High
What it means. Pages on your site link to this URL, and it answered with an error. The detail names up to three of the linking pages.
Why it matters. Every broken link loses the value it would pass and the visitor who follows it.
How to fix it. Update the links to point at a working URL, or restore the target.
Redirect Loop
redirect_loop · High
What it means. Following the redirects from this URL never lands on a page.
Why it matters. Neither crawlers nor visitors can reach anything at this URL.
How to fix it. Find the conflicting rules, often between the CDN and the application, and make the chain end on one page.
Redirect Chain
redirect_chain · Medium
What it means. The URL takes two or more redirects to reach its final page.
Why it matters. Each hop slows crawling and visitors, and long chains may not be followed to the end.
How to fix it. Redirect straight to the final URL, and update links to point at it.
Canonical Conflict
canonical_conflict · High
What it means. The canonical signals disagree: the HTML and the Link header name different canonicals, the canonical page itself canonicalizes somewhere else, or the canonical URL redirects or answers with an error.
Why it matters. Search engines ignore canonicals they cannot trust, and may pick a URL you did not want.
How to fix it. Give each page one canonical, pointing at a live page that canonicalizes to itself.
Noindex Page
noindex_page · Medium
What it means. The page tells search engines not to index it, in a robots meta tag or an X-Robots-Tag header.
Why it matters. It will not appear in search. Fine for pages you mean to keep out, costly when it reaches a template by mistake.
How to fix it. Check the pages listed are meant to be out of search, and remove noindex from any that are not.
Canonicalized Page
canonicalized_page · Low
What it means. The page names a different URL as its canonical.
Why it matters. Search engines will usually index the canonical instead of this page. That is right for variants, and a problem when it happens to pages that should rank.
How to fix it. Check the canonicals point where intended.
Orphan Page
orphan_page · Medium
What it means. The page is in the sitemap but no crawled page links to it. It is only reported when the crawl reached every page it found.
Why it matters. Pages without internal links are found late, crawled rarely and rank poorly.
How to fix it. Link to the page from relevant pages, or remove it from the sitemap if it is retired.
Deep Page
deep_page · Low
What it means. The page is more than 5 clicks from the homepage.
Why it matters. Deep pages are crawled less often and receive less internal link value.
How to fix it. Link to it from higher up, through categories, hubs or related links.
No Outgoing Links
no_outgoing_links · Low · Skipped on client-side shells
What it means. The page has no links to other pages on your site.
Why it matters. Crawlers that land on it cannot continue, and it passes no value to the rest of the site.
How to fix it. Add navigation or related links to the template.
Missing Title
missing_title · Medium · Skipped on client-side shells
What it means. The page has no <title>.
Why it matters. The title is the main text of the search result.
How to fix it. Give every page a unique, descriptive title.
Duplicate Title
duplicate_title · Medium
What it means. Several indexable pages that are their own canonical share the same title.
Why it matters. Search engines struggle to tell the pages apart and may show the wrong one.
How to fix it. Make each title describe its own page, often by adding the item, place or category the template is about.
Title Too Long
title_too_long · Low
What it means. The title is longer than 60 characters.
Why it matters. Search results cut long titles short, which can hide the part that matters.
How to fix it. Put the important words first and shorten the rest.
Title Too Short
title_too_short · Low
What it means. The title is shorter than 10 characters.
Why it matters. A very short title says little about the page and rarely earns the click.
How to fix it. Write a title that says what the page offers.
Missing Meta Description
missing_meta_description · Medium · Skipped on client-side shells
What it means. The page has no meta description.
Why it matters. Search engines write their own snippet, which may not be the one that earns the click.
How to fix it. Add a description that summarises the page.
Duplicate Meta Description
duplicate_meta_description · Low
What it means. Several indexable pages that are their own canonical share the same meta description.
Why it matters. Identical snippets make results harder to tell apart.
How to fix it. Write descriptions per page, or generate them from each page's own data.
Missing H1
missing_h1 · Medium · Skipped on client-side shells
What it means. The page has no H1 heading.
Why it matters. The main heading helps search engines and visitors understand what the page is about.
How to fix it. Give each page one H1 that names its subject.
Multiple H1
multiple_h1 · Low
What it means. The page has more than one H1 heading.
Why it matters. It blurs which heading is the main one. Minor on its own.
How to fix it. Keep one H1 and turn the others into lower-level headings.
Heading Order Skip
heading_order_skip · Low · Skipped on client-side shells
What it means. The headings skip a level, for example from H2 straight to H4.
Why it matters. It makes the page structure harder to follow for assistive technology and for crawlers.
How to fix it. Use heading levels in order.
Thin Content
thin_content · Low · Skipped on client-side shells
What it means. The page has fewer than 200 words.
Why it matters. Pages with little content are less likely to be indexed or to rank, and many of them can drag down how a site is judged.
How to fix it. Add useful content, merge thin pages into stronger ones, or keep empty template pages out of the index.
Duplicate Content
duplicate_content · Medium
What it means. Several indexable pages that are their own canonical have the same text, and each has at least 200 words.
Why it matters. Search engines pick one of the copies and may ignore the rest, which might not be the one you want.
How to fix it. Merge the copies, or point the variants' canonical at the main page.
Missing Image Alt
missing_image_alt · Low · Skipped on client-side shells
What it means. Images on the page have no alt text. The detail says how many of how many.
Why it matters. Alt text describes images to search engines and to people using screen readers.
How to fix it. Add short, descriptive alt text to meaningful images.
Slow Response
slow_response · Medium
What it means. The page took longer than 3 seconds to respond.
Why it matters. Slow responses waste crawl time and visitors' patience.
How to fix it. Find what makes the page slow on the server: uncached queries, slow upstream calls, missing caching.
Page Served Over HTTP
http_page · High
What it means. The page was served over plain http.
Why it matters. Browsers mark it as not secure, and the secure version is the one search engines prefer.
How to fix it. Serve the site over https and permanently redirect every http URL.
Mixed Content
mixed_content · Medium
What it means. An https page loads resources over http. The detail says how many.
Why it matters. Browsers block or warn about insecure resources, which can break the page.
How to fix it. Load every resource over https.
Missing HSTS
missing_hsts · Low · Whole crawl
What it means. The homepage is served over https without a Strict-Transport-Security header.
Why it matters. Without it, a visitor's first request can still go over http.
How to fix it. Send Strict-Transport-Security once the whole site works over https.
Form Posts Over HTTP
insecure_form · High
What it means. A form on the page sends its data over plain http.
Why it matters. Whatever is typed into it travels unencrypted, and browsers warn people before they submit.
How to fix it. Point the form's action at an https URL.
Invalid Hreflang Code
hreflang_invalid_code · Low
What it means. An hreflang link uses a value that is not a valid language code, optionally with a script and region, or x-default.
Why it matters. Search engines ignore hreflang links with invalid codes.
How to fix it. Use codes such as en, en-GB or x-default.
Hreflang Missing Return Link
hreflang_missing_return · Medium
What it means. The page names an alternate version that does not link back to it.
Why it matters. Search engines need hreflang links in both directions, and ignore one-way pairs.
How to fix it. Make every alternate version list every other one, including itself.
Hreflang Target Not Indexable
hreflang_bad_target · Medium
What it means. An hreflang link points to a page that redirects, answers with an error, or is noindexed.
Why it matters. Search engines cannot show that version to the visitors it is meant for.
How to fix it. Point hreflang links at the final, indexable URL of each version.
Structured Data Error
structured_data_error · Medium
What it means. A JSON-LD block on the page is not valid JSON. The detail shows the first error.
Why it matters. Search engines skip structured data they cannot parse, so the page loses any rich result it could earn.
How to fix it. Fix the JSON in the template that writes the block, and check it with a structured data validator.
Related documentation
- Site Check
The daily check of robots.txt, sitemaps, hosts and your most important pages, and how it reports issues and regressions.
- Site Crawl
The full crawl of your site, how it budgets and samples pages, how it reports a block, and how to give it access to staging.
- Web Vitals
Real-visitor loading, interaction and layout stability for your site, by device and by page type.
- RankDebugBot
The crawler RankDebug uses to audit websites for their owners. How to recognise it, how it behaves, and how to allow or block it.