Hreflang tags with link to redirect loop
-
Hi guys,
I'm having a bit of an issue on a client site that I'm hoping someone can help me with. Basically, the client has two domains, one serving users in the Republic of Ireland (http://www.americanholidays.com), showing Euro prices, and the other serving users in Northern Ireland (http://www.americanholidays.com/gb_en/) showing £ prices.
The issue I'm having is that the URL for the Northern Ireland page has a 302 on it and goes through another 2/3 301 redirects until it resolves as http://www.americanholidays.com, however it does then show the £ prices. You can see the redirect chain here: http://tools.seobook.com/server-header-checker/?page=single&url=http%3A%2F%2Fwww.americanholidays.com%2Fgb_en%2F&useragent=1&typeProtocol=11
The homepage is using the Hreflang tag, and pointing search engines to serve the http://www.americanholidays.com/gb_en/ page to users using EN-GB as their language. The page is also using a self-referencing canonical, which I believe may negate the whole Hreflang tag anyway?
My main question is - is the fact that the Hreflang for the gb_en page is pointing to a chain of redirects negatively affecting it? (I understand too many redirects are never good). Also, is the canonical negating the Hreflang?
Any help/info would be great as I just can't get my head around it!
Thanks guys
Daniel
-
Hi Aleyda,
Thanks so much for your in-depth answer! You have confirmed what I suspected is the case.
I've been working with dev to try and get this issue fixed, and hopefully it will be soon!
Thank you again.
Daniel
-
Hi there,
The hreflang annotation along the canonical tags are correctly implemented on the page, the issue you have is regarding the redirects... and it's a big issue since your UK page is not even indexed because of it.
So, to clarify, this is the logic that you should follow with hreflang annotations across canonicals, your configuration says:
When on www.americanholidays.com:
With rel="canonical" href="http://www.americanholidays.com/" /> that the original version is itself, which is ok.
With rel="alternate" hreflang="en-ie" href="http://www.americanholidays.com/" /> that this page is targeted to English speakers in the Republic of Ireland.
With rel="alternate" hreflang="en-gb" href="http://www.americanholidays.com/gb_en/" /> that this is the alternative version of the page targeted to English speakers in the UK.This is all ok! It should be the other way around for the UK version... when on http://www.americanholidays.com/gb_en/ it should be:
With <link <span class="html-tag">rel</link <span>="canonical" href="http://www.americanholidays.com/gb_en/" /> that the original version is itself, which is ok.
With <link < span="">rel="alternate" hreflang="en-ie" href="http://www.americanholidays.com/" /> that this page is the alternate targeted to English speakers in the Republic of Ireland.
With <link <span class="html-tag">rel</link <span>="alternate" hreflang="en-gb" href="http://www.americanholidays.com/gb_en/" /> that this is the page targeted to English speakers in the UK. </link <>Unfortunately I cannot check what you have in the UK version of the page because of the mix of 302s and 301s redirects that you have towards the Irish version, which are causing that it doesn't even get indexed on Google:
Eliminate the redirects -each page should be accessible on its own... and if you want at some point refer Irish users that might end-up going to the UK version or viceversa, what you should do is IP detection and show a little banner recommending that there's a better option for that country but not automatically redirects anywhere-. If you do this and the proper hreflang annotation configuration in all of the pages along with a geotargeting of the /gb_en/ directory in the Google Search Console to the UK (https://support.google.com/webmasters/answer/62399?hl=en) you should have an ok working international Web configuration.
Thanks!
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
-
Redirection chain and Javascript Redirect
Hi, A redirection chain is usually defined as a page redirecting to another page which itself is another redirection. URL1 ---(301/302)---> URL2 ---(301/302)---> URL3 But what about Javascript redirect? They seem to be a different beast: URL1 ---(301/302)---> URL2 ---(200 then Javascript redirect)---> URL3 From what I know if the javascript redirect is instant Google counts it as a 301 permanent redirection, but I'm still not sure about if this counts as a redirection chain. Most of the tools (such as moz) only see the first redirection. So is that scenario a redirection chain or no?
Technical SEO | | LouisPortier0 -
Massive Influx of Total Links - But External Links are Dropping?
Hey Moz Community, I was checking out the Links on one of my client's sites, as they were hit with spammy external links about a year ago, and noticed a large influx of Total Links to the site. According to Moz, external links have actually dropped over the last few months, so I can only assume they are internal links. But, I don't see how my client could add so many internal links over the past 5 months, as they don't do much besides upload new products (they're an ecommerce clothing retailer) via Shopify. They haven't added much over the past half year either. Total links were about 130K in Oct 2019; today, the site has almost 1 million. I've attached some screenshots for reference via Moz to better illustrate the issue. Appreciate any insights into this. Thank you in advance! hhCCUsk lyGltZD
Technical SEO | | EdenPrez0 -
Google Search Console and User-declared canonical is actually Hreflang tag
Hey, We recently launched a US version of UK based ecommerce website on the us.example.com subdomain. Both websites are on Shopify so canonical tags are handled automatically and we have implemented Hreflang tags across both websites. Suddenly our rankings in the UK have dropped and after looking in search console for the UK site ive found that a lot of pages are now no longer indexed in Google because the User-declared canonical is the Hreflang tag for the US URL. Below is an example https://www.example.com/products/pac-man-arcade-cabinet - is the product page is the canonical tag rel="alternate" href="https://www.example.com/products/pac-man-arcade-cabinet" hreflang="en-gb" /> - UK hreflang tag rel="alternate" href="https://us.example.com/products/pac-man-arcade-cabinet" hreflang="en-us" /> - US Hreflang tag then in Google search console the user-defined canonical is https://us.example.com/products/pac-man-arcade-cabinet but it should be https://www.example.com/products/pac-man-arcade-cabinet The UK website has been assigned to target the United Kingdom in Search Console and the US website has been assigned to target the United States. We also do not have access to robots.txt file unfortunately. Any help or insight would be greatly appreciated.
Technical SEO | | PeterRubber0 -
CGI Redirects
Trying to 301 old legacy files like oldsite.com/green/red.cgi/blue/ using this htaccess code: Redirect 301 /green/red.cgi/blue/ http://www.newsite.com/summary-page/
Technical SEO | | SoulSurfer8
Instead it's redirecting to: newsite.com/red.cgi/blue/ FYI oldsite.com's htaccess file does not have any global 301 rules that would conflict Does anyone know if cgi files require a different 301 syntax? Thanks!0 -
Sitemap links
Hi, I´m running a sitemap using pro-sitemaps and I find several pages that shouldn´t be listed. How do I find how are these pages being generated? Can´t find the links the robot is following to get to those pages..
Technical SEO | | ceci27100 -
Unnatural links from your site
Hi, 24 February got this penalty message in Google webmaster tool. Google detected a pattern of unnatural, artificial, deceptive, or manipulative outbound links on pages on this site. This may be the result of selling links that pass PageRank or participating in link schemes. Already removed all the link on the blog and sent reconsideration request to Google spam team. But request is rejected. Please help me on this or share link with me on same case. Thanks,
Technical SEO | | KLLC0 -
Redirecting Domains
Hi Everybody, My clients owns a lot of domains related to his website. I redirected them to the website. So his website is: www.vallnord.com but if you type Vallnordski, vallnordsnow, etc etc they will go to the website, but they will not change the url and will keep vallnordski, vallnordsnow instead of going to vallnord.com Not very clear actually, so if you have 20 seconds to type them you will see it very clear. I was wondering if this was a good practice or it is better to actually redirect someone completely (If they type vallnordski.com take them to vallnord.com)? Is redirecting a good SEO practice? Regards, Guido.
Technical SEO | | SilbertAd0 -
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