301, 302 and Redirect Chains: How Redirects Affect Crawling and Rankings
A redirect sends users and search engines from an old URL to a new one. For SEO, use a 301 or 308 for permanent moves, which Google treats as a strong signal to index the new URL. Use a 302 or 307 for temporary ones. Redirects do not lose PageRank, but chains, loops and irrelevant targets cost crawling and rankings.
What are redirects in SEO?
A redirect is a server reply that says “this page now lives somewhere else”. The browser or crawler then asks for the new address. In SEO, the redirect also tells Google which URL to index and where to send the signals the old URL earned.
Here is the simplest case. You rename a service page from /seo-dubai/ to /seo-services/. A visitor or Googlebot asks for the old URL. The server answers with a 301 status and a Location header that points to /seo-services/. The visitor lands on the new page and never sees the old one.
That one exchange affects three stages of search. It changes what Google crawls, which URL it picks as the canonical, and which page ranks. If you want the full picture of those stages, our guide to how search engines crawl, index and rank content walks through each one.
You need redirects when a URL changes for good or for a short time. Common reasons include:
- Changing a URL or merging two pages into one
- Moving from HTTP to HTTPS, or from www to non-www
- Moving to a new domain, such as a .ae site joining a .com site
- Sending a seasonal URL to this year’s campaign page for a few weeks
301, 302, 307 and 308: what each code tells Google and browsers
The four codes split into two pairs: 301 and 308 mean a permanent move, while 302 and 307 mean a temporary one. Google treats a permanent redirect as a strong signal to index the new URL, and a temporary one as a weak signal.
Google’s HTTP status codes documentation states this plainly. A 301 or 308 is a strong signal that the redirect target should be processed. A 302 or 307 is only a weak signal. Google treats a 308 the same as a 301 and a 307 the same as a 302.
Other clients, such as browsers and other crawlers, may not treat them the same way. So pick the code that matches what you actually mean.

