Jun 8th 2026

Which URL pattern ranks best, and why it depends: locations/city/ vs. city/service/ vs. service/city/

Spread the love

Your local SEO URL structure should match how customers search and how your business is organized. The best pattern is not always the one with the most keywords. It is the one that keeps your site clear, crawlable, and easy to scale.

TL;DR

  • Use /locations/[city]/ when each store, office, or branch is the main conversion point.
  • Use /[city]/[service]/ when city pages act as local hubs for all services in that market.
  • Use /[service]/[city]/ when customers search by service first, then add a city.

1. Why URL pattern matters more than you think, and where it does not

URL structure will not rank a weak page by itself.

Google’s URL structure best practices focus on simple, descriptive, readable URLs that help users and search engines understand a page. That is the real value of a good URL pattern. It creates order.

Local SEO sites can get messy fast. A company with 20 cities and 10 services could create 200 city-service pages. Add neighborhoods, filters, tracking parameters, or duplicate landing pages, and the site can become hard to crawl and harder to manage.

A clear structure helps prevent common problems:

  • Duplicate or overlapping pages
  • Thin local pages with only the city name changed
  • Weak internal linking
  • Confusing breadcrumbs
  • Messy redirects after launch
  • Google Business Profile landing pages are pointing to the wrong URLs

Still, the URL is only part of the system.

A local page also needs strong content, clear search intent, useful internal links, local proof, accurate business details, and a reason to exist. A clean URL cannot make generic copy useful.

So the better question is not, “Which URL pattern ranks best?”

The better question is, “Which URL pattern best supports the page we want to rank?”

Quick decision tree

Start

 |

 |– Do customers choose a nearby store, office, or branch first?

 |      |

 |      |– Yes: Use /locations/[city]/

 |      |

 |      |– No

 |

 |– Do customers choose a city first, then compare services there?

 |      |

 |      |– Yes: Use /[city]/[service]/

 |      |

 |      |– No

 |

 |– Do customers search for a service first, then add a city?

        |

        |– Yes: Use /[service]/[city]/

        |

        |– Mixed: Use a hybrid model with one primary URL for each intent

2. Pattern 1: /locations/[city]/ is best for storefront-led brands

The /locations/[city]/ pattern works best when the location is the main thing customers care about.

This is common for:

  • Gyms
  • Restaurants
  • Banks
  • Storage facilities
  • Car washes
  • Retail stores
  • Multi-office professional services

In these cases, the customer often wants the nearest place they can visit or contact. They care about the address, hours, directions, phone number, reviews, parking, staff, and services available at that location.

Examples:

/locations/[city-name]/

/locations/[service-area]/ 

/locations/[branch-name]/

This pattern is clean because each page has a clear job. It represents a real location.

It also works well with Google Business Profile landing pages. If a business has one Google Business Profile for each physical location, that profile should usually link to the matching location page. Multi-location local SEO guidance often recommends creating a unique page for each real location, with an accurate name, address, phone number, hours, and local content.

A strong location page can include:

  • Name, address, and phone number
  • Business hours
  • Map and directions
  • Local photos
  • Reviews for that location
  • Staff or provider details
  • Services offered at that location
  • Parking or access notes
  • Local FAQs

The main risk is that a location page can become too broad.

A page like /locations/[city-name]/ may rank well for branded searches and “near me” searches tied to that location. But it may not be the best page for a specific query like “[urgent service] [city]” or “[commercial service] [city].” 

That is why we usually treat /locations/[city]/ as a location hub. It can link to service pages, provider pages, reviews, and related nearby locations.

Use this pattern when the branch, store, clinic, or office is the main conversion point.

3. Pattern 2: /[city]/[service]/ is best when city pages are the conversion hub

The /[city]/[service]/ pattern works best when the city is the main market unit.

Examples:

/[city-name]/[service-name]/

/[city-name]/[related-service]/

/[service-area]/[service-name]/

This city service URL pattern makes sense when customers think of the market first. They may land on a city page, then choose the service they need. 

