hreflang یکی از مهم ترین تگ ها در سئوی سایت های چند زبانه و چند منطقه ای است. اگر یک صفحه از سایت شما نسخه فارسی، انگلیسی، عربی یا حتی چند نسخه انگلیسی برای کشورهای مختلف داشته باشد، hreflang به گوگل کمک می کند ارتباط میان این صفحات را بهتر درک کند و نسخه مناسب تر را برای کاربران هر زبان یا منطقه نمایش دهد.
برای مثال فرض کنید یک شرکت ایرانی سه نسخه از صفحه معرفی محصول خود دارد:
- فارسی برای کاربران ایرانی
- انگلیسی برای مخاطبان بین المللی
- عربی برای کشورهای عرب زبان
بدون تنظیم صحیح hreflang، گوگل ممکن است نتواند ارتباط میان این صفحات را به شکل مطلوب تشخیص دهد یا در بعضی جستجوها نسخه ای را نمایش دهد که برای زبان کاربر مناسب نیست.
گوگل صراحتا توصیه می کند اگر صفحات مختلفی برای زبان ها یا مناطق مختلف دارید، این نسخه ها را با hreflang به یکدیگر معرفی کنید تا Search بتواند صفحه مناسب را براساس زبان یا منطقه کاربر انتخاب کند.
به همین دلیل در پروژه های طراحی سایت که قرار است کاربران چند کشور یا چند زبان را هدف قرار دهند، معماری URL، ترجمه صفحات و تنظیم hreflang بهتر است از ابتدای پروژه مشخص شوند، نه اینکه بعد از انتشار صدها صفحه به سایت اضافه شوند.

