URL length: when a URL is long enough to be a problem
Long URLs get truncated in results and shares, and usually signal deep nesting. squirrel measures the full URL and counts path segments.
What URL length affects
There is no ranking penalty for a long URL and no protocol limit worth worrying about at the sizes real pages use. What length affects is display and handling: search results and social cards truncate, messaging apps break long links across lines, and a URL nobody can read is a URL nobody edits by hand.
Length is also a symptom. A URL with six path segments and four parameters usually describes a site structure that is deeper than it needs to be, or a filter combination that should not be its own indexable page.
What squirrel checks
The rule runs on every crawled page and measures the full URL string, not just the path. It emits up to two checks:
url-lengthwarns above 100 characters. Message:URL is 128 characters (over 100), with the first 60 characters plus an ellipsis as the value.url-lengthreports info above 75 characters. Message:URL is 84 characters (recommended: <75), with the full URL as the value.url-lengthpasses otherwise. Message:URL length is optimal (42 chars).url-depthreports info when the path has more than four non-empty segments. Message:URL has 5 path segments (deep nesting), withConsider flattening site structureas the value.
Severity for the rule is info and the weight is 3, so this is a description rather than a defect. Both thresholds are fixed and not configurable.
How to fix it
https://example.com/guides/url-structure
Shorten the slug rather than the hierarchy where you can: the slug should carry the terms that describe the page and nothing else. Drop tracking parameters from URLs you link to internally, and flatten a path that repeats information already in the parent segment.
An established URL is worth more than a shorter one. Apply this to new pages and leave old ones alone unless you are restructuring anyway.
| Rule ID | url/length |
| Category | URL Structure |
| Scope | Per-page |
| Severity | info |
| Weight | 3/10 |
Enable / disable
Disable this rule
[rules]
disable = ["url/length"]Disable all URL Structure rules
[rules]
disable = ["url/*"]Enable only this rule
[rules]
enable = ["url/length"]enable replaces the default ["*"], so this is the only rule selected. Leave disable out: a rule that matches any disable pattern is skipped even when enable names it. Only an enabled setting under a rule’s own [rule_options] table overrides both lists.
Related rules
- url/parameters: the query string that usually makes a URL long.
- url/stop-words: words in the slug that add length without meaning.
- url/slug-convention: path depth measured against the site’s own norm.
- url/slug-keywords: whether the length is buying anything.
URL Structure findings ship in every audit next to the SEO, performance and agent experience rules. See Fix SEO issues with AI for how an agent works through a report.
References
Check your site
Run squirrel audit https://example.com and open the URL Structure section of the report. Every long URL is listed with its character count and segment depth. Signed-out local audits need no account and cost nothing. Signed-in audits spend credits.