squirrelscan
GitHub

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-length warns above 100 characters. Message: URL is 128 characters (over 100), with the first 60 characters plus an ellipsis as the value.
  • url-length reports info above 75 characters. Message: URL is 84 characters (recommended: <75), with the full URL as the value.
  • url-length passes otherwise. Message: URL length is optimal (42 chars).
  • url-depth reports info when the path has more than four non-empty segments. Message: URL has 5 path segments (deep nesting), with Consider flattening site structure as 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 IDurl/length
CategoryURL Structure
ScopePer-page
Severityinfo
Weight3/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.

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.

Type to search…

↑↓ navigate↵ openesc close