I am developing a service that deals with local city governments. For SEO, I want to have a page for each city that has some unique content for the city government (phone number, address for city hall, hours of operations, etc.) and some repeated content (how to get a permit, etc.).

What's the best approach to indicate that some content is duplicated and content is unique for each city? This is not intended to be spam - I'm paying people to call local cities and get data on unpublished info (e.g. email address). But I do want someone searching "how to get a flooring permit" in Houston, TX to see the right content for their city, not for Minneapolis, MN.

Approaches I've considered:

  • Put the city name in many of the title/headline/descriptions
  • Use geo-meta tags (seems google ignores these)
  • Use state and city directories in the URL (unsure if the deeper nesting will penalize me)

3 Answers 3


What's the best approach to indicate that some content is duplicated and content is unique for each city?

There isn't a way to explicitly indicate this. The best thing to do is ensure that your pages are predominately unique content. The more duplication, the greater likelihood that it will be filtered out (helpful overview from Google here).

Approaches I've considered:

Put the city name in many of the title/headline/descriptions

Absolutely. This is key, and Google provide some good guidance.

Use geo-meta tags (seems google ignores these)

Not clear what you're referring to here. The only geographic metadata I'm aware of which Google explicitly support is LocalBusiness structured data, which may be worth considering for your use case (overview here).

In short, this would allow you set out machine-readable data describing the location concerned, e.g.:

<script type="application/ld+json">
     "@context": "https://schema.org",
     "@type": "GovernmentOffice",
     "name": "Denton City Hall",
     "telephone": "+1234567890",
     "address": {
       "@type": "PostalAddress",
       "streetAddress": "1600 Nosuch Ave",
       "addressLocality": "Denton",
       "addressRegion": "TX",
       "postalCode": "12345",
       "addressCountry": "US"
     "geo": {
       "@type": "GeoCoordinates",
       "latitude": "33.2338276",
       "longitude": "-97.2814719"

This may or may not work for you depending on specifics of your setup.

Use state and city directories in the URL (unsure if the deeper nesting will penalize me)

Any logical, descriptive URL structure that works for you is fine. Google's John Mueller has explicitly said that they don't "count slashes", i.e. there's neither benefit nor penalty in how you choose to structure your URLs.


You should create local pages for each city you are targeting. I would do the following:

  • URL structure : domain.com/chicago/il/plumbing or something similar that suits your specific site needs
  • Title tags & H1 to include city/state/topic: Plumbers in Chicago, Illinois

These are the recommended methods to target geo locations.

  • 1
    Good info but you don't fully answer the question. What are some ways that OP can indicate that some content is duplicated? For content that is repeated across many pages, should they be concerned or is that safe to ignore? Feb 3 at 15:17


The way to relatively safely indicate piece of duplicated content is by not including it as plain text, but rather as either a link to a document, or better yet an iframe.

This, however, will not mean that not unique content will be treated as unique. It will just explicitly indicate to an SE that this content is not meant to be read as unique.

Therefore, you're facing the problem of page quality. Will the pages be good enough to rank? Well, a typical SEO answer would be a pretty trivial advise to add more content. What if there's no more content? Then we solve the problem with proper linking, utilising UGC (user-generated content) and proper meta enrichment.

Meta and Schema

Geo meta tags that google uses are called hreflang. And they don't work with cities. It's only useful for multilang or international sites. Google parses content to determine city relevancy. So, city names, connections to local businesses, schema and such. Having city names in URLs is a good idea. And no, google won't penalize for the length of the URL. That era is long gone.

As it has been suggested before, you want to add some schema markup to each page, emphasizing the little unique information the page has. Local business, however, won't be a good schema object for it, however. This will probably work better: https://schema.org/ContactPoint Classically, there are about ten-fifteen schema objects your typical SEO specialists use. Really, however, schema contains hundreds of them. The reason why SEOs don't use the other objects is because google only explicitly shows how it uses the few popular objects. It, however, implicitly uses a lot more objects. In fact, it lets the AI build relationships with the non-explicitly used objects.

The conclusion here is: find what schema objects fit best, and implement them. Also, don't use json-ld. Use microdata markup. It's a little bit harder, but it works better when the content is sparse and your aim is more to enrich it rather than add more context to the page. No worries, if microdata is too inconvenient, go with json-ld.


Good linking is pretty easy to explain and achieve: make sure every country's page is easily accessible from the home page by regular links. Meanwhile, make sure to not make it look spammy. So maybe you want to break things down like so: Home page contains list of states -> every state page has a short description of this state's unique regulations/fees and how those are enforced/applied and a list of counties -> each county has some unique info about its relevant distinguishing factors -> list of cites. You probably want to skip the county part, depending on your taxonomy, or rather depending on how many cities you're covering. One greater city can still have multiple mayorships/municipalities that differ in regulations, covering which could inflate your unique content with relevant info.

Just keep in mind that generally, the faster a typical crawler can get from the home page to the target page (both measured in scrolls and distinct page loads), the better it is for ranking. To counter that, however (yes, checks and balances), search engines will penalize for too many links on a page. What is too many? No clear answer. AI determines it. Look at a typical forum. And a typical blog. They have different definitions of what a normal expected number of links is.

Also use html markup to format your links, don't just have them in a list. Make a table, format it adequately.

Modern SEOs love to use sitemap.xml to replace linking. Cuz it's so expedient. It doesn't work, don't bother. May as well delete it and won't notice any difference in traffic.


Just to add a bit of context, I normally work a lot with thin autogenerated content. Typically from tens of thousands to hundreds of millions pages. Without proper attention, pages like these would never be ranked. But once proper optimizations are applied and they start getting ranked, it's a lot of traffic. UGC is not applicable in a lot of cases, but your case seems like a good point for users to vent about their application issues.

It's unlikely that UGC will be needed here to get most of these pages out of supplemental results and to the real SERP, but if you see that these pages are not just ranking, but get actual traffic, I would also suggest adding "reviews" keyword to the bunch and let people leave reviews on local municipal bureaucracy. That will not only be a huge bump in tanking for these pages especially if used with proper schema markup, it will also potentially improve the quality of local civic services and duties.

Your Answer

By clicking “Post Your Answer”, you agree to our terms of service, privacy policy and cookie policy

Not the answer you're looking for? Browse other questions tagged or ask your own question.