Canonical and Indexability Matrix

Compare supplied canonical, robots and response declarations, keeping missing evidence separate from observed conflicts.

Inputs stay on your device No sign-up Free to use
How this works

The tool runs in this browser. Your file or text is not uploaded to UseFreeTools. Check this tool's limits for anything it may save on your device.

Privacy details

Compare declarations controls

Up to 500 records. null means unavailable evidence; an empty header means observed absent. robotsAllowed is your supplied interpretation, not parsed robots.txt.

Processed in your browser. Your inputs stay on this device.

Showing a generated example. Generate again for a new result.

How to use Canonical and Indexability Matrix

  1. Enter each page URL with its observed canonical, robots and status fields.
  2. Use null for unavailable observations and a boolean for your robots access interpretation.
  3. Review target conflicts and relationship cycles before exporting the matrix.

Example: Canonical and Indexability Matrix

Compare supplied canonical, robots and response declarations, keeping missing evidence separate from observed conflicts.

You add
Supplied page declarations (JSON): "[\n {\n \"url\": \"https://example.test/a\",\n \"canonical\": \"/b\",\n \"metaRobots\": \"index,follow\",\n \"headerRobots\": null,\n \"robotsAllowed\": null,\n \"status\": 200\n },\n {\n \"url\": \"https://example.test/b\",\n \"canonical\": \"/b\",\n \"metaRobots\": \"noindex\",\n \"headerRobots\": \"\",\n \"robotsAllowed\": true,\n \"status\": 200\n }\n]"
You get
2 page declarations compared.

Options

Missing evidence
null means you have not supplied the observation. An empty observed header is different from an unavailable header.
Robots access
robotsAllowed is your entered interpretation. This tool does not parse robots.txt or check crawler access.

Supported inputs and limits

Up to 500 supplied page records. Exact HTTP/HTTPS URL relationships; agent-specific robots directives and live crawling are excluded. No Google-selected canonical, indexing prediction or Search Console connection.

Where your input is processed

This tool processes your input in this browser. Your text and files are not uploaded to UseFreeTools. Check this tool's limits for anything it may save on your device.

A canonical declaration does not decide indexing

A page can point to another URL that declares noindex or participates in a cycle. Those supplied conflicts deserve review, but the report cannot show which canonical a search engine selected. Retain the response evidence with the matrix rather than treating an unknown field as permission to index.

Questions about Canonical and Indexability Matrix

Does noindex mean robots disallow?

They are separate observations; enter each one explicitly.

Is a self-canonical a cycle error?

A self-canonical is treated separately from a relationship loop across pages.

Will this tell me why Google chose another URL?

No. The matrix reviews your supplied declarations without search-engine account evidence.

Project manager: Tony Hines · Content updated 4 October 2026 · Report a problem