This model often works for:

  • Regional service brands
  • Local marketplaces
  • Home service companies with city-level hubs
  • Healthcare or wellness groups serving several cities
  • Businesses with unique offers, reviews, or teams by city

The main benefit is that it creates a clear city hub.

For example, /[city-name]/ can link to:

/[city-name]/[service-name]/

/[city-name]/[related-service]/

/[city-name]/[emergency-service]/

This structure is easy for users to understand. It is also easy to do internal linking. The city hub can link to every service in that city. Each city-service page can link back to the city hub and to related services in the same area.

The risk is scale.

If every city has every service, the site can grow quickly. That is not always bad. It becomes a problem when pages are too similar. Changing only the city name in the same copy is not enough. 

Each page should add something useful for that market, such as:

  • Local reviews
  • Local job examples
  • Market-specific pricing notes
  • Service availability
  • Neighborhood coverage
  • Local regulations or permits
  • Local photos
  • City-specific FAQs

Use /[city]/[service]/ when the city page is the best starting point for customers, and the site can support each city with useful local content.

4. Pattern 3: /[service]/[city]/ is best for service-led businesses

The /[service]/[city]/ pattern works best when the service is the main search driver.

Examples:

/[service-name]/[city-name]/

/[related-service]/[city-name]/

/[emergency-service]/[service-area]/

This pattern is common for service-area businesses, including:

  • HVAC
  • Plumbing
  • Roofing
  • Pest control
  • Restoration
  • Cleaning
  • Legal services
  • Home repair
  • Landscaping

In these industries, customers often search for the service first, then add the city. They are not always looking for a local hub. They are looking for a specific solution.

Someone may search for “[service] [city]”. The service defines the need. The city defines where the service is available.

This structure also supports strong service hubs.

For example, /[service-name]/ can link to local versions:

/[service-name]/[city-name]/

/[service-name]/[service-area]/

/[service-name]/[nearby-city]/

This makes sense when one service has demand across many cities.

The main service page can explain the service in depth. The city page can explain how that service works in a specific market.

A strong service-city page can include:

  • Service details
  • Local availability
  • Reviews from that city or service area
  • Common local problems
  • Photos or examples from nearby jobs
  • Pricing factors
  • Emergency or same-day availability
  • Links to related services in the same city

The risk is that users may still need a broader city experience.

If someone lands on /[service-name]/[city-name]/, they may also need a related service in the same area. The page should link to those related pages.

Use /[service]/[city]/ when service pages are the strongest conversion pages and the city is a local modifier.

5. Hybrid models and what to do when you need both directories

Some local sites need more than one URL type.

A healthcare group may need a location page for each clinic and service-city pages for high-demand treatments. A law firm may need office pages and practice-area pages by city. A home services company may need a main city hub, service pages, and location pages for real offices.

A hybrid model can look like this:

/locations/[city-name]/ = office or storefront page

/[city-name]/ = city hub 

/[service-name]/[city-name]/ = service-city page 

 

This can work well, but only when each page has a different job.

Page type Example Main purpose
Location page /locations/[city-name]/  Help users find or contact an office
City hub /[city-name]/  Help users explore all services in one market
Service-city page /[service-name]/[city-name]/  Help users hire for one service in one city

The mistake is letting all three pages target the same keyword with similar content.

If /locations/[city-name]/, /[city-name]/, and /[service-name]/[city-name]/ all target the same “[service] in [city]” query, they can compete with each other. Before launch, choose the primary page for each major query. Then make the other pages support it with internal links.

For example:

  • /[service-name]/[city-name]/ targets “[service] [city]”
  • /locations/[city-name]/ targets the office and branded location searches
  • /[city-name]/ acts as a city hub for all services

That gives each URL a clear role.

Canonical tags can help when two URLs truly contain the same or near-identical content. But they should not be used to cover up a confusing local page strategy. The cleaner solution is to build fewer, better pages with clear intent.

6. Internal linking patterns that pair with each URL choice

A URL pattern works best when internal links support it.

Think of the URL as the filing system. Internal links are the paths users and search engines follow through that system.

