Skip to content

Article 13 min read

301 Redirects: What Google Does With Them and Where They Fail Silently

by Daniel Sócrates published

The redirect table was ready. Every old address had its new destination. We tested all 57 pairs, one by one, and every one of them reached a live page.

Then we checked against another list, Google’s own. Five old pages turned up returning a 404 error. Together they had 437 impressions. None of them was in our table. 1

This happened on my own site. Between August 31 and September 4, 2026, seogenome.com, our company site in Brazil, moved off WordPress. The new site is built in Astro and hosted on Vercel. 1 The migration had a table, tests, and a final check. Even so, the redirects failed in five places the table test could not catch.

This piece explains what Google does with each type of redirect. Then it opens up the five failures, with dates and numbers. And it ends with a test you can run on your own migration.

What a 301 redirect is

Think about moving house. You file a change of address with the post office, and every letter for the old place goes to the new one. Mark it permanent, and the old address comes off the carrier’s list. Mark it temporary, for a month away, and the old one stays your real address.

On the web, that notice is a server response. Whoever requests the old address gets a code and the new address, and the browser follows on its own. This is called a redirect. The 301 code says the move is permanent. 2

Google sums up the difference by what shows up in search. A permanent redirect shows the target in the results. A temporary one shows the source. 3 With a permanent redirect, indexing uses the redirect as a signal that the target is the version that represents the page. This is called the canonical URL. 3

The choice comes down to one question: will you undo this? Google recommends the permanent kind when you are sure it will not be reverted. 3 A service that is temporarily down calls for the temporary kind, and the original address stays in search. 3

301, 302, and 308: what changes for Google

There is an idea going around the industry that a 301 passes “almost all” of the authority and a 302 passes none. Google’s documentation describes something else. On 301s and the other permanent redirects, the migration guide is direct: they do not cause a loss in PageRank. 4

The difference between the two families lies in which address becomes canonical. With a temporary redirect, the crawler follows it, but indexing does not use it as a canonical signal. The target can still be indexed, if other signals point to it. 3

The two families, according to Google’s table: 3 5

  1. Permanent. 301, 308, zero-second meta refresh, and JavaScript redirects.
  2. Temporary. 302, 303, 307, and meta refresh with a delay longer than zero.

The 308 confuses a lot of people, because it is the youngest of the bunch. For Google’s crawlers, a 308 is equivalent to a 301, and a 307 is equivalent to a 302. 5 The difference matters to other software. Under the HTTP specification, a client that receives a 301 may turn a form submission into a plain page request. The 308 does not allow that switch. 2 Google asks for the right code in each case, because other clients read the difference. 5

On our site, the two live side by side. Vercel responds with a 308 when a rule is marked as permanent. 6 We declared 301 for our address changes, because that was the code WordPress already returned. 1 For Google, it makes no difference. 5

Methods outside the server call for care. An instant meta refresh, written inside the page, counts as permanent. A delayed one counts as temporary. 3 JavaScript comes last, for a mechanical reason. Google only sees that redirect after rendering the page, and rendering can fail. 3

All permanent methods have the same effect on search. What changes is how long search engines take to notice each method. 7 So whenever you can, keep the redirect on the server.

The five places our redirects failed silently

All five share the same shape. The rule was right for the address someone wrote in the table. It failed on the address that a visitor, the crawler, or the platform itself actually produced.

The trailing slash the platform adds before the rule

Picture an apartment building with a list of former tenants posted at the front desk. Before checking the list, the clerk rewrites what you say in the building’s format. You say “twelve,” and the clerk writes down “Apartment 12.” The list said “twelve.” The clerk finds nobody and sends you away.

The new site uses addresses that end in a slash. Vercel enforces this with a setting that returns a 308 to the slash version. 6 This is called URL normalization. The order is something we found by measuring: the platform normalizes the slash before it checks the redirects. 1

On September 2, with the domain already pointed, old addresses in the /br/ folder with no pair returned a 404. The rule meant to catch all of them did not match paths ending in a slash. The address the clerk corrected slipped past the list. 1 The fix was a second rule, written in the slash form from the start. 1

I measured again on September 14. An old address without a slash goes through two hops. First a 308, which only adds the slash. Then the 301, which leads to the new page. 8 It works, and that is why every rule in our table is now written with the slash from birth.

The www that served the whole site

On September 3, a production audit found a second site live. The address www.seogenome.com redirected the homepage. Every other page responded with a 200, with the full content. 1

It was the same slash defect. The www rule covered paths without a slash, and the whole site uses the slash. During that time, the only defense was the canonical tag, pointing to the right address. 1

Google treats redirects and canonical tags as strong signals, and says they stack. 7 During those days, our site was relying on only one of them. Today the www returns a 308 at every level. 1 8 How much the crawler spends on each host shows up in the crawl stats report.

