My web application used to generate not so SEO friendly urls. They used to be like this:


(And no this is not a search result page. This url is generated only when a user is clicked a particular category link )

Now after doing some enhancements I am able to make the link generate a somewhat SEO friendly url as follows:


And now I am being asked to redirect old url to this new url instead of sending the old one to 404. I asked a SEO specialist if this right? He said "This is totally wrong, your website might get penalised for doing this". Is he right?


2 Answers 2


It is not good practice to send old pages to 404, instead redirect to the relevant page.

Understand in this way, if you got so many old URLs and you may not know if other people may have linked etc. So, the best practice is not to have 404 and there should be proper planning to redirect old pages to respective new pages.

Search engines will not apply penalty in this matter. But if you are serious about ranking, it's not good to have 404.

Hope this helps.

  • what about redirecting it to new url with 301 ? That wont cause any issues ?? Commented May 10, 2017 at 5:32
  • What if the 404 page is customized ? Like it has some relevant content to direct the user to help navigate the website when he is sent to 404 ? Commented May 10, 2017 at 5:36
  • 301 redirect, old pages to respective new pages is the best option.
    – TopQnA
    Commented May 10, 2017 at 5:44
  • Regarding 404, important pages, redirect to relevant pages (301). If you got pages which are not much important and in limited numbers then you may redirect to home page. 404 you can have when your possible visitors may type your existing URL incorrectly.
    – TopQnA
    Commented May 10, 2017 at 5:46

If you send the old links to a 404 you will lose all the google juice from the external links that point to every single old pages. The impact will be tremendous on the traffic to the website. It will take time before Googlebot visits your new pages.

If you create a 301 redirect from every old page to every new page, you will still lose a bit of google juice but that would be never as bad as 404.

If you have been able to change your Url, i guess you have some PHP skills. Can't you create a big table, with IDs (ex:208) and the matching friendly url name (ex:metal-processing-and-machine-tool) and query this table to create a 301 redirect to replace the number by the friendly name, every time someone (like a bot) requests an old URL?

  • I am already doing that. It is developed with ruby on rails. So currently whenever user is clicking on old url it is getting redirected to new url. The thing is the status says 301->301->200. One 301 is coz of redirect of http to https and other is coz of category redirect. Would this be an issue ? Commented May 10, 2017 at 7:12
  • You are doing the best practice ever. I have done some experiments and the bots have no problems following the 301 redirects before landing on the 200. After few days, in google search engine you should see the old url being replaced by the new ones. Commented May 10, 2017 at 7:25
  • 1
    No, here is the proof: It is a video from Matt Cutts from Google: youtube.com/watch?v=r1lVPrYoBkA Commented May 10, 2017 at 7:39
  • 1
    I watched it. If I am not wrong he is explaining about redirect from one website to another. Is that applicable even for the intra (within) site url redirect ? Commented May 10, 2017 at 12:03
  • 1
    Anyways according to what you said, you have only two 301 redirects and it is below the maximum of three redirects stated in the video. Commented May 10, 2017 at 15:56

Your Answer

By clicking “Post Your Answer”, you agree to our terms of service and acknowledge you have read our privacy policy.

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