For /locations/[city]/, use a location-led structure. The path usually starts with a location’s page, moves to a state or region page if needed, then reaches the city location page. From there, the page can link to services at that location, reviews for that location, and nearby locations.

For /[city]/[service]/, use a city-led structure. The city hub should link to services in that city, related services in the same area, nearby service areas, and local reviews. This works best when a city page acts like a local mini-site.

For /[service]/[city]/, use a service-led structure. The service hub should link to city service pages, related services, nearby cities for the same service, and service-specific case studies or reviews.

Breadcrumbs should match the structure:

Home > [City] > [Service]

Home > [Service] > [City]

Home > Locations > [City]

This keeps the site easier to understand and helps avoid mixed signals.

We would also add contextual links to related articles in the same content series. Good supporting topics include site structure, location page best practices, Google Business Profile landing pages, local reviews, and multi-location SEO strategy

7. How to migrate URL patterns without losing rankings

Changing local URLs after launch can affect rankings, traffic, reporting, internal links, backlinks, and Google Business Profile landing pages.

Google’s site move guidance recommends mapping old URLs to new URLs, using redirects, updating internal links, submitting updated sitemaps, and monitoring performance after the move.

Treat a local URL migration like a real site release.

Start by exporting every important URL:

  • Indexable pages
  • Top organic landing pages
  • Pages with backlinks
  • Google Business Profile landing pages
  • URLs in XML sitemaps
  • URLs receiving paid or referral traffic
  • URLs linked from navigation or footer menus

Then create a redirect map.

Old URL New URL Redirect type Primary query Priority Notes
/locations/[city]/[service]/ /[service]/[city]/ 301 [service] [city] High Update GBP if used
/[city]/[related-service]/ /[related-service]/[city]/ 301 [related service] [city] High Update internal links
/locations/[city]/ /locations/[city]/ No change [brand] [city] High Keep live
/[city]/[emergency-service]/ /[emergency-service]/[city]/ 301 [emergency service] [city] Medium Check canonical

 

Before launch:

  • Crawl the old site
  • Crawl the staging site
  • Match every old URL to the best new URL
  • Avoid redirecting large groups of pages to the homepage
  • Update internal links so they point directly to the new URLs
  • Update canonical tags
  • Update XML sitemaps
  • Test redirects before launch when possible
  • Check for redirect chains
  • Confirm important new pages return 200 status codes

After launch:

  • Crawl the live site
  • Confirm old URLs return 301 status codes
  • Confirm new URLs return 200 status codes
  • Submit the updated XML sitemap
  • Monitor Google Search Console
  • Track organic traffic by URL group
  • Keep the redirect map for debugging

A migration can still cause short-term movement. The goal is to reduce avoidable risk and make the new structure clear as quickly as possible.

FAQ

What is the best local SEO URL structure?

The best local SEO URL structure depends on how customers search and how the business is organized. Use /locations/[city]/ for location-led brands, /[city]/[service]/ for city-led hubs, and /[service]/[city]/ for service-led businesses.

Is /city/service/ better than /service/city/?

Not always. /city/service/ is better when the city is the main browsing path. /service/city/ is better when the service is the main search and conversion path.

Should every city and service combination have its own page?

Only when each page can provide a unique value. City-service pages can work at scale, but thin or duplicated pages usually create quality problems.

Should service-area businesses use /locations/city/?

Usually not as the main structure unless the business has real offices or storefronts in those cities. Service-area businesses often do better with service-city pages, such as /[service-name]/[city-name]/, supported by strong service hubs.

Can we use both location pages and service-city pages?

Yes. Hybrid structures work when each page type has a clear purpose. A location page should help users find or contact an office. A service-city page should help users hire for a specific service in a specific market.

Do keywords in URLs help local rankings?

Descriptive words in URLs can help users and search engines understand the page. But keywords in the URL are not enough. Content quality, relevance, internal links, local proof, reviews, and business information matter more.

What is the biggest mistake when choosing a city service URL pattern?

The biggest mistake is choosing the URL pattern before defining page intent. Decide which page should rank for each major query before you build the structure.

Sources