hreflang دقیقا چیست؟
hreflang یک Attribute در HTML است که نسخه های زبانی یا منطقه ای یک صفحه را به موتور جستجو معرفی می کند.
یک نمونه ساده:
<link rel="alternate" hreflang="fa" href="https://example.com/fa/product/" />
<link rel="alternate" hreflang="en" href="https://example.com/en/product/" />
این کد به گوگل می گوید:
- URL اول نسخه فارسی صفحه است.
- URL دوم نسخه انگلیسی همان محتوا است.
گوگل hreflang را برای تشخیص خود زبان صفحه استفاده نمی کند؛ زبان صفحه را با تحلیل محتوا تشخیص می دهد. hreflang در اصل رابطه میان نسخه های محلی یا زبانی یک محتوا را مشخص می کند.
hreflang چه مشکلی را حل می کند؟
فرض کنید یک فروشگاه بین المللی دو صفحه دارد:
example.com/en/product/
example.com/de/product/
هر دو درباره یک محصول هستند، اما یکی انگلیسی و دیگری آلمانی است.
کاربری در آلمان عبارتی مرتبط را جستجو می کند. طبیعتا بهتر است نسخه آلمانی نمایش داده شود.
hreflang به گوگل کمک می کند بفهمد این دو URL نسخه های جایگزین یکدیگر برای مخاطبان مختلف هستند.
این موضوع در سایت هایی اهمیت بیشتری دارد که:
- چند زبان دارند.
- یک زبان را برای چند کشور ارائه می کنند.
- قیمت ها برای کشورها متفاوت هستند.
- اطلاعات ارسال برای هر کشور متفاوت است.
- محتوای هر منطقه کمی تغییر می کند.
چرا hreflang برای سایت چند زبانه مهم است؟
هدف اصلی hreflang افزایش مستقیم رتبه نیست. کاربرد اصلی آن کمک به گوگل برای نمایش نسخه مناسب یک صفحه به کاربر مناسب است.
مزیت های اصلی آن را می توان در چند بخش بررسی کرد.
نمایش زبان مناسب در نتایج گوگل
فرض کنید کاربری فارسی زبان درباره محصول شما جستجو می کند و سایت دارای نسخه فارسی و انگلیسی است.
در صورتی که صفحات به درستی به یکدیگر متصل شده باشند، گوگل اطلاعات بیشتری برای انتخاب نسخه مناسب در اختیار دارد.
هدف گذاری کاربران کشورهای مختلف
hreflang فقط برای زبان نیست.
ممکن است دو صفحه هر دو انگلیسی باشند اما برای دو کشور متفاوت ساخته شده باشند.
برای مثال:
en-us
en-gb
نسخه آمریکا ممکن است:
- قیمت دلار داشته باشد.
- روش ارسال آمریکا را نمایش دهد.
- اطلاعات تماس آمریکا را ارائه کند.
نسخه بریتانیا می تواند:
- قیمت پوند داشته باشد.
- روش ارسال بریتانیا را نمایش دهد.
- اطلاعات محلی متفاوتی داشته باشد.
گوگل از ترکیب کد زبان و منطقه برای مشخص کردن چنین نسخه هایی پشتیبانی می کند.
کاهش نمایش نسخه نامناسب به کاربر
یکی از تجربه های نامطلوب زمانی است که کاربر فارسی جستجو می کند اما نسخه انگلیسی صفحه سایت شما در نتایج ظاهر می شود.
hreflang یکی از سیگنال هایی است که به موتور جستجو کمک می کند چنین وضعیت هایی کمتر اتفاق بیفتند.
مدیریت صفحات بسیار مشابه در چند کشور
گاهی محتوای صفحات تقریبا یکسان است و فقط موارد محدودی تغییر می کنند.
مثلا:
example.com/en-us/shoes/
example.com/en-ca/shoes/
example.com/en-gb/shoes/
همه صفحات انگلیسی هستند، اما قیمت، واحد پول، شرایط ارسال یا اطلاعات محلی آن ها متفاوت است.
hreflang دقیقا برای مدیریت چنین نسخه هایی نیز کاربرد دارد.
تفاوت سایت چند زبانه و چند منطقه ای چیست؟
این دو مفهوم شبیه یکدیگر هستند اما دقیقا یکسان نیستند.
سایت چند زبانه
سایتی است که محتوا را به بیش از یک زبان ارائه می دهد.
مثلا:
- فارسی
- انگلیسی
- عربی
سایت چند منطقه ای
سایتی است که کاربران کشورهای یا مناطق مختلف را هدف قرار می دهد.
برای مثال:
- آمریکا
- کانادا
- بریتانیا
یک سایت می تواند هم چند زبانه و هم چند منطقه ای باشد.
مثلا سایت کانادایی ممکن است:
- نسخه انگلیسی کانادا
- نسخه فرانسوی کانادا
- نسخه انگلیسی آمریکا
داشته باشد.
گوگل نیز این دو مفهوم را به صورت مجزا تعریف می کند و برای سایت هایی که URLهای جداگانه برای زبان یا منطقه دارند، استفاده از hreflang را توصیه می کند.
ساختار کد hreflang چگونه است؟
ساختار ساده تگ به این صورت است:
<link rel="alternate" hreflang="en" href="https://example.com/en/page/" />
این تگ از سه قسمت اصلی تشکیل شده است:
rel=”alternate”
نشان می دهد URL معرفی شده نسخه جایگزین همین محتوا است.
hreflang=”en”
زبان یا زبان و منطقه هدف را مشخص می کند.
href
آدرس نسخه جایگزین صفحه را مشخص می کند.
URL باید کامل باشد.
یعنی این حالت صحیح است:
https://example.com/en/page/
اما استفاده از URL نسبی مانند:
/en/page/
برای hreflang مطابق راهنمای گوگل توصیه نمی شود؛ URLهای Alternate باید به شکل کامل همراه با پروتکل درج شوند.
کدهای زبان در hreflang چگونه نوشته می شوند؟
برای زبان می توان از کدهایی مانند این موارد استفاده کرد:
fa = فارسی
en = انگلیسی
de = آلمانی
fr = فرانسوی
ar = عربی
گوگل برای بخش زبان از استاندارد ISO 639-1 استفاده می کند.
بنابراین برای صفحه فارسی:
hreflang="fa"
و برای صفحه انگلیسی:
hreflang="en"
استفاده می شود.
زبان و کشور را چگونه با هم مشخص کنیم؟
اگر علاوه بر زبان، منطقه نیز اهمیت داشته باشد، می توان ساختاری مانند زیر داشت:
hreflang="en-US"
یعنی:
محتوای انگلیسی برای کاربران آمریکا
مثال دیگر:
hreflang="en-GB"
یعنی:
محتوای انگلیسی برای کاربران بریتانیا
بخش اول باید کد زبان و بخش دوم کد منطقه باشد. گوگل برای Region از ISO 3166-1 Alpha 2 استفاده می کند.
آیا می توان فقط کشور را نوشت؟
خیر.
برای مثال این ساختار صحیح نیست:
hreflang="US"
باید ابتدا زبان مشخص شود:
hreflang="en-US"
گوگل تاکید می کند که کد کشور به تنهایی برای hreflang معتبر نیست.
تفاوت en و en-US چیست؟
این تفاوت اهمیت زیادی دارد.
en
یعنی محتوای انگلیسی برای کاربران انگلیسی زبان بدون هدف گذاری کشور مشخص.
en-US
یعنی محتوای انگلیسی مخصوص کاربران آمریکا.
en-GB
یعنی محتوای انگلیسی مخصوص کاربران بریتانیا.
اگر نسخه متفاوتی برای کشورهای مختلف ندارید، معمولا نیازی نیست بی دلیل کشور را به کد زبان اضافه کنید.
برای مثال اگر فقط یک نسخه انگلیسی برای تمام کاربران جهان دارید:
hreflang="en"
می تواند انتخاب منطقی تری باشد.
x-default در hreflang چیست؟
x-default نسخه ای را مشخص می کند که اگر هیچ کدام از زبان ها یا مناطق تعریف شده با کاربر تطابق نداشته باشند، به عنوان گزینه پیش فرض در نظر گرفته شود.
مثلا:
<link rel="alternate" hreflang="fa" href="https://example.com/fa/" />
<link rel="alternate" hreflang="en" href="https://example.com/en/" />
<link rel="alternate" hreflang="x-default" href="https://example.com/" />
در این مثال:
- کاربران فارسی به نسخه فارسی مرتبط می شوند.
- کاربران انگلیسی به نسخه انگلیسی.
- سایر کاربران می توانند به صفحه پیش فرض هدایت شوند.
گوگل x-default را برای تعیین URL خنثی از نظر زبان و منطقه توصیه می کند؛ صفحه انتخاب زبان نیز می تواند یکی از کاربردهای آن باشد.
آیا استفاده از x-default الزامی است؟
خیر، اما در بسیاری از سایت های بین المللی کاربرد مفیدی دارد.
به خصوص زمانی که:
- صفحه انتخاب زبان دارید.
- نسخه پیش فرض بین المللی دارید.
- همه زبان های کاربران را پوشش نمی دهید.
- صفحه اصلی براساس کشور خاصی طراحی نشده است.
می توان از آن استفاده کرد.

