llmranks.io
Technical SEO

URL Structure

URLs are addresses and signals at the same time. A good URL is lowercase, hyphen-delimited, descriptive, and shallow — something like…

5 min read · updated 2026-08-09

URLs are addresses and signals at the same time. A good URL is lowercase, hyphen-delimited, descriptive, and shallow — something like https://example.com/shoes/running/mens — and it stays stable over time because changing structure forces site-wide redirects and can reset signal accrual. Get the format, parameters, and trailing-slash convention right once, and you avoid the duplicate-content and crawl problems that quietly split your ranking signals.

What makes a clean URL

A clean URL is readable by both people and machines. Follow these format rules:

  • Lowercase, hyphen-delimited, descriptive, shallow. Path segments should describe the content, not mirror your database.
  • Use ASCII or properly percent-encoded UTF-8 for non-Latin scripts. Google handles encoded UTF-8 fine, but for readability prefer /zapatos/ over /%E9%9E%8B/ where you can.
  • Don't stuff stop words or repeat keywords. A path like /shoes/best-shoes-buy-shoes adds nothing.
  • Mind the length. Keep URLs under roughly 2,000 characters (a practical browser and Google limit), but aim for under 100 characters so they're easy to share.
  • Keep URLs stable. Restructuring means site-wide redirects and can reset some of the signal a page has accumulated.

Common URL format mistakes

  • Mixed case creating duplicates. /Page and /page may be treated as distinct URLs — servers vary, and Google treats the path as case-sensitive. If you enforce lowercase, verify a 301 exists from the uppercase version to the lowercase one.
  • Underscores instead of hyphens. Hyphens are word separators to Google; underscores are not. /red_shoes reads as the single token red_shoes.
  • Encoding spaces as %20 or + instead of using hyphens.
  • Deep nesting that reflects database structure, like /catalog/category/12/subcategory/45/product/9981. Path depth beyond about five segments is a warning sign.
  • Dates in URLs for evergreen content, like /2019/03/guide. This makes content look stale and complicates updates. Reserve date patterns for genuinely time-bound content such as news.

Handling URL parameters

Parameters are where most duplicate-content problems begin. Search Console's URL Parameters tool was removed in 2022, so parameter handling now rests entirely on four levers: robots.txt disallow rules, canonicalization, internal-linking discipline, and consistent ordering.

Start by classifying every parameter you generate:

Parameter typeExamplesHow to handle it
Content-changing?category=, ?id=May be indexable; ensure the canonical is correct.
Presentational / filtering?sort=, ?view=gridCanonicalize to the base URL, or noindex.
Tracking?utm_*, ?fbclid, ?gclidNever index; strip from the canonical; ideally don't generate internal links that contain them.

The other critical rule is order consistency. To Google, ?a=1&b=2 and ?b=2&a=1 are two different URLs. Enforce alphabetical ordering server-side so the same set of parameters always produces one canonical string.

Common parameter mistakes

  • Session IDs or cart tokens in URLs, which create endless unique addresses.
  • utm_ parameters appearing in internal links and in canonical tags — tracking data should never leak into either.
  • Inconsistent parameter ordering, which multiplies duplicate content.
  • Faceted navigation generating crawlable, indexable parameter combinations with no canonical consolidation back to a base URL.

Because faceted filters and tracking parameters directly affect what gets discovered and indexed, coordinate parameter handling with your crawlability and indexability rules, and keep your internal linking clean of tracking noise.

Trailing slashes

/page/ and /page are technically different URLs — the root / is the only exception. Because of that, you have to pick one convention and stick to it.

  • Choose slash or no-slash and 301-redirect the other. Files like .html and .pdf conventionally have no trailing slash; directory-style paths may use one. Be consistent within each pattern.
  • Keep your self-canonical exactly matching the served, redirected-to version. A mismatch here undoes the redirect's benefit.

Common trailing-slash mistakes

  • Both /page and /page/ returning 200. That's duplicate content and split signals.
  • Redirect chains like /page/page/https://.... Combine these into a single hop.
  • A canonical pointing to the slash variant while the page is actually served without the slash (or vice versa).

How these issues split your signals

The through-line across format, parameters, and slashes is the same: when more than one URL serves the same content, search engines see duplicates and divide the signals that should have accrued to a single page. Uppercase duplicates, unordered parameters, faceted combinations, and inconsistent slashes all create this fragmentation. Consolidating everything to one canonical address per piece of content is the fix in every case, which is why URL hygiene sits close to your broader technical SEO foundation and your sitemaps.

What to do

  1. Convert all paths to lowercase and 301-redirect any uppercase versions to their lowercase equivalents.
  2. Replace underscores with hyphens, and replace %20/+-encoded spaces with hyphens too.
  3. Flatten deep, database-driven paths so no URL exceeds about five segments, and keep lengths under ~115 characters where possible.
  4. Remove date patterns from evergreen content URLs.
  5. Inventory every parameter, classify it as content-changing, presentational, or tracking, and apply the correct canonical or noindex treatment.
  6. Strip tracking parameters from all canonical tags and internal links.
  7. Enforce alphabetical parameter ordering server-side to prevent duplicate proliferation.
  8. Add canonical consolidation for faceted-navigation parameter combinations.
  9. Pick one trailing-slash convention, 301 the other variant, and confirm the redirect is a single 301 hop — never a 302 or a chain.
  10. Verify that your served URL, its self-canonical, and its sitemap entry all use exactly the same slash and case.

save this card

URL Structure — key takeaways cardDownload card

1080×1350 · post it anywhere

put it to work

See how ChatGPT, Gemini and Google AI actually talk about your brand.

Check your AI visibility — free
URL Structure · LLMRanks