Let's say I have a profile page ex. www.domain.tld/London.html and inside the page links to gallery, history, directions, etc. I use mod_rewrite so the extension .html just tell me that it's a profile link and nothing else.

What is the best structure for SEO purpose only?

  • Option A) separated pages identified by parameter ex. www.domain.tld/London.html?go=gallery
  • Option B) separated pages identified by * ex. www.domain.tld/London_*_gallery.html
  • Option C) all in one page with anchor ex. www.domain.tld/London.html#gallery

Instead of asking what is best for search engines, ask what is best for users. Search engines typically only "like" certain URLs because users find them easy to use and easy to link to. The best URLs are:

  • Descriptive (so users know what they will get when they encounter the URL)
  • Memorable (so users can share them easily and come back to them easily)
  • Short (so they can be typed easily)

You probably don't want capital letters in your URLs. It makes choosing the correct "canonical" URL easier if the rule for doing so is "make it lower case". See Should my URLs be lowercase?

In my opinion the .html just makes the URL needlessly complex. See Why are extensions often hidden on URLs?

Having a hash sign in your URL can make your site harder to crawl and index for Googlebot, so you probably don't want that option. You can make hash sign URLs crawlable with crawlable AJAX, but it is a pain to implement.

For SEO you don't want to use underscores in URLs. Choose dashes or slashes instead. See URLs: Should I use hyphens, underscores or plus symbols?

If it were my site, I would choose one of the following two URL structures:

  • City directory
    • /london
    • /london/gallery
    • /london/history
  • All top level pages -
    • /london
    • /london-gallery
    • /london-history

The first makes it clear that you have a "main" page about the city and users that understand how directory structures work would be able to muck with the URL. I might choose the second option if you didn't have a page to designate as the main one.


We get a question like this periodically.

Here is what you need to know: It does not matter. Search engines use word boundaries (programming term) while indexing and extract only the terms of the URI so that all the various other special characters are totally ignored. Whatever method you use, it will look the same to search engines when indexed. So for SEO, it really does not matter. Use what is best for your site and do not worry about it. Just make sure that you are using important keywords for the target page and you will be okay.


Your URL should reflect the keywords you are targeting. If gallery is keyword important for you then this structure would be good: domain.com/london/gallery.html You can achieve this using mod_rewrite.

  • Can you improve this answer by explaining why that would be a good option and how it would be better than other proposals? – Stephen Ostermiller Nov 24 '14 at 16:34

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.