hreflang را کجای سایت قرار دهیم؟
گوگل سه روش اصلی برای معرفی نسخه های زبانی پشتیبانی می کند:
- HTML
- HTTP Header
- XML Sitemap
این سه روش از دید گوگل معادل هستند و استفاده همزمان از هر سه مزیت اضافه ای برای Search ایجاد نمی کند؛ حتی می تواند نگهداری سایت را پیچیده تر کند.
روش اول: قرار دادن hreflang در HTML
رایج ترین روش، قرار دادن تگ ها در <head> صفحه است.
فرض کنید صفحه فارسی:
https://example.com/fa/services/
و صفحه انگلیسی:
https://example.com/en/services/
باشد.
در هر دو صفحه باید این کد قرار بگیرد:
<link rel="alternate" hreflang="fa" href="https://example.com/fa/services/" />
<link rel="alternate" hreflang="en" href="https://example.com/en/services/" />
نکته مهم این است که هر صفحه باید خودش را هم معرفی کند. گوگل این Self-reference را در راهنمای رسمی خود الزامی می داند.
روش دوم: HTTP Header
برای فایل هایی که HTML نیستند، مانند بعضی PDFها، می توان hreflang را از طریق HTTP Header اعلام کرد.
ساختار کلی:
Link: <https://example.com/en/file.pdf>; rel="alternate"; hreflang="en",
<https://example.com/de/file.pdf>; rel="alternate"; hreflang="de"
این روش بیشتر برای منابعی کاربرد دارد که امکان اضافه کردن <head> HTML به آن ها وجود ندارد.
روش سوم: XML Sitemap
می توان ارتباط میان صفحات زبانی را داخل Sitemap نیز تعریف کرد.
برای سایت هایی با تعداد زیاد صفحه، این روش می تواند مدیریت متمرکزتری ایجاد کند.
ساختار نمونه:
<url>
<loc>https://example.com/fa/product/</loc>
<xhtml:link
rel="alternate"
hreflang="fa"
href="https://example.com/fa/product/" />
<xhtml:link
rel="alternate"
hreflang="en"
href="https://example.com/en/product/" />
</url>
هر URL باید تمام نسخه های جایگزین، از جمله خودش را در Sitemap معرفی کند.
کدام روش hreflang بهتر است؟
از نظر Google تفاوت رتبه بندی میان سه روش وجود ندارد.
بنابراین انتخاب بیشتر به معماری سایت بستگی دارد.
HTML مناسب است اگر:
- سایت نسبتا کوچک است.
- CMS امکان مدیریت تگ ها را دارد.
- تعداد زبان ها محدود است.
Sitemap مناسب است اگر:
- سایت بسیار بزرگ است.
- هزاران محصول یا صفحه دارید.
- مدیریت تگ های HTML دشوار شده است.
HTTP Header مناسب است اگر:
- فایل های غیر HTML دارید.
- مثلا PDFهای چند زبانه ارائه می کنید.
مهم تر از روش انتخابی، درست و یکپارچه بودن پیاده سازی است.
Return Link در hreflang چیست؟
یکی از مهم ترین قوانین hreflang این است که ارتباط باید دوطرفه باشد.
فرض کنید صفحه فارسی به انگلیسی اشاره می کند:
<link rel="alternate" hreflang="en" href="https://example.com/en/page/" />
صفحه انگلیسی نیز باید به فارسی برگردد:
<link rel="alternate" hreflang="fa" href="https://example.com/fa/page/" />
اگر صفحه A به B اشاره کند اما B به A اشاره نکند، گوگل ممکن است این Annotation را نادیده بگیرد یا نتواند آن را به درستی تفسیر کند.
این خطا با عنوان Missing Return Link شناخته می شود و یکی از رایج ترین مشکلات hreflang است.
Self-referencing hreflang چیست؟
هر صفحه باید علاوه بر نسخه های دیگر، خودش را نیز داخل مجموعه hreflang معرفی کند.
مثلا صفحه فارسی:
<link rel="alternate" hreflang="fa" href="https://example.com/fa/page/" />
<link rel="alternate" hreflang="en" href="https://example.com/en/page/" />
و صفحه انگلیسی نیز دقیقا همین مجموعه را داشته باشد.
نباید در نسخه فارسی فقط انگلیسی و در نسخه انگلیسی فقط فارسی معرفی شود.
گوگل اعلام می کند هر نسخه باید خودش و تمام نسخه های دیگر را فهرست کند.

