I recently learned a new phrase from a prospective client: “limbo page.” He used the term when describing his company’s migration to a new ecommerce platform. The company correctly mapped 301 redirects for many individual URLs. But it created a catchall redirect for the others. The catchall redirect pointed to a “limbo page.”
The Oxford dictionary defines limbo as “a state of neglect or oblivion.” That’s a good way of describing mass redirects to a single page. It’s a terrible idea.
In this article, I’ll explain what to do instead.
The practice of redirecting links to all deleted or nonexistent URLs to one page is common. The home page is the most popular destination, but search pages are popular too.
Let’s review a few prominent examples.
Tupperware 301 redirects any non-existing page with a naked domain URL (without the www) to the home page. Tupperware correctly returns a 404 status code for non-existent pages that include the www. (Mytheresa, a fashion retailer, does the same thing.)
Smarthome, which sells “home automation” products, 302 redirects non-existing pages to its home page with or without www in the URL. (So does HDtracks, which sells music downloads.)
Tool retailer Harbor Freight displays an error page when the URL doesn’t exist but presents an incorrect 200 status code to the search engines.
House Brand, an apparel retailer, 301 redirects to an intermediate page called /no-route/ and from that URL to the home page.
Payporte, another fashion site, is more clever. It turns the non-existing page string into an internal search. It’s clever, but still a bad practice.
At first glance a catchall limbo page seems like a good solution. Instead of fixing thousands or tens of thousands of redirect errors by manually mapping them to correct pages, set up a simple catchall rule and send all users (and bots) to a single page.
After all, displaying errors when users are looking for something is not optimal. And for search engines, resolving valuable links to 404 pages can hurt rankings.
But there are multiple problems with this approach.
First, Google and other search engines will treat error pages with incorrect status codes as soft 404s. I have also seen soft 404s when too many redirects end up on one page.
Here’s an explanation from Google’s “Search Console Help” portal:
Returning a success code, rather than 404/410 (not found) or 301 (moved), is a bad practice. A success code tells search engines that there’s a real page at that URL. As a result, the page may be listed in search results, and search engines will continue trying to crawl that non-existent URL instead of spending time crawling your real pages.
Thus, failure to use the correct 404 or 410 status codes wastes crawl budget. 404 and 410 codes tell search engines to stop crawling these pages for a while, saving crawl budget.
Moreover, consolidating many unrelated pages to one page will cause that page to rank for irrelevant keywords.
As an SEO practitioner, my biggest problem with these catchall pages is that they hide real issues and prevent or delay the proper diagnosis of problems. I have to disable the catch-all rule and wait for search engines to recrawl to determine legitimate 404s.
Remembering Hamlet Batista
February 8, 2021
A Better Approach
If your site changes platforms and you need to redirect hard-to-map URLs, it would be better to monitor server logs and, also, Google Search Console for 404 errors as they occur, and fix them.
Provide a helpful and customized 404 page. Don’t use the default templates from your ecommerce platform provider. And make sure the page actually returns a 404 status code — test using random strings with both www and non-www.
To map thousands of URLs without affecting page speed, see my article “SEO: How to Detect, Correct Duplicate Content Pages.”
Lastly, when changing platforms or domains, make sure your redirect rules preserve redundant parameters. Here’s an example. Say you replatform and change URLs, from www.storeA.com/product/1 to www.storeB.com/category/product/1. You set up a one-to-one 301 redirect rule. If a user types the URL for store A exactly as in the rule, it will redirect.
But say your email newsletter added a tracking parameter to the store A URL, such as www.storeA.com/product/1?campaign=email. A redirect rule that ignores the parameter is too strict. A user who bookmarked the parameter URL would receive a 404.
Thus the correct setup is to use a parameter wildcard * for 301 redirects, as in www.storeA.com/product/1?* to www.storeB.com/category/product/1.