Is it good practice to use hreflang on pages that have canonicals?
-
I have a page in English that has both English & Spanish translations on it. It is pulled in from a page generated on another site and I am not able to adjust the CSS to display only one language.
Until I can fix this, I have made the English page the canonical for both. Do I still want to use hreflang for English & Spanish pages?
What if I do not have a Spanish page at all. I assume (from what I've read) I should not have an hreflang on the English page. Is this correct?
Thank you in advance.
-
To answer your last question, yes - you don't need to implement hreflang if you only have an English page.
However, if you have an English and a Spanish page for the same content, then you'll need to implement hreflang on both and have the canonical of each page point to itself. This is an important element of the hreflang implementation and where we see a lot of implementation errors. Having the canonical for both pages point to the English version is wrong.
You can read more about hreflang in MOZ's documentation here.
-
I understand. I was asking about the situation where the canonical points to a page not on my website.
-
So if I understand this properly, you have a page on your site and has its canonical pointing to a page on another site and you want to create hreflang for both pages? Or only for the page on your website?
-
Only for the pages (English & Spanish) on my site.
-
For hreflang to be implemented properly, both English and Spanish pages have to reference each other AND each page's canonical has to point to itself.
Having one of the pages point its canonical somewhere else will break the implementation.
-
Just to confirm: I need to remove hreflang on site pages that have a canonical to another page (and/or other website)? Thanks for taking time to answer.
-
For a proper hreflang implementation, the canonical of each page has to point to itself in addition to referencing the other pages that have the same content in a different language. Otherwise, the implementation would be wrong