تفاوت hreflang و canonical چیست؟
این دو تگ کاربرد متفاوتی دارند.
hreflang
می گوید:
این صفحات نسخه های زبانی یا منطقه ای یکدیگر هستند.
canonical
می گوید:
از میان صفحات مشابه یا تکراری، این URL نسخه ترجیحی من است.
بنابراین نباید تصور کنید hreflang جای canonical را می گیرد.
canonical صفحات چند زبانه چگونه باشد؟
در بیشتر ساختارهای صحیح، نسخه فارسی باید canonical خودش باشد و نسخه انگلیسی نیز canonical خودش.
مثلا:
صفحه فارسی:
<link rel="canonical" href="https://example.com/fa/product/" />
صفحه انگلیسی:
<link rel="canonical" href="https://example.com/en/product/" />
سپس hreflang ارتباط میان آن ها را مشخص می کند.
این اشتباه است که تمام صفحات ترجمه شده را بدون دلیل به نسخه فارسی Canonical کنید؛ چون عملا سیگنال می دهید نسخه های دیگر URL ترجیحی نیستند.
گوگل در مدیریت صفحات چند منطقه ای توصیه می کند canonical و hreflang به شکل هماهنگ استفاده شوند و برای Canonicalization نیز URLهای موجود در خوشه های hreflang را ترجیح می دهد.
تفاوت hreflang و lang چیست؟
ممکن است در HTML این کد را دیده باشید:
<html lang="fa">
این Attribute زبان سند را مشخص می کند و برای مرورگرها و فناوری های کمکی کاربرد دارد.
اما با hreflang یکسان نیست.
گوگل اعلام می کند برای تشخیص زبان صفحه نه به hreflang و نه به HTML lang متکی نیست و زبان را از محتوای قابل مشاهده تشخیص می دهد.
پس:
<html lang="fa">
جای:
<link rel="alternate" hreflang="fa" ...>
را نمی گیرد.
آیا فقط ترجمه منو برای ساخت سایت چند زبانه کافی است؟
خیر.
اگر قصد هدف قرار دادن کاربران زبان دیگر را دارید، محتوای اصلی صفحه نیز باید برای همان مخاطب آماده شود.
گوگل توصیه می کند زبان قابل مشاهده هر صفحه واضح باشد و از قرار دادن ترجمه های کنار هم یا ترجمه فقط منو و اجزای قالب در حالی که محتوای اصلی به زبان دیگری باقی مانده است، اجتناب شود.
یک طراحی سایت دوزبانه اصولی باید حداقل این موارد را برای هر زبان مدیریت کند:
- محتوا
- منوها
- عنوان صفحات
- متا تایتل
- متا دیسکریپشن
- تصاویر در صورت نیاز
- CTAها
- URL
- لینک های داخلی
- hreflang
ترجمه خودکار چند عبارت در Header و Footer سایت را واقعا دو زبانه نمی کند.
ساختار URL سایت چند زبانه چگونه باشد؟
چند روش رایج وجود دارد.
استفاده از Subdirectory
example.com/fa/
example.com/en/
این ساختار مدیریت ساده ای دارد و تمام زبان ها زیر یک دامنه قرار می گیرند.
استفاده از Subdomain
fa.example.com
en.example.com
زبان ها جدا هستند اما مدیریت آن ها می تواند مستقل تر باشد.
استفاده از دامنه کشوری
example.de
example.fr
این مدل بیشتر برای هدف گیری کشوری کاربرد دارد.
گوگل Subdirectory، Subdomain و دامنه کشوری را از گزینه های ممکن برای سایت های بین المللی معرفی می کند و استفاده از پارامترهای URL مانند ?lang=de را برای Geotargeting توصیه نمی کند.
آیا باید زبان سایت براساس IP به صورت خودکار عوض شود؟
بهتر است کاربر امکان انتخاب زبان داشته باشد.
گوگل توصیه می کند کاربران را صرفا براساس حدس درباره زبان یا موقعیت به نسخه دیگری Redirect نکنید، زیرا چنین Redirectهایی ممکن است دسترسی کاربران و موتور جستجو به بعضی نسخه های سایت را دشوار کنند.
می توانید زبان مناسب را پیشنهاد دهید، اما بهتر است کاربر همچنان امکان تغییر زبان را داشته باشد.
hreflang برای سایت فروشگاهی چه اهمیتی دارد؟
در یک فروشگاه بین المللی ممکن است یک محصول برای چند بازار صفحه متفاوت داشته باشد.
مثلا:
/en-us/product/
برای آمریکا با:
- دلار
- ارسال آمریکا
و:
/en-gb/product/
برای بریتانیا با:
- پوند
- شرایط ارسال متفاوت
یا حتی نسخه های:
/fa/product/
/en/product/
/ar/product/
برای زبان های مختلف.
در طراحی سایت فروشگاهی چند زبانه، hreflang باید در صفحات:
- دسته بندی
- محصول
- لندینگ
- مقالات
به شکل منظم پیاده سازی شود.
اگر یک فروشگاه هزاران محصول داشته باشد، خطای الگو در hreflang می تواند روی تعداد زیادی URL تکرار شود؛ بنابراین بهتر است سیستم تولید این Annotationها از ابتدا درست طراحی شود.
hreflang برای سایت شرکتی چه کاربردی دارد؟
شرکت هایی که:
- صادرات دارند.
- مشتری بین المللی دارند.
- در چند کشور فعالیت می کنند.
- چند دفتر بین المللی دارند.
معمولا به صفحات چند زبانه نیاز پیدا می کنند.
برای مثال یک طراحی سایت شرکتی ممکن است نسخه فارسی برای بازار داخلی و نسخه انگلیسی برای مشتریان خارجی داشته باشد.
صفحات مشابه مانند:
- درباره ما
- خدمات
- محصولات
- پروژه ها
- تماس با ما
باید در صورت داشتن نسخه ترجمه شده، به نسخه متناظر خود متصل شوند.
صفحه انگلیسی «About Us» باید به صفحه فارسی «درباره ما» متصل شود، نه صرفا به صفحه اصلی فارسی.
hreflang در سایت پزشکی چه کاربردی دارد؟
بعضی مراکز درمانی و کلینیک ها کاربران بین المللی یا گردشگران سلامت را هدف می گیرند.
در چنین شرایطی ممکن است سایت نسخه هایی مانند:
- فارسی
- انگلیسی
- عربی
داشته باشد.
در طراحی سایت پزشکی چند زبانه، صفحات پزشکان، خدمات، روش های درمانی و اطلاعات تماس باید نسخه متناظر مشخص داشته باشند.
برای مثال:
/fa/services/rhinoplasty/
/en/services/rhinoplasty/
/ar/services/rhinoplasty/
اگر هر سه صفحه درباره یک خدمت هستند، hreflang می تواند رابطه آن ها را به گوگل معرفی کند.
آیا تمام صفحات سایت باید hreflang داشته باشند؟
فقط صفحاتی که نسخه جایگزین زبانی یا منطقه ای دارند به hreflang نیاز دارند.
اگر یک صفحه فقط فارسی است و هیچ نسخه ترجمه شده ای ندارد، مجبور نیستید برای آن نسخه انگلیسی خیالی ایجاد کنید.
گوگل نیز اعلام کرده کاملا طبیعی است که فقط بخشی از سایت نسخه محلی داشته باشد و hreflang فقط روی همان بخش ها پیاده شود.
اگر ترجمه یک صفحه وجود ندارد چه کنیم؟
فرض کنید سایت فارسی 500 صفحه دارد اما فقط 100 صفحه به انگلیسی ترجمه شده اند.
لازم نیست برای 400 صفحه دیگر hreflang انگلیسی ایجاد کنید.
فقط صفحات دارای نسخه متناظر را به یکدیگر متصل کنید.
همچنین نباید تمام صفحات انگلیسی بدون نسخه متناظر را به صفحه اصلی فارسی یا انگلیسی متصل کنید.
hreflang باید بین محتواهای معادل ارتباط ایجاد کند.
آیا hreflang باعث جلوگیری از Duplicate Content می شود؟
hreflang ابزار اصلی مدیریت Duplicate Content نیست.
اگر محتوا واقعا به زبان متفاوت ترجمه شده باشد، گوگل آن ها را صرفا به دلیل داشتن مفهوم مشابه Duplicate در نظر نمی گیرد. طبق مستندات Google، نسخه های محلی تنها زمانی Duplicate محسوب می شوند که محتوای اصلی ترجمه نشده باقی مانده باشد.
برای صفحات بسیار مشابه در یک زبان اما کشورهای مختلف، hreflang و canonical باید در کنار یکدیگر و براساس معماری سایت تنظیم شوند.
آیا hreflang باعث افزایش رتبه سایت می شود؟
hreflang را نباید یک فاکتور ساده برای «افزایش رتبه» در نظر گرفت.
وظیفه اصلی آن این است که به Google درباره رابطه نسخه های زبانی و منطقه ای صفحه اطلاعات بدهد تا نسخه مناسب تر در اختیار کاربر قرار بگیرد.
اثر مهم آن بیشتر در کیفیت هدف گذاری بین المللی دیده می شود.
مثلا به جای اینکه کاربر فرانسوی وارد صفحه انگلیسی شود، احتمال نمایش نسخه مناسب تر افزایش پیدا می کند.
اشتباهات رایج در استفاده از hreflang
پیاده سازی hreflang ظاهرا ساده است، اما اشتباه در آن بسیار رایج است.
1. نبود Return Link
اگر صفحه فارسی به انگلیسی اشاره می کند، انگلیسی نیز باید به فارسی برگردد.
نبود ارتباط دوطرفه یکی از خطاهای اصلی اعلام شده توسط گوگل است.
2. حذف Self-reference
هر صفحه باید خودش را نیز داخل مجموعه hreflang معرفی کند.
3. استفاده از کد زبان اشتباه
مثلا نوشتن:
uk
به جای:
en-GB
اشتباه است.
UK نیز Region Code صحیح مورد استفاده گوگل در hreflang نیست و برای بریتانیا باید GB استفاده شود.
4. اتصال صفحات نامرتبط
مثلا:
صفحه فارسی محصول A
نباید با:
صفحه انگلیسی محصول B
به عنوان Alternative معرفی شود.
دو URL باید نسخه های متناظر یک محتوا باشند.
5. استفاده از URL ناقص
این:
href="/en/page/"
را به URL کامل تبدیل کنید:
href="https://example.com/en/page/"
گوگل URL کامل را برای Alternateها الزامی می داند.
6. Canonical اشتباه
اگر نسخه انگلیسی به نسخه فارسی Canonical شود، ممکن است سیگنال های Canonicalization با ساختار بین المللی شما تعارض پیدا کنند.
7. استفاده از hreflang فقط در یک زبان
مثلا صفحه فارسی نسخه انگلیسی را معرفی کند اما نسخه انگلیسی هیچ hreflangی نداشته باشد.
8. Redirect شدن URL hreflang
بهتر است URL معرفی شده مستقیما صفحه نهایی معتبر را باز کند، نه اینکه ابتدا به URL دیگری منتقل شود.
9. اشاره به صفحات 404
اگر URL ترجمه شده حذف شود ولی hreflang همچنان به آن اشاره کند، ساختار ارتباط صفحات ناقص می شود.
10. ایجاد hreflang برای صفحه ای که ترجمه ندارد
نسخه های جایگزین باید واقعی باشند.
نباید تمام صفحات فارسی را صرفا به صفحه اصلی انگلیسی متصل کرد.
مثال صحیح hreflang برای سایت فارسی و انگلیسی
فرض کنید این دو URL را داریم:
https://example.com/fa/about/
https://example.com/en/about/
کد موجود در هر دو صفحه:
<link rel="alternate" hreflang="fa" href="https://example.com/fa/about/" />
<link rel="alternate" hreflang="en" href="https://example.com/en/about/" />
<link rel="alternate" hreflang="x-default" href="https://example.com/en/about/" />
اگر صفحه اصلی انگلیسی نسخه پیش فرض شما باشد، می توان از آن برای x-default استفاده کرد.
مثال hreflang برای فارسی، انگلیسی و عربی
<link rel="alternate" hreflang="fa" href="https://example.com/fa/product/" />
<link rel="alternate" hreflang="en" href="https://example.com/en/product/" />
<link rel="alternate" hreflang="ar" href="https://example.com/ar/product/" />
<link rel="alternate" hreflang="x-default" href="https://example.com/en/product/" />
همین مجموعه باید در هر سه نسخه صفحه قرار داشته باشد.
چگونه hreflang سایت را بررسی کنیم؟
بعد از پیاده سازی نباید فقط وجود کد را بررسی کنید.
چند مورد باید کنترل شوند:
- کد زبان صحیح است؟
- URL کامل است؟
- صفحه مقصد باز می شود؟
- Self-reference وجود دارد؟
- Return Link وجود دارد؟
- Canonical با ساختار هماهنگ است؟
- صفحه مقصد Indexable است؟
- نسخه ها واقعا متناظر هستند؟
برای سایت های بزرگ می توان با Crawlerهای سئو، خروجی URLها و hreflang را بررسی کرد تا خطاها به صورت دسته جمعی پیدا شوند.
گوگل نیز در مستندات رسمی خود برای Debug کردن hreflang به ابزارهای ثالث اشاره می کند، هرچند تاکید دارد این ابزارها توسط Google نگهداری یا تایید نمی شوند.
آیا hreflang در Search Console نمایش داده می شود؟
در نسخه های قدیمی Google Search Console گزارشی اختصاصی برای International Targeting وجود داشت، اما امروزه برای بررسی دقیق hreflang معمولا باید از Crawl، بررسی سورس صفحات و ابزارهای فنی استفاده کرد.
بنابراین فقط ثبت Sitemap در Search Console به معنی درست بودن تمام روابط hreflang نیست.
آیا می توان hreflang را با افزونه وردپرس ایجاد کرد؟
بله، در سایت های وردپرسی بعضی افزونه های چند زبانه یا سئو می توانند hreflang را به صورت خودکار ایجاد کنند.
اما نصب افزونه به معنی صحیح بودن تنظیمات نیست.
بعد از راه اندازی باید کنترل کنید:
- هر ترجمه به صفحه درست متصل است.
- URLهای حذف شده باقی نمانده اند.
- زبان ها صحیح تعریف شده اند.
- صفحات بدون ترجمه ارتباط اشتباه ندارند.
- canonicalها درست هستند.
بخش زیادی از خطاهای hreflang در سایت های بزرگ از تنظیم اشتباه الگوها ایجاد می شوند، نه از نبود خود تگ.

