A guide to SEO URL structure
How you structure your URLs won’t make or break your rankings on its own. But it shapes how easily users, search engines, and AI tools can understand, crawl, and share your pages. Get it right early, and it’s one less thing to fix later.
The right structure depends on the type of site. An ecommerce store with thousands of products and filters needs a different approach than a blog, for example. Let’s take a closer look at how to write well-optimised URLs.
What is a URL?
A URL is the unique address of a resource on the web. A website with many pages has multiple URLs. For example, the homepage of the SALT.agency website is https://salt.agency/ and our blog sits at https://salt.agency/blog/.
You’ll often see three related terms, sometimes used interchangeably:
- A URI (Uniform Resource Identifier) is the umbrella term for any string that identifies a resource.
- A URL (Uniform Resource Locator) is a type of URI that also tells you where to find the resource. It’s made up of the scheme (https), host (salt.agency), and path (/blog/).
- A URN (Uniform Resource Name) is a type of URI that names a resource without saying where it lives, such as a book’s ISBN.
How to create the best URL structure for SEO
A well-structured URL helps keep your website’s content organised.
The best way to approach URL structure is from a user’s perspective. A logical structure that reflects your page hierarchy makes your website easier to navigate.
Google’s URL structure guidance recommends creating a simple URL structure and suggests you “consider organising your content so that URLs are constructed logically and in a manner that is most intelligible to humans”.
Short, simple, readable URLs give users the best experience. Descriptive keywords help too, as they tell users what a page is about before they click.
Choose words that describe exactly what the page contains. Even if a keyword has lower search volume, the most accurate description is usually the better choice.
Structure also affects crawling. Google’s Gary Illyes explained (on the Search Off the Record podcast in 2024) that Google tends to crawl more from sites with high-quality, in-demand content that people search for and link to. Within your own site, internal links are how you show which sections matter, so make sure the sections you care about are well linked, not buried. A clear hierarchy, like the one we use for content hubs, makes that much easier.
A clear hierarchy also helps users and search engines quickly understand how the pages on your site connect.
For example, a typical hierarchical URL looks like this:
- https://salt.agency/blog/
- https://salt.agency/blog/a-guide-to-an-seo-url-structure/
Each level tells you exactly where you are: the first is our blog section, and the second is an article within it.
Not every website follows a hierarchical structure, though. For example:
- https://www.example.com/index.php?id_sezione=360&sid=3a5ebc944f41daa6f849f730f1
Google recommends readable words rather than long ID numbers in URLs wherever possible. Some ecommerce platforms add SKUs or IDs to URLs by default because of the number of products they handle. Where you can, shorten URLs by trimming parameters that don’t change the content, and avoid session IDs in URLs.
Does URL structure affect SEO rankings?
Google has said for years that including keywords in the URL has minimal influence on ranking once a page has been crawled and understood. They’re useful for clarity, but rarely worth a migration on their own.
While it’s rarely worth restructuring your entire website to add keywords to URLs, relevant, descriptive keywords still benefit users.
Google’s systems are designed to prioritise helpful, people-first content. Keywords in URLs may only have a small influence on ranking, but clear, readable URLs are part of the user-first experience that guidance describes.
URL best practices for larger sites
For larger sites – especially ecommerce – a deliberate URL design is essential so Googlebot can crawl and index the site without getting lost in parameter variants. It’s a big part of our ecommerce SEO work.
Google’s ecommerce URL guidance warns that a poor URL structure can create an unnecessarily high number of URLs pointing to the same or similar content. Googlebot then wastes resources crawling them, and Google may not index all your important pages.
This often happens when URLs include a constantly changing value, such as a timestamp.
For example, /example?now=10:00am and /example?now=10:01am may be treated as different URLs, even though they show the same page.
Faceted navigation causes the same problem at scale, as every combination of filters (colour, size, price and so on) can generate a new URL. Google’s advice is to manage crawling of faceted navigation – for example, with robots.txt rules – rather than letting every combination be crawled.
Best practices for an SEO-friendly URL
Overly complex URLs cause problems for crawlers. Here’s how to keep yours SEO-friendly.
Use URL query parameters correctly
URL parameters let users filter, sort, and paginate content, which makes products easier to browse.
A URL parameter (or query string) is the part of a URL that comes after the question mark. For example:
Query strings can show only the items that match certain filters, or limit how many items appear on each page.
Google recommends a standard encoding: use an equals sign (=) to separate each key and value, and an ampersand (&) to add more parameters. This helps Googlebot understand and crawl your URLs efficiently.
For example, a parameter like this is recommended: /red-dress?page=2
And a parameter like this is not recommended: /red-dress?2
With more than one parameter, it looks like this: /dresses?colour=red&sort=price-low-to-high
Use a canonical tag
If a product is available in multiple sizes or colours, a canonical tag tells Google which URL you’d prefer to show in search results when several URLs show the same content.
For example, if red is the default colour for a dress, /dress and /dress?colour=red show the same page, so both should use /dress as the canonical URL:
- For the red dress (the default), /dress and /dress?colour=red both use /dress as the canonical
- For a blue dress, /dress?colour=blue can use a self-referencing canonical if it’s meaningfully different and people search for it – otherwise, point it to /dress too.
If Google picks a different canonical to the one you set, our guide to canonical issues in Google Search Console explains why and how to fix it.
Standardise your URLs in lowercase
Google treats URLs as case-sensitive, so /Page and /page are two different URLs. Web servers vary: some serve the same page for both, while others treat them as separate resources. Standardise on lowercase in your templates and consolidate any variants with redirects or canonical tags, so users and crawlers only ever see one version.
Most URLs are written in lowercase rather than a mixture of cases or all uppercase, so it’s also what users expect.
Sticking to lowercase also helps prevent broken internal and external links.
Use a trailing slashes consistently
A trailing slash is traditionally used to show a “container” URL, such as a category page that contains multiple other pages.
To Google, a URL with a trailing slash and one without can be two different pages (except on the root domain, where they’re treated the same). Whichever convention you choose, apply it consistently and redirect the other version to it.
Use hyphens
Use hyphens (-) rather than underscores (_) to separate words in your URLs, as Google recommends.
This helps users and search engines identify the separate concepts in a URL.
Underscores can also be hard to spot when a URL is underlined as a link.
URLs used as hyperlinks
Other websites may link to yours using a naked link.
A naked link uses the URL itself as the clickable text, rather than descriptive anchor text.
Here’s what a naked link looks like on a website:
- SEO consultants at https://salt.agency/
And here’s a link with anchor text:
- SEO consultants at SALT.agency
Anchor text helps Google understand the page being linked to. But John Mueller has said that a naked link doesn’t pass the words in the URL as anchor text in the same way – Google treats it as a regular link with no anchor text.
Readable URLs still matter, but for the people who see the link, not as a hidden anchor-text boost.
If a website links to yours with a naked link, a URL that clearly describes the page is more likely to earn the click.
Can you increase clicks from SERPS by using keywords in the URL?
A well-structured URL can help click-through rates, but it’s less visible in Google than it used to be.
Short, simple URLs are user-friendly and easier to share.
Since January 2025, Google’s mobile results show only the domain, not the full URL or breadcrumb trail. On desktop, the visible URL still shows the domain followed by a breadcrumb trail, which Google can take from your breadcrumb structured data or work out from the URL itself.
For example, the image below shows a desktop result where breadcrumb markup displays the category path instead of the raw URL.
Other search engines, such as Bing and DuckDuckGo, still show more of the URL in their results, so readable URLs aren’t wasted effort.
Build URLs for users
Google Search Advocate John Mueller has called keywords in URLs an “overrated SEO factor” with minimal ranking impact once a page is indexed.
That’s why we rarely recommend changing URL patterns on an existing site for keyword gains alone. Rewriting URLs on a live site is migration work: you need to map redirects, protect link equity, and give Google time to recrawl.
In short, build your URLs for users first. Keep them readable, consistent, and logical, and the SEO benefits tend to follow. If you’re planning a new site structure or a URL change, our technical SEO team can help.