301→302301→302
A temporary redirect where a permanent one belongs.
Found by Redirect checker →
A temporary redirect where a permanent one belongs.
Found by Redirect checker →
redirect loopredirect loop
The URL redirects back to itself and never settles.
Found by Redirect checker →
The URL redirects back to itself and never settles.
Found by Redirect checker →
Audit
Canonical tag checker
Canonical checks run per page and as a graph over the whole crawl: chains, canonicals to redirects or errors, relative or multiple canonicals, and targets nobody links to.
Canonical tag checker
Policies
Pagination and filter canonical policies are configurable per project.
How it works
Three steps, one saved scan
Read every canonical tag
Each page's canonical is read and checked for a missing, multiple, relative or #fragment value.
Map the canonical graph
Canonical targets from the whole crawl form a graph, so chains and loops show up as paths between pages.
Test each target
Each target is checked for redirects, 4xx or 5xx errors, and whether any internal link points to it.
What it checks
Checks in this feature
| Check | What it means | Severity | Evidence |
|---|---|---|---|
CANONICAL_MISSING | Indexable page has no canonical URL | Important | Page URL |
CANONICAL_MULTIPLE | Page declares more than one canonical URL | Important | Page URL and every canonical value |
CANONICAL_CHAIN | The canonical target canonicalizes to another URL, two or more steps | Important | Full chain of canonical URLs |
CANONICAL_TO_REDIRECT | Canonical points to a URL that answers with a 3xx redirect | Important | Canonical target and its redirect status |
CANONICAL_TARGET_ERROR | Canonical points to a URL that returns 4xx or 5xx | Important | Canonical target and its status code |
CANONICAL_HOMEPAGE_GROUP | Distinct indexable pages in several sections all canonicalize to the home page | Important | List of pages that point to the home page |
UNLINKED_CANONICAL | Canonical target has no internal link pointing to it anywhere in the crawl | Important | Canonical target URL |
How to run it
One command
bash
seohead parse --url https://example.com/pageInstall first: installation guide. Every command also runs as an MCP tool for AI agents.
Related checks
From the check registry
CANONICAL_MISSINGCANONICAL_CHAINCANONICAL_TO_REDIRECTCANONICAL_TARGET_ERRORCANONICAL_MULTIPLEUNLINKED_CANONICALLearn more
From the blog and glossary
Audit
More in this group
Technical SEO audit with 182 checks
FeatureRedirect checker: chains, loops and 302s
FeatureBroken link checker with source and position
FeatureHreflang checker
FeatureStructured data and schema validator
FeatureTitle and meta description checker
FeatureHeading structure checker
FeatureDuplicate and thin content checker
FeatureImage SEO checker and optimizer
FeatureInternal linking and crawl depth audit
FeaturePage weight and speed checks
FeatureHTTPS and security headers check
FeatureAI search visibility (GEO/AEO)
FeatureFAQ