The uppercase the old server forgave

WordPress served the short /go/ links in any letter case. Vercel compares the address letter by letter. 1 Its documentation says the rule is case-sensitive, precisely so you do not create duplicate content. 6

Google Analytics recorded real clicks on /GO/DNA-GPT/, /GO/GOOGLE-MUDOU/, and /GO/SEO-LOCAL-GMB-E-PLEPER/. 1 It looks like someone typing on a phone with caps lock on. At the switchover, those clicks started landing on a 404. On September 2, every /go/ link got an uppercase variant, with the same destination. 1

There is a limit here, and I measured it on September 14. The mixed-case spelling, /Go/Dna-Gpt/, still returns a 404. 8 The fix covers the two forms that showed up in the data. Every other combination is still left out.

The pages only Google’s list knew about

This is the one from the opening. On September 2, we audited the redirects against two lists. The first was our table, with 57 pairs, and every one of them reached a live page. 1

The second was the list of addresses Search Console knows, over a 16-month window. It had 37. 1 It found five pages returning a 404, with 437 impressions between them. All of them sat outside the folder the general rule covered. 1

There were four author pages, in two spellings and two prefixes, plus the sample post that comes installed with WordPress. The author pages went to the author’s page, because someone looking for the author wants that page. The sample post went to the homepage. 1

Two days later, the crawl report brought up another kind of leftover. Google had climbed one level in an article series and hit the parent folder, which never existed. That folder got a redirect to the main piece of the series. 1 Four requests for a file Apple devices check, to see whether a site has an app, stayed at 404 on purpose. For anyone asking for a file that does not exist, a 404 is the correct answer. 1

The last finding is still open. Over two years, Analytics saw 99 different /go/ paths. Of those, 94 ended in a 404, for a total of 181 views. 1

None of them came from our link shortener. Judging by the pattern, these are people typing by hand what they heard in a talk or saw in a bio. Most of them belong to the DNA of a Prompt series. 1

One case we already handled shows the mechanism. A space pasted into a bio sent 14 views to an error page in 90 days. Both spellings with the space now lead to the right article. 1 The 94 paths are still waiting for a decision on where they should go. 1

How to set up your redirects

The playbook for a migration, with the URL map and the owner of each step, is in SEO for companies. Here you get the rules for the redirect itself, and the places where our own site still departs from them.

Straight to the final destination. Imagine a letter that passes through four post offices before it arrives. Each handoff is a hop, and the sequence is called a redirect chain. Google follows up to 10 hops. 5 The migration guide asks you to go straight to the final destination. When you cannot, keep the chain short: ideally no more than 3 hops, and fewer than 5. 4 A long chain slows the visitor down, and not every browser can handle it. 4

I measured our worst case. Anyone who types an old address with http, with www, and without a slash goes through 4 hops before reaching the page. 8 That is under 5 and above the ideal. The first three only fix the shape of the address: the protocol, the slash, and the host.

Each address with its own pair. Sending many old URLs to the homepage confuses visitors, and Google may treat it as a soft 404. 4 The guide gives the exception: content from several pages merged into one can receive all of them. 4 A deleted page with no equivalent should return a 404 or a 410. 4 Over time, Google stops using a URL that has started returning 404 or 410. 5

Our house rule for the link shortener points the same way. Every /go/ link has to work and point where it used to point. An article that moved goes to its new address. 1

I am declaring one place where we depart from the guide. The general rule for the /br/ folder sends everything left without a pair to the homepage. It sits last in the table, after every pair with a destination of its own. 1 Even so, it is the design the guide advises against. I am putting it on record so you can weigh it in your own migration.

On the server, whenever you can. Google ranks the methods by how likely it is to interpret each one correctly, and the server-side redirect comes first. 3 Platforms like Blogger and Shopify may already come with a built-in solution. 3

The test that catches what the table misses

Testing the table proves the table works. You still have to test what people and the crawler actually request. There are two fronts.

The spellings. Pick ten important old addresses. Run each one in five forms: with a slash, without a slash, in uppercase, with www, and with http. The result has to be a 301 or 308 leading to a page that returns a 200. The migration guide suggests command-line tools and mentions Screaming Frog for crawling your own site. 4

The lists. Your table is the first one. The second comes from Search Console: the pages that had impressions over the last 16 months. The third comes from Analytics: the visits that ended on an error page. The second list is the one that found our 437 impressions. And the third is the one that found the 94 paths. 1

In the Search Console Page indexing report, two labels call for different readings. “Page with redirect” is expected. The old URL redirects, and so it stays out of the index. 9 “Redirect error” calls for action. It shows up with a chain that is too long or a loop. It also shows up with a URL over the maximum length, or a bad or empty URL along the way. 9

