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.

Start here

Before You Fix It: What This Check Means

Indexability conflicts happen when crawl/index directives disagree across canonical, robots, or headers. In plain terms, this checks whether your robots, canonical, and hreflang signals all agree on what search engines should do with this page. Scavo compares the main indexability signals on the same final URL.

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: inspect meta robots, X-Robots-Tag, canonical, and hreflang together on the same final URL Then ship one controlled change: Decide the intended state first: indexable or intentionally excluded. Finally, re-scan the same URL to confirm the result improves.

TL;DR: This check looks for situations where your page is giving search engines mixed instructions. For example, a page can say “do not index me” while also publishing a canonical target or hreflang alternates that imply it should be part of an indexable search cluster.

That kind of contradiction is not just untidy metadata. It can waste crawl effort, weaken canonical clarity, and make international or duplicate-URL handling far harder to debug. The key point is simple: one URL should communicate one clear indexing intention.

What Scavo checks (plain English)

Scavo compares the main indexability signals on the same final URL:

  • <meta name="robots"> directives in the page head
  • X-Robots-Tag directives in the response headers
  • canonical link count and canonical target
  • hreflang alternate presence
  • whether canonical and hreflang host alignment look coherent

Scavo flags these specific patterns:

  • meta robots says noindex while X-Robots-Tag includes index
  • X-Robots-Tag says noindex while meta robots includes index
  • effective noindex exists while a canonical URL is also present
  • effective noindex exists while hreflang alternates are present
  • multiple canonical URLs are present
  • hreflang alternates exist but canonical is missing
  • canonical points to a different host while hreflang is also defined

How Scavo scores this check:

  • Pass: no conflicts detected
  • Warning: one or two lower-severity cleanup issues were found
  • Fail: a severe contradiction was found, or the page had three or more total issues

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 indexability_conflicts, followed by Recommended next steps and Technical evidence (for developers) when needed.

  • Scan key: indexability_conflicts
  • Category: SEO

Why fixing this matters

Search systems work best when they can tell, quickly and consistently, whether a URL is indexable, which URL is canonical, and how it relates to international variants. Mixed instructions slow that process down and make the final outcome less predictable.

In practice, these conflicts usually happen because different layers are owned by different people. Templates emit canonicals, CDN or middleware emits robots headers, and international SEO logic emits hreflang — each part looks valid alone, but the combined result is contradictory.

Common reasons this check warns or fails

  • A CDN or middleware adds X-Robots-Tag: noindex while templates still output canonical and hreflang markup.
  • A page template or plugin emits multiple canonicals.
  • Hreflang logic was added without a matching canonical strategy.
  • Production inherited a temporary exclusion rule from staging or preview.
  • Cross-domain international setups changed host structure without updating canonical ownership.

If you are not technical

  1. Ask for one screenshot or snippet that shows all four surfaces together: meta robots, response headers, canonical, and hreflang.
  2. Ask whether the page is meant to be indexable or intentionally excluded.
  3. Ask who owns the final decision for indexability on this page type.
  4. Re-run Scavo after the fix and confirm the contradiction disappears.

Technical handoff message

Copy and share this with your developer.

Scavo flagged Indexability Conflicts (indexability_conflicts). Please align meta robots, X-Robots-Tag, canonical, and hreflang so the URL communicates one clear indexing intent, then share before/after HTML + header evidence from the same page.

If you are technical

  1. Decide the intended state first: indexable or intentionally excluded.
  2. Keep meta robots and X-Robots-Tag aligned. Do not rely on one layer to quietly override another.
  3. If a page is noindex, remove canonical and hreflang patterns that imply it belongs in an indexable cluster.
  4. Ensure exactly one canonical URL is emitted.
  5. For hreflang sets, keep canonical ownership and host strategy coherent across the cluster.
  6. Move these rules into shared template and edge controls rather than per-page patching.

How to verify

  • Inspect live HTML for meta robots, canonical, and hreflang.
  • Inspect live response headers for X-Robots-Tag.
  • Confirm there is one clear effective indexability state.
  • Confirm canonical count is exactly one.
  • Re-run Scavo and confirm indexability_conflicts passes or drops to a single understandable warning.

What this scan cannot confirm

  • It does not measure whether Google has already recrawled and processed the fixed signals.
  • It does not replace full-site canonical cluster analysis in Search Console.
  • It does not inspect robots.txt for this check; it is focused on page-level and response-level signals on the tested URL.

Owner checklist

  • [ ] Assign one owner for robots, canonical, and hreflang policy together.
  • [ ] Keep edge/header rules and template markup reviewed as one system.
  • [ ] Re-test international and cross-host templates after routing changes.
  • [ ] Add release checks for duplicate canonical output and robots/header conflicts.

FAQ

Why is noindex plus canonical a problem?

Canonical markup suggests which indexable URL should own the signals. noindex says the URL should not be indexed. Mixing them weakens clarity.

Can hreflang stay on a noindex page?

That is usually a weak pattern. If the URL is meant to stay out of the index, hreflang often becomes less useful and more confusing.

Does this check look at robots.txt?

No. Despite how people often discuss indexability broadly, this specific Scavo check is about meta robots, X-Robots-Tag, canonical, and hreflang on the tested page.

What should we fix first when several issues appear?

Start with the strongest contradiction first: index vs noindex. Then clean up canonical count/target, then hreflang coherence.

Sources


Need help building a canonical + hreflang decision table by page type? Send support one example URL per template and your intended indexability policy.

More checks in this area

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
h1_tag

H1 Heading Missing or Duplicated

78% of advanced screen reader users navigate pages by headings (WebAIM Survey #10, 2024), so a missing or duplicated H1 directly impacts accessibility. For SEO, the H1 tells Google what the page is about. Without it, crawlers have to guess from surrounding content, which weakens your keyword relevance signals and dilutes page focus.

Open guide