# URL structure

> Google requires URLs that follow IETF STD 66, don't change content via fragments, and use = and & for parameters. It recommends descriptive words in the audience's language, hyphens over underscores, few parameters and one case, since URLs are case sensitive. Parameter combinations such as additive filters can create floods of near-duplicate URLs that waste crawling.

- URL: https://geo.casa/crawling-indexing/url-structure/
- Reference · Officially documented
- Reviewed: 2026-10-26

## Requirements

> **Officially documented:**
> If URLs don't meet Google's criteria, "Google Search will likely crawl your site inefficiently — including but not limited to extremely high crawl rates, or not at all." URLs must follow IETF STD 66, with reserved characters percent encoded.
>
> Sources: [Google Search Central: URL structure best practices for Google Search](https://developers.google.com/search/docs/crawling-indexing/url-structure)

> **Officially documented:**
> "Don't use fragments to change the content of a page, as Google Search generally doesn't support URL fragments." If JavaScript changes the content, use the History API. For parameters, use an equal sign between key and value and an ampersand between parameters.
>
> Sources: [Google Search Central: URL structure best practices for Google Search](https://developers.google.com/search/docs/crawling-indexing/url-structure)

## Best practices

> **Officially documented:**
> When possible, use readable words rather than long ID numbers in URLs. "Use words in your audience's language in the URL (and, if applicable, transliterated words)." Non-ASCII characters in links should be percent encoded.
>
> Sources: [Google Search Central: URL structure best practices for Google Search](https://developers.google.com/search/docs/crawling-indexing/url-structure)

> **Officially documented:**
> "We recommend using hyphens (-) instead of underscores (_) to separate words in your URLs." Underscores are commonly used to join concepts that belong together, while hyphens clearly mark a word boundary.
>
> Sources: [Google Search Central: URL structure best practices for Google Search](https://developers.google.com/search/docs/crawling-indexing/url-structure)

> **Officially documented:**
> Google clarified the hyphen and underscore guidance on October 23, 2026.
>
> Sources: [Google Search Central: Latest Google Search documentation updates](https://developers.google.com/search/updates)

> **Officially documented:**
> "Google Search's URL handling is case sensitive", so `/APPLE` and `/apple` are distinct URLs. If your server treats them the same, use one case throughout.
>
> Sources: [Google Search Central: URL structure best practices for Google Search](https://developers.google.com/search/docs/crawling-indexing/url-structure)

## Avoid URL explosions

> **Officially documented:**
> "Overly complex URLs, especially those containing multiple parameters, can cause problems for crawlers by creating unnecessarily high numbers of URLs that point to identical or similar content on your site." Additive filtering is a common cause. In Google's hotel example, Googlebot only needs a small number of lists from which it can reach each hotel's page.
>
> Sources: [Google Search Central: URL structure best practices for Google Search](https://developers.google.com/search/docs/crawling-indexing/url-structure)

See [Crawl budget](https://geo.casa/crawling-indexing/crawl-budget/) for when crawl volume matters, and [Canonical URL signals](https://geo.casa/crawling-indexing/canonical-signals/) for consolidating the duplicates that parameters create.

## Sources

- [Google Search Central: URL structure best practices for Google Search](https://developers.google.com/search/docs/crawling-indexing/url-structure)
- [Google Search Central: Latest Google Search documentation updates](https://developers.google.com/search/updates)
