I have an e-commerce website that recently updated and can now change our URLS from ugly php... site.com/index.php?getpage=store&getsec=catalog&page=category&cid=3&theme=7 to something clean like site.com/shop/bags/brown.

Just to be clear, we didn't start over with the site, just changed some of the programming to allow the rewrite. We hired an SEO firm about a year ago that said we would not see results unless we did.

Should I do some kind of redirect to point to the new links? If so, what kind?

Should I point site.com/index.php?getpage=store&getsec=catalog&page=category&cid=3&theme=7 to site.com/shop/bags/brown?

There's not really enough information to give a good answer. The key point is how you "changed some of the programming to allow the rewrite."

Probably the easiest and quickest way to make that change would have been to do it with mod_rewrite . . . in which case you already have rewrites in place. You just need to make sure they're 301 rewrites.

If, on the other hand, the software itself was modified to create new URLs (as opposed to rewriting them) then, yea, you're probably going to want to redirect the old to the new. The ideal way to do that would have been through the software you just modified; when it saw an old URL it could redirect to the new one. Probably not what you wanted to hear now that the programming is done?

Failing that, you'll have to do it at the server level. How you do that will depend on your server configuration, whether there is a pattern that can be reduced to an algorithm, and the scope of the project (how many pages need to be redirected). You can check the pinned threads in this forum for your options, depending on whether you're on a Microsoft or Unix-like box, and then, as necessary, ask more detailed questions.

I am not really sure how the software is handling it. I know that if you use the old links, they still work and it does not redirect you to the clean version of the URL. It stays the same, but like I said they both work. I am afraid that this will look like duplicate content.

If I understand what you are saying, the software itself should take you from the old ugly URL to the new clean version?

Since that is not the case, you recommend that I redirect those old URLs to clean ones using 301 redirects?

I have an e-commerce website that recently updated and can now change our URLS from ugly php... site.com/index.php?getpage=store&getsec=catalog&page=category&cid=3&theme=7 to something clean like site.com/shop/bags/brown.

Because that's the way Amazon and Walmart do it. Right.

It's unfortunate your SEO provider set such a high expectation. Keyword-rich URLs are not as effective as many people would like them to be.

Oh Michael, that is a story in iteself. During the 'sales' periord, the SEO firm was talking about how they were going to do so much for me to get good quality backlinks using PR and other outreach campaigns. They even said at the time that the URLS aren't a big deal anymore.

Then as soon as I signed the contract it went from what they were going to do to what I had to do - basically change the entire website programming. They said they couldn't do anything until I completely changed everything.

Needless to say, I was p***d and got out of the contract.

Since then I have taken what they have said and tried to implement it. We went from page 1 on Google (for about 5 years) to way back after the update on March 2012. I thought they could help - they had a good sales pitch.

If I understand what you are saying, the software itself should take you from the old ugly URL to the new clean version?

Yep.

the SEO firm was talking about how they were going to do so much for me to get good quality backlinks using PR and other outreach campaigns

....

Needless to say, I was p***d and got out of the contract.

Best thing you could have possibly done!

The upshot is:

If your URLs have changed then you need to redirect old to new and if your software system produces multiple URLs for the same content, you need to use 'canonical aliasing' to ensure that only ONE URL is indexed

"clean" or so-called 'SEO friendly' are NOT as useful or 'important' as "experts" make them out to be

Hm. I think I have a good sales pitch but I can't always help (and say so if I think so); and if I do get the contract I'm not likely to change my tune unless the client drops a bombshell on me. I think you made the best decision, there.

As for your URLs, done is done, as they say. I agree with the above: Do what is prudent to make sure users and search engines can get to the right content.

From what I have read, I do that so that there is only one version of the page that I want them to index?

That would be in addition to the 301 redirects?

It tells the search engines to treat all copies of the page in your canonical link as if they WERE that link. Google doesn't care if you embed that link on the canonical page but Bing says they would prefer you do not do that.

Don't ever feel embarrassed about not being an "SEO expert." Many of the folks who claim to be "experts" don't know what they're talking about. We all had to start somewhere, and you're off to a great beginning by asking questions and making sure you understand the answers to keep yourself from roaring off in the wrong direction.

The guys have given you some excellent technical advice. Here's a bit of non-technical stuff from me. If you haven't already, take a look at our Tips for New SEOs. There are a lot of articles linked from there, but once you've read through them, you'll have a better idea of what you need to do if you decide to continue to DIY -- and you'll be in a better position to evaluate the sales pitch if you decide to hire an outside SEO again.

Ask as many questions as you need until you feel comfortable. We really do like to help, and hardly ever bite. (Well, OK, Chris does sometimes... )

The correct answer is B. The software should add the canonical link to the derivative pages as it constructs them. However, Jill is correct, answer A is a second-best choice and should work fine. Put your canonical link on the main URL, which will essentially put it on ALL derivative URLs, and you should be good to go.

But here's the thing. I think there just might be an answer C?

You say you created the 301 redirects. Can you even get to those derivative pages in your browser? Or does the 301s you created automatically take you to the "pretty" URL?

If you can't get to the derivative pages because of the 301s . . . neither can the search engines. Job complete.