Non-200 hreflang URLs are URLs referenced inside hreflang annotations that return an HTTP status code other than 200 OK. There are 5 common causes: site migrations, content removal, HTTP to HTTPS transitions, URL structure changes, and www versus non-www redirect mismatches. Each cause prevents Google from processing hreflang signals correctly.
—
Google Search documentation covers the official details in Redirects and Google Search.
What Are Non-200 Hreflang URLs?
Non-200 hreflang URLs are destination URLs declared in hreflang link elements, HTTP headers, or XML sitemaps that return a status code other than 200 when crawled. Hreflang tells Google which language or regional version of a page to serve to specific users. When the URL inside the annotation does not return 200, Google cannot confirm the page exists and may discard the hreflang signal entirely.
Robotic Process Automation in Google Ads: 6 Use Cases and How to Implement It
Analytics Tracking Featured Listings Not Working: 7 Causes and Fixes for GA4 and GTM
Hreflang annotations appear in 3 implementation locations:
- HTML link elements in the page
<head>:<link rel="alternate" hreflang="en-us" href="https://example.com/en-us/page/"/> - HTTP response headers for non-HTML files such as PDFs
- XML sitemaps using
<xhtml:link>tags
Non-200 hreflang URLs can appear in all 3 methods. The issue is most common in HTML link elements because these are typically hard-coded and not updated dynamically when URLs change.
—
Why Do Non-200 Hreflang URLs Break Google's Hreflang Processing?
Non-200 hreflang URLs break Google's hreflang processing because Google requires all annotated URLs to return 200 and to contain a reciprocal hreflang return tag pointing back to the originating page.
Google's hreflang system validates annotations through a 2-step process:
- Google crawls the URL declared in the hreflang annotation and checks for a 200 status code
- Google reads the hreflang annotations on that destination page and confirms a reciprocal tag pointing back to the source
A URL that returns 301, 404, or 500 fails step 1. The destination page does not load. The reciprocal tag cannot be read. The entire hreflang relationship between the 2 pages is invalidated.
Google's Search Central documentation confirms that hreflang annotations should point to the final canonical URL, not to a URL that redirects to another location.
—
Which HTTP Status Codes Create Non-200 Hreflang Issues?
5 HTTP status codes create non-200 hreflang issues when returned by a URL referenced in a hreflang annotation.
| Status Code | Name | Hreflang Impact |
|---|---|---|
| 301 | Moved Permanently | Google may not follow the redirect; annotation may be ignored |
| 302 | Found (Temporary) | Google treats as temporary; hreflang signal is not passed |
| 404 | Not Found | Page does not exist; annotation is invalid |
| 410 | Gone | Page permanently removed; annotation is permanently invalid |
| 500 | Internal Server Error | Server cannot serve the page; Google skips the annotation |
301 redirects present the most common and debated case. Google's John Mueller confirmed that hreflang annotations on redirecting URLs may not be processed reliably. Best practice is to update all hreflang annotations to point directly to the 200 URL, even when a 301 redirect exists.
—
What Are the 5 Most Common Causes of Non-200 Hreflang URLs?
There are 5 common reasons hreflang annotations reference non-200 URLs.
1. Site Migrations
URL structures change during redesigns and platform migrations. Hreflang annotations in templates or sitemaps reference old URLs that now return 301 redirects or 404 errors. A migration that changes /en/page/ to /en-us/page/ creates non-200 hreflang entries for every page where the old URL was referenced.
2. Content Removal
Pages are deleted, consolidated, or unpublished. The hreflang annotations on related-language pages still reference the removed URL. A deleted French-language page that returns 404 invalidates the hreflang annotations on the English, German, and Spanish equivalents that reference it.

