What we look for
These addresses contain a query string (the part after a ?, such as ?page=2 or ?sort=price).
Why it matters
Parameters are normal for search, filters and paging, and there they need no change. They matter only when they make many addresses for the same content, which search engines may crawl and list as copies.
How to fix
Keep parameters where the page needs them. Where they only re-sort, filter or track the same content, add a canonical tag (a line in <head> naming the preferred address) that points to the address without them.
Seen in a real crawl
From a crawl of Fernhollow Outdoor, a test site built for this site’s demo.
2 pages have parameters after a ? in their address
/tents/ ?sort= price URL contains query parameters/tents/ ?colour= green URL contains query parameters
http://127.0.0.1:8006raptor 0.3.0, 17 Oct 2026Open this finding in that crawl’s report
It also fired on Kestrel Bay Digital.
Where you’ll see it
The id is stable, and every surface uses it, so it’s the thing to search for or hand to an agent.
- Terminal
- When it is one of the five findings under Fix first,
raptor crawlprints the id under it.Check: url.
has_ parameters - crawl.json and the CSV
- The crawl JSON names the finding by this id, and so do the CSV and
raptor_query."check_
id": "url. has_ parameters" - The HTML report
- This link opens the finding in the report, and each finding shows its id.
crawl.
html# finding= url. has_ parameters - MCP
raptor_findingswith thischeck_idreturns the finding in full, with a fix brief ready to paste into a task. If it didn’t fire, it says why.raptor_
findings { "job_ id": ". . . ", "check_ id": "url. has_ parameters" }