چک لیست اجرای صحیح hreflang
قبل از نهایی کردن سئوی سایت چند زبانه، این موارد را بررسی کنید:
- برای هر زبان URL جداگانه وجود دارد.
- زبان اصلی محتوای هر صفحه مشخص است.
- کد زبان صحیح نوشته شده است.
- کد کشور در صورت نیاز صحیح است.
- URLها کامل هستند.
- هر صفحه خودش را معرفی می کند.
- تمام صفحات متناظر یکدیگر را معرفی می کنند.
- Return Link وجود دارد.
- صفحات hreflang وضعیت 200 دارند.
- صفحات قابل Index هستند.
- canonicalها با نسخه های زبانی هماهنگ هستند.
- صفحات نامرتبط به یکدیگر متصل نشده اند.
- x-default در صورت نیاز تنظیم شده است.
- Sitemap یا HTML به صورت منظم نگهداری می شود.
- بعد از تغییر URLها hreflang نیز به روز می شود.
در مهاجرت سایت نیز Google توصیه می کند اگر URLهای صفحات چند زبانه تغییر می کنند، hreflangها به URLهای جدید به روز شوند.
سوالات متداول درباره hreflang
1. hreflang چیست؟
hreflang یک Attribute برای معرفی نسخه های زبانی یا منطقه ای یک صفحه به Google است. این تگ کمک می کند موتور جستجو بفهمد چند URL نسخه های محلی یک محتوا هستند.
2. آیا hreflang برای سایت فارسی لازم است؟
اگر سایت فقط یک نسخه فارسی دارد، معمولا نیازی به آن نیست. زمانی اهمیت پیدا می کند که همان صفحات نسخه دیگری برای زبان یا منطقه متفاوت داشته باشند.
3. تفاوت hreflang و canonical چیست؟
hreflang ارتباط نسخه های زبانی و منطقه ای را مشخص می کند، در حالی که canonical نسخه ترجیحی میان URLهای مشابه را تعیین می کند. این دو می توانند در یک سایت چند زبانه در کنار یکدیگر استفاده شوند.
4. x-default در hreflang چه کاربردی دارد؟
برای مشخص کردن صفحه پیش فرض کاربرانی استفاده می شود که هیچ یک از زبان ها یا مناطق تعریف شده با آن ها تطابق ندارند. صفحه انتخاب زبان نیز می تواند به عنوان x-default تعیین شود.
5. آیا hreflang باعث افزایش رتبه گوگل می شود؟
هدف اصلی hreflang افزایش مستقیم رتبه نیست. این Annotation به گوگل کمک می کند نسخه زبانی یا منطقه ای مناسب تر یک محتوا را برای کاربران نمایش دهد.
جمع بندی
hreflang یکی از پایه های مهم سئوی سایت های چند زبانه و چند منطقه ای است. اگر یک محتوا به چند زبان یا برای چند کشور منتشر می شود، باید ارتباط نسخه ها به شکل واضح برای Google مشخص شود.
هر نسخه باید خودش و نسخه های متناظر را معرفی کند، ارتباط ها دوطرفه باشند، کد زبان و کشور صحیح نوشته شوند و URLها به صورت کامل درج شوند. در صورت نیاز نیز می توان با x-default صفحه پیش فرض را مشخص کرد.
همچنین hreflang نباید با canonical اشتباه گرفته شود. Canonical برای انتخاب URL ترجیحی و hreflang برای ارتباط نسخه های زبانی و منطقه ای استفاده می شود.
در پروژه هایی که قرار است از ابتدا چند زبان داشته باشند، معماری صفحات، URLها، ترجمه، لینک سازی داخلی، canonical و hreflang بهتر است همزمان طراحی شوند. اضافه کردن این ساختار پس از ایجاد صدها یا هزاران صفحه، احتمال خطا و هزینه اصلاح را افزایش می دهد.
آژانس خلاقیت آرتا در پروژه هایی که بازار داخلی و بین المللی را همزمان هدف قرار می دهند، ساختار فنی سایت را متناسب با زبان ها، صفحات هدف و مسیر توسعه آینده کسب و کار در نظر می گیرد تا نسخه های مختلف سایت فقط ترجمه ظاهری یکدیگر نباشند.