3. HTTP to HTTPS Transition
HTTP URLs referenced in hreflang annotations return 301 redirects to their HTTPS equivalents after an SSL migration. Even though the HTTPS version exists and returns 200, the HTTP URL in the annotation is non-200. Google recommends updating all hreflang references to HTTPS after migration.
4. URL Structure Changes
CMS updates, slug modifications, or trailing slash policy changes alter URL formats. An annotation referencing https://example.com/fr/page returns a 301 when the live URL is https://example.com/fr/page/. This 1-character difference creates a non-200 hreflang entry at scale across thousands of pages.
5. www vs Non-www Redirect Mismatches
A site that redirects www.example.com to example.com (or vice versa) creates non-200 hreflang entries when annotations reference the non-canonical version. Hreflang annotations must use the canonical domain format consistently across all pages.
—
How Do You Detect Non-200 Hreflang URLs on a Website?
Non-200 hreflang URLs are detected by crawling the site with a tool that follows hreflang annotations and checks the HTTP response code of each referenced URL.
There are 4 tools that identify non-200 hreflang URLs:
- Screaming Frog SEO Spider: Crawl the site, navigate to the Hreflang tab, and filter by response code. Non-200 codes appear as errors in the hreflang report.
- Sitebulb: The Hreflang section flags URLs with non-200 response codes and groups them by error type.
- Ahrefs Site Audit: The International SEO section surfaces hreflang errors including non-200 referenced URLs under the "Hreflang to broken pages" check.
- Semrush Site Audit: The International SEO check reports hreflang URLs returning 4xx and 5xx status codes.
Screaming Frog allows exporting the full hreflang report as a CSV. This CSV lists every hreflang-referenced URL alongside its response code, making bulk identification and correction possible for sites with thousands of pages.
—
How Do You Fix Non-200 Hreflang URLs?
Non-200 hreflang URLs are fixed by updating each annotation to reference the correct URL that returns 200 and carries a valid reciprocal hreflang tag.
There are 3 fix approaches depending on the cause:
- Update annotations to the final URL: Replace the non-200 URL in every hreflang annotation with the URL that returns 200. For 301 chains, trace to the final destination URL and reference that.
- Restore the missing page: If the non-200 URL was deleted in error and content still exists, restore the page at the original URL to return 200 and reintroduce the reciprocal hreflang tag.
- Remove the annotation: If the language or regional version of the page no longer exists, remove all hreflang annotations referencing that URL from all related-language pages.
Fixing non-200 hreflang URLs in XML sitemaps requires regenerating the sitemap after URL corrections and resubmitting the updated sitemap file in Google Search Console.
—
How Do You Prevent Non-200 Hreflang URLs After a Site Migration?
Non-200 hreflang URLs are prevented after a site migration by including hreflang annotation updates in the pre-launch migration checklist and validating all hreflang references before the new site goes live.
There are 4 prevention steps:
- Export all hreflang annotations from the current site before migration using Screaming Frog
- Map every old URL to its new destination URL in the redirect map
- Update all hreflang annotations in the new site's templates and XML sitemaps to reference the new 200 URLs
- Crawl the staging environment before launch to confirm all hreflang-referenced URLs return 200
A post-launch crawl within 7 days of migration identifies any hreflang entries that were missed during the pre-launch review. Semrush and Ahrefs site audits can be scheduled to run automatically after the new site goes live.

Waleed Qamar holds a BSc in Computer Science from Purdue University and has spent the years since turning that technical foundation into something the curriculum never covered: figuring out why websites rank, why they fall, and why most businesses never find out until it is too late.
Pakistan-born and based between the United States and South Asia, he has managed search visibility for e-commerce stores, local service businesses, and SaaS startups across two continents. He started in SEO when guest posting still worked, survived the Penguin update, and has rebuilt client sites from scratch after algorithm hits more than once.
He has watched good businesses get sold packages that looked like progress and delivered nothing lasting. He has also seen the right approach quietly double a site’s traffic without a single press release about it.
His writing on SEO By Highsoftware99 covers Google algorithm updates, autocomplete optimization, semantic SEO structure, and the widening gap between what agencies promise and what Google actually rewards in 2026.
He knows what a traffic cliff looks like in Search Console on the morning you discover it.