The migration guide records a mistake Google sees often. It is a redirect pointing to a URL that does not exist on the new site. 4 The five-form test catches that one too.

The question you ask from now on

From now on, when someone tells you the redirects were tested, you will ask against which list. And in which spellings.

The checked table shows the promises that were kept. The failures live in the addresses nobody wrote into it.

The first step fits into today. Open Search Console, export the pages from the last 16 months, and run the ten most important ones in the five forms. If a 404 shows up, you have found your first leftover. That test belongs in any SEO audit, along with the other fronts of the technical SEO section.

Frequently asked questions

How long does a 301 redirect need to stay in place?

According to Google’s migration guide, at least one year. That is the window Google needs to transfer the signals, including links from other sites. 4 The help page for the Change of Address tool says 180 days, and longer if search traffic is still arriving. 10 With both pages on the table, go with one year. For visitors, the guide suggests keeping redirects indefinitely. 4

Can I undo a 301 redirect?

You can, and it leaves a trail. Google recommends the permanent kind only when you are sure you will not revert it. 3 And the HTTP specification says a 301 response can be cached, even without explicit instructions. 2 A browser that cached the response may keep redirecting on its own. If the change is temporary, use a 302.

Does moving from www to non-www require the Change of Address tool?

No. The tool’s help page says that between www and non-www on the same domain, canonical tags, redirects, or both are enough. 10 The tool is for moving to a different domain or subdomain. 4

Does a JavaScript redirect count as a 301?

It counts as permanent, with one condition. Google has to render the page to see it, and rendering can fail. 3 If it fails, the redirect does not exist for Google. Google itself says to use JavaScript only when you cannot redirect on the server or with a meta refresh. 3

