Is this your problem?
- The English page shows to Arabic or French searchers
- Search Console or a crawler reports "no return tags"
- The wrong country version ranks
What usually causes it
How to tell: Language codes are two letters, and the optional region is a country code. en-UK is wrong, en-GB is right.
How to tell: Page A lists page B, but page B does not list page A.
How to tell: The listed address redirects, or is blocked from indexing.
How to tell: Every language version points its canonical at the English page.
Before you touch anything
- Make a list of every page and its language versions.
How to fix it, step by step
-
1
Use the correct pattern
Each page carries the full set, including itself, with full addresses. x-default is the page for everyone else.
<link rel="alternate" hreflang="en" href="https://example.com/services/"> <link rel="alternate" hreflang="ar" href="https://example.com/ar/services/"> <link rel="alternate" hreflang="x-default" href="https://example.com/services/"> -
2
Point each canonical at itself
The Arabic page canonical points to the Arabic page, not to the English one.
-
3
Let the multilingual plugin do it
WPML and Polylang write hreflang for connected translations. The mistakes come from pages that are not connected as translations.
-
4
Only list live pages
Every address in the tags must load directly with a 200 status, and be allowed in search.
-
5
Check the result
Use a crawler such as Screaming Frog to report hreflang problems across the site.
Stop and get help if
- The site has many country versions with different prices and stock. A mistake can send buyers to the wrong store.
Stop it happening again
- Connect every translation in the multilingual plugin.
- Re-check hreflang after adding a language.
Questions people ask
Do I need hreflang for one language?
No. It is only for sites with more than one language or country version.
Does hreflang make pages rank higher?
No. It helps Google show the right version to each person.