A new website is exciting, but a redesign that changes page addresses can quietly undo years of search engine work. Every old URL that now returns "404 Not Found" loses the rankings and links it had earned, and visitors who click an old link or bookmark land on an error page. The fix is a list of 301 redirects: permanent forwarding instructions from each old address to its closest new page. This guide shows how to plan them, set them up and check they work.
What a 301 redirect does
When a browser or search engine asks for an old address, the server answers with status code 301 Moved Permanently and the new address. The browser goes straight to the new page, usually without the visitor noticing.
For search engines, a 301 is a signal that the page has moved for good. They gradually replace the old URL with the new one in their results and pass the old page's signals, such as links from other sites, to the new address.
| Code | Meaning | Use it for |
|---|---|---|
| 301 | Moved permanently | Redesigns, renamed pages, moving to a new domain, HTTP to HTTPS |
| 308 | Permanent, keeps the request method | The same, for forms and APIs where the method matters |
| 302 / 307 | Temporary | Short-term moves, maintenance, A/B tests |
| 410 | Gone on purpose | Pages removed with no replacement |
Use permanent redirects for a redesign. A temporary redirect tells search engines to keep the old URL, which is the opposite of what you want.
Step 1: List every old URL
Before the old site is switched off, collect every address that matters:
- Your old sitemap, usually at
/sitemap.xml. Save a copy now. - Google Search Console: the Pages report and the Performance report show URLs Google knows about and those that get clicks. If you haven't set it up, our guide to verifying your domain in Search Console takes a few minutes.
- Your analytics: the most visited pages over the last year.
- Links from other sites, if you know of them: directories, suppliers, press articles.
- Print material: brochures, business cards or vehicle signage that mention a specific page.
Put them in a spreadsheet with one row per old URL.
Step 2: Map each old URL to its best new page
Next to each old address, write the new page that best answers the same need. Some rules of thumb:
- One to one where possible.
/services/web-design.htmlshould go to the new web design page, not the home page. - Closest match when pages are merged. If three old service pages became one, redirect all three to it.
- Don't send everything to the home page. Search engines treat mass redirects to an unrelated page much like a 404, and visitors are left searching again.
- Leave pages with no equivalent as 404 or 410, but make sure your 404 page helps people find their way.
Keep URLs that don't need to change
The best redirect is the one you don't need. If an old address is clean and still accurate, such as /contact or /about, keep it on the new site.
Step 3: Set up the redirects
How you add redirects depends on the platform. Whatever you use, avoid redirect chains (A to B to C) and loops (A to B to A): each old URL should go straight to its final address in one hop.
On Apache or LiteSpeed hosting (.htaccess)
Redirect 301 /old-page.html https://www.example.co.za/new-page
Redirect 301 /services/web-design.html https://www.example.co.za/services/websites
In WordPress
A redirect plugin lets you add rules in the dashboard and import a CSV of old and new URLs, which is convenient for a long list.
In Next.js
Add the map to next.config.js so it's part of your code and deployed with the site:
module.exports = {
async redirects() {
return [
{ source: "/old-page.html", destination: "/new-page", permanent: true },
{ source: "/blog/:year/:month/:slug", destination: "/blog/:slug", permanent: true },
];
},
};
Next.js uses status 308 for permanent: true, which search engines treat as permanent like a 301.
On Windows / IIS
Use the URL Rewrite rules in web.config, with redirectType="Permanent".
Step 4: Moving to a new domain too?
If the redesign also moves the site to a new domain, redirect every old address to the matching page on the new domain, keep the old domain registered and pointing at a server that serves those redirects, and keep it renewed for years: links to it will keep arriving. Our guide on one website with several domains covers aliases versus redirects, and migrating a website without downtime covers the hosting side of a move.
Step 5: Test before and after launch
- Test on the new site before switching DNS, if your host gives you a temporary address or preview.
- After launch, check a sample of old URLs in the browser, and with a redirect checker that shows each hop and status code.
- Crawl your own site with a site crawler to find internal links that still point at old addresses. Update them to the new URLs directly: redirects are for the outside world.
- Submit the new sitemap in Search Console and watch the Pages report for new "Not found" errors over the following weeks.
Mistakes that cost rankings
- Launching without redirects and planning to "add them later".
- Redirecting everything to the home page.
- Using temporary (302) redirects for permanent changes.
- Changing the
wwwor HTTPS version at the same time without redirecting those too. See www or non-www and HTTPS redirects. - Removing the redirects after a few months. Keep them for at least a year, and longer if old links still bring visitors.
Frequently asked questions
Will I lose my Google rankings after a redesign?
Some movement is normal while search engines process the changes. With complete one-to-one redirects and similar content on the new pages, rankings usually settle back. Missing redirects and removed content are the main causes of lasting drops.
How long should I keep 301 redirects?
At least a year, and ideally as long as the old URLs still receive visits or links. They cost almost nothing to keep.
Do redirects slow down my site?
A single redirect adds one short round trip for visitors arriving on an old address. Chains add one per hop, which is why each old URL should go directly to its final page.
Can I redirect a page to another domain?
Yes. A 301 can point to any address, which is how domain moves work.
Launching the new site on NewHost? Next.js hosting deploys your next.config.js redirects with every push, and web hosting plans include free SSL for every domain you redirect. Moving from another host? Contact us and we'll help you plan the move.