We moved to Drupal from another CMS about a year ago, and we still get 100s of "page not found" log entries each day for paths that were for our old site that don't exist on the new site. By checking IPs, I have concluded that most of these are from Google's indexer, but not all.

I add redirects when I can, but most of the links are to some meaningless tokenized path that our old CMS used. I feel like there is probably something I should be doing to flag bad paths for Google/SEO/whatever.

Is there a best practice for what to do with old broken links?

3 Answers 3


Is there a best practice for what to do with old broken links?

  1. Redirect as much links as you can to existing pages using URL aliases.
  2. Find out what pages are linking to your website on the old URLs, see if you can get them adjusted by contacting the webmaster (using a backlink indexing tool like Open Site Explorer or Majestic SEO).
  3. For other links you have the HTTP 404 status code. Sometimes you just can't redirect the links...
  • Cool, thanks for those tools. They will helpful. I had a feeling that this wasn't as simple as "install this module"!
    – adharris
    Commented Sep 6, 2012 at 18:07

If most of the broken links are coming from search engines, I highly recommend installing and XML sitemap module.

The XML sitemap module creates a sitemap that conforms to the sitemaps.org specification. This helps search engines to more intelligently crawl a website and keep their results up to date. The sitemap created by the module can be automatically submitted to Ask, Google, Bing (formerly Windows Live Search), and Yahoo! search engines.

And if you're not using Redirect for your redirects, I would recommend it, as it simplifies creating the redirects.

  • When the search engine finds a link to your website on a different site, it will eventually be crawled, unless blacklisted. Having a sitemap doesn't help with this, you'll have to contact the webmaster of the site that's linking to you. A sitemap is a tool that helps bots discover (new) links.
    – Bart
    Commented Sep 4, 2012 at 16:09

Not sure if it is the "best", but another practise is to prevent the problem from happening where possible. To do so, use the Rules module, as described in my answer to "How to use the Rules module to implement a custom redirect for an outdated URL?". It includes a sample rule (in Rules export format), which is using Rules Event "Drupal is initializing" (that's the clue to make it work).

That answer also explains how by using the Rules URL Argument module, you can even further enhance such redirects.

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.