Websites, migration and Astro 8 min

301 redirects: the list that saves a migration's traffic

A 301 redirect says a page has moved for good. In a migration, the redirect list maps every old URL that receives visits or links to its new page, in a single hop, never to the home page by default. It is set before the switch, tested URL by URL and kept for at least a year.

Contents7
  1. 01What a redirect says
  2. 02Where old URLs come from
  3. 03The rules that hold
  4. 04Where the rules live
  5. 05Test before, monitor after
  6. 06Redirects in the rest of the project
  7. 07Frequently asked questions

A website migration almost never loses its traffic because of the new design. It loses it through its URLs: pages that received visits for years change address, and nothing tells search engines or visitors where they went. The document that prevents this is a list, boring and decisive: the redirect list. It comes after sorting the pages, as described in our method to decide which pages to keep, merge or delete, and before the switch. It is the core of any migration to a static site.

In short

  • A 301 redirect says a page has moved for good; a 302 says it is temporary, and Google does not treat them the same way.

  • The list starts from every URL that receives visits or links, not just the ones in the menu.

  • Each old URL goes straight to its final destination, in a single hop, and never in bulk to the home page.

  • The list is tested before the switch, URL by URL, then monitored afterwards, and redirects stay in place for at least a year.

What a redirect says

Definition

301 redirect

A server response that says: “this page has moved for good, here is its new URL”. The browser follows without the visitor noticing, and the search engine carries what it knew about the old URL over to the new one.

The status code is not a detail. Google’s documentation on HTTP status codes sorts them into two families:

Permanent: 301 and 308

  • Google reads a strong signal that the new URL is the one to keep

  • The right choice for a migration, merged pages, a changed slug

Temporary: 302 and 307

  • Google reads a weak signal, and the old URL may stay indexed

  • The right choice for a page under maintenance or a promotion that will come back

Google adds, in its page on redirects, that a JavaScript redirect should only be used when neither the server nor a meta refresh tag can do it: the search engine might never see it if rendering the page fails.

Where old URLs come from

The classic trap is redirecting the pages you know: the ones in the menu. The URLs that matter are the ones that receive something, and many of them are in no menu at all.

  1. A crawl of the current site.

    Every URL reachable by following links, with its response code.

  2. The sitemap actually served.

    The one the host returns, not the one you think you configured.

  3. Sixteen months of Search Console.

    Pages that got clicks or impressions, seasons included.

  4. Inbound links.

    URLs that other sites cite, sometimes pages forgotten for years.

  5. The URLs you have spread.

    Campaigns, email signatures, PDF documents, printed QR codes.

The result is a four-column table: old URL, new URL, code (301 or 410) and the reason for the decision. The reason pays off the day someone asks why a page disappeared.

The rules that hold

One hop, to the final destination

Each redirect adds a request before the page displays, and chains grow with every redesign: the 2015 URL redirects to the 2019 one, which redirects to the 2026 one. Google sets clear markers:

1 hop

is the target: redirect straight to the final destination

3 hops

at most in a chain, ideally, and always fewer than 5

1 year

at least of keeping redirects, and as long as possible

Source: Google Search Central, site moves with URL changes

Google’s crawlers, for their part, follow at most ten hops before giving up. In practice, a migration also rewrites the old redirects: each one now points to the new final URL, not to an intermediate step.

Never the home page by default

Redirecting every vanished page to the home page looks safe. Google treats it as a disguised 404 error, and a visitor looking for a specific page lands on one that does not answer them. A page with no replacement says it no longer exists (404 or 410); a merged page redirects to the page that took over its content.

From the field

Temporary redirects to the home page, counted as redirected pages

Palmora Property, a real estate portal we operate, learned it the hard way: six routing files sent broken URLs to the home page with temporary redirects. In Search Console, each broken URL showed up as a “page with redirect” instead of an error to fix. The remedy: real 404 errors, and 301s only where a page replaces the old one.

Variants of the same URL

An old URL often exists in several forms: with or without www, over http or https, with or without a trailing slash, with capital letters. Each variant must reach the same place, in one hop. Campaign parameters (?utm_source=…) must survive the redirect, or tracking for running campaigns breaks on the day of the switch.

On this site, a URL without a trailing slash still answers with a temporary redirect to its slashed version: it is a known gap of our hosting setup, which is why all our internal links carry the slash. Better to know your gaps than to discover them in Search Console.

Where the rules live

