Custom hreflang tags in WP & using with Yoast
-
Hi
My clients dev has added custom fields for adding hreflang tags to head of pages such as:
"Rel Type", "The URL", and "Language Code"
Am i right in thinking that until a different language/country version of the site is created these can remain empty or should they still be populated once added say with some sort of global reference or best left blank since will leave the head content global by default ?
Also how important is it to add charset to the language code ? since seems optional ?
Also this set up is on WP multi-site with Yoast and devs asked me the below:
_One thing to note is that Yoast generates its own "canonical" tags - so if _
_you are going to use hreflang tags and canonical tags then you don't need to _
_add a canonical using the custom fields I have set up - Yoast has that _
sorted._But if you are going down the route of NOT having any canonical tags - and _
_using a x-defult for the hreflang tags, I will need to try and suppress the _
_Yoast canonical tag so you can do this. Much depends on your approach and _
what you think is best.So how do i know if using canonicals or x-default, i take it best simplest to leverage Yoast and hence not add canonicals to custom fields ? Isnt x-default just for indicating language selectors/redirector not specific to 1 region? So long as havnt got those then good to proceed with Yoasts generated canonicals ?
Cheers
dan
-
Hello,
I have a Blog In Which I am Using Google Translate, Which Can Convert the Blog into Multilanguages. Is it Suggested to use Herflang Tags in My Blog. Thanks In Advance ( Blog I Have Mention is signature)
Ashish Sharma
-
Thanks again really is a big help
Ive read that correct charsets are important, i take it that plugin handles that correctly ?
Do you know if plugin should work fine in WP Multisite environment with network childs domain mapped with their cctlds ?
Re: "using x-default and removing the canonical is nonsense" The dev just meant if going down route of NOT using canonicals AND using x-default in the hreflang then would need to suppress Yoast in those instances.
Re: "In my example, I used two very similar (if not the same langs), however there are things that change, but those are minimal (take as an example a car "hood", in England a "bonnet"). As those are such minimal changes, I don't think a specific version for GB is needed if you are already serving a US version (that's up to you)." Would you say the same if phrases containing these regional variations (hood vs bonnet) were on your target kw list ? Since i find that whilst Google is getting better at semantic relationships between words i think that they do need to be specifically targeted/appear in content & meta data in order to rank for them, or at least increase chances of ranking for them.
Also re your final paragraph 'car repair centers' would be a logical target kw for such a page so i would have thought it would be beneficial to create 2 versions of this page, 1 for US targeting US spelling & 1 for UK targeting UK spelling (centers vs centres), rather than 1x English to serve both UK & US audiences
Also I would have thought it would be useless showing a list of US car repair centers to UK visitors ?
Sorry for more questions, think that should be it now & thanks again
All Best
Dan
-
Dan,
If you have an English page that is also available on Turkish (same content but rewritten/translated) then an hreflang tag is recommended, not mandatory, but recommended. Although as you said you are already writing in Turkish and geotargeting in GWT, there are other engines too, that regardless their market share, shouldn't be overlooked.
HOWEVER, if you have a page in English not matching a Turkish page, then you don't need the hreflang in that page. The tag is only used when the same content is available on other language/location to tell engines which version they should serve.
What you mention about using x-default and removing the canonical is nonsense. Those are 2 different things and one would not interfere with the other. The plugin I recommended does not mess with Yoast, leaving the canonicals as they should be and adding the hrefland tags as specifies. Check this example on my site English and Spanish using both Yoast and the hreflang Manager plugin:
- English: http://viberagency.com/blog/6-reasons-shouldnt-put-intern-charge-companys-social-media/
- Spanish: http://es.viberagency.com/blog/6-razones-por-las-que-debes-dejar-un-pasante-cargo-de-los-medios-sociales-de-tu-empresa/
Check the source code, both have their canonicals and hreflang tags just fine. We chose to use the English version as the default, as you can see in the x-default.
The hreflang tags should be used only when the content is the same (but targeted to a different audience). Of course of the translation from one language to the other some lines must be rewritten to make sense.
In my example, I used two very similar (if not the same langs), however there are things that change, but those are minimal (take as an example a car "hood", in England a "bonnet"). As those are such minimal changes, I don't think a specific version for GB is needed if you are already serving a US version (that's up to you). In that case (1 english version to all english speakers), you only specify the language, instead of the Language and Region:
<link rel="<a class="attribute-value">alternate</a>" href="http://www.example.com" hreflang="<a class="attribute-value">en</a>"/>
Now, just to make sure we have an example that DOES apply a different GEO in en-US and en-GB, could be a page that explains what are car repair centers, plus below it shows a list of repair centers. In these scenario, the content is the same, but the list of repair centers change, you would like to display those in GB to your GB audience (still, from my point of view, useless, but was just an example).
Hope that clears it up
-
Hi Apog
Thanks so much for all that great info !
First of all, the main default site is for general/global targeting so have instructed dev to put on network.domain.com/en (but mapped to tld domain.com) to signify english but not be country specific - global kw research has determined USA spelling to be used predominently with just one or two UK spelt target kw).
The next stage is a Turkish geotargeted site that will be in Turkish language on our WP MS network network.domain.com/tr but mapped with a tld such as www.domain.tr which will be geotargeted in GWT. Given these other geo signals such as gwt, native language in body copy etc is hreflang even needed for such a scenario or due to hreflang is overkill/not needed ?
Re your example (US/GB): You are saying use x-default but my dev says (copied in my question) that if we want to use x-default then would have to suppress Yoast re the canonical, so any ideas how to resolve that ? Does the plugin you linked to handle hreflang without requiring Yoast to be suppressed re having x-default or not applicable since only refers to scenario where not having canonicals.
Also you say your example set up is if the contents not exactly the same, do you mean if they have substantially different content ? And your second point (below the example set up) says if they have the same content - so here do you mean if the only difference is US/vsGB versions of english language/spelling but otherwise identical ? And if our target kw include the USvsGB spelling variations then i take it the en-gb version isnt expendable after all ?
Thanks for all your help and sorry for more questions but i really need to get to the bottom of this asap
Many Thanks
Dan
-
thanks Kristina !
-
Hey Dan,
If I understood correctly, you should use both. Canonical tags are used tell search engines that the content is located on the canonical content, while hreflang points which version should be served to each visitor depending on the user's location/language.
If you Yoast, then they already handle the canonical tags and there's nothing you need to do. For the hreflang, if you have at the moment only 1 version served to all visitors, then those shouldn't be used. However, if you have 2 versions quite similar, like en-US and en-GB then you will need to choose the one that's default, let's say the US version and have the following on each version:
en-US:
- Canonical pointing to it.
- Hreflang x-default pointing to it
- Hreflang en-US pointing to it
- Hreflang en-GB pointing to en-GB version
en-GB:
- Canonical pointing to it.
- Hreflang x-default pointing to en-US
- Hreflang en-US pointing to en-US
- Hreflang en-GB pointing to it
This applies if the en-US and en-GB versions are NOT exactly the same. If the language changes (that's why you create a specific version to each country) you need a canonical in each version pointing to itself.
If the en-US and en-GB have the same contents, then the canonical should point to the en-US version (but there's no need to have the en-GB version really, which makes it useless / expendable).
As you mention that at the moment you do not have any extra langs/regions, then you could leave the tags empty or better remove them.
There's a plugin for wordpress that handles hreflang tags (paid) hreflang Manager
Hope that helps!
-
No need to worry about hreflang (and therefore x-default) unless you're working with international versions of your sites! If Google doesn't see anything referencing international, it will figure out the language and country from the ccTLD and the language you're using on your site. Hreflang tells Google where the international versions of a page are, it isn't necessary to designate a language and location.
Best,
Kristina
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
-
Unsolved Using NoIndex Tag instead of 410 Gone Code on Discontinued products?
Hello everyone, I am very new to SEO and I wanted to get some input & second opinions on a workaround I am planning to implement on our Shopify store. Any suggestions, thoughts, or insight you have are welcome & appreciated! For those who aren't aware, Shopify as a platform doesn't allow us to send a 410 Gone Code/Error under any circumstance. When you delete or archive a product/page, it becomes unavailable on the storefront. Unfortunately, the only thing Shopify natively allows me to do is set up a 301 redirect. So when we are forced to discontinue a product, customers currently get a 404 error when trying to go to that old URL. My planned workaround is to automatically detect when a product has been discontinued and add the NoIndex meta tag to the product page. The product page will stay up but be unavailable for purchase. I am also adjusting the LD+JSON to list the products availability as Discontinued instead of InStock/OutOfStock.
Technical SEO | | BakeryTech
Then I let the page sit for a few months so that crawlers have a chance to recrawl and remove the page from their indexes. I think that is how that works?
Once 3 or 6 months have passed, I plan on archiving the product followed by setting up a 301 redirect pointing to our internal search results page. The redirect will send the to search with a query aimed towards similar products. That should prevent people with open tabs, bookmarks and direct links to that page from receiving a 404 error. I do have Google Search Console setup and integrated with our site, but manually telling google to remove a page obviously only impacts their index. Will this work the way I think it will?
Will search engines remove the page from their indexes if I add the NoIndex meta tag after they have already been index?
Is there a better way I should implement this? P.S. For those wondering why I am not disallowing the page URL to the Robots.txt, Shopify won't allow me to call collection or product data from within the template that assembles the Robots.txt. So I can't automatically add product URLs to the list.0 -
Canonical tag not working
I have a weebly site and I put the canonical tag in the header code but the moz crawler still says that I'm missing the canonical tag. Any tips?
Technical SEO | | ctpolarbears0 -
Product Tags
Opencart allows the use of product tags (please note, these are NOT meta tags) which I believe are used for when customers want to search for a product using the search function. So one of my tags could be ''star wars socks'', and when a customer types this into the search it brings up every product containing the tag for socks. This is all good and well, however, these tags appear on the product page itself, right below the Manufacturer/Brand, and above the price (they created pages but I have canonical links in them so that is a non-issue). Will Google look kindly on this or could it be considered as keyword stuffing? Or will Google know they're for search and ignore them? I just need to know whether or not removing them entirely will be a good or bad idea.
Technical SEO | | moon-boots0 -
Using a non-visible H1
I have a developer that wants to use style="text-indent:-9999px" to make the H1 non-visible to the user. Being the conservative person I am, I've never tried this before and worry that Search Engines may think this is a form of cloaking. Am I worrying about nothing? And apologies if it's already been covered here. I couldn't find it. Thanks in advance!!!!
Technical SEO | | elytical0 -
Should H1 tags include location?
I have an IT services company that is based out of Denver. In the past I always used Denver in the H1 tag like this "Denver IT Support & Managed Services" or "Denver Data Center Solutions" I know that H tags are not that important any more but I still want to put them on each page. My question is in a post panda world do those look too spammy? Should I not include Denver on each page. I have about 25 service pages that I was going to do this for. Each page will be different because of the service but I was going to include Denver on each page. On that same note how, I normally put never in the title for each page. Should I rethink this also? Obvisouly I want to rank on Denver and the service. Any help on this would be great. Thanks
Technical SEO | | ZiaTG0 -
.htaccess problem using POST method
Hi guys I'm after some help with trying to achieve the following: 1. Canonicalise to http://www. 2. Remove the index.php from root and subfolders. I have the .htaccess code below, which seemed to work fine, but the urls use the POST method and this isn't working with the rewrites. Can anyone please advise as to what I am doing wrong? As you can probably guess .htaccess isn't my strongest SEO discipline! The code I have is: http:// to http://www. RewriteEngine on
Technical SEO | | TrevorJones
RewriteCond %{HTTP_HOST} ^mydomainexample.com
RewriteRule (.*) http://www.mydomainexample.com/$1 [R=301,L] /index.php to / Options +FollowSymLinks
DirectoryIndex index.php RewriteCond %{THE_REQUEST} ^[A-Z]{3,9}\ /index.php\ HTTP/
RewriteRule ^index.php$ http://www.mydomainexample.com/ [R=301,L] Subdirectory /index.php to / RewriteCond %{THE_REQUEST} ^[A-Z]+\ /([^/]+/)index.(php|html|htm?)[#?]?
RewriteRule ^(([^/]+/))index.(php|html|htm?)$ http://www.mydomainexample.com/$1 [R=301,L] Just to add to this I have found this which I think is what I need to restrict it to GET: RewriteCond %{THE_REQUEST} ^GET.*index\.php [NC]RewriteRule (.*?)index\.php/*(.*) /$1$2 [R=301,L] Thank you in advance for any suggestions as to how I may put this code together.. Trevor0