Redirection in two phases
-
Hi,
One of my client want a website revamp in two phases.
The first phase would be to move the CMS from Sharepoint to Drupal keeping the same content and URLs but the page extension will change (it could become php or just the name of the page without any extension)
The second phase will be a content revamp with URL change.
The first phase will last 3 weeks and then we will push the second phase with the new content and the new URL.
Some shortcuts to make it a more readable:
- old url = OURL
- old url with new extension = OURLEX
- new URL = NURL
My problem is how can I manage the redirections. Should I:
- Phase 1: create one rule that will redirect all the OURL to the OURLEX
- Phase 2: keep the rule I created in phase 1 and add rules for OURLEX to NURL
Or
- Phase 1: create one rule that will redirect all the OURL to the OURLEX
- Phase 2: keep the rule I created in phase 1 and add redirect OURL to NURL
Or
- Phase 1: create one rule that will redirect all the OURL to the OURLEX
- Phase 2: remove the rule I created in phase 1 and add redirect OURL to NURL
Or
- Phase 1: create a rules for each OURL that will redirect all the pages to OURLEX
- Phase 2: remove the rules I created in phase 1 and redirect the OURL to NURL
Or
- Phase 1: create a rules for each OURL that will redirect all the pages to the OURLEX
- Phase 2: keep the rules I created in phase 1 and add rules to redirect the OURLEX to the NURL
Or
- something else you think is better
Difficult to explain, let me know if it's understandable.
Thanks for you help!
GaB
-
Hi Sha,
I'm changing all the file names and we do have a DB behind the site infrastructure (Drupal) but no unique ID so I guess we'll have to do many rules.
Thanks for your help Sha.
-
Hi GaB,
Sorry, I missed your reference to the URL changes in the original question.
It will depend on exactly what the changes are as to how many Rules will be needed to create the 301 redirects.
If you are retaining file names, but moving whole directories to a new location, then this can be achieved with a single Rule.For example, to 301 Redirect all filenames in Useless Folder 1 to the identical filenames in Relevant Folder 2 can be achieved with a single Rule.
For URLs where the actual filenames will change, or where only some files are relocated you would need to implement individual Rules for each URL.
However, if your site is large, there is another alternative, provided that your URL structure supports it. That would be the use of Database Rewrites to implement the 301 redirects as URL's are requested from the server.
There are some requirements for this to be a viable option:
- There must be a Database behind your site infrastructure
- There must be some identifier in the URLs that will remain constant with the change in site structure. Most commonly this would be a unique product ID number or product name
Basically what happens with Database Rewrites is that when the server receives a request for a URL, the identifier is matched against those in the Database and when the match is found the 301 Redirect is written and the new URL served.
For very large sites Database Rewrites would be the most suitable solution as very long lists of Rules in the .htaccess will eventually impact processing and load times.
Hope that helps,
Sha
-
Thanks Sha,
You are right, I will do a rewrite for phase 1 but for phase 2 I will need a lot of rewrite rules because the URL structure will change since I optimize it (removing useless folder, adding keywords, etc...) for pretty much every pages.
I don't think I have a choice here.
-
GaB, go with Sha's answer. It is a superior solution to my suggestion. I had a bit of tunnel vision and the rewrite idea did not come to mind.
-
Hi GaB,
I would suggest a completely different solution.
I would not use 301 Redirects for the Phase 1 change. Rather, I would use a Rewrite Rule to serve the file with the new extension. The Rewrite Rule is basically telling the server to serve OURLEX when a request is made for OURL. The nett result of this is that as far as the Search Engine is concerned, nothing changes.
Here is a Code example which will serve the .php when the .aspx is requested:
RewriteEngine on
RewriteBase /
RewriteRule ^(.*).aspx$ $1.php [L]Then, when Phase 2 is complete, I would implement the 301 redirects using a single Rule once again to permanently redirect all OURL's to NURL's. So, the solution I would recommend is the last one on your list.
Option 6 - Something else I think is better:
- Phase 1: Use Rewrite Rule to satisfy all requests for the OURL by serving the OURLEX
- Phase 2: create one rule that will 301 redirect all the OURL to the NURL
It is best to keep in mind that a 301 redirect should only be used when you intend the redirect to be permanent. Also while Google's stated position is that googlebot will follow multiple 301 redirects, it has also said that "daisy chaining" them is not generally a good practice. There are two reasons for this:
- Google's Matt Cutts has indicated that "at some point we will stop following them if there are a lot of them"
Should you happen to have other domains that are already 301'd to the site, the daisy chain effect is amplified. - As Ryan mentioned, the small amount of link juice that is lost with a 301 Redirect does accumulate over multiple redirects and can have a negative impact.
Hope that helps,
Sha
-
You are absolutely correct. I failed to mentioned a 3rd step required for that solution:
one rule to redirect all OURLEX to NURL
-
Thanks for your answer.
I'm trying to push a one phase approach but since I'm not sure we will be allowed to do it I prefer to have a back-up plan.
With the methode you mention woudn't it be a problem if the robot index the temporary OURLEX during the 3 weeks (my redirections will all be 301)?
-
Generally speaking, I would not recommend this two phase approach but instead completing the work in a single phase. I'll set that idea aside and presume the two-phased approach is a requirement.
the same content and URLs but the page extension will change (it could become php or just the name of the page without any extension)
I would strongly recommend using the page name without any extension. It not only looks better but it will save you work and benefit your SEO the next time you change systems.
The approach I would recommend is your 3rd option:
- Phase 1: create one rule that will redirect all the OURL to the OURLEX
- Phase 2: remove the rule I created in phase 1 and add redirect OURL to NURL
You want to redirect your site with as few rules as possible to minimize the effort, reduce errors, and minimize server overhead. Additionally, you want to redirect pages with a single redirect. It is a bad practice to allow pages to endure multiple redirects as you will lose a lot of link juice.
Got a burning SEO question?
Subscribe to Moz Pro to gain full access to Q&A, answer questions, and ask your own.
Browse Questions
Explore more categories
-
Moz Tools
Chat with the community about the Moz tools.
-
SEO Tactics
Discuss the SEO process with fellow marketers
-
Community
Discuss industry events, jobs, and news!
-
Digital Marketing
Chat about tactics outside of SEO
-
Research & Trends
Dive into research and trends in the search industry.
-
Support
Connect on product support and feature requests.
Related Questions
-
301 redirect syntax for htaccess
I'm working on some htaccess redirects for a few stray pages and have come across a few different varieties of 301s that are confusing me a bit....Most sources suggest: Redirect 301 /pageA.html http://www.site.com/pageB.html or using some combination of: RewriteRule + RewriteCond + RegEx I've also found examples of: RedirectPermanent /pageA.html http://www.site.com/pageB.html I'm confused because our current htaccess file has quite a few (working) redirects that look like this: Redirect permanent /pageA.html http://www.site.com/pageB.html This syntax seems to work, but I'm yet to find another Redirect permanent in the wild, only examples of Redirect 301 or RedirectPermanent Is there any difference between these? Would I benefit at all from replacing Redirect permanent with Redirect 301?
Technical SEO | | SamKlep1 -
Missing 301 redirects
I just had a developer friend call me in a panic, because they had gone live with a new site and found out (the hard way) that they had missed some pages on their 301 redirects. So the pages are appearing in Google but serving 404s. Ouch! So their question was: other than running a report for 404 errors in something like Screaming Frog, is there a way to hunt down ONLY pages serving 404s, then export to CSV so they can be redirected? Anyone got any tricks up their sleeve?
Technical SEO | | muzzmoz0 -
301 redirects delay in picking up
Hi I have been involved in the redesign/development of a website which has up until now had a lot of international traffic. On day of migration I uploaded all the 301 redirects to the website (wordpress) using Simple 301 redirect plugin. I tested a number of them and they appeared to be working. I also submitted the new sitemaps to Search Console. Since migration international traffic - particularly from countries such as india, Phillipines, Sri Lanka etc have significantly dropped off whereas the local traffic and some of the international traffic such as USA has remained fairly consistent. Looking at Analytics and entrances recently it appears as though search results are/were showing a number of pages with 404's (one in particular which received significant traffic and for which I had created a 301 redirection) - I have checked this page using the old url and it re-directs correctly for me and today asked a colleague in India to also check - he is getting the redirection fine. Does Google.in take a significantly longer time to pick these up in search results? Or am I missing something?
Technical SEO | | musthavemarketing0 -
How to set up redirects with a company takeover
Hi there, We are about to take over a player in the market with some good DA en PA's. We choose to redirect all the pages from the domain we take over to our main domain for now, later we want to redirect all categories to relevant and similar categories on our own domain. The company we take over is using a server which will be cancelled in a while. For now we set up the 301 redirect(s) on their server we take over. Because of the extra costs we will cancel the server in a few weeks/months. What is a common way to keep 301 redirects alive after cancelling the server of company we take over? I hope someone can give me the help I need in this one. Thanks in advance! Cheers,
Technical SEO | | MarcelMoz
Marcel0 -
How best to fix 301 redirect problems
Hi all Wondering if anyone could help out with this one. Roger Bot crawler has just performed it's weekly error crawl on my site and I appear to have 18,613 temp redirect problems!! Rather, the same 1 problem 18,613 times. My site is a magento store and the errors it is giving me is due to the wishlist feature on the site. For example, it is trying to crawl links such as index.php/wishlist/index/add/product/29416/form_key/DBDSNAJOfP2YGgfW (which would normally add the item to one's wishlist). However, because Roger isn't logged into the website it means that all these requests are being sent to the login url with the page title of Please Enable Cookies. Would the best way to fix this be to enable wishlists for guests? I would rather not do that but cannot think of another way of fixing it. Any other Magento people come across this issue? Thanks, Carl
Technical SEO | | daedriccarl0 -
Using 302 redirect for SEO
Hello, I'm in charge of SEO for an information website on which articles are only accessible if you have a login and password. Most of the natural links we get point to our subscribers' subomain : subscribers.mywebsite.com/article1 If they follow these natural links, visitors who are not logged get redirected (302) to www.mywebsite.com/article1 on which there is an extract of the article and they can request a free test subscription to read the end of the article. My goal is to optimize SEO for the www.mywebsite.com/article1 page. Does this page benefit from the links I get to the subscribers.mywebsite.com/article1 page or are theses links lost in terms of SEO? Thanks for your help, Sylvain
Technical SEO | | Syl200 -
Https redirect when certificate expired
Hi, How do we 301 an https version of a domain to a page on another website when the security certificate has run out? We have 301 redirected the http version but IT stuck on how to do the expired https. Thanks
Technical SEO | | Houses0 -
Query String Redirection
In PHP, I'm wanting to store a session variable based upon a link that's clicked. I'm wanting to avoid query strings on pages that have content. My current workaround is to have a link with query strings to a php file that does nothing but snags the variables via $_GET, stores them into $_SESSION, and then redirects. For example, consider this script, that I have set up to force to a mobile version. Accessed via something like a href="forcemobile.php?url=(the current filename)" session_start(); //Location of vertstudios file on your localhost. Include trailing slash $loc = "http://localhost/web/vertstudios/"; //If GET variable not defined, this page is being accessed directly. //In that case, force to 404 page. Same case for if mobile session variable //not defined. if(!(isset($_GET["url"]) && isset($_SESSION["mobile"]))){ header("Location: http://www.vertstudios.com/404.php"); exit(); } //Snag the URL $url = $_GET["url"]; //Set the mobile session to true, and redirect to specified URL $_SESSION["mobile"] = true;header("Location: " . $loc . $url); ?> Will this circumvent the issue caused by using query strings?
Technical SEO | | JoeQuery0