Guide
Alternate page with proper canonical tag, and why it is usually fine.
This is the Search Console status people panic about most and need to act on least. In the ordinary case it means Google found a duplicate of a page, saw the canonical tag you set, and did exactly what you asked. That is the system working. There are four situations where it is genuinely covering a problem, and this is how to tell which one you have.
What the status actually means
Google found a URL, decided it was a duplicate or near-duplicate of another URL, checked the page for a
rel="canonical" tag, found one, and honoured it. The page is not indexed under its own URL because
you told Google the canonical version is somewhere else, and Google agreed with you.
It sits in the "not indexed" section of the page indexing report, which is why it alarms people. But "not indexed" here does not mean "excluded from Google". The content is indexed, under the canonical URL. Nothing has been lost.
The short version
If the canonical target is the page you actually want ranking, and that target returns 200 and is itself indexed, this status needs no action at all. Most of the URLs in that report are pagination, filters, tracking parameters and print views working exactly as designed.
How to confirm it is fine in two minutes
Take one of the affected URLs and follow its canonical to the destination. You are checking three things: that
the destination is the page you intended, that it returns 200 rather than a redirect or an error,
and that the destination is itself indexed.
# what canonical does this URL declare?
curl -s https://example.com/affected-page/ | grep -i 'rel="canonical"'
# does that destination return 200, or a redirect?
curl -sI https://example.com/canonical-target/ | grep -i '^HTTP' Three yeses and you can close the report and spend the afternoon on something that matters. A no on any of them puts you in one of the four cases below.
1. The canonical points at a redirect
This is the one that quietly costs rankings, and we have diagnosed it on a live site. The page declares a canonical, the canonical URL then 301s somewhere else, and Google concludes the page you want to rank is not the canonical version of anything. The page can be perfect in every other respect and still be held down by that single line.
It survives most audits because a canonical tag being present reads as a tick in the box. The check has to follow the canonical to its destination and confirm a 200. On the site where we found it, the domain was DR 72 and ranking for nothing against DR 16 competitors, and this was one of four on-page causes. The full write-up is in a strong domain ranking for nothing.
2. The canonical points at a page that is not really equivalent
Canonical is a statement that two pages are the same thing. When they are not, you are asking Google to throw away a page that deserved to rank on its own. The usual culprits are product variants with genuinely different specifications, location pages canonicalised to a generic parent, and blog posts pointed at a category.
Google may also disagree and index the "alternate" anyway, at which point the status changes to something else and you have learned that your canonical was a suggestion Google declined. If two pages target different searches, they should not share a canonical. Differentiate them instead.
3. Pagination canonicalised to page one
A common and damaging pattern: every page of a paginated series declares page one as its canonical. The intention is to avoid duplicate content. The effect is that Google is told pages two onward do not exist as distinct pages, so the items only listed on those pages can lose their discovery path.
Paginated pages should be self-canonical. They are not duplicates of each other, they are different slices of a set. If the deeper pages carry content you need indexed, this status on them is a real finding.
4. Faceted URLs consuming crawl budget
On a large site, correct canonicals on millions of filter combinations still leave Google crawling millions of filter combinations to read them. The canonical is doing its job on each URL and the aggregate is still a problem, because crawl effort is going into URLs that will never be indexed instead of pages that should be.
The fix is not a better canonical. It is preventing the URLs from being crawled in the first place, through robots rules, parameter handling and not linking to combinations nobody needs. This is where the status is a symptom of an architecture problem rather than a tagging one.
What not to do
- Do not remove the canonical tags to make the report shorter. You will convert a tidy, correct status into genuine duplicate content that Google resolves by guessing.
- Do not add noindex as well. Canonical and noindex together send conflicting instructions, and a noindexed canonical target can drop the whole cluster.
- Do not chase the count to zero. On any site with pagination, filters or tracking parameters, a healthy number here is not zero. It is however many duplicate URLs you legitimately have.
The check, in order
- Follow the canonical to its destination. Confirm it returns 200, not a redirect.
- Confirm the destination is the page you actually want ranking for that term.
- Confirm the destination is itself indexed rather than excluded.
- Check whether the affected URLs are paginated pages being pointed at page one.
- If the volume is enormous, treat it as a crawl and architecture question, not a tagging one.
Clear on all five and the status is Google telling you your canonicals are working. That is worth knowing, and it is worth not spending a week on.
Keep reading
If this is your problem
Book me
Not sure which case you have?
Send us one affected URL and the canonical it declares. We will tell you whether Google is doing exactly what you asked or whether the tag is quietly costing you the ranking.