What Is a Good URL Structure?
A good URL structure is a clear, logical, human-readable web address that describes a page's content and its place in the site hierarchy, such as /web-design-for-plumbers. Strong URLs use lowercase letters, hyphens between words, short descriptive keywords, and a shallow folder depth. They avoid session IDs, random parameters, and stop words. Clean URLs help users understand where they are, make links easier to share, and give search engines an extra clue about a page's topic.
- Word separator
- Google recommends hyphens, not underscores, between words in URLs (Google Search Central)
- Case sensitivity
- URL paths are case-sensitive on most servers; stick to all lowercase (industry-typical)
- Ranking weight
- URL words are a very lightweight ranking signal, mainly a usability and click-through aid (Google Search Central)
- Recommended depth
- Keep important pages within about three folder levels of the root (industry-typical)
What makes a URL good? #
A good URL tells a person exactly what to expect before they click, and it does so in a few clear words. Compare /web-design-for-plumbers with /page.php?id=4827&cat=12. The first is readable, memorable, and shareable; the second is opaque and forgettable. Good URLs use real words that match the page topic, separate those words with hyphens, stay in lowercase, and reflect the site's structure through logical folders. They avoid clutter like tracking parameters, session tokens, capital letters, and unnecessary stop words such as and, the, or of. For a local business, the URL is a small but persistent piece of branding. It appears in Google search results under the title, in link previews when someone shares your page on Facebook, and in the address bar. A clean address signals professionalism and makes it easier for a potential customer to trust the link. When we plan a /services/web-design build, the URL scheme is one of the first things we lock down because changing it later means redirects and risk.
Do keywords in the URL help rankings? #
They help a little, and the effect is often overstated. Google has said URL words are a very minor ranking signal, so you should not stuff keywords into an address hoping to game rankings. The bigger benefit is human. When a URL contains the words a person searched for, those words are bolded in the search results, which can nudge click-through rates upward. A URL like /web-design-for-dentists is instantly relevant to a dentist searching for a website provider, and that clarity earns clicks. The rule is to include the natural, obvious keyword for the page once, then stop. Do not write /best-cheap-affordable-emergency-plumber-near-me because it reads as spam and gets truncated in results anyway. Aim for the shortest phrase that fully and honestly describes the page. If you are torn between two options, pick the one a customer would actually type or say out loud. Our /tools/serp-preview lets you see how a URL and title render in the results before you commit.
Hyphens or underscores in URLs? #
Use hyphens. Google treats a hyphen as a word separator, so /water-heater-repair is read as three distinct words: water, heater, repair. An underscore is treated as a word joiner, so /water_heater_repair can be read as the single token waterheaterrepair, which is not what you want. This is a long-standing, explicit Google recommendation, and it is one of the easiest rules to get right. The same logic applies to spaces, which get encoded as ugly %20 sequences and should never appear in a URL. Stick to lowercase letters, numbers, and hyphens only. Avoid special characters, accented letters, and anything that needs URL encoding, because they create fragile links that break when copied into emails or text messages. If your current site uses underscores or encoded characters, that is worth cleaning up during a /services/website-redesign, though you must map old URLs to new ones with 301 redirects so you do not lose existing rankings and inbound links.
How deep should URLs be? #
Folder depth reflects how many clicks and how many hierarchy levels separate a page from your homepage. A shallow structure like /web-design-for-roofers is easy for both users and crawlers to reach. A deep one like /company/departments/exterior/web-design-for-roofers buries the page and signals, subtly, that it is less important. As a rule of thumb, keep the pages that matter for search within about three folder levels of the root. Depth is not a hard ranking penalty, but pages that require many clicks to reach tend to get crawled less often and pass less internal link value. There is a balance to strike. Some hierarchy is genuinely useful because it groups related content and produces clean breadcrumbs, which you can read about in /wiki/what-is-a-breadcrumb. The goal is meaningful grouping without needless nesting. If a folder level does not help a user understand where they are or help you organize content, drop it. Flatter is usually friendlier for a small local business site.
Should URLs match the site hierarchy? #
Ideally yes, because a URL that mirrors your navigation reinforces the mental map a visitor builds of your site. If your main menu has Services, and under it Emergency Plumbing, then /web-design-for-plumbers is intuitive and self-explaining. This alignment also produces natural breadcrumb trails and makes internal linking cleaner, which supports the crawling and ranking benefits described in /wiki/what-is-internal-linking. That said, do not force deep nesting just to mirror a complicated menu. Many successful sites keep service pages one level under a /services folder even when the on-screen navigation groups them into visual categories. Blog posts are a common judgment call: some sites use /blog/post-title while others put posts at the root as /post-title for shorter, cleaner links. Both work. What matters is picking a consistent pattern and sticking to it across the whole site, so you never end up with the same type of content living under three different URL formats. Consistency is worth more than any single structural choice.
How do you handle parameters and dynamic URLs? #
Dynamic URLs full of parameters, like /listings?category=hvac&sort=price&session=9f8a, are common on ecommerce and search-driven sites, and they cause several problems. They are unreadable, they can generate endless duplicate variants, and tracking or session parameters can splinter one page into many indexed copies. Where possible, rewrite dynamic URLs into clean static-looking paths using server rewrite rules, so /listings?category=hvac becomes /listings/hvac. When parameters are unavoidable, keep them to the minimum, use canonical tags to point every variant back to the preferred version, and avoid letting tracking parameters create indexable duplicates. Sort and filter parameters in particular should usually be kept out of the index. For ecommerce catalogs this ties directly into crawl budget and pagination, covered in /wiki/what-is-pagination-seo, and our /services/ecommerce-development work routinely includes cleaning up parameter sprawl. You can spot duplicate and messy URLs quickly with /tools/broken-link-checker and by reviewing the coverage report in Google Search Console, which flags URLs it considers alternate versions of one another.
What about changing URLs on an existing site? #
Changing URLs is one of the highest-risk SEO operations because every old URL that has earned rankings, backlinks, or bookmarks needs to keep working. When you move a page from an old address to a new one, you must set up a 301 permanent redirect from the old URL to the new one. This passes the accumulated ranking signals and sends visitors to the right place instead of a 404 error. Skipping redirects during a redesign is one of the most common causes of a sudden traffic collapse, and it is exactly the scenario our /services/website-rescue and /services/website-migrations teams are called in to fix. Before changing anything, export a full list of current URLs, map each to its new destination, and test the redirects before launch. Do not change URLs casually or for cosmetic reasons; only do it when the improvement clearly outweighs the risk. If your structure is merely imperfect but functional, it is often wiser to leave existing URLs alone and apply the good structure only to new pages.
What does a clean URL scheme look like in practice? #
For a typical local business we aim for a small set of predictable patterns. The homepage sits at the root. Core service pages live under /services with a descriptive slug, such as /services/local-seo or /services/managed-hosting. Location or industry pages follow a consistent template, like /web-design-for-plumbers. Blog articles use /blog/ plus a short, keyword-relevant slug drawn from the post title, trimmed of stop words. Informational reference pages, like this one, live under /wiki. Every slug is lowercase, hyphen-separated, and short enough to read at a glance. We avoid dates in URLs unless the content is genuinely time-sensitive, because a date makes an evergreen article look stale. We keep depth shallow, we never expose file extensions like .php or .html where a clean rewrite is possible, and we make sure the site consistently serves either the www or non-www version and always over HTTPS. You can sanity-check any page's URL and on-page setup with our /tools/website-grader before and after a build.
FAQ
Should URLs be lowercase?
Yes. On most web servers, URL paths are case-sensitive, so /Services and /services can be treated as two different pages, creating duplicate content. Standardizing on all lowercase avoids this entirely and matches what users expect to type. Configure your server to redirect any mixed-case requests to the lowercase version for safety.
Do I need to remove stop words from URLs?
Removing common stop words like and, the, of, and for usually makes URLs shorter and cleaner, which is good. But do not distort meaning to strip every one. Readability comes first: if dropping a word makes the slug confusing, keep it. The ranking impact of stop words in URLs is negligible either way.
Should I put the date in blog post URLs?
Generally no for evergreen content. A date in the URL makes an older article look outdated even when the advice still holds, which can lower click-through. Dates also make it awkward to update and republish. Reserve dated URLs for genuinely time-sensitive news. Most local business blogs are better served by clean, dateless slugs.
Is a shorter URL always better?
Shorter is usually better because it is easier to read, share, and remember, but not at the cost of clarity. A URL should be as short as possible while still describing the page. Do not truncate it into something cryptic just to save characters. Descriptive and concise beats extremely short and vague.
How do I change a URL without losing rankings?
Set up a 301 permanent redirect from the old URL to the new one so search engines transfer the accumulated ranking signals and visitors land on the right page. Map every changed URL before launch, test the redirects, and update internal links to point directly at the new addresses rather than relying on the redirect.
Does www vs non-www matter for URLs?
Pick one and enforce it. Serving your site at both www.example.com and example.com without a redirect creates duplicate versions of every page. Choose your preferred host, 301-redirect the other to it, and make sure everything runs over HTTPS. Consistency here prevents split ranking signals and keeps analytics clean.
Was this helpful?