What a redirect is, and why it decides whether you keep your traffic

The short answer
A redirect is an instruction on your website that sends anyone who asks for an old address to its new one, automatically. It decides whether you keep your traffic because Google ties a page's history to its address: a permanent (301) redirect to the closest new page carries that history across, and a missing one turns a page that brought in visits into "page not found".
- A redirect answers for a page that moved. Someone clicks an old link, the site says "this lives here now", and they land on the right page without noticing.
- The type of redirect tells Google what happened. A 301 says the page moved for good, a 302 says it will come back, and a 410 says the page is gone on purpose. Picking the wrong one sends the wrong message.
- Every old address should point straight at its closest match. Redirects that hop through several addresses, or that dump every old page on the home page, lose visits that a direct one keeps.
- Redirects need checking at launch and keeping for at least a year. They are easy to break and easy to forget, and the damage only shows up later, as quieter months.
You do not need to set up redirects yourself. You do need to know what good looks like, so you can tell whether a move was done properly.
What a redirect does, in one worked example
A redirect is a short answer your website gives instead of a page. When someone asks for /old-page/, the site replies "moved to /new-page/", and the browser follows on its own. The visitor sees the right page, and Google learns the new address and moves the old page's standing to it over time.
Say your services page used to live at example.com/old-page/ and now lives at example.com/new-page/. Here is what happens when someone clicks an old Google result, a bookmark, or a link from another site:
Step | With a 301 redirect | With no redirect |
|---|---|---|
1. A visitor asks for `/old-page/` | The site answers "301, moved permanently, see `/new-page/`" | The site answers "404, not found" |
2. The browser | Loads `/new-page/` straight away. The visitor rarely notices | Shows your "page not found" screen. Most people leave |
3. Google, on its next visit | Treats the move as permanent and, over time, shows `/new-page/` in results instead | Drops `/old-page/` from its index. The ranking it earned goes with it |
4. Links from other sites | Still work, and still count toward the new page | Point at a dead end |
That last row is easy to miss. Links from other sites, an old newsletter, a directory listing or a partner's page took years to collect. You cannot edit them, so a redirect is the only way they keep working.
Redirects matter any time an address changes: renaming a page, reorganizing your menu, switching from http to https, changing your domain, or moving to a different platform. A platform move is where most of them get lost, because the redirects you already have often live inside the old platform.
301 redirects in WordPress: where they live today
On WordPress, a 301 is usually added with a redirect plugin such as Redirection, the redirect manager in an SEO plugin like Rank Math, a rule in the server's .htaccess file, or your host's control panel. That is fine while you stay on WordPress. When you leave, redirects stored in a plugin or a server file stay behind with it. EmDash's own migration guide tells you to record your "current permalink structure, canonical origin, redirects" before you start, and later to "crawl old public URLs and prepare redirects for every changed route" (EmDash docs).
301 vs 302 vs 410: pick the type that tells the truth
Use a 301 when a page has moved for good, a 302 only when it will come back, and a 410 when a page is gone on purpose with nothing to replace it. Each one is a different message to Google, and a website move is almost always permanent, so almost every redirect in a move should be a 301.
Code | What it says | Use it when | What Google does with it |
|---|---|---|---|
301 (or 308) | Moved permanently | A page has a new address for good: a rename, a new structure, a new domain, a new platform | Uses it "as a strong signal that the redirect target should be processed" |
302 (or 307) | Moved for now | The page will return: a short promotion, a page under repair | Uses it "as a weak signal", so the old address can stay in results |
404 | Not found | Nobody planned this. Usually a mistake to fix | Removes the address from its index |
410 | Gone | You deleted the page on purpose and there is no close replacement | Treated like a 404 |
The Google quotes come from its guide to HTTP status codes, and its redirects guide adds that with a temporary redirect, the indexing system "doesn't use the redirect as a signal that the redirect target should be canonical". In plain terms, Google keeps treating the old address as the real one.
Two mix-ups come up often:
- A 302 used for a permanent move. It is one wrong choice in a dropdown, and the site works the same for visitors, so nobody notices. Google may sort it out eventually, but you are asking it to guess. If the page moved for good, the redirect should say so.
- Expecting a 410 to do something a 404 does not. Google says that "all 4xx errors, except 429, are treated the same". A 410 is still the honest answer for a page you removed on purpose, and it tells anyone reading your site's records that the gap is deliberate, not a mistake.
Point every old address straight at its closest match
Each old address should redirect in one step to the page that best replaces it. Two habits break this: chains, where a redirect leads to another redirect, and sending every old page to the home page. Both look fine in a quick click-through and both lose visits a direct, one-to-one redirect would keep.
Redirect chains
A chain builds up over the years. Here is a typical one for a single old page:
http://www.example.com/old-page(the 2016 address)- →
https://www.example.com/old-page(added when the site got a security certificate) - →
https://example.com/old-page/(added when someone dropped thewww) - →
https://example.com/new-page/(added during the move)
Each arrow is a separate trip. Google's site-move guide says: "we advise redirecting to the final destination directly", because "chaining redirects adds latency for users, and not all user agents and browsers support long redirect chains" (Google Search Central). Googlebot "generally follows 10 redirect hops" before giving up (Google Search Central), so a chain rarely breaks outright. It just makes every visit slower and every rule harder to keep straight. The fix is to point each old address, in every variation, straight at https://example.com/new-page/.
Why "send everything to the home page" fails
When a page has no obvious new home, redirecting it to the home page is tempting. It feels safer than a "not found" screen. Google says not to: "Don't redirect many old URLs to one irrelevant single URL destination, such as the home page of the new site. This can confuse users and might be treated as a soft 404 error" (Google Search Central).
A soft 404 means Google decides your redirect is really a "not found" in disguise, so the old page's standing is dropped anyway. And the visitor, who clicked a link about one specific service, lands on a general page and has to start looking again. Use this order instead:
The old page | Where it should go |
|---|---|
Moved, same content | A 301 to its new address |
Merged into another page | A 301 to the page that now covers it |
Replaced by something close | A 301 to the closest match, such as the service it was about |
Removed, nothing close | A 410, or a helpful 404 page with links to your main sections |
Check them at launch, then keep them for at least a year
Redirects are only proven when someone requests every old address on the live site and records where each one ends up. After that, watch the log of missed pages and keep every redirect in place. Google advises keeping them "for as long as possible, generally at least 1 year" (Google Search Central).
The check itself is simple to judge, even if you do not run it. Ask for a report with one line per old address and three columns: the old URL, the final URL it lands on, and the number of hops. Every line should end on a real page, in one hop, with a 301. Anything that ends on a 404, the home page or a 302 needs a reason.
How EmDash handles redirects and its 404 log
If your site moves to EmDash, the open-source CMS from Cloudflare built on Astro, redirects are part of the admin rather than a plugin. From the EmDash docs (Built-in SEO features):
- A Redirects page in the admin. A rule sends a source path to a destination with status "301, 302, 307, or 308", or answers it with "410 Gone". Rules can match patterns, such as everything under
/old-blog/, so a whole old section can move with one rule. - Automatic redirects when an address changes. When the slug (the last part of the address) of a published entry changes, "EmDash creates a 301 redirect from the old URL to the new one". It also "collapses existing redirect chains that pointed to the old URL", so a page renamed twice still redirects in one step.
- A log of missed pages. EmDash records requests that end in a 404, and the 404 Errors tab "shows the most frequently missed paths". For each one, you can add a redirect or mark it as gone (410). The log keeps up to 10,000 paths.
Two limits are worth knowing. A domain change is handled outside the admin: the docs say "to send visitors from the old address to the new one, add a redirect at your host or DNS provider" (EmDash docs). And a log only helps if someone reads it. We cover the wider move, including the 404 log in the first weeks, in our website migration SEO checklist. If you are still weighing the platform itself, start with EmDash vs WordPress.
How we handle redirects on a move
We bring WordPress sites into the AI era on EmDash and Astro, and redirects are one of the checks we run on every move. Before anything changes, we record every public address on your current site. On a private preview, every old address has to answer with its page or a single 301 to its closest match, and we re-run that check on the live domain the day the domain switches over. After launch, the monthly certificate lists what we checked, including whether old addresses still resolve.
Not every site should move. If your site is a store, has a members area, or is built around one plugin feature, staying on WordPress is usually the better call for now. Our free check tells you whether your site is a good fit and gives you the exact price. If you would rather see where your own site stands first, check your site for free.
Frequently asked questions
What is a 301 redirect?
A 301 is a permanent redirect. It tells browsers and search engines that a page has moved to a new address for good. Visitors land on the new page automatically, and Google treats it as a strong signal to show the new address in results instead of the old one.
When to use 301 vs 302 redirect?
Use a 301 when a page has moved for good, such as a renamed page, a new domain or a new platform. Use a 302 only when the original page will come back soon. Google treats a 302 as a weak signal, so the old address can stay in search results.
How to do a 301 redirect on WordPress?
Most WordPress sites add 301 redirects with a plugin such as Redirection, the redirect manager in an SEO plugin like Rank Math, or a rule in the server's .htaccess file. If you plan to leave WordPress, keep a copy of every redirect, because they stay behind with the plugin or server.
Should I redirect deleted pages to my home page?
No. Google advises against sending many old addresses to one unrelated page such as the home page, and may treat it as a soft 404. Redirect each old page to its closest match. If nothing is close, let it return a 410 or a helpful not-found page.
Should I use 301 or 308?
Both mean the page moved permanently, and Google treats them the same way. A 308 also tells the browser to repeat the request exactly, which matters for forms and software, not for ordinary pages. For a website move, 301 is the common choice and works fine.
How long should I keep redirects after a website move?
Keep them as long as you can. Google advises at least one year. Old links on other sites, bookmarks and newsletters keep sending visitors for years, so there is rarely a good reason to remove a redirect that still works.