Hreflang Tags Missing or Incorrect — International SEO Issues

Sites with correct hreflang implementation see a 15-20% increase in international traffic and reduced bounce rates from international visitors (JEMSU, 2024). But 75% of hreflang implementations contain errors — 31% have conflicting directives and 16% are missing self-referencing tags (JEMSU). Bad hreflang is worse than no hreflang, so accuracy matters.

Start here

Before You Fix It: What This Check Means

Hreflang maps equivalent pages across languages/regions to reduce wrong-locale search landings. In plain terms, this checks whether language and regional alternatives are declared clearly. Scavo parses `<link rel="alternate" hreflang="..." href="...">` entries and validates.

Why this matters in practice: incorrect signals here can dilute indexing clarity and search traffic quality.

How to use this result: treat this as directional evidence, not final truth. Search indexing outcomes depend on crawler recrawl cadence and ranking systems outside your direct control. First, confirm the issue in live output: verify raw HTML output and crawler-facing validators Then ship one controlled change: Generate hreflang entries from one centralized locale map. Finally, re-scan the same URL to confirm the result improves.

TL;DR: Hreflang tags are missing or misconfigured, so Google shows the wrong language version to international visitors.

Sites with correct hreflang implementation see a 15-20% increase in international traffic and reduced bounce rates from international visitors (JEMSU, 2024). But 75% of hreflang implementations contain errors — 31% have conflicting directives and 16% are missing self-referencing tags (JEMSU). Bad hreflang is worse than no hreflang, so accuracy matters.

What Scavo checks (plain English)

Scavo parses <link rel="alternate" hreflang="..." href="..."> entries and validates:

  • hreflang code format
  • absolute HTTP(S) href format
  • duplicate hreflang codes on the same page
  • presence of entries and basic consistency metadata

Current logic:

  • Info: no hreflang tags present
  • Pass: tags present and no invalid code/href/duplicate issues
  • Warning: partial problems
  • Fail: high issue volume (invalid-code count + invalid-href count >= 3)

How Scavo scores this check

Scavo assigns one result state for this check on the tested page:

  • Pass: baseline signals for this check were found.
  • Warning: partial coverage or risk signals were found and should be reviewed.
  • Fail: required signals were missing or risky behavior was confirmed.
  • Info: Scavo could not gather enough reliable evidence on this run to score pass/fail confidently.

In your scan report, this appears under What failed / What needs attention / What is working for hreflang, followed by Recommended next steps and Technical evidence (for developers) when needed.

  • Scan key: hreflang
  • Category: SEO

Why fixing this matters

Malformed hreflang tags are often ignored by search engines, which can lead to wrong locale landing experiences and weaker international search targeting.

This check reduces avoidable syntax mistakes before they become indexing/support problems.

If you are not technical

  1. Confirm which locales/regions your site intentionally targets.
  2. Ask for a single mapping table: locale code -> canonical URL.
  3. Ensure each locale page points to valid absolute URLs.
  4. Re-run Scavo and review issue details.

Technical handoff message

Copy and share this with your developer.

Scavo flagged Hreflang tags (hreflang). Please fix invalid hreflang codes, invalid/non-absolute href values, and duplicate code entries on affected templates. Share corrected sample markup and re-run Scavo.

If you are technical

  1. Generate hreflang entries from one centralized locale map.
  2. Use absolute URLs with http/https only.
  3. Avoid duplicate hreflang values per page.
  4. Include x-default when your international strategy needs it.
  5. Validate reciprocal/cluster behavior outside this syntax check.

How to verify

  • Inspect rendered <head> for hreflang entries.
  • Validate code formatting (en, en-gb, es-419, etc.).
  • Confirm each href is absolute and resolves.
  • Re-run Scavo and confirm warning/fail clears.

What this scan cannot confirm

  • It does not validate full reciprocal return-tag clusters across every locale URL.
  • It does not decide your international SEO strategy.
  • It cannot guarantee search engines will index every localized variant.

Owner checklist

  • [ ] Assign owner for locale-map governance.
  • [ ] Keep hreflang generation centralized.
  • [ ] Add automated validation in template build/release pipeline.
  • [ ] Re-audit after locale routing/domain changes.

FAQ

Is hreflang required for every site?

No. It is mainly relevant for multilingual or multi-regional experiences.

Why is missing hreflang Info and not Fail?

Because hreflang is optional unless your localization strategy needs it.

Do relative URLs work in hreflang?

This check expects absolute HTTP(S) URLs.

Should we always include x-default?

Not always, but it is commonly useful for catch-all/default international routing.

Sources


Need a locale-to-URL hreflang validation sheet for your team? Send support your locale map.

More checks in this area

indexability_conflicts

Indexability Signals Conflicting — Canonical vs Noindex vs Hreflang

Learn how Scavo checks for contradictions between meta robots, X-Robots-Tag, canonical tags, and hreflang so one URL does not send search engines mixed instructions.

Open guide
meta_robots

Meta Robots or X-Robots-Tag Blocking Indexing by Accident

Learn how Scavo checks both the robots meta tag and X-Robots-Tag headers so hidden noindex directives do not quietly keep important pages out of search.

Open guide
canonical_tag

Canonical Tag Missing — Duplicate Content Splitting SEO Authority

When multiple URLs serve the same content (with and without trailing slashes, query parameters, HTTP vs HTTPS), search engines either index all versions — wasting crawl budget and diluting rankings — or pick the wrong one as canonical. A single rel=canonical tag consolidates all link equity to the version you choose and prevents indexing bloat.

Open guide