A redirect is written in one place only. On a static site, that is a file versioned with the site and reviewed like the rest. On this site, every rule sits in a single file in the repository:

  • prefixes: the old /en/ prefix, and the Spanish and Chinese URLs, archived on 9 September 2026, redirect to English;
  • renames: the old blog categories, merged or renamed on 2 October 2026, lead to the new ones, articles included;
  • exact URLs: the deleted pricing page redirects to the page that groups our offers;
  • removals: three ghost pages answer 410, because no page replaces them.

A check refuses to deploy if a page still lives under a redirected URL: without it, the host would serve the page and ignore the rule. The order between files and redirects is not the same with every host either, as our comparison of static site hosting shows.

Test before, monitor after

The life of a redirect list

  1. Write

    The list, with the reason for each decision.

  2. Test on the preview

    Each old URL, its code, its destination, then a 200 on arrival.

  3. Switch

    The list is live from the new site’s first second.

  4. Monitor

    Error pages, queries that drop, and internal links updated.

Testing is done by script, not by hand, and with the right tool. On an online plush toy store we are putting back on its feet, a first check counted 516 temporary redirects that were in fact permanent: the platform did not answer the same way depending on the program asking. So check with a tool that behaves like a search engine crawler, and confirm a few URLs by hand.

After the switch, Google warns that a small or medium site takes a few weeks for most of its pages to move, and that visibility can fluctuate meanwhile. Two moves shorten the period: update internal links to the new URLs, so no visitor goes through a redirect, and submit the new sitemap.

Redirects in the rest of the project

A clean list protects traffic; it does not create it. The rest of the project matters just as much: a migration is priced with its takeover of the existing site (how much a business website costs), each hop adds a request that weighs on speed as measured by Core Web Vitals, and a multilingual site adds a list per language (one language, one URL). Leaving a WordPress site that keeps getting hacked is often what triggers the migration; form URLs change too (forms and search on a static site), as do those of a blog that changes tools (Markdown in the repository or a CMS, or a headless site with Astro and Sanity). The new site must be accessible, generate enquiries, can be hosted in Europe, and pages rewritten with AI raise the question of disclosing it.

Our static site migration starts with this list: an inventory of URLs, a written decision for each, redirects tested on the preview, then Search Console monitored for fourteen days after the switch. A new site with no history falls under the business website offer, which has nothing to redirect.

Frequently asked questions

301 or 302 redirect during a migration?

301, or 308, which Google treats the same. A 302 says the move is temporary: Google reads a weak signal, and the old URL may stay indexed instead of the new one. Keep 302 for a page that will come back, such as a page under maintenance or a seasonal offer.

How long should redirects be kept?

Google recommends at least a year, and as long as possible. A redirect costs almost nothing to maintain on a static site: it is one line in a file. Old links, bookmarks and printed documents keep working for years after the migration, and each one should still lead somewhere.

Can all old pages be redirected to the home page?

No. Google treats this as a disguised 404 error, and visitors do not find what they were looking for. Each old page that has a replacement redirects to it, one by one. A page with no replacement answers 404 or 410, which removes it cleanly from the index instead of letting the crawler come back to it.

Should pages with no visits be redirected?

Not necessarily. A page with no visits, no inbound links and no enquiries can answer 410 if no page replaces it. Check sixteen months of Search Console before deciding, and look for its inbound links: a page your visitors ignore can still be cited by a site that sends you prospects.

Sources

  1. Google Search Central, HTTP status codes and network errors (new tab)developers.google.com
  2. Google Search Central, redirects and Google Search (new tab)developers.google.com
Source 1

Google Search Central, HTTP status codes and network errors

Read on developers.google.com(new tab)
Source 2

Google Search Central, redirects and Google Search

Read on developers.google.com(new tab)

Jim · founder of Brain Plus AI

Also in websites, migration and astro

  • Practical guide7 min

    Website redesign: which pages to keep, merge or delete

    A redesign that starts with the mock-ups often ends up losing pages that were bringing in business. Sorting the existing site first, page by page and on data, keeps what the site has earned over ten years.

  • Understand8 min The topic guide

    Static site with Astro: why migrate, without losing your SEO

    A static site generated by Astro replaces an ageing WordPress or Drupal without changing a single address: pages in plain HTML served by a CDN, no plugin to patch, and a publishing chain with rollback. What it changes, how the migration goes, and when not to do it.

  • Choose and price7 min

    Hosting a static site: Cloudflare, Netlify or a VPS

    A static site can be served from almost anywhere, but not at the same price or with the same pitfalls. What Cloudflare and Netlify count, the settings that surprise, and when a server of your own makes sense.

WhatsApp