Skip to content
Surfilby Adam Hafez
Free tool

Pagination canonical tag checker

Pagination canonical tag checker: catch later pages canonicalized to page 1, repeated URLs and page numbers after a #. Free, runs in your browser.

Runs entirely in your browser. Nothing you enter is uploaded, logged or stored.

Key takeaways

  • Google's documentation states plainly not to use the first page of a paginated sequence as the canonical page for every other page in it.
  • Each page in a sequence needs its own unique URL, because Google treats paginated pages as separate URLs rather than one combined page.
  • Google ignores URL fragments, so a next-page link that only differs after a hash mark may look already-crawled and never get followed.
  • Google stopped using rel=next and rel=prev tags to understand pagination; they are harmless to leave in but do nothing for Google today.
  • This tool only evaluates the URLs and canonicals you type in; it cannot detect a page missing from the sequence entirely.

What it takes

  • Every page's URL in a paginated sequence
  • Each page's declared canonical URL

More tools

All of them free, all of them browser-only.

Browse the tools

How to use it

  1. 1List every page in the sequenceAdd a row for page 1, 2, 3 and so on, in order, using the exact URL Google would fetch for each.
  2. 2Enter each page's declared canonicalThis is whatever your template currently outputs in that page's rel=canonical tag, not what you intend it to say.
  3. 3Read the unique URL checkGoogle's documentation treats each paginated URL as a separate page; a repeated URL across rows means two pages are competing for the same address.
  4. 4Read the URL fragment checkGoogle ignores everything after a
  5. 5Read the page-1-consolidation checkThis is the check that catches the real, common template bug, every later page canonicalizing to page 1 instead of to itself.
  6. 6Note whether rel=next/prev still matters hereTick the box if your templates still emit these tags; the tool explains why Google no longer reads them, even though other engines still might.

Enter every page of a paginated series with the canonical its template outputs, and this pagination canonical tag checker tests the set against Google’s own pagination documentation. Everything runs against the URLs you type, in your browser; nothing is sent anywhere.

What the checker checks

Each check maps to one line of Google’s pagination documentation:

  • Every page has a unique URL. Google says to give each page a unique URL, such as one with a ?page=n parameter, because URLs in a paginated sequence are treated as separate pages. The tool warns if the same URL appears in two rows.
  • No URL fragments for page numbers. Google ignores everything after a #, so the tool warns on any page URL that contains one.
  • Later pages do not canonicalize to page 1. Google states: “Don’t use the first page of a paginated sequence as the canonical page. Instead, give each page its own canonical URL.” The tool treats the first complete row as page 1 and warns for every later row whose canonical equals that URL.
  • Self-referencing canonicals. It counts how many pages declare a canonical equal to their own URL, the pattern that follows from giving each page its own canonical.
  • rel=next and rel=prev (optional). If you tick the box, it notes that Google no longer uses these tags, while other search engines may.

How to read the results

Each check returns Pass, Warning or Info. A Warning on the page 1 check is the one to act on first, because it tells Google that every later page is a copy of page 1. The self-reference count is Info rather than a Warning when it falls short, because a canonical pointing outside the sequence is not something this tool can judge.

Rows with an empty URL or canonical are ignored. With fewer than two complete rows the tool shows “Not enough pages” instead of running the checks, since one URL cannot conflict with anything.

Worked example

The tool opens with a real template bug: three rows for https://example.com/shoes?page=1, ?page=2 and ?page=3, and all three declare https://example.com/shoes?page=1 as canonical. The results are:

  • Every page has a unique URL: Pass, “Yes”.
  • No URL fragments used for page numbers: Pass, “None found”.
  • Later pages don’t consolidate their canonical to page 1: Warning, “2 of 2 later page(s) canonicalize to page 1”.
  • Pages with a self-referencing canonical: Info, “1 of 3”.

Change the canonical in rows 2 and 3 to ?page=2 and ?page=3, and the page 1 check turns to Pass with “Each later page keeps its own canonical”, while the self-reference count reads “3 of 3” and passes.

Common mistakes it catches

  • A hard-coded canonical in the listing template. The category template prints the category’s base URL as canonical on every page of the series. This is the page 1 consolidation above.
  • Page numbers kept in a fragment. URLs such as /shoes#page=2 look distinct to a person, but Google ignores the fragment. They pass the unique URL check as strings and fail the fragment check.
  • Two page numbers resolving to one URL. A pager that links page 1 as both /shoes and /shoes?page=1 produces duplicate rows once you enter what Google actually fetches.
  • A canonical that almost matches. A missing trailing slash or a different protocol drops a page out of the self-referencing count and shows up in the Info result.

What it cannot see

The tool reads only the rows you enter. It cannot tell whether a page is missing from the series, whether pages link to each other with real <a href> links (which Google recommends so Googlebot can find the next page), or whether filtered and sorted variants of the listing are kept out of the index with noindex or robots.txt, as Google also recommends. Check those in the rendered page.

Sources

  1. 1.Pagination, incremental page loading, and their impact on Google Search - Google Search CentralPrimary
  2. 2.Redirects and Google Search - Google Search Central

Common questions

Should paginated pages use page 1 as their canonical?

No. Google's pagination documentation says: "Don't use the first page of a paginated sequence as the canonical page. Instead, give each page its own canonical URL." Page 2 should point at page 2, page 3 at page 3, and so on.

Should I noindex page 2 and beyond?

Google's pagination documentation does not ask for that. It treats each page in a sequence as a separate page with its own URL, and recommends noindex or robots.txt for filtered or re-sorted variations of a list, not for the numbered pages themselves.

Do I still need rel=next and rel=prev?

Not for Google. Its documentation says Google no longer uses these tags, although other search engines may still use them. Leaving them in does no harm; tick the box in the tool and it reports them as information, not as a problem.

Can I put the page number after a

No. Google's documentation says not to use URL fragment identifiers for page numbers, because Google ignores fragment identifiers. Use a query parameter such as ?page=2 or a path segment instead.

Why does a trailing slash count as a different URL here?

The tool compares URLs and canonicals as exact strings after trimming spaces. It does not normalize case, trailing slashes or http versus https, so a canonical that differs from its page URL in any of those ways is reported as not self-referencing, which is usually worth fixing anyway.

Tools

humans.txt generator

humans.txt generator: build a humans.txt file with TEAM, THANKS and SITE sections from the humanstxt.org template. Free, runs in your browser.