A 301 redirect is a permanent HTTP redirect that tells browsers and search engines that a URL has definitively moved to a new address. It is the essential tool for any site migration, URL restructuring, or management of deleted products in a PrestaShop store.
301 redirect vs. 302 redirect: what is the difference?
HTTP 301 means 'Moved Permanently': Google understands that the old URL has been definitively replaced and transfers its SEO authority to the new one. HTTP 302 means 'Found' (temporary move): Google keeps the old URL in its index waiting for the situation to be resolved, and transfers little or no authority. Using a 302 instead of a 301 is one of the most common SEO mistakes during site migrations.
Link equity transfer
Historically, the term 'PageRank juice' was used to describe the authority passed through links. Today, Google confirms that a correctly configured 301 redirect preserves approximately 99% of the link equity from the source URL. In practice, if a product page has accumulated quality backlinks over several years, a 301 redirect to its replacement page transfers almost all of that SEO value.
When to use a 301 redirect
Site migration
During a domain change or complete redesign, all old URLs must be 301-redirected to their equivalents on the new site to preserve SEO equity.
URL restructuring
Changing permalink structures, renaming categories, moving to HTTPS, www/non-www canonicalisation — every URL change requires a 301 redirect.
Deleted products
A product removed from the catalogue should be redirected to the replacement product or parent category, never left as a 404 if the page had SEO value.
Redirect chains and loops: errors to avoid
A redirect chain occurs when URL A redirects to B, which redirects to C. Each additional hop slightly dilutes the link equity passed and slows loading. The rule is simple: A should always redirect directly to C. A redirect loop (A → B → A) is a critical error that prevents the page from loading and must be fixed immediately.
Watch out for redirect chains
Implementing 301 redirects
- .htaccess file (Apache): `Redirect 301 /old-url /new-url` or using mod_rewrite
- PrestaShop Back Office → Traffic & SEO → URLs: native URL redirect management
- Dedicated PrestaShop module (e.g. SEO Expert, leofwdmanager) for bulk management
- Nginx: `return 301 /new-url;` directive in the server configuration
- PHP: `header('Location: /new-url', true, 301);` before any output