Query String Settings
Many websites append query strings to URLs for tracking, filtering, or session management - for example, /events?month=march or /search?q=accessibility. Without query string handling, Vesper Audit may treat the same underlying page as dozens of unique URLs, inflating page counts and generating duplicate findings.
How query string handling works
When query string stripping is enabled, Vesper Audit normalizes crawled URLs by removing query parameters before deduplication. This means /events?month=march and /events?month=april are treated as the same page (/events) and only one is audited.
Configuring query string behavior
- Go to Settings > Query Strings.
- Choose a handling mode:
- Strip all query strings - removes all query parameters from all URLs before deduplication. Best for most sites.
- Strip specific parameters - removes only the parameters you specify (e.g.,
utm_source,utm_campaign,month). Useful when some query parameters produce genuinely different page content. - Keep all query strings - disables stripping entirely. Use this only when every query string variation produces meaningfully different content worth auditing separately.
Common parameters to strip
These parameters rarely affect page content and are safe to strip on most sites:
- Analytics:
utm_source,utm_medium,utm_campaign,utm_content,utm_term - Session tracking:
sessionid,sid,token - Pagination:
page,p,offset(if you want only the first page of paginated content) - Sorting/filtering:
sort,order,filter,month,year
Some platforms generate genuinely distinct page content from query parameters - for example, a single-page app that uses query strings as its primary routing mechanism. In these cases, stripping query strings would cause Vesper Audit to see only one page where many exist. Use Keep all query strings or configure selective stripping to handle these sites correctly.
Interaction with exclusions
Query string handling applies before exclusion matching. If you want to exclude a URL pattern that includes a query string (e.g., ?page=), configure this in Exclusions rather than query string settings - exclusions support substring matching against the full URL including query strings.