3 Common URL Problems and How to Fix Them

epic fail pictures
see more Epic Fails

As I’ve said in a previous post, SEO can be broken down into a couple of main categories: Content, Architecture, and Links. I think most people understand the importance of building content and getting links, but there are a lot of larger and poorly built sites that struggle with some fundamental problems their URL structure. This can lead to a lot of problems, including many duplicate content issues.

Here are three of the most common URL problems that I have seen on different websites. If your site has one or more of these problems, take a look at these solutions and get them fixed as soon as possible.

Problem #1: Non-www and www Versions of Site URLs

If your site has a non-www and www version of all your URLs, you’re going to be splitting link value for the same content between two URLs. Rather than capturing 100% of the link value on the page you want to rank in the search results, you could be doing a 50/50, 60/40, or some other kind of split between the two URLs.

The Fix

There are a couple of things you need to do to fix this:

  1. Decide which URL style you want to use, www or non-www.
  2. Set up a 301 redirect so that any links to your non-preferred URL style will go to the right style. This way you don’t waste link value by splitting it between two URLs.
  3. Set your preferred domain in Google Webmaster Tools so your search result listings are consistent with your style preference.
  4. Make sure whenever you build links to your site that you use the preferred URL style.

Problem #2: Duplicate Home Page URLs

This is a close cousin to Problem #1, but is especially bad because it’s your home page.

It is possible to have a lot of different URLs that all go to your home page content, especially if you haven’t fixed your www and non-www duplication, which can result in a lot of unnecessary duplication. For example:

  • http://www.mysite.com
  • http://mysite.com
  • http://www.mysite.com/index.html
  • http://mysite.com/index.html

These URLs will all lead to the same content. If you have links going to all four of them you will see a four-way split in link value. There are a lot of sites out there that have fixed their non-www and www problems, but I can still find multiple versions of their home page.

I’ve even come across sites with different extensions (.php, .html, .htm, etc.) that bring up the same page as well. This leads to even more duplication and potentially wasted link value.

The Fix

The fix here is very similar to the first one. Here are a few tips:

  1. Set your main home page URL to be http://www.mysite.com. 301 redirect everything else to this URL since it is the most basic (If your preferred URL style is non-www, then do http://mysite.com)
  2. If you have to set up different versions for tracking purposes or some other reason, set a canonical tag to show the search engines which version you want showing up in the search results.
  3. Make sure when you build links to your home page that you link to the correct version.

Problem #3: Dynamic URLs

This is a fun one that a lot of not-so-SEO-friendly shopping cart programs run into. Once you start including all sorts of variables and parameters in your URLs, the opportunities for duplicate content and wasted link value are endless.

Allow me to illustrate. All of the following URLs could lead to the same content:

  • http://www.mysite.com/somepage.html?param1=abc
  • http://www.mysite.com/somepage.html?param1=abc&dest=goog
  • http://www.mysite.com/somepage.html?param1=abc&dest=goog&camp=111
  • http://www.mysite.com/somepage.html?param1=abc&dest=goog&camp=111&id=423

Now what if I start rearranging the parameters? Well, they’ll still show the same content. So, as you might imagine, this can create a lot of wasted link value.

There are other causes for the dynamic URL problem. A lot of companies use these parameter-based URLs for statistical purposes. We just want to make sure that you don’t shoot yourself in the foot from an SEO perspective.

This problem also happens with sites that give their affiliates a unique ID to use in their links. You could have 100 affiliates linking to the same page, but all of the URLs will be different because each affiliate has their own unique ID.

The Fix

  1. If possible, make sure that your site is using SEO-friendly base URLs. It’s better to have a base URL that will lead to the content rather than a URL that relies on a parameter. For example: http://www.mysite.com/unique-product.html is much better than http://www.mysite.com/category.php?prod=123 where some generic category page is really the base URL.
  2. Set a canonical tag that tells the search engines to use the base version of the URL. That way you can still use parameter URLs like http://www.mysite.com/unique-product.html?param1=123&param2=423 to get your data, but the search engines will consider the basic version as the official one.
  3. An even better way to handle this is to capture the data on the server side and then redirect the visitor to the correct URL after you have captured your data. A lot of affiliate networks like ShareASale and CJ do it this way, and you can to. The visit basically goes like this: Visitor clicks on links with parameters -> Visitor goes to site, server records parameter data and 301 redirects them to the right landing page – >Visitor barely notices the switch because it happens fast.This way you can get all the data you need, make sure all of the link value goes to the right page, and your visitor still sees what they were after.

What Problems Does Your Site Have?

URL problems can come in combinations. For example, you could have a non-www and www problem along with dynamic URLs, compounding the problem.

Look over your site and see if you have any of these problems. If you do, decide what fixes you can make. Once you have these structural problems fixed you’ll find that your link building efforts will be much more valuable.

Get Internet Marketing Insight For Your Company - SEO.com

