---
title: "Canonical target redirects, is noindex, or canonicalises elsewhere (seo/canonical-conflict)"
description: "seo/canonical-conflict: Contradictory signals (canonical → redirect, canonical → noindex page, canonical chains, noindex + cross canonical) make Google…"
canonical: https://void-design.vercel.app/rules/seo/canonical-conflict
lastModified: 2026-09-16
---

# Canonical target redirects, is noindex, or canonicalises elsewhere

`seo/canonical-conflict` · severity **error** · category SEO · detected by `void seo` and `void audit`

## Why it matters

Contradictory signals (canonical → redirect, canonical → noindex page, canonical chains, noindex + cross canonical) make Google ignore the canonical and choose its own.

## How to fix it

Make the canonical target a 200, indexable, self-canonical URL, and don't combine noindex with a cross-page canonical.

## References

- https://developers.google.com/search/docs/crawling-indexing/consolidate-duplicate-urls

## More seo rules

`void seo` reports 60 rules in this category. What search engines need from the raw response: status codes, titles and descriptions in <head>, self-referencing canonicals, one h1, crawlable links, Open Graph, icons, robots.txt and a sitemap with real dates.

- `metadata-in-body` Crawler receives <title>/canonical/description inside <body> (Next.js streaming metadata) — [seo/metadata-in-body](https://void-design.vercel.app/rules/seo/metadata-in-body)
- `canonical-missing` No single rel=canonical in <head> — [seo/canonical-missing](https://void-design.vercel.app/rules/seo/canonical-missing)
- `canonical-invalid` Canonical URL is relative or contains a fragment — [seo/canonical-invalid](https://void-design.vercel.app/rules/seo/canonical-invalid)
- `canonical-broken` Canonical points to a URL that returns 4xx/5xx — [seo/canonical-broken](https://void-design.vercel.app/rules/seo/canonical-broken)
- `canonical-not-self` Canonical points to a different URL — [seo/canonical-not-self](https://void-design.vercel.app/rules/seo/canonical-not-self)
- `head-js-mutation` JavaScript changes canonical, robots, title or description after load — [seo/head-js-mutation](https://void-design.vercel.app/rules/seo/head-js-mutation)
- `h1-count` Page doesn't have exactly one visible <h1> in the server HTML — [seo/h1-count](https://void-design.vercel.app/rules/seo/h1-count)
- `h1-title-mismatch` <h1> and <title> share little wording — [seo/h1-title-mismatch](https://void-design.vercel.app/rules/seo/h1-title-mismatch)

Detected by `void seo` and `void audit`. Explain it in a terminal: `void rules seo/canonical-conflict`
