Summarize this article with AI

Before acting on an Alternate page with proper canonical tag entry, decide which URL you want in search. Base your audit on that decision instead of trying to empty the report.

The author runs the site behind every screenshot below. The decision table, URL-pair worksheet and developer ticket below do the sorting. They split alternates you meant to create from pages that point at the wrong canonical.

Alternate page with proper canonical tag: the quick answer

In Google Search Console, alternate page with proper canonical tag means the page points to another canonical URL. Google followed that declaration and indexed the canonical page. Google is therefore not indexing the alternate URL.1

It isn't an error: the technical relationship is correct.1 The canonical can still point away from the page you want indexed, though.

First check: should the listed URL be indexed independently? Open its indexed data in URL Inspection. Then follow its canonical to wherever it leads and run that URL through inspection too. If it isn't the page you'd want ranking, there's your problem.

Your intended outcome Decision First action
This URL is an alternate of the right indexed page Status is usually OK. Leave the relationship in place.
This URL needs independent search visibility Fix the declaration and page relationship Check why its own canonical points elsewhere.
Intent is correct, but a parameter pattern keeps expanding Investigate URL generation Group examples and check crawl evidence before changing controls.

Key takeaways:

  • Aim to index the canonical version of each important page, rather than all alternate URLs.1
  • In this status, Google accepted the canonical tag.1 A Google override belongs in a different status.
  • Separate a wrong canonical declaration from unnecessary duplicate URL creation.
  • A live test cannot confirm Google's canonical choice.2 Use the indexed data for that decision.

Google's own examples of an alternate page with proper canonical tag are format and device variants: an AMP page with a desktop canonical, a mobile page with a desktop canonical, and a desktop page with a mobile canonical.1 On a site with AMP or separate mobile URLs, those alternates are the setup working as designed, not pages that each need their own index entry.

Alternate page vs. the other canonical statuses

Before changing anything, check the exact Google Search Console status. A canonical that Google followed calls for a different diagnosis than one Google rejected.

Search Console status Declaration and Google's decision What to do next
Alternate page with proper canonical tag The page is canonicalized to the version Google indexed. Confirm that this matches your index intent.
Duplicate without user-selected canonical No preferred canonical was declared; Google chose another page. Decide whether that duplicate relationship is intended.
Duplicate, Google chose different canonical than user Google selected a different canonical URL from the one declared. Compare content and canonical signals before changing the declaration.
Page with redirect A non-canonical URL redirects to another page. Check whether retiring that URL is intended.
Google Search Console Page Indexing report showing Alternate page with proper canonical tag among other indexing reasons
The Page indexing report lists separate canonical statuses. The Source column shows Website for this alternate-page status and Google systems for a different Google-selected canonical.

Undeclared duplicates are a different job, covered by the duplicate without user-selected canonical workflow. Google already honored this page's declared canonical, so the missing-canonical playbook has nothing to fix here.

Canonical tags are a signal, not a guaranteed command in all cases.2 Google uses multiple canonical signals (not just the tag): internal links, sitemaps, redirects, content similarity, and more.3 Redirects and rel=canonical are the heavyweights in that mix. Sitemap inclusion? A weak hint at best.

When those methods conflict, Google can choose another URL. A page whose canonical Google overrode is reported as “Duplicate, Google chose different canonical than user,” not as an alternate page with proper canonical tag.1 The diagram below illustrates that distinction, not a measurable voting threshold.

Conflicting canonical signals illustrate the neighboring Duplicate, Google chose different canonical than user status
When other signals contradict your canonical, Google can pick another URL and the page leaves this report. This diagram illustrates the neighboring status, not a fixed voting rule.

Google says alternate language pages are not detected under this status.1 Do not treat hreflang alternates as a cause of this report.

A repeatable workflow from export to diagnosis

Group URLs before inspecting them, then work through representative pairs. Keep index intent, current implementation, and Google's recorded decision in separate columns to avoid mixing them up.

