Pillar · 38 errors
Broken Links & Redirects
Broken links and tangled redirects waste crawl budget, frustrate visitors, and leak the authority you’ve earned. Redirect loops can take a page down entirely.
ERR_TOO_MANY_REDIRECTSERR_TOO_MANY_REDIRECTS (Redirect Loop) A redirect loop sends the browser bouncing between URLs forever until it gives up — taking the page down entirely. critical redirect_loopFirefox: The Page Isn't Redirecting Properly Firefox's wording for a redirect loop — two URLs keep bouncing the browser between each other until it aborts the request. critical X-Forwarded-Proto loopHTTPS Redirect Loop Behind a Proxy / Load Balancer TLS terminates at the proxy so the backend sees HTTP and its force-HTTPS rule fires on every request, looping. critical HTTPS → HTTPProtocol-Downgrade Redirect (HTTPS to HTTP) A stray rule or http:// site URL redirects secure requests back to insecure HTTP, dropping the padlock. critical URL redirects to itselfURL Redirects Back to Itself (Self-Redirect) A single URL returns a 3xx whose Location is the same URL, so it loops on the first hop and never loads. critical Redirect errorRedirect Error (Google Search Console) Googlebot followed a redirect from this URL but never reached a final 200 page, so the URL stays out of the index. high Uncrawlable linkLinks Are Not Crawlable Anchors with no real href can't be followed by Googlebot, so the linked pages may never be found. high Redirect → 404Redirect to a 404 (Dead Redirect Target) A 301/302's destination itself returns 404, so users and crawlers hit a dead end after the hop. high Safari: too many redirectsSafari: "Can't Open the Page — Too Many Redirects Occurred" Safari hit a redirect loop — two rules bouncing a request back and forth — and gave up after the hop limit. high Open redirectOpen Redirect (Unvalidated Redirect) A redirect endpoint takes its destination from a user-controlled parameter with no allow-list, letting attackers bounce visitors off your domain to phishing. high trailing-slash loopTrailing-Slash Redirect Loop Two normalization rules disagree on the trailing slash, so /page and /page/ bounce back and forth forever. high cookie loopCookie-Based Redirect Loop The app redirects to set or check a cookie that never persists, so it keeps redirecting to set it again. high Location: localhostRedirect to localhost / Relative Location Header Behind a proxy the app builds Location from its internal hostname, sending visitors to localhost or a dead path. high 302 used instead of 301302 Found used for a permanent move A temporary 302/307 on a permanently moved URL keeps signals split between old and new, so rankings stall. high 301 vs 308 (POST dropped)301 redirect drops POST body (use 308) Clients following a 301/302 often turn POST into GET and drop the body; API and form endpoints need 308 or 307. high Internal Redirect LoopInternal Redirect Loop (Crawler Report) An internal URL redirects through a chain that loops back to an earlier hop, so the crawler flags a cycle and never reaches the page. high ERR_INVALID_REDIRECTERR_INVALID_REDIRECT (Chrome) Chrome aborts a navigation because the redirect target is malformed or uses a scheme it won't follow. high 4xx broken linkBroken Internal Link (4xx Page) An internal link points to a URL on your own site that returns 404, 410, or 403, dead-ending visitors and crawlers. high Backlink → 404Broken Backlink Pointing to a 404 An external site links to a URL on your domain that now 404s, so the inbound link equity is lost instead of passing to a live page. high Insecure form action blockedMixed-Content Form Action Blocked (HTTPS→HTTP) A form on an HTTPS page posts to an http:// action, so the browser warns or blocks the submission as insecure mixed content. high Soft 404Soft 404 (200 OK on a Missing Page) A page that no longer exists returns HTTP 200 instead of 404, so 'not found' content gets served as success. medium 302302 Redirect Used Instead of 301 A 302 (temporary) on a permanently moved page tells search engines the old URL will return, so ranking signals never consolidate. medium meta refreshMeta Refresh Redirect A client-side <meta http-equiv="refresh"> redirect — Google calls it bad practice and it can index the wrong page. medium ERR_UNSAFE_REDIRECTERR_UNSAFE_REDIRECT Chrome blocked a redirect whose target uses a scheme it won't follow, like data:, file:, or chrome-extension://. medium Internal 3xx linkInternal Links Pointing to Redirects Internal links target a URL that 3xx-redirects instead of the final 200, adding a hop and wasting crawl budget. medium 308308 Permanent Redirect Stuck / Cached A 308 is cached as hard as a 301 by browsers and CDNs, so a wrong one keeps serving long after you fix the origin. medium 303303 See Other Used as a Page Redirect 303 is for sending a client to a GET resource after a POST, not for moving a page — it passes no SEO equity. medium Canonical → 3xxCanonical Points to a Redirecting URL The rel=canonical names a URL that itself redirects, giving Google a conflicting signal it may ignore in favor of its own pick. medium JS window.locationJavaScript Redirect Not Followed by Crawlers A client-side window. medium Orphan PageOrphan Page (No Internal Links) A live, indexable page that nothing else on the site links to, so crawlers rarely find or re-crawl it and it earns little authority. medium Only found via redirectIsolated URL Found Only Via a Redirect A destination URL has zero internal inlinks and is reachable only as the target of a redirect, so it depends entirely on that hop. medium Links to broken pagePage Has Links to a Broken Page (Outgoing) A source page is flagged because one or more of its outbound links point to URLs that return 4xx or 5xx. medium 3XX URL in sitemapRedirected (3xx) URL Listed in XML Sitemap Your XML sitemap lists a URL that returns a 301 or 302 instead of a 200, sending Google a contradictory indexing signal. medium hreflang → redirectHreflang Link Points to a Redirect / Non-Canonical URL An hreflang annotation references a URL that redirects or is non-canonical, so Google may distrust and ignore the whole language cluster. medium 301 ChainRedirect Chain (Multiple Hops) A URL passes through several sequential redirects before resolving, wasting crawl budget and slowing the load. low Page with redirectPage With Redirect (Google Search Console) The URL itself redirects elsewhere, so Google indexes the destination and excludes this URL — usually expected, occasionally a mistake. low 307 Internal Redirect307 Internal Redirect (HSTS Upgrade) The browser rewrites an http:// request to https:// in memory because of HSTS; no server sent it. low Broken #anchorBroken Anchor / Jump Link (Missing Fragment ID) A same-page #jump link points at an element id that doesn't exist, so the click goes nowhere. low