The second difference is the request method. RFC 9110, the standard that defines HTTP, allows a client to turn a POST into a GET after a 301 or 302. A 307 or 308 does not allow that change, so POST stays POST. This matters for forms, checkout steps and APIs. A form that posts to a moved URL behind a 301 may not reach the new URL as it was sent.
|
Code |
Permanent or temporary |
Google signal |
Request method |
Typical use |
|
301 |
Permanent |
Strong |
POST may become GET |
Changed URLs, merged pages, HTTPS, new domain |
|
308 |
Permanent |
Strong |
Method kept |
Permanent move of a form or API endpoint |
|
302 |
Temporary |
Weak |
POST may become GET |
Short campaigns, short tests, a page that will come back |
|
307 |
Temporary |
Weak |
Method kept |
Temporary move of a form or API endpoint |
Caching is the third difference. Shopify’s help page on URL redirects says that browsers and search engines cache 301s. That means a wrong 301 can stick in a visitor’s browser after you fix it on the server. Test a permanent redirect before you ship it, not after.
Should you use a 301 or a 308?
For normal pages, both work the same in Google. A 301 is the safe default because every tool and platform supports it. Use a 308 when the method must stay the same, for example a form endpoint that moved for good.
Do redirects lose PageRank? What Google has actually said
No. Google said in 2016 that 3xx redirects no longer lose PageRank. The “90 to 99%” figure that some pages still repeat, including a Google AI Overview seen in November 2026, is out of date.
The statement came from Gary Illyes at Google. Search Engine Roundtable reported his July 2016 tweet saying 30x redirects “don’t lose PageRank anymore”. The statement covered 3xx redirects in general.
So why do rankings sometimes drop after redirects go live? The cause is usually a decision made around the redirect, not the redirect itself. Look for these first:
- Irrelevant targets. Google’s site move guide warns that sending many old URLs to one irrelevant page, such as the homepage, may be treated as a soft 404. The old page’s value then goes nowhere.
- Long chains. Each extra hop is one more request, and Google may stop following before the end. More on hop limits below.
- Leftover internal links. Menus, footers and old blog posts still point to the old URL. Google keeps crawling redirects instead of the real page, and your own links send mixed signals.
- Wrong type. A 302 left on a permanent move is a weak signal. Google may keep the old URL as the canonical for longer than you want.
- Content changes. If the new page covers less than the old one, it may rank for less. That is a content problem, not a redirect problem.
Most ranking losses after a redirect project trace back to one of these five causes.
Redirects as a canonical signal
A redirect is one of several signals Google uses to choose the canonical URL. Google’s Redirects and Google Search page says a permanent redirect signals that the target should be canonical. It works best when your other signals agree with it.
Google weighs a group of signals together. In practice these include redirects, rel=canonical tags, internal links, hreflang and XML sitemaps. When they all point to the same URL, Google usually picks it. When they disagree, Google picks for you, and it may not pick the page you want.
Here is a common conflict. Page A redirects to page B. But page B has a canonical tag pointing back to page A. The sitemap still lists page A, and the main menu still links to it. Google now has four signals pulling two ways. The fix is simple: point everything at page B.
Our guide to how Google chooses a canonical URL covers what to do when Google ignores your choice.
Redirect or canonical tag?
Use a redirect when users should no longer see the old URL. Use a canonical tag when both URLs must stay live for users. A good example is a product page reached through a filter or tracking parameter. Both versions are useful to people, so you keep both and tell Google which one to index.
A redirect is the stronger of the two. It moves the user as well as the signals. A canonical tag is a hint that Google can override.
When to use a 301, a 302, a canonical, a 404/410 or nothing
Ask two questions: is the change permanent, and is there a page that truly replaces the old one? If there is no real replacement, a redirect is the wrong tool.
|
Situation |
Best response |
Why |
|
You merged two similar blog posts into one |
301 to the merged post |
Same topic, permanent change |
|
You moved from HTTP to HTTPS |
301 or 308, site wide |
Permanent, page to page |
|
You rebranded and moved from .ae to .com |
301 each URL to its match |
Permanent, page to page |
|
A Ramadan or DSF URL shows this year’s offer for a few weeks |
302, or keep one URL and update it |
Temporary move |
|
A product is discontinued and a close replacement exists |
301 to the replacement |
The new product serves the same need |
|
A product or page is gone with no replacement |
404 or 410 |
A redirect to an unrelated page may be seen as a soft 404 |
|
Two URLs show the same content and both must stay live |
Canonical tag |
Users still need both URLs |
|
An old URL gets no links and no traffic |
Nothing, let it 404 |
Not every old URL needs a redirect |
The product rows and the merged post row have more options than a table can hold. Here we cover only the redirect part of those decisions.
The Ramadan and DSF row is worth a second look. Some sites create a new campaign URL every year, then redirect the old campaign pages in a chain. Keeping one evergreen URL and updating its content each season is often cleaner.
Redirect chains and loops: hop limits and crawl cost
A redirect chain is a series of redirects between the first URL and the final page. A loop is a chain that points back to itself and never ends. Google follows up to 10 hops, but advises 3 or fewer and never 5 or more.
We aim for a single hop. Here are the numbers from Google’s own pages:
- Google’s crawlers follow up to 10 redirect hops by default, according to the HTTP status codes documentation.
- The site move guide says to redirect straight to the final destination, ideally in 3 hops or fewer and never in 5 or more.
- John Mueller of Google advised fewer than 5 hops for URLs that are crawled often, as Search Engine Journal reported in 2020.
How chains form
Chains rarely come from one bad choice. They build up over the years, one rule at a time. A typical UAE site might look like this:
- http://example.ae/services sends a 301 to https://example.ae/services
- That sends a 301 to https://www.example.ae/services
- That sends a 301 to https://www.example.ae/services/ with a trailing slash
- That sends a 301 to https://www.example.com/en/services/ after a domain move
Each rule made sense when someone added it. Together they create four hops for one page.

The fix is to collapse the chain. Point every old URL straight to the final URL in one hop. Then update internal links, canonical tags and the sitemap to use the final URL, so Google rarely meets the redirect at all.
The crawl cost
Every hop is a separate request that Googlebot has to make. On a small site this barely matters. On a large shop with thousands of filter and product URLs, wasted requests add up. Our guides to crawl budget and how Googlebot decides what to crawl explain when that becomes a real limit.
Loops are worse than chains. A loop never reaches a page, so Google cannot index anything. Users see a “too many redirects” error in their browser. Loops often appear when two rules fight, such as a plugin forcing a trailing slash while the server removes it.
Server-side vs meta refresh vs JavaScript redirects
Use server-side redirects whenever you can. Google’s Redirects and Google Search page ranks redirect types by how reliably Google reads them. Server-side 301 and 308 redirects come first, then meta refresh, then JavaScript.