Export examples and check sitemap membership

Start in Search Console. Go to Indexing > Pages > Alternate page with proper canonical tag and export what's there. The examples table is limited to 1,000 rows and does not necessarily contain all affected URLs.1

GSC detail view for Alternate page with proper canonical tag showing 1.45K affected pages and a trend chart
The detail view shows 1.45K affected pages and a declining count. The chart alone does not establish why the count fell.

Compare views with the sitemap filter: All submitted pages, Unsubmitted pages only, or a single sitemap you pick. A URL counts as submitted if it's listed in a sitemap you submitted through the Sitemaps report or a robots.txt file, even when Google also discovered it elsewhere.1 Google recommends listing canonical URLs instead of all duplicates that lead to the same content.3

Found an alternate in the submitted set? That's a sign to question whether your sitemap should list it. Your sitemaps and a fresh crawl will turn up more URLs worth testing than the examples alone. Neither list tells you how uninspected URLs are indexed. And neither turns the export into a full list.

Duplicate URLs in Google's perceived inventory waste crawling time.3 Google recrawls canonical pages most often. Duplicates get visited less. If crawl budget worries you, look at crawl evidence. A big alternate-page count proves nothing on its own.

Inspect a representative URL pair

Choose a typical alternate and its intended canonical, plus an unusual URL from each pattern. Go first to patterns that contain pages you want indexed on their own. Raw counts come second.

Note: User-declared canonical vs Google-selected canonical2

Run URL Inspection, expand Page indexing in the indexed data, and write down both canonical fields. For this status, they describe the accepted canonical URL. If the fields disagree, check the exact index status rather than assuming this label means Google ignored the canonical tag.

The live test cannot predict whether a tested URL will be canonical. It also does not test all indexing issues, including duplicate or alternate status.2

Google Search Console shows information about an alternate's canonical when that canonical is in a property you own.2 Inspect that canonical version directly when you have access.

On a site the author manages, the screenshot below shows a ?ref=footer URL with this status. Discovery shows which pages link to it. That's where to start digging into the parameter URL. It tells you about this one URL. It doesn't prove every parameter URL belongs in the report.

Google Search Console URL Inspection tool showing a page not indexed with Alternate page with proper canonical tag status
URL Inspection for an alternate page: note the “Page is not indexed: Alternate page with proper canonical tag” status and the referring page details under Discovery.

Bigger audits can use the URL Inspection API, which caps you at 2,000 queries per day per site. It also stops you at 600 queries per site each minute. The interface also has a daily inspection limit.2 So spend inspections on representative patterns and the URLs that matter. Neither route works as an unlimited inventory tool.

Compare implementation with index intent

Paste the worksheet into a spreadsheet first. Then build a pivot table by template and parameter pattern, counting URLs. The rows that bunch together point to shared URL-generation rules.

URL | Template | Parameter pattern | Index independently? | Intended canonical | Current HTML canonical | Indexed user-declared canonical | Google-selected canonical | Canonical index status | Submission membership | Referring component | Decision

Run each pair through this checklist:

  • The canonical you declare today points at the URL you actually want.
  • Internal links mostly point to the canonical (not the alternate)3
  • The sitemap lists canonical URLs rather than their alternates.3
  • Any redirect rule supports the same preferred URL.
  • The main content is close enough to count as a duplicate, or clearly different if both pages need their own index entry.

Aim the canonical straight at the final URL, the one that returns 200 OK. It's good practice. Indexing doesn't require it. Google says a canonical URL with a redirect can be indexed.1

Did the target pick up a crawl block or a noindex? Sort out that conflict. And don't expect Google to have caught the change yet.

Why your important page landed here

If an independent landing page has the Alternate page with proper canonical tag status, start with its own canonical tag. That declaration keeps the alternate out of search results. Tweak other signals while the tag still points away, and you've missed the actual problem.

