301 or canonical for multiple homepage versions?
-
I used 301 redirects to point several versions of the homepage to www.site.com. i was just rereading moz's beginners guide to seo, and it uses that scenario as an example for rel canonical, not 301 redirects. Which is better? My understanding is that 301s remove all doubt of getting links to the wrong version and diluting link equity.
-
Looks like you found the solution below. Nice work!
-
In case this is helpful to anyone else reading this post, here is the code I am now using in the .htaccess, which seems to have eradicated the double redirect (thanks to help from phranque and lucy24 at webmasterworld):
RewriteEngine On
RewriteCond %{THE_REQUEST} ^[A-Z]{3,9}\ /([^/.]+/)*(index.html|default.asp)\ HTTP/
RewriteRule ^(([^/.]+/)*)(index|default) http://www.site.com/$1 [R=301,L]
RewriteCond %{HTTP_HOST} !^(www.site.com)?$ [NC]
RewriteRule (.*) http://www.site.com/$1 [R=301,L]
-
Cyrus - Thanks. A familiar face - I've seen it attached to many an article that I've read;)
While I have you here, maybe you can answer another question related to the situation that has me slightly nervous:
I've read warnings about creating a loop with a 301 redirect - and I keep being pointed to default.asp in Open Site Explorer (with the message that the url I entered - www.site.com- redirects to /default.asp) but any redirect checkers I've used don't show that. Would it be obvious if I didn't implement it correctly? It looks fine in the browser.
Would a rel canonical tag in addition to a 301 redirect be a good idea?
-
Hi Kimberly,
The rel="canonical" is a good option when you can't 301 a page. If you can 301 a page, such as /index.html or some other duplicate version, it's usually a better way to go. As you said, it removes all doubt about where to send visitors and link equity.
Both rel canonicals and 301s pass about the same amount of link equity (thought to be around 85%) so it's safe to use either.
Canonical tags are usually best when you have lots of parameters needed to render the page, like homepage?color=red&length=long&manu=apple. In this case it wouldn't make much sense to 301, and the rel canonical is easier to implement.
Hope this helps. Best of luck with your SEO.
-
Glad that was useful, Kimberly. Many times, folks just want a "when this happens, do that" kind of response, but usually in SEO there so many "it depends" aspects to an issue that it's vastly more useful to understand the Why, so you can work out the solution to the specific issue yourself. Sounds like you're that kind of person too.
That said - this discussion seems to be going round and round on you. If you want to PM me your site address, I can get a handle on your exact situation and try to explain exactly what's happening. I have my suspicions, but don't want to confuse the issue further with speculation.
Paul
-
Could the code I used explain why Open Site Explorer won't let me view link data for www.site.com, but shows me www.site.com/default.asp instead? And within that data it shows an incoming link from www.site.com as a 301 redirect. But when I check it in a browser or redirect checker, it shows www.site.com as the final destination. My head hurts.
Edit: (This is what OSE says "The URL you've entered redirects to another URL. We're showing results for www.site.com/default.asp since it is likely to have more accurate link metrics. See data for www.site.com instead?")
-
I don't have access to the control panel and the person who does never did the redirect when I asked so i just did it myself with .htaccess. So did you say I should change it to your code and that will handle everything, including the double redirect?
(Edited out a question that I figured out the answer to.)
-
So you are saying I should use the following exact code instead of the code I have:
RewriteEngine On
RewriteCond %{HTTP_HOST} !^www.domain.com$ [NC]
RewriteRule ^(.*)$ http://www.domain.com/$1 [R=301,L]And that will take care of the default.asp and index.html as well? And it won't redirect to the www in between, thus creating 2 redirects, correct?
If you don't mind explaining, what's the working difference between the first code I tried (below) and the above code that makes the above code work?
RewriteEngine On
RewriteCond %{HTTP_HOST} !^www..* [NC]
RewriteRule ^(.*) http://www.%{HTTP_HOST}/$1 [R=301,L] -
Yes that's classic asp
what sort of server is it on windows?
What sort of webserver IIS? if so what version, if it is 7 or greater it is very easy to do your redirects if you have access to the controlpanel
-
I didn't build the site, nor do I have anything to do with the hosting, but I do have FTP access. I can't remember how or why but I came to the conclusion that it's ASP Classic. Is there a quick way for me to double check? All the files end in .asp if that helps.
-
you are correct, it want do the index.html or default.asp
but this rule will solve all your domain problems, not the "!" mean not, so if not the desired domain, then redirect to the desired domain not matter what the domain is. this will fix non www, or any other secondary domain you may have such as oldDomain.com or mergedSite.com
Options +FollowSymLinks RewriteEngine On
RewriteCond %{HTTP_HOST} !^www.domain.com$ [NC]
RewriteRule ^(.*)$ http://www.domain.com/$1 [R=301,L]but if you have a page called default.asp. your site is a classic ASP site, ASP is a Microsoft technology and would be on a Microsoft web server IIS. if so 301 redirects are very easy to do.
Is your site ASP.is it on a Microsoft IIS server?
-
I would like to politely add (and first say that I do appreciate anyone's attempt at a helpful response) that it's a very delicate matter to be giving answers without 100% certainty or valid first-hand experience. At least we as a community should be careful to include somewhat of a disclaimer should our answers be anything less than certain. I, for one, do not want to steer anyone down a dangerous path. I do understand it's my responsibility to gauge the accuracy of an answer before I implement it. Think of the potential consequences to someone else if they implement bad/incorrect advice on a site - ouch!
-
Thank you Paul! Knowing the WHY behind something always solidifies my understanding of a concept. It does make me wonder why the cheat sheet linked by Sangeetac and Moz's Beginner's Guide to SEO both use that scenario as an example for a 301 redirect - it certainly adds to the confusion.
Alan - while we are on the subject...here is the code I used for the 301 redirect, which was my first ever using .htaccess. The problem is it redirects twice from certain starting points: first from site.com/default.asp to www.site.com/default.asp then to www.site.com/.
RewriteEngine On
RewriteCond %{THE_REQUEST} /index.html? [NC]
RewriteRule ^(./)?index.html?$ /$1 [R=301,L]
RewriteCond %{THE_REQUEST} /default.asp? [NC]
RewriteRule ^(./)?default.asp?$ /$1 [R=301,L]
RewriteCond %{HTTP_HOST} !^www..* [NC]
RewriteRule ^(.*) http://www.%{HTTP_HOST}/$1 [R=301,L]Initially I tried this (which I think is what you are suggesting?), but if I remember correctly, it wasn't taking care of default.asp or index.html (don't quote me on that):
RewriteEngine On
RewriteCond %{HTTP_HOST} !^www..* [NC]
RewriteRule ^(.*) http://www.%{HTTP_HOST}/$1 [R=301,L]
Thanks for helping me do things the right way!
-
Agree with Paul here.
A 301 is a directive to the crawler, while a canonical tag is only a hint and is not always followed. Bing for one will ignore canonical tags if it believes they are misused.
as for the mention of "multiple 301 redirect" .
You do not need to have a 301 redirect for every url, just follow the logic
if HTTP_Host is not myPreferredDomain then redirect to myPreferredDomain -
Sorry, I have to categorically disagree with Sangeetac here. Kimberley, your understanding is entirely correct.
There's so much misinformation and misunderstanding about canonicalization, and there doesn't really need to be.
The rel canonical tag is ONLY to be used when there is a justifiable reason why the multiple duplicate pages in question should actually be reachable via different URLs. Unless such a reason exists, you should ALWAYS use a 301 redirect.
Put another way, duplicate page issues should ALWAYS be resolved using 301 redirects unless doing so would harm the user experience.
In the case of multiple versions of a home page, there is absolutely NO BENEFIT to the user to be able to reach that page via multiple different URLs. (In fact the multiple URLs could be confusing.) Therefore, the 301 redirect should be used to FORCE the user (and search engine) to the single version the site owner has decided should be the primary URL. Again, the other URLs are pointless, so the user should be blocked from ever being able to reach them. Using the 301 in this case has the added benefit of explicitly and automatically telling the search engines that all the redirected URLs for that page should be dropped from the index as they are non-functional. (And that's exactly what happened, Kimberley, as you saw default.asp and index.htm disappear from the index.)
The ONLY time you'd use a rel canonical tag in this case, instead of a 301 redirect, is if for some reason the site owner doesn't have sufficient access to the sever files to be able to implement a 301 redirect properly. In that case, a rel canonical tag can be used as a "better than nothing" solution.
The classic example of when to use a rel canonical tag is in the case of a page that lists a large number of products. That default (and therefore canonical version) version of the page may very well list the products in the order they were added to inventory. There may well be additional versions of the page, each at a different URL (often using query parameters, for example) which lists exactly the same content, but one page sorted by size, another version sorted by colour, yet another sorted by price.
Obviously in this case, 301-redirecting those additional dupe pages to the original page would be harmful to the user experience, because the user would never be able to access the content sorted the way they want to see it. So each duplicate version of the page has value to the user and therefore MUST remain available to the user, and therefore to the search engine.
In this case, the site owner adds a rel canonical tag to each of the dupe pages pointing to the primary (canonical) version, to make it clear to the search engine that the dupe pages are intentional secondary variations that should pass all their ranking value back to the primary page. But NOTE! Google themselves say they consider the rel canonical tag as a suggestion only, and will ignore it if they deem it incorrect or manipulative. So it is NOT NEARLY as strong an indicator as a 301 redirect which forces both user and search engine into the desired behaviour.
Sorry if that got a little long-winded, but once we get clear on the basic purpose of 301 redirects vs rel canonical tags, it becomes much more straightforward which to use when. The confusion usually stems from folks trying to justify using canonical tags for purposes for which they were never designed. They are not a panacea or a catch-all for fixing site architecture mistakes.
Hope that clears, rather than muddies the waters?
Paul
-
And I just did a site operator search fror default.asp and index.htm and they are no longer in the index, though I never removed them after the 301 redirect. So I'm assuming Google did the math as expected.
-
Please excuse the typos - my iPad does not like complying
-
Thanks for the link to that cheat sheet, I had forgotten about that! I have to say, the contradictory information I find and receive regarding SEO can make learning feel counterproductive half the time. Last time I asked this question, I was told 301 redirects were the correct plan of action. Are they equally good so long as I remove the others from the index? I am still seeing default.asp in some report
-
if you have several versions of homepage, it is good to use rel='canonical' instead of 301. If you will use multiple 301 redirect then you have to make sure to remove these urls from google or bing webmaster's url removal tool. For more info about canonical tag, visit Moz's Developer cheat sheet.
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
-
Canonical URLs all show trailing slash on main site pages - using Yoast SEO for Wordpress - how to correct
We are using Yoast for a number of our sites. We use naked domain as the canonical. I have noticed in the header tags that all our sites show the canonical URLs as having a trailing slash: Example: http;//foxspizzajc.com, when I look at the source code, it shows the canonical as http;//foxspizzajc.com/ Of course, it is much more likely that all sites that link to us will not use the trailing slash - so preferably we do not want that to be the canonical - among other reasons. Does this need to be fixed so the trailing slash is removed? I cannot see how to do this in Yoast SEO or in Permalinks structure for Wordpress. Sorry for my ignorance. Thanks for any help.
Moz Pro | | Adam_RushHour_Marketing1 -
Multiple Countries, Same Language: Receiving Duplicate Page & Content Errors
Hello! I have a site that serves three English-speaking countries, and is using subfolders for each country version: United Kingdom: https://site.com/uk/ Canada: https://site.com/ca/ United States & other English-speaking countries: https://site.com/en/ The site displayed is dependent on where the user is located, and users can also change the country version by using a drop-down flag navigation element in the navigation bar. If a user switches versions using the flag, the first URL of the new language version includes a language parameter in the URL, like: https://site.com/uk/blog?language=en-gb In the Moz crawl diagnostics report, this site is getting dinged for lots of duplicate content because the crawler is finding both versions of each country's site, with and without the language parameter. However, the site has rel="canonical" tags set up on both URL versions and none of the URLs containing the "?language=" parameter are getting indexed. So...my questions: 1. Are the Duplicate Title and Content errors found by the Moz crawl diagnostic really an issue? 2. If they are, how can I best clean this up? Additional notes: the site currently has no sitemaps (XML or HTML), and is not yet using the hreflang tag. I intend to create sitemaps for each country version, like: .com/en/sitemap.xml .com/ca/sitemap.xml .com/uk/sitemap.xml I thought about putting a 'nofollow' tag on the flag navigation element, but since no sitemaps are in place I didn't want to accidentally cut off crawler access to alternate versions. Thanks for your help!
Moz Pro | | Allie_Williams0 -
Can relative links PLUS multiple hompage versions spell disaster?
I still see internal links to default.asp from every other .asp page even though I have updated most of the relative /default.asp links to www.site.com since I 301 redirected it. I am seeing this in Open Site Explorer for one. (I'm sure my lack of understanding has to do with not quite getting the purpose of default.asp.) Anyways, I am wondering if all the relative links throughout the site pointing to other .asp pages need to be updated to absolute links (so www.site.com/page.asp instead of /page.asp) for me to avoid this problem. Does one even have anything to do with the other?
Moz Pro | | kimmiedawn0 -
On Link Analysis tab I my best pages are 301 and 404 pages.
I looked on my redirrect file and found that /* redirects to /v/404.asp.
Moz Pro | | sbetzen
However if you look below at the link analysis the 404 page is getting a 404 error.
The homepage ecowindchimes.com/ is getting a 301 (but I don't know where it is going to).
The third one is also redirected. 1. [No Data] ecowindchimes.com/ ||| 301 ||| 2 ||| 36 2. 2. [No Data] ecowindchimes.com/v/404.asp ||| 404 ||| 2 ||| 34 3. [No Data] 3. ecowindchimes.com/index.html?lang=en-us&target=d2.html ||| 301 ||| 1 ||| 33 So I have 2 questions: 1) should this be fixed? and 2) how? This is a volusion site and I believe the "catchall" redirect was done by them0 -
Crawl diagnostic Notices for rel Canonical increased
Hello, We just signed up for SEO Moz, and are reviewing the results of our second web crawl. Our Errors and Warnings summary have been reduced, but our Notices for Rel Canonical have skyrocketed from 300 to over 5,500. We are using a WP with the Headway theme and our pages already have the rel=canonical along wiht rel=author. Any ideas why this number would go up so much in one week? Thank you, Michael
Moz Pro | | MKaloud0 -
'Appropriate Use of Rel Canonical', Critical Factor but appears correct on page
Hi, Trying to get the following page ranked unsuccessfully.... http://www.joules.com/en-GB/2/Collections-Quilted-Jackets/c01c02.r16.1 Instead a product page is being ranked, shown below.... http://www.joules.com/en-GB/Womens-Quilted-Jacket/Navy/M_HAMPTON/ProductDetail.raction When I run the on page report card it advises that the Rel Canonical tag needs to point to that page, but we have checked and it looks to be doing that already. Has anyone else had an issue like this? Thanks, Martin
Moz Pro | | rockethot0 -
Duplicate content & canonicals
Hi, Working on a website for a company that works in different european countries. The setup is like this: www.website.eu/nl
Moz Pro | | nvs.nim
www.website.eu/be
www.website.eu/fr
... You see that every country has it's own subdir, but NL & BE share the same language, dutch... The copywriter wrote some unique content for NL and for BE, but it isn't possible to write unique for every product detail page because it's pretty technical stuff that goes into those pages. Now we want to add canonical tags to those identical product pages. Do we point the canonical on the /be products to /nl products or visa versa? Other question regarding SEOmoz: If we add canonical tags to x-pages, do they still appear in the Crawl Errors "duplicate page content", or do we have to do our own math and just do "duplicate page content" minus "Rel canonical" ?0 -
We were unable to grade that page. We received a response code of 301\. URL content not parseable
I am using seomoz webapp tool for my SEO on my site. I have run into this issue. Please see the attached file as it has the screen scrape of the error. I am running an on page scan from seomoz for the following url: http://www.racquetsource.com/squash-racquets-s/95.htm When I run the scan I receive the following error: We were unable to grade that page. We received a response code of 301. URL content not parseable. This page had worked previously. I have tried to verify my 301 redirects and am unable to resolve this error. I can perform other on page scans and they work fine. Is this a known problem with this tool? I have verified ensuring I don't have it defined. Any help would be appreciated.
Moz Pro | | GeoffBatterham0