A server-side redirect happens before any page content loads. The server sends the status code and the new address in the response header. That is the cleanest signal you can give.
A meta refresh is a tag inside the page that tells the browser to move. According to the same Google page, an instant meta refresh is read as permanent and a delayed one as temporary. A JavaScript redirect is the least reliable option, because Google has to render the page before it can see it. Google advises using JavaScript redirects only when server-side or meta refresh redirects are not possible.
Examples by server
On Apache, the mod_alias documentation shows a permanent redirect written as one line: Redirect permanent “/one” “http://example.com/two”. The word permanent returns a 301 status.
On Nginx, the rewrite module documentation uses the return directive, written as return code URL. It accepts a redirect URL for the codes 301, 302, 303, 307 and 308. The same page says that very old Nginx versions did not treat 307 or 308 as redirects.
On Cloudflare, redirects can run at the edge before a request reaches your server. Cloudflare’s URL forwarding documentation lists Single Redirects for one domain and Bulk Redirects for large lists across domains. Bulk Redirects are static and do not support regex.
Keep redirect rules in one place where you can. When the CDN, the server and a CMS plugin all add rules, chains and loops become far more likely.
Redirects on WordPress, Shopify and WooCommerce
Many UAE business sites run on WordPress, WooCommerce or Shopify. Each one handles redirects in its own way, and each has a trap worth knowing.
WordPress and WooCommerce
WordPress sites often manage redirects with a plugin such as Redirection, Rank Math or Yoast SEO Premium. That works well, but plugin redirects run after WordPress loads. Server or CDN redirects usually run earlier.
The main risk is overlap. A plugin rule, a server rule and a hosting rule can all touch the same URL. Pick one place for each type of rule. Also take care when you change WooCommerce permalink settings, because that can change many product and category URLs at once.
Shopify
Shopify’s URL redirect rules catch many store owners out:
- You can only redirect from a broken URL that returns a 404. If the old page still exists, the redirect will not fire.
- The /products, /collections and /collections/all paths cannot be redirected.
- A store can hold up to 100,000 redirects, or 20,000,000 on Shopify Plus.
- Redirects do not apply to every Markets subfolder automatically. Each subfolder needs its own redirects.
That last rule matters for GCC stores. If you sell through subfolders such as /en-ae/ and /ar-ae/, check that each one has its redirects. Otherwise the main store redirects work while the UAE versions return 404s. If you run Markets, our Shopify SEO services team can check this for you.
Redirects on bilingual and GCC sites
Bilingual sites need redirects that respect language. Each Arabic URL should redirect to its new Arabic URL, and each English URL to its new English URL. Never send /ar/ pages to /en/ pages, and avoid forcing visitors to a version based on their IP address.
Keep /ar/ and /en/ pairs intact
Redirecting an Arabic page to an English page tells Google they are the same page. They are not. You lose the Arabic page from Arabic results, and your hreflang pairs break. When a page moves, move both language versions and update the hreflang tags on both.
Arabic slugs and regex rules
Arabic slugs travel as percent-encoded text. A slug in Arabic letters reaches the server as a long string of % codes. A regex rule written with Arabic letters may not match the encoded form, or the reverse. Test every Arabic redirect with a real request, not just by reading the rule.
IP-based geo redirects
Some GCC sites send visitors to a country version based on their IP address. Google’s page on locale-adaptive pages says Googlebot’s default IP addresses appear to be based in the USA. It also says that Googlebot crawls without setting an Accept-Language header.
So a forced geo redirect can hide your UAE or Saudi pages from Google. Google recommends separate locale URLs with hreflang instead. A banner that suggests the local version is a safer choice than a forced redirect.
Moving a .ae domain to a .com
Consolidating a .ae site into a .com is common after a rebrand or GCC expansion. Redirect each .ae URL to its matching .com URL, page by page. Sending the whole .ae domain to the .com homepage risks the soft 404 problem described above. A full domain move needs a migration plan beyond redirects, and our international and multilingual SEO team can help plan one for a GCC site.
Reading Page with redirect and Redirect error in Search Console
“Page with redirect” is normal and usually needs no action. “Redirect error” is a real problem that you should fix. Both appear in the Page indexing report in Google Search Console.
According to Google’s Page indexing report help, “Page with redirect” means the URL is not canonical and redirects to another URL. Google does not index it because the target is the page that should be indexed. If you redirected those URLs on purpose, the report is doing its job.
We would act on “Page with redirect” in two cases. The first is when a URL you want indexed appears in the list. That means something is redirecting it by mistake. The second is when the count keeps growing because internal links or the sitemap still point at redirected URLs.
“Redirect error” means Google hit a problem following the redirect. The help page gives examples such as a chain that was too long or a redirect loop. Google suggests a debugging tool such as Lighthouse to trace it. Collapse the chain or break the loop, then use Validate fix in the report.
How to audit redirects in 15 minutes
You can check the most important redirects on a site in about 15 minutes with free or common tools. Test your key URLs by hand, crawl the site for chains and loops, and compare the results with Search Console.
- Check single URLs with curl. Run curl -I followed by the old URL. The reply shows the status line, such as HTTP/2 301, and a location line such as location: https://www.example.com/new-page/. Run it on the target too, until you reach a 200.
- Check in the browser. A browser extension such as Redirect Path shows every hop and its status code as you load a page.
- Crawl the site. Run Screaming Frog SEO Spider over the site and open its redirect chain report. Sort by the number of hops and fix the longest chains first.
- Check Search Console. Open the Page indexing report and look at Redirect error and Page with redirect, as described above.
- Clean up your own signals. Update internal links to point at final URLs. Remove redirected URLs from your XML sitemap so it lists only pages that return 200.
Test the variants
Test all four versions of your homepage and a few key pages. Try http and https, with and without www. Each one should reach the final URL in a single hop. This is where most chains hide.
How long to keep redirects
Keep them as long as you can. Google’s site move guide says to keep redirects for as long as possible, generally at least 1 year. Leave them in place longer if the old URLs still have backlinks or traffic.
A redirect costs almost nothing to keep. Removing it too early can turn old backlinks into 404s and waste the value they carry.
If you want a second pair of eyes, our technical SEO services include a review of redirect chains, loops and Search Console redirect statuses as part of a technical SEO audit.
FAQ
No, a 302 is fine when the move really is temporary. Google treats it as a weak signal, so it may keep the old URL indexed. The problem comes when a 302 is left on a permanent move. In that case, switch it to a 301.
For normal pages, both work the same way in Google, which treats a 308 like a 301. A 301 is the safe default because every platform supports it. Use a 308 when the request method must stay the same, such as a form or API endpoint.
Users are redirected as soon as the rule is live. Google sees the redirect the next time it crawls the old URL, then it has to process the change. There is no fixed timeline, and pages Google crawls often tend to update sooner.
The number of redirects on a site is not a problem in itself. Long chains and loops are the problem. Google follows up to 10 hops, but it advises 3 or fewer and never 5 or more. One hop is best.
Run curl -I followed by the URL, and read the status line in the reply. You can also use a browser extension such as Redirect Path, or a crawler such as Screaming Frog. Each one shows the status code for every hop.
No. Google may treat many URLs redirected to one irrelevant page, such as the homepage, as soft 404s. Redirect a page only to a close replacement, and let it return a 404 or 410 when no replacement exists.
Google advises keeping redirects for as long as possible, generally at least one year. Keep them longer if the old URLs still have backlinks or visits. A redirect is cheap to keep and costly to remove too soon.
Use a redirect when users should no longer reach the old URL. Use a canonical tag when both URLs must stay live, such as filtered or tracked versions of the same page. A redirect is a stronger signal, while a canonical tag is a hint Google can override.
Sources
- Google Search Central: How HTTP status codes, and network and DNS errors affect Google’s crawlers
- Google Search Central: Redirects and Google Search
- Google Search Central: Site moves with URL changes
- Google Search Central: Locale-adaptive pages
- Google Search Console Help: Page indexing report
- Search Engine Roundtable: Google says 30x redirects don’t lose PageRank
- Search Engine Journal: John Mueller recommends fewer than 5 hops per redirect chain
- IETF RFC 9110: HTTP Semantics
- Shopify Help Center: URL redirects
- Apache HTTP Server: mod_alias
- Nginx: ngx_http_rewrite_module
- Cloudflare: URL forwarding
