What Is Hreflang in SEO?

Somebody added hreflang to your site. Now you want to know what it was for.

Hreflang in SEO is an attribute that names your page’s alternate versions in other languages or countries. It is a list of other addresses. Nothing more.

Read that once more, because almost everybody gets the direction backwards. Hreflang does not say what language this page is in. It says where the other versions live.

The Answer First, Then the Word That Misleads You

Split the word and you can see the trap. Href, meaning a web address. Lang, meaning a language. Put together it sounds like a label. As though you stick hreflang on a page to declare that the page is Canadian English.

That is not what it does. An hreflang tag sits inside a link element, next to a URL. Every entry points somewhere. Point at nothing and you have written nothing.

So the correct mental picture is an address book, not a name badge.

Lang Describes This Page. Hreflang Names the Others.

Two attributes, similar spelling, opposite jobs. Worth ten seconds of your time.

The page-level lang attribute goes on your opening html element. It describes the document you are looking at. One value, one page, self-contained. Your page is in English, so lang says en.

Hreflang describes the pages you are not looking at. It needs a second page to exist before it means anything. Then a third, if you run three versions.

Here is the practical difference. You can add lang to a page and be finished. An hreflang tag cannot be finished on one page. The thing it describes is not on that page.

A Set of One Validates Perfectly

Your own site may already sit in this exact state. Nothing about it looks wrong, which is the reason nobody notices.

Google’s documentation asks each set of alternates to include a self-referential entry. Your English page lists itself alongside its French twin. Standard practice. Perfectly correct.

Only look at what happens when the twin does not exist. Your page lists itself. That is the whole set. One member, pointing at one member.

Syntactically that markup is flawless. No error sits in it to find. The code is well formed. Your URL resolves. And that language code is real.

Yet it does nothing at all. There is nothing to swap to.

Hreflang exists so a search engine can choose between versions. Give it one version and the choice disappears. Google was already going to show that page. It shows it now.

But My Plugin Shows a Green Tick

Fair objection, and the most common one. Your SEO plugin has an hreflang setting. It is switched on. Nothing is flagged red anywhere.

That green tick is the whole problem, not the answer to it. Validation checks form. Whether the set holds more than one member is a separate question entirely. So a one-member hreflang tag can clear a syntax check and still deliver zero.

Go look at your own page source right now. Search it for the word hreflang. Count the entries. Then count how many of those URLs are not the page you are standing on.

Come up with zero and nothing is broken. That is not a bug you need to fix. It is a feature you do not need.

Notice what the objection proves. People assume a tag that validates must be working. Hreflang is the tag where correctness and effect come apart completely.

Google Does Not Read Your Language Label Anyway

One more reason the name-badge idea collapses. Google’s documentation says it works out a page’s language from the visible content. Code-level language information does not feed that decision. Lang attributes included.

So the lang attribute is not the signal people imagine either. Write your page in French and Google will read French words and reach the obvious conclusion. Skip the attribute and the same thing happens.

Which leaves hreflang with a narrower job than the checklists suggest. An hreflang tag announces no language at all. Instead it matches a searcher to the right member of a group you already built.

There Is No Code for Alberta

Now the part that matters for a local business, and the reason hreflang keeps appearing on the wrong checklists.

An hreflang value takes a language code, optionally followed by a region code. Language codes follow a two-letter standard. Region codes use a two-letter country standard, so region there means country. Nothing finer exists.

Look for Alberta in that list and you will not find it. No code for Calgary. None for Vancouver, none for Ontario, none for the Prairies.

Read what that rules out. Hreflang cannot tell Google to show your Calgary page to Calgary searchers and your Edmonton page to Edmonton searchers. Same language, same country. The attribute has no vocabulary for the distinction you actually care about.

That work belongs to different tools. Real location pages with real local content. Proper business listings. Ordinary search engine optimization applied city by city. Hreflang on a local SEO audit checklist is an item borrowed from a much larger kind of website.

The Two Sites That Genuinely Have an Alternate

Short list. Ask one question about your own site before reading it. Does a second version of any page exist right now?

The bilingual Canadian site qualifies. English and French, en and fr, running as separate URLs. Both real, both maintained. Hreflang connects the pair so the French speaker lands on French.

The cross-border store qualifies too. One page for Canadian buyers, another for American ones, prices and spelling differing. Both English. Hreflang carries the country code that separates them.

Everything else does not qualify yet. One site, one language, one market. No alternate means no set, so there is nothing for the attribute to describe.

And a plan does not count. Hreflang follows the pages. It arrives after the second version does, never before.

Where the Hreflang Answer Stops

Be clear about how little this attribute buys you. Hreflang moves nobody up. Wire it perfectly and no position improves, because the pages have to earn their positions first.

There is a second limit worth naming. Getting hreflang right on one page is not half a job done, since each version has to name the others back. That relationship problem is covered separately on this site.

Also true, and less comfortable. A French page run through translation software rarely competes in French. Hreflang will point at it faithfully. Faithful pointing at a weak page produces a weak page in the results.

Do the counting exercise instead of guessing. Open the page. List every other version of it that exists today. An empty list is your answer. You just saved a week.

What To-The-TOP! Tells Calgary Business Owners

SEO Company To-The-TOP! has been doing this work since 2007. Hreflang comes up two or three times a year, usually because a developer left it behind or a checklist demanded it.

The conversation nearly always ends the same way. One English site serving Alberta needs none of it. Most of what people hoped hreflang would do belongs to Calgary SEO fundamentals instead. Or to the keyword research that decides which pages exist at all. A quick site audit settles the question in minutes.

The bilingual cases are different and worth doing properly. Then the technical side is genuine work, and somebody has to own the list.

Meanwhile Google Ads can reach a French or American audience this month. The organic side still takes its usual three to six months. To-The-TOP! is a solo practice, White Hat only, no junior handoffs. Call (403) 308-5949 if a checklist has you adding tags nobody can explain.

Common Questions About Hreflang in SEO

What does hreflang mean in SEO?

It is an attribute naming the alternate language or country versions of a page. Each entry pairs a language code with a URL. The attribute describes other pages, never the page it sits on.

Does hreflang improve my rankings?

No. It decides which version of a page a searcher sees, never whether that page ranks. A page ranking nowhere ranks nowhere in every language you annotate.

Do I need hreflang if my site is only in English?

Usually not. One English site aimed at one country has no alternate version, so there is nothing to annotate. A separate English page for the United States changes that answer.

What is the difference between lang and hreflang?

The lang attribute describes the language of the page it appears on. Hreflang lists other pages and the languages they serve. One is self-contained, the other needs a group.

Where does the hreflang attribute go?

Three places work. The head of the page. An XML sitemap. Or an HTTP header. Pick one and keep the full list in that single place.

Contact SEO Company To-The-TOP! in Calgary

Questions about anything in this article, or about your own rankings? Talk to a Calgary SEO specialist directly.

Phone: (403) 308-5949
Address: 1509 14 Ave SW, Calgary, AB T3C 0W4

Hours:
Monday to Friday: 10:00 am – 7:00 pm
Saturday: 12:00 pm – 4:00 pm
Sunday: closed

Greg Ichshenko

Calgary SEO expert and digital marketing specialist,
developing advertising strategies for businesses of all sizes

(403) 308-5949

greg@to-the-top.ca
1509 14 Ave SW, Calgary,
AB T3C 0W4

    Submit your request or question, and I will get back
    to you shortly

    Please prove you are human by selecting the truck.