Make the page canonical to itself first. Internal links and a sitemap entry should back that up. Its primary content must also differ substantially from the other page to distinguish it from duplicate content.1

A self-canonical alone does not guarantee indexing.2 Pages with the same or similar main content end up in one cluster, and Google decides which of them is canonical.

Check CMS output and the canonical HTML

Google lists CMS or plugin canonical errors among canonicalization troubleshooting causes. WordPress core outputs rel=canonical for singular queries.4 Open the rendered page source WordPress serves for that URL. The canonical there came from a CMS setting, template or plugin rule, so trace it to that.

A rel=canonical link element tells search engines which URL you prefer for a piece of content.5 Here's the pattern for a page that should be its own canonical. Replace the example URL with your preferred absolute URL:

<head>
  <link rel="canonical" href="https://example.com/preferred-page/">
</head>

A duplicate page can use the same absolute canonical URL to identify its preferred version. Google accepts the canonical link element only in the HTML <head>.3

Google recommends setting canonical tags in the HTML source and preventing JavaScript from changing them.3 When JavaScript has to add the canonical, make sure it's the only one on the page.

PDFs and other non-HTML files get their canonical through a rel=canonical HTTP header. Google advises choosing the header or HTML element rather than using both.3

Correct pagination and unexpected cross-domain targets

With pagination, Google's advice is that each page in the sequence keeps its own canonical URL. Do not point the sequence to the first page.5 Google stopped using rel=next/prev. For implementation details, see pagination SEO.

Unexpected cross-domain canonicals deserve investigation. Google's troubleshooting guidance includes hacked canonicals and syndication among possible causes. Before you call it a hack or rewrite a sitewide rule, find out who set that target and whether the content relationship was intentional.

Match the fix to the URL pattern

Once you've checked a URL pair for duplicate content, work from this table. Apply the change to the underlying rule where possible, then verify representative URLs after release.

Observed pattern Test Action Verification
Tracking variant (UTM tags, ?ref= links) duplicates the intended page Compare primary content; locate links generating the variant. Keep the canonical relationship; clean unnecessary parameters from generated links. Inspect the clean target and recheck the linking component.
Important page points to another page Check its declaration and whether the primary content is substantially different. Set a self-canonical, support the page with links and sitemap inclusion, and address duplication. Check current output, then its indexed canonical and index status.
Protocol (HTTP vs HTTPS), host or path duplicate should be retired Confirm the pages represent the same content and the old version is no longer needed. Use a permanent redirect and update canonical references to the preferred URL. Check the redirect destination and inspect the preferred page.
Canonical target redirects Follow the target to its destination. Prefer a direct canonical to the final URL. Verify the updated declaration without treating the old redirect as automatic exclusion.
Current target has noindex or a robots block Inspect current directives and the intended indexed page. Remove the conflict or choose an appropriate target. Check crawl access and the target's indexed data.
Filter combinations keep expanding Group parameters and assess which pages need indexing. Use the facet policy below. Check intended landing pages and crawl evidence separately.

When to use: multiple URL versions serve the same content and you want one definitive URL.6 A permanent redirect is appropriate when you are deprecating the duplicate page.3 Do not blanket-redirect parameter URLs that change the content users need.

Deciding on a redirect? The 301 vs. 302 redirect workflow covers it. Duplicates you plan to keep need an unambiguous canonical. Don't use noindex to pick the canonical. Google advises against noindex for canonical selection within a site because it blocks the page from Search.3

Set a facet policy before changing crawl controls

Google says parameter-based facets can generate infinite URL spaces. Crawlers then waste time on them, and new URLs get found more slowly. Google's first options for facets you do not need indexed are robots.txt disallow or URL fragments for filters.7 Both manage crawling. Neither declares a canonical.

Canonical tags and nofollow are generally less effective for this purpose in the long term.7 Pointing filtered URLs at the unfiltered page may cut their crawling eventually. It won't act like a crawl block overnight.