18 Comments

  1. Ash Buckles says

    Great post. This is such a critical part of SEO and so often overlooked because of the complexities in the CMS or custom application. Sometimes, however, the changes are easier than expected as a result of mod-rewrites or other programming possibilities.

  2. DevonK says

    You forgot the forth one – using Underscores and Capital Letters in the URL. It’s not as huge an issue as the three you discussed, but it is something that ideally should be avoided.

    For those that don’t know – using an underscore is the same as using “s” “x” or any other letter. As a spacer element (what the underscore is being used for) you should use the hyphen / dash “-”. You can use the period / dot “.” as well, but since it’s used in other ways I personally think it’s best to avoid it.

    Capital letters are seen as different than lowercase letters on some systems. Also, most people type things like URLs in lowercase normally. If you use Capital Letters in the URL you may lose traffic if they ever need to manually type in the address. Plus, the Search Engines default is lowercase, so why not give them what they like to use?

    Keep the blog posts coming.

  3. Andrew Saladino says

    I’m actually facing the problem of non-friendly dynamic URLS on my current website. I was wondering if you could maybe create an article on using ModRewrite on Apache to route them to the proper locations? I’ve tried to read the ones that come up when I Google it but they are just too complicated. Thanks

  4. Nathan Maggard says

    Great advice on the technical side of things. Any advice for explaining this quickly to clients?

    Thanks!

    Nathan Maggard

  5. Thom Allen says

    If I decide to use a 301 redirect to correct the www vs. non-www issue, this should also solve the multiple home page issue too, as you said. How long before the search engines fix these duplicate pages?

    Is there a problem referencing a link like http://mysite.com/?p=102 versus http://mysite.com/cool-post/ in say a Tweet or a blog post?

    Thanks for the write up. This is a very technical issue, and you did a great job with simple solutions.

  6. crganesh says

    Good collection of basic information – while speaking about URL, most will cover the redirection part only, You have covered the dynamic URL issue also. That’s cool :)

    I would say many thanks for you for teaching me the solutions in dynamic URL issue – you are simple and cool in explanation..

  7. Luke E says

    Dynamic URLs are not the problem! Duplication caused by URL parameters that do not change the content of the page is the problem!

  8. Soren says

    Hi Dan

    Problem #3 – I am running a site where we have this nice url for one of the product pages: http://www.superstar.dk/dolce-gabbana-ure/

    You can then choose to sort the products in different ways, and by doing this the url will apply some parameters. I myself has proposed that we should add a canonical tag to these pages with parameter, but we have been told that the best practise would be to put a NOINDEX, FOLLOW tag instead.

    From my perspective: With the canonical tag we would capture all the linkjuice from the url’s with parameter and send it to the ‘plain’ url. But the canonical tag should only be used when the content on the pages are the same – which it isn’t, as some of the products change when you apply the parameters.

    What to do?

  9. Justin Khoury says

    I think point three is largly neglected amongst many startup websites, merely because it’s not really seen as much of a big deal, when in fact it’s absolutely crucial for optimum SEO results.

  10. Mike Templeton says

    From what I’ve seen, the issue of non-www and www is still very much alive for many business websites today. As an internet savvy web worker, I understand the difference between domains and subdomains, but a lot of mainstream web users do not. With services like Twitter and other websites dropping the www prefix in their URL, it has led me to start dropping the prefix when accessing other websites. More times than not I end up hitting an error screen (even worse than a duplicate page).

    Knowing how simple it is to fix this non-www versus www issue, and the impact it can have on both SEO and browsing traffic, I’m surprised more businesses don’t have this issue fixed.

  11. Janiye says

    This information may be useful to others.
    I recently created a post with headline “Free Keyword Research Tool: Seo book”.
    Unfortunately, I used a dash (–) in place of the colon that I have used above.
    When I tried bookmarking the Url, I found the page could not be found. Finally, I corrected the error by replacing the dash (–) with a colon (:) as shown above.
    The end result is the corrected and working url below
    http://www.howtoblogformoney.net/keyword-research/free-keyword-research-tool-seo-book

  12. Rhys says

    Thanks for the post. I do have this problem – I’ll correct it soon.

    If we can hide/redirect index.php, then can it be named something else for better seo? It would seem to benefit seo if the home page url could actually contain a keyword.
    Someone searching for “video duplication” might find me easier if the url was http://www.ludlowmedia.com/video-duplication than http://www.ludlowmedia.com
    Of course I can create a subpage but the majority of my organic links (thus page rank)go to my homepage.

    How is this addressed?

  13. Dan Patterson says

    Hi Rhys,

    I’d leave your homepage as just http://www.ludlowmedia.com because that’s what people will use whenever they link to that page. Yes, you could set up the 301 redirects, but you lose a small amount of link value when you do that. So be leaving the homepage in a standard format you capture all of that link value, and it will make more sense to your users. Some people will be confused when they go to your homepage and it has a longer URL.

    I hope that helps!

  14. Anthony Ankers says

    Great post, was worth reading this. The www vs non www cause alot of confusion on most articles that I have visited.

    A simple few lines of basic coding will sort the www vs non www:

    RewriteEngine On
    RewriteCond %{HTTP_HOST} ^YOURSITE.co.uk [NC]
    RewriteRule ^(.*)$ http://www.YOURSITE.co.uk/$1 [L,R=301]

Leave a Reply