Notes and sources

  1. SEO Genome, seogenome.com migration record, August 31 to September 4, 2026: the project’s operations log and the site’s redirect configuration (the table of pairs and the script that generates the Vercel configuration). The site is SEO Genome’s company site, based in Brazil. Sources for: the table of 57 pairs checked on September 2, 2026, all reaching their destination; the check against 37 Search Console URLs over a 16-month window, with 5 pages returning 404 and 437 impressions, all outside /br/ (4 author pages, under /author/ and /pt/author/ in two spellings, and /hello-world/); the trailing-slash normalization before the redirect lookup, measured in production on September 2 and 3, 2026, and the second rule /br/:path*/; the www host serving every inner page with a 200 until September 3, 2026, with the canonical as the only defense, and the added rule /:path*/; the uppercase /go/ links returning 404 and the variant created on September 2, 2026; the 301 declared instead of the 308 because it was the code WordPress returned; the 404s in the crawl report of September 4, 2026 (the parent folder of the DNA of a Prompt series, published in Portuguese as DNA do Prompt, and the requests for apple-app-site-association, kept at 404); the 99 distinct /go/ paths over two years in GA4, 94 returning 404 with 181 views, 86% from the DNA of a Prompt series, a finding still without a decision; the 14 views in 90 days caused by a space pasted into the bio; the shortener rule (every /go/ link works and points where it used to point); and the /br/ catch-all to the homepage, last in the table. The reading that the uppercase links come from typing on a phone is the record’s, presented in the body as an appearance.
  2. R. Fielding, M. Nottingham, and J. Reschke (eds.), RFC 9110, “HTTP Semantics,” IETF, June 2022, sections 15.4.2 and 15.4.9, https://www.rfc-editor.org/rfc/rfc9110.html. Accessed September 14, 2026. The 301 indicates that the resource “has been assigned a new permanent URI”. On the method change: “For historical reasons, a user agent MAY change the request method from POST to GET for the subsequent request. If this behavior is undesired, the 308 (Permanent Redirect) status code can be used instead.” On caching: “A 301 response is heuristically cacheable”. The consequence for a browser that cached the response is the author’s reading of this passage.
  3. Google Search Central, “Redirects and Google Search,” https://developers.google.com/search/docs/crawling-indexing/301-redirects, page last updated April 14, 2026. Accessed September 14, 2026. Passages: “Permanent redirects: Show the new redirect target in search results” and “Temporary redirects: Show the source page in search results”; for permanent redirects, “the indexing pipeline uses the redirect as a signal that the redirect target should be canonical”; “Use permanent redirects when you’re sure that the redirect won’t be reverted”; for temporary redirects, indexing does not use the redirect as a canonical signal and “The target page might still be indexed if other canonicalization signals are present”; the table with 301, 308, 0-second meta refresh, and JavaScript among the permanent redirects, and 302, 303, 307, and meta refresh above 0 among the temporary ones, ordered by how likely Google is to interpret each correctly; the example of the temporarily unavailable service; “Only use JavaScript redirects if you can’t do server-side or meta refresh redirects” and “rendering may fail for various reasons”; and the mention of Blogger and Shopify with their own solutions.
  4. Google Search Central, “Site Moves and Migrations,” https://developers.google.com/search/docs/crawling-indexing/site-move-with-url-changes, page last updated August 20, 2026. Accessed September 14, 2026. Passages: “301 and other permanent redirects don’t cause a loss in PageRank”; “we advise redirecting to the final destination directly. If this is not possible, keep the number of redirects in the chain low, ideally no more than 3 and fewer than 5”, with the latency and the browser limit; “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”, with the exception for consolidated content; “make sure those URLs correctly return an HTTP 404 or 410 error response code”; “Keep the redirects for as long as possible, generally at least 1 year”, with the transfer of signals and of links from other sites; “From users’ perspective, consider keeping redirects indefinitely”; the Change of Address tool for moving to another domain or subdomain; testing with command line tools or scripts, and the mention of Screaming Frog; and “We frequently see people redirecting to the wrong (non-existent) URLs on the new site.”
  5. Google Crawling Infrastructure, “How HTTP status codes affect Google’s crawlers,” https://developers.google.com/crawling/docs/troubleshooting/http-status-codes, page last updated February 4, 2026. Accessed September 14, 2026. The old address, https://developers.google.com/search/docs/crawling-indexing/http-network-errors, redirects to this one. Passages: “By default, Google’s crawlers follow up to 10 redirect hops”; “307 (temporary redirect) Equivalent to 302” and “308 (moved permanently) Equivalent to 301”; “While Google treats these status codes the same way, keep in mind that they’re semantically different. Use the status code that’s appropriate for the redirect so other clients (for example, e-readers, other search engines) may benefit from it.”; and, for a URL that started returning 4xx, “Google systems will stop using the URL over time”.
  6. Vercel, “Static Configuration with vercel.json,” https://vercel.com/docs/project-configuration/vercel-json, page last updated August 14, 2026. Accessed September 14, 2026. Passages: the permanent field, “When true, the status code is 308”; “When trailingSlash: true, visiting a path that does not end with a forward slash will respond with a 308 status code and redirect to the path with a trailing slash”; and, for redirects, “the source property is case-sensitive so you don’t accidentally create duplicate content”. The page does not cover the order between slash normalization and the redirect lookup; that order is SEO Genome’s own measurement (note 1).
  7. Google Search Central, “How to specify a canonical URL with rel=“canonical” and other methods,” https://developers.google.com/search/docs/crawling-indexing/consolidate-duplicate-urls, page last updated July 10, 2026. Accessed September 14, 2026. Passages: “Redirects: A strong signal that the target of the redirect should become canonical”; “rel=“canonical” link annotations: A strong signal that the specified URL should become canonical”; “these methods can stack and thus become more effective when combined”; and “All permanent redirection methods have the same effect on Google Search, however the time it takes for search engines to notice the different redirect methods may differ.”
  8. SEO Genome measurement, HTTP headers read with curl on seogenome.com, our company site in Brazil. Accessed September 14, 2026. /br/o-dna-do-prompt-3-10 responds with a 308 to the slash version, which responds with a 301 to /seo-semantico/dna-do-prompt/prompt-mestre/; /GO/DNA-GPT/ responds with a 301; /Go/Dna-Gpt/ responds with a 404; www.seogenome.com/seo-tecnico/ responds with a 308 to https://seogenome.com/seo-tecnico/; and http://www.seogenome.com/br/o-dna-do-prompt-3-10 reaches the final page in four hops (a 308 for the protocol, a 308 for the slash, a 308 for the host, and a 301 for the address).
  9. Search Console Help, “Page indexing report,” https://support.google.com/webmasters/answer/7440203. Accessed September 14, 2026. “Page with redirect”: “This is a non-canonical URL that redirects to another page. As such, this URL will not be indexed.” “Redirect error”: “A redirect chain that was too long”, “A redirect loop”, “A redirect URL that eventually exceeded the max URL length”, and “A bad or empty URL in the redirect chain”.
  10. Search Console Help, “Change of Address tool,” https://support.google.com/webmasters/answer/9370220. Accessed September 14, 2026. Passages: “Maintain the redirects for at least 180 days”, and longer if traffic from Google Search is still reaching them; and, for moving between www and non-www on the same domain, “use canonical tagging and/or redirects without using the change of address tool”.

Want to see SEO Genome more often on Google? Add it as a preferred source.

Daniel Sócrates

Founder and CEO of SEO Genome

Author of AI Search Optimization. Writes about what the company applies in client work.

danielsocrates.com.br

Let us look at what the machine understands about your company

A diagnostic conversation, with no slide deck. You bring your website address. We bring what Google and the AI assistants already know about it today.

Talk to us on WhatsApp