Alternate page with proper canonical tag facet policy: facets fold into the base, one curated page, deep ones unlinked
A facet policy gives every filter URL one of three fates: fold it into the base category, promote it to a real landing page, or stop linking to it.

The diagram sorts pages by index intent; the explicit crawl policy is a separate step you add after. Folding a facet into its base category settles intent only. Unneeded facets still need the crawl control Google recommends.

Facet group Index intent Implementation decision Check after release
Curated filter landing page Independent indexing intended Keep a stable URL, distinct primary content, a self-canonical, links, and a sitemap entry. Inspect the intended landing page.
Filter combinations not needed in search Independent indexing not intended Use Google's crawl-control options; document any retained canonical relationship separately. Check the crawl rule and protect intended landing pages.
Empty or nonsensical combinations No valid result page Return 404, as Google recommends. Test empty and invalid combinations.

For facets that need indexing, Google recommends & as the parameter separator.7 Keep the filter order stable in paths. Record the intended facet groups in the worksheet above before changing shared rules. A parameter called color, size or brand doesn't, by itself, earn that filter a place in the index.

Common mistake: Using robots.txt as a “deindex” tool.8 Disallow a URL and Google may still index the bare address, minus the content. And for canonicalization, Google says robots.txt is the wrong tool. A noindex directive requires the page to be crawlable, so blocking access can prevent Google from seeing it.2

If blocked URLs already sit in the index, there's a dedicated fix. Work through the indexed though blocked by robots.txt workflow. Separate removing an indexed page from reducing crawl access to unwanted filters.

Should you click Validate fix?

An intentional alternate does not need a fix or validation just to clear the report. Google Search Console updates issue counts when Google crawls affected pages.1 You can fix a real problem without requesting validation. Keeping the intended canonical version in search matters more than eliminating this status.

Google says validation typically takes up to about two weeks, though it can take much longer.1 It stops when Google finds a remaining instance. Expect retained, intentional alternates to keep this label. Validation or not, check the URLs you changed by hand.

A content fix won't split a duplicate cluster instantly; Google can keep the pages grouped for up to two weeks. Clear, significant content differences can separate them faster.

Request Indexing is quota-limited.2 Reserve it for important URLs rather than submitting intended duplicates.

Copy this verification checklist into the release notes:

  • Current canonical tag output matches the intended page relationship.
  • Preferred targets have appropriate crawl access and no unintended noindex directive.
  • Links and sitemap entries support the intended canonical URLs.
  • Indexed data shows the intended canonical and index status after Google processes the changes.
  • Intentional alternates remain acceptable when their preferred page is indexed.
  • Changes in the affected count are checked against URL-level evidence.

Pair a fresh crawl with representative URL checks. Use server logs to check whether duplicate crawling changed. The log file analysis workflow can help organize that check. A falling chart alone does not establish cause or demonstrate a traffic improvement.

Copy/paste audit notes and a developer ticket

An Alternate page with proper canonical tag fix should name the URL you want in search. Avoid setting a target count as the goal. Separate acceptance of the deployed change from later confirmation of Google's indexing decision.

Audit note

Finding: Alternate page with proper canonical tag
URL pattern:
Representative alternate:
Should this URL be indexed independently? YES / NO
Intended canonical:
Indexed user-declared canonical:
Google-selected canonical:
Current canonical tag:
Canonical version index status:
Content relationship: duplicate / substantially distinct / uncertain
Sitemap membership and referring component:
Decision: leave / change declaration / investigate URL generation
Evidence still missing:
Proposed change and affected template:
Post-release inspection and crawl checks:

Developer ticket

Title: Correct the canonical relationship for [URL pattern]
Problem: [URL] declares [target], but our intended indexed page is [URL].
Scope: [template or component]; preserve [intentional alternate patterns].

