Bulk Canonical Checker

Check up to 50 pages together. Review declared canonical URLs, conflicting signals and target responses.

One public HTTP or HTTPS URL per line. Up to 50 unique URLs; duplicate normalized addresses are checked once.

A bulk canonical checker reads the canonical declarations published by a list of pages. Use it after changing a template, moving a site or reviewing parameter URLs. Screpy compares declarations in source HTML and HTTP Link headers and checks one immediate canonical target when a valid destination can be selected.

Start with a focused URL list

Paste one complete public HTTP or HTTPS address per line, up to 50 unique URLs. Blank lines are ignored and duplicate normalized addresses are checked once. Choose representative pages from the templates you changed. This is a bounded batch analysis, not a website crawl. For one page, the Canonical Tag Checker provides a focused view.

Read the declaration and the destination together

The table shows the requested page, declared canonical, page response, target response and self-referencing status. Original declarations are grouped below the results table. A different canonical can be intentional. Cross-domain targets and relative references need context; neither alone proves that the page is invalid.

Conflicting destinations, unsuccessful target responses, noindex directives and canonical loops deserve investigation. Check that the destination is the representative page you intended. A successful HTTP response does not establish that two pages have equivalent content. Use Bulk HTTP Status Checker for a separate response and redirect review.

Separate unknown signals from missing canonicals

Each document has a six-second fetch budget and a 2 MiB HTML limit. A batch has a 35-second API deadline and a 20 MiB combined download limit. Target fetches share the same bounded capacity. Up to 20 declarations and 20 findings per page are retained. Timeouts, blocked requests or limits can leave a row incomplete; unknown does not mean that a canonical is absent.

Filter the retained rows and export CSV, or download the bounded JSON report with findings. Summary counts can describe more processed evidence than an output trimmed by report limits. Review coverage before treating the export as a complete record.

A declared canonical is not Google's decision

Canonical annotations are signals, and Google can select a different representative URL. This tool does not retrieve Google's selected canonical, execute JavaScript, compare content equivalence, evaluate robots.txt or confirm indexing. Google's canonicalization guidance explains the distinction. Use Noindex Checker to investigate indexing directives independently.

Bulk canonical questions

Check up to 50 pages together. Review declared canonical URLs, conflicting signals and target responses.

How many URLs can I check?

Up to 50 unique public URLs per batch. Repeated normalized addresses are checked once. Split larger lists into smaller batches.

Does this show Google's selected canonical?

No. It reads published HTML and HTTP header declarations and checks one immediate destination. Google's selection and indexing require separate evidence.

Is every different or missing canonical an error?

No. A different destination can be intentional, and a missing declaration is a review signal. Check the page purpose and intended preferred URL before changing it.

What does an unavailable row mean?

The source or a required check could not be completed. Its unknown values must not be read as missing canonical declarations or healthy signals.

Does the checker follow every canonical chain?

No. It checks a source and at most one different target. It can report chain or loop evidence visible within that scope, not certify an entire chain.