Acceptance criteria:
- Canonical output uses the intended absolute URL in the HTML head.
- JavaScript does not change the declared canonical.
- An independent page uses a self-canonical and substantially distinct primary content.
- Generated links and sitemap entries use the intended canonical URLs.
- Any redirect retires a confirmed duplicate, preserving needed filter behavior.
- SEO checks representative indexed data after Google processes the release.

Release evidence: [current output, crawl results, inspected URL pairs]
Open questions: [content intent, target ownership, crawl policy]

To prioritize intended landing pages, use SEO Heatmap to visualize your Google Search Console data alongside the audit. It is free for one Search Console property.

Frequently asked questions

What does alternate page with proper canonical tag mean in Search Console?

It means Google followed the page's declared canonical and indexed that canonical page instead of the alternate. The first check is whether you want the excluded URL indexed independently. An intentional alternate of the right indexed page can stay as it is.

What if a page I need in search shows up as an alternate?

Check its own canonical tag first, because Google followed that declaration for this status. Use a self-canonical for an independent page, support it with links and sitemap inclusion, and make its primary content substantially distinct. A self-canonical alone does not guarantee indexing.

What should the canonical HTML look like for an independent page?

The page's HTML head gets a rel=canonical link element, and its href is the page's own absolute URL. For example, an independent /preferred-page/ would declare its full preferred URL as canonical. Google recommends placing the element in the HTML source and preventing JavaScript from changing it.

Does this status mean Google ignored my canonical tag?

No, this status means Google accepted the canonical declaration. If Google selects a different URL, the relevant status is “Duplicate, Google chose different canonical than user.” Canonical tags are hints, and Google considers other signals too.

Should I add noindex to duplicate pages already marked as alternates?

Usually no, if your purpose is to select the canonical within the site. Google advises against noindex for that purpose because it blocks the page from Search. For duplicate pages you intend to retain, use a clear canonical preference.

No. Robots.txt manages crawling and nothing else. Block a URL there and it can stay indexed, just without its content. Google recommends disallow or URL fragments for facets you do not need indexed. If you need Google to process noindex, the page must remain crawlable.

Can a successful live test confirm that Google chose the right canonical?

No, the live test cannot predict canonical selection and does not test all duplicate or alternate issues. Use the indexed data in URL Inspection to read the Google-selected canonical. Check current implementation separately from that recorded decision.

Should I validate a fix, and how long can the report take to update?

An intentional alternate needs no fix or validation just to clear its label. Google updates counts when it recrawls pages; validation typically takes up to about two weeks, but can take much longer. Google may also retain a duplicate cluster for up to two weeks after content fixes, and Request Indexing is quota-limited.

Once the canonical audit is documented, use SEO Heatmap to review the intended pages in your Search Console data and choose your next SEO task. It is free for one Search Console property.

Sources (8)

SEO Heatmap Knowledge relies on primary sources: Google's documentation, web standards, peer-reviewed research, and vendors' own pages for their pricing and features. Our editorial standards

  1. Google Search Console Help. “Page indexing report.”
  2. Google Search Console Help. “URL Inspection tool.”
  3. Google Search Central. “How to specify a canonical URL with rel="canonical" and other methods.”
  4. WordPress. “rel_canonical().”
  5. IETF. “The Canonical Link Relation.”
  6. Google Search Central. “Redirects and Google Search.”
  7. Google Crawling Infrastructure. “Managing crawling of faceted navigation URLs.”
  8. Google Search Central. “Introduction to robots.txt.”
Alex Gorovenko

About the author

Alex Gorovenko

Founder of SEO Heatmap

I planned and checked redirects during a CMS migration, and I’ve diagnosed canonicalization issues while scaling SEO pages. When Search Console marks a URL as an alternate, I ask whether that page was meant to rank on its own. If Google chose the intended canonical, I leave it alone. A smaller report is no prize if the fix pushes a useful page out of the index.