برچسب های hreflang یک راه حل فنی برای سایت هایی است که دارای مطالب مشابه در چندین زبان هستند.

صاحب یک سایت چند زبانه می خواهد موتور های جستجوگر محتوا را به افراد به زبان خودشان هدایت کنند.

به عنوان مثال به کاربر هلندی اعلام کند صفحه ای که در آن قرار دارد به زبان انگلیسی است، اما نسخه هلندی آن نیز وجود دارد.

شما می خواهید گوگل صفحه نتایج هلندی را در نتایج جستجو برای آن کاربر هلندی نشان دهد. hreflang برای حل آن طراحی شده است.

کار با برچسب های hreflang سخت است و انجام درست آن کار سختی است و زمان می برد.

هدف از این مقاله جلوگیری از خطا های معمولی شما هنگام کار با آن است، بنابراین اگر در حال شروع کار با پروژه hreflang هستید حتماً آن را بخوانید.

برچسب های hreflang برای چیست؟

برچسب های hreflang روشی برای نشانه گذاری صفحاتی است که به معنی مشابه هستند اما با هدف زبان ها و یا مناطق مختلف ساخته شده اند. سه روش معمول برای اجرای hreflang وجود دارد:

  • محتوا با تغییرات منطقه ای مانند en-us و en-gb.
  • محتوا به زبان های مختلف مانند en ،de و fr.
  • ترکیبی از زبان های مختلف و تغییرات منطقه ای.

برچسب های hreflang معمولاً برای هدف قرار دادن بازار های مختلف که از همان زبان استفاده می کنند استفاده می شود، به عنوان مثال برای تمایز بین ایالات متحده و انگلیس، یا بین آلمان و اتریش.

فواید hreflang در سئو چیست؟

از دیدگاه سئو دو دلیل اصلی وجود دارد که چرا باید آن را عملی کنید.

دلیل اول این است که شما نسخه ای از صفحه را دارید که برای زبان و مکان کاربران بهینه سازی کرده اید و می خواهید آن ها در آن صفحه فرود بیایند.

داشتن زبان مناسب و اطلاعات وابسته به موقعیت مکانی تجربه کاربری آن ها را بهبود می بخشد و به این ترتیب باعث می شود تعداد کمتری از افراد به جستجوی نتایج دیگر بپردازند.

تعداد کمی از افراد که مجدداً به نتایج جستجو باز می گردند منجر به رتبه های بالاتر می شوند.

دلیل دوم این است که hreflang از مشکل تکثیر مطالب جلوگیری می کند. اگر به زبان انگلیسی در URL های مختلف با هدف انگلستان، ایالات متحده و استرالیا مطالب یکسانی دارید، تفاوت در این صفحات ممکن است به اندازه تغییر قیمت و ارز کوچک باشد.

بدون استفاده از hreflang گوگل ممکن است کار هایی را که می خواهید انجام دهید درک نکند و آن را به عنوان محتوای تکراری فرض کند.

با استفاده از hreflang شما برای موتور جستجو کاملاً روشن می کنید که (تقریباً) همان محتوا است، فقط برای افراد مختلف بهینه شده است.

hreflang چیست؟

hreflang یک کد است که می توانید به سه روش مختلف به موتور های جستجو نشان دهید.

با استفاده از این کد تمام URL های مختلف را در سایت (های) خود مشخص می کنید که دارای محتوای یکسان هستند.

این URL ها می توانند در یک زبان متفاوت و یا با همان زبان یکسان باشند اما در یک منطقه متفاوت قرار دارند.

چه کسی از hreflang پشتیبانی می کند؟

hreflang توسط Google و Yandex پشتیبانی می شود. بینگ معادل ندارد اما از برچسب های متا زبان پشتیبانی می کند.

در یک اجرای کامل hreflang هر URL مشخص می کند که سایر تغییرات در دسترس هستند. هنگام جستجو کاربر، گوگل مراحل زیر را طی می کند:

  • تعیین می کند که می خواهد URL را به دست آورد؛
  • بررسی می کند که آیا آن URL دارای حاشیه نویسی از hreflang است یا خیر.
  • نتایج جستجو را با مناسب ترین URL برای کاربر ارائه می دهد.
  • موقعیت فعلی کاربر و تنظیمات زبان وی مناسب ترین URL را تعیین می کنند. یک کاربر می تواند چندین تنظیمات در مرورگر خود داشته باشد. به عنوان مثال یک کاربر زبان هلندی، انگلیسی و آلمانی را دارد. ترتیب این زبان ها در تنظیمات مناسب ترین زبان را تعیین می کند.

آیا باید از hreflang استفاده کنید؟

اگر مطمئن نیستید که می خواهید hreflang را در کل سایت خود پیاده سازی کنید، از صفحه اصلی خود شروع کنید!

افرادی که برند شما را جستجو می کنند، صفحه مناسب را دریافت می کنند. اجرای این کار بسیار ساده تر است و بخش بزرگی از ترافیک شما را “جذب” می کند.

حالا ما یاد گرفتیم که hreflang چیست و چگونه کار می کند، اکنون می توانیم تصمیم بگیریم که آیا باید از آن استفاده کنیم یا خیر. اگر باید استفاده کنیم:

محتوای شما به زبان چندگانه است.
شما محتوا هایی دارید که در مناطق مختلف جغرافیایی اما با همان زبان ارائه می شود.
فرقی نمی کند محتوای شما در یک دامنه یا دامنه های مختلف باشد. شما می توانید تغییرات را در همان دامنه لینک دهید، همچنین می توانید بین دامنه ها لینک برقرار کنید.

گزینه های اجرای معماری

هنگام اجرای hreflang یک نکته بسیار مهم است: بیش از حد مشخص نباشید! بیایید بگوییم که شما سه نوع صفحه دارید:

  • آلمانی
  • آلمانی به طور خاص با هدف اتریش
  • آلمانی به طور خاص با هدف سوئیس

می توانید با استفاده از سه ویژگی hreflang مانند زیر، آن ها را پیاده سازی کنید:

  • از طریق هدف قرار دادن صحبت کنندگان به زبان آلمانی در آلمان
  • از طریق هدف قرار دادن صحبت کنندگان به زبان آلمانی در اتریش
  • از طریق هدف قرار دادن صحبت کنندگان به زبان آلمانی در سوئیس

با این حال کدام یک از این سه نتیجه را گوگل باید به کسی که به زبان آلمانی در بلژیک جستجو می کند نشان دهد؟

صفحه اول احتمالاً بهترین گزینه خواهد بود. برای اینکه مطمئن شوید هر کاربری که به زبان آلمانی جستجو می کند آن را پیدا می کند، آن ویژگی hreflang را فقط به de(آلمانی) تغییر دهید.

در بسیاری از موارد مشخص کردن زبان کاری هوشمندانه است.

خوب است بدانید وقتی مجموعه هایی از این قبیل لینک ها را ایجاد می کنید، خاص ترین آن برنده می شود.

ترتیب لینک ها در موتور جستجو می بیند مهم نیست. همیشه سعی خواهد کرد از خاص ترین تا کمترین موارد مطابقت داشته باشد.

اجرای فنی – اصول اولیه

صرف نظر از اینکه کدام نوع اجرایی را انتخاب می کنید و موارد دیگری که در زیر آمده است، سه قانون اساسی وجود دارد.

1. صفات معتبر hreflang

صفت hreflang نیاز به مقداری دارد که از زبان تشکیل شده باشد که می تواند با یک منطقه ترکیب شود.

ویژگی زبان باید در قالب ISO 639-1 باشد (یک کد دو حرف). کدهای منطقه اشتباه است.

کد های منطقه اختیاری است و باید با فرمت ISO 3166-1 Alpha 2 باشد، به طور دقیق تر باید یک عنصر رسمی اختصاص یافته باشد.

از این لیست در ویکی پدیا استفاده کنید تا تأیید کنید که از کد منطقه و زبان درست استفاده کرده اید.

2. بازگشت لینک ها

قانون اساسی دوم در مورد لینک های برگشتی است. صرف نظر از نوع اجرای شما هر URL به لینک های برگشتی به هر URL دیگر نیاز دارد و این لینک ها باید به نسخه های متعارف اشاره کنند.

هر چه زبان بیشتری داشته باشید احتمالاً وسوسه می شوید که لینک های برگشتی را محدود کنید، اما این کار را نکنید.

اگر 80 زبان داشته باشید برای 80 آدرس اینترنتی لینک های hreflang را خواهید داشت و هیچ چیزی در اطراف آن پیدا نمی شود.

3. لینک hreflang به خود

قانون اساسی سوم و آخرین مورد در مورد خود لینک ها است. ممکن است انجام این کار عجیب باشد اما درست همانطور که این لینک های برگشتی ممکن است عجیب به نظر برسند، کاملاً ضروری هستند و اجرای شما بدون آن ها کار نخواهد کرد.

گزینه های اجرای فنی

سه روش برای اجرای hreflang وجود دارد:

  • با استفاده از <head>
  • با استفاده از هدرهای HTTP
  • یا با استفاده از نقشه سایت XML

هرکدام کاربرد های خود را دارد، بنابراین ما آن ها را توضیح خواهیم داد و درمورد اینکه کدام یک را انتخاب کنید بحث خواهیم کرد.

1. لینک HTML hreflang در <head> شما

اولین روش برای پیاده سازی hreflang که در مورد آن بحث خواهیم کرد عناصر پیوند HTML hreflang است.

شما این کار را با اضافه کردن کدی مانند این به بخش در هر صفحه انجام می دهید:

HTML hreflang

از آنجا که هر تنوع باید به هر تغییر دیگری پیوند یابد، این پیاده سازی ها می توانند بسیار بزرگ شوند و سایت شما را کند کنند.

اگر 20 زبان دارید انتخاب عناصر لینک HTML به معنی اضافه کردن 20 عنصر پیوند مانند نمونه است.

این 1.5 کیلوبایت در هر دفعه بارگذاری صفحه است که هیچ کاربری هرگز از آن استفاده نخواهد کرد، اما باز هم مجبور به بارگیری آن است.

مهمتر از آن CMS شما باید چندین تماس پایگاه داده را انجام دهد تا تمام این لینک ها تولید شود.

این نشانه گذاری صرفاً برای موتور های جستجو منظور شده است. به همین دلیل ما این کار را برای سایت های بزرگتر توصیه نمی کنیم، زیرا باعث اضافه کار بیش از حد و غیر ضروری می شود.

2. هدر های HTTP hreflang

روش دوم اجرای hreflang از طریق هدر های HTTP است. هدر های HTTP برای تمام PDFها و سایر محتوای غیر HTML شما ممکن است که بخواهید بهینه سازی کنید.

HTTP hreflang

عناصر پیوند به خوبی برای اسناد HTML کار می کنند، اما برای انواع دیگر محتوا ها نمی توانید آن ها را بگنجانید. اینجاست که هدر های HTTP وارد می شوند. آن ها باید مانند نمونه زیر باشند:

مشکل در داشتن هدر های HTTP اضافه با مشکل عناصر پیوند مشابه است: به هر درخواست سربار زیادی اضافه می کند.

3. اجرای نقشه XML

گزینه سوم برای اجرای hreflang استفاده از نشانه گذاری نقشه سایت XML است.

از ویژگی xhtml: link در نقشه های XML برای اضافه کردن یادداشت به هر URL استفاده می کند.

این کار به همان روشی که در صفحه <head> با عناصر <link> اجرا کردید، انجام می شود. اگر فکر می کنید عناصر پیوند طولانی هستند نیازی به اجرای نقشه سایت XML نیست.

این نشانه گذاری مورد نیاز فقط برای یک URL با دو زبان دیگر است:

نقشه XML

می توانید ببینید که URL دارای مراجعه به خود به عنوان سومین URL است، مشخص کردن URL خاص برای en-gb منظور شده است و دو زبان دیگر را نیز مشخص می کند.

اکنون هر دو آدرس اینترنتی دیگر نیز باید در نقشه سایت قرار بگیرند که به نظر می رسد:

نقشه XML

همانطور که می بینید در اصل ما URL ها را فقط در عنصر <loc> تغییر می دهیم، زیرا همه موارد دیگر باید یکسان باشند.

با استفاده از این روش هر URL یک ویژگی hreflang به خود ارجاع می دهد و پیوند ها را به URL های مناسب دیگر باز می گرداند.

نشانه گذاری نقشه سایت XML مانند این بسیار شفاف است: برای انجام این کار برای URL های زیادی به خروجی زیادی نیاز دارید.

فایده اجرای نقشه سایت XML ساده است: کاربران عادی به راحتی دسترسی پیدا می کنند. وزن زیادی اضافه نمی شود و برای تولید این نشانه گذاری به تعداد زیادی تماس با پایگاه داده با بارگذاری صفحه نیازی ندارید.

یکی دیگر از مزایای اضافه کردن hreflang از طریق نقشه سایت XML این است که معمولاً تغییر نقشه XML بسیار ساده تر از تغییر همه صفحات در یک سایت است.

نیازی به طی مراحل طولانی تأیید نیست و شاید حتی می توانید مستقیماً به فایل نقشه سایت XML دسترسی پیدا کنید.

سایر جنبه های فنی اجرای hreflang

هنگامی که روش اجرای خود را تصمیم گرفتید ، ملاحظات فنی دیگری وجود دارد که باید قبل از شروع اجرای hreflang در مورد آنها بدانید.

hreflang x-default

x-default یک مقدار ویژگی خاص از hreflang است که مشخص می کند اگر کاربر هیچ یک از زبان هایی که در لینک های دیگر hreflang مشخص کرده اید، با تنظیمات مرورگر آن ها مشخص نمی شود از کجا باید ارسال شود. در یک عنصر پیوند به نظر می رسد:

hreflang x-default

هنگام معرفی توضیح داده شده است که مربوط به “صفحات لندینگ پیج” است، یعنی صفحاتی که کاربران را بر اساس موقعیت مکانی آن ها هدایت می کنید.

با این حال اساساً می تواند به عنوان “catch-all” نهایی همه اظهارات hreflang توصیف شود. در صورتی که مکان و زبان آن ها با سایر موارد مطابقت نداشته باشد، اعضا ارسال می شوند.

در مثال آلمانی که در بالا به آن اشاره کردیم کاربرانی که به زبان انگلیسی جستجو می کنند هنوز URL ای ندارند که متناسب با آن ها باشد.

این یکی از مواردی است که x-default به مرحله اجرا در می آید. شما یک لینک چهارم به نشانه گذاری اضافه می کنید:

  • de
  • de-at
  • de-ch
  • x-default

در این حالت پیوند x-default به همان URL به عنوان de اشاره می کند. ما به شما توصیه نمی کنیم که پیوند de را حذف کنید، حتی اگر از لحاظ فنی دقیقاً همان نتیجه را ایجاد کند.

در دراز مدت معمولاً بهتر است که زبان صفحه را مشخص کنید و این کار خواندن کد را آسانتر می کند.

hreflang و rel=canonical

rel = “alternate” hreflang = “x” markup و rel = “canonical” می توانند و باید با هم استفاده شوند.

هر زبان باید یک لینک rel=”canonical” داشته باشد که به خود اشاره دارد. در مثال اول فرض می شود که ما در صفحه اصلی example.com قرار داریم:

hreflang و rel=canonical

اگر ما در صفحه en-gb بودیم، فقط canonical تغییر می کرد.

hreflang و rel=canonical

در تنظیم canonical در صفحه en-gb به http://example.com/ اشتباه نکنید، زیرا این کار اجرای برنامه را خراب می کند.

این بسیار مهم است که لینک های hreflang به نسخه کانونی هر URL اشاره کنند، زیرا این سیستم ها باید دست به دست هم دهند!

ابزار های مفید هنگام اجرای hreflang

اکنون حتما تصور می کنید که این کار چقدر دشوار است! خوشبختانه اگر می خواهید شروع به اجرای hreflang کنید ابزارهایی در دسترس هستند.

hreflang tag generator

Aleyda Solis که در مورد این موضوع نیز مطالب زیادی نوشت، یک مولد برچسب hreflang بسیار مفید ایجاد کرده است که به شما در تولید عناصر لینک کمک می کند.

حتی وقتی از اجرای عنصر لینک استفاده نمی کنید، این ابزار می تواند برای ایجاد کد نمونه ای مفید باشد.

hreflang XML sitemap generator

Media Flow یک ژنراتور نقشه سایت XML hreflang ایجاد کرده است. فقط کافیست آن را با CSV با آدرس URL به هر زبان تغذیه کنید و یک نقشه سایت XML ایجاد کند.

این اولین قدم عالی است که تصمیم می گیرید مسیر نقشه سایت را طی کنید.

فایل CSV که شما از این ژنراتور نقشه سایت XML تغذیه می کنید، برای هر زبان به ستونی احتیاج دارد.

اگر می خواهید یک URL به طور پیش فرض x نیز به آن اضافه کنید، کافیست ستونی بنام x-default ایجاد کنید.

مطمئن شوید که hreflang کار خود را به درستی انجام می دهد: پردازش کنید!

پس از ایجاد یک hreflang باید فرایند های نگهداری را تنظیم کنید. احتمالاً ایده خوبی باشد که به طور مرتب اجرای خود را بررسی کنید تا مطمئن شوید که هنوز هم به درستی تنظیم شده است.

اطمینان حاصل کنید که افرادی در شرکت شما که با محتوا در سایت شما سروکار دارند از hreflang آگاهی دارند تا کاری نکنند که اجرای شما را خراب کند. دو چیز بسیار مهم است:

  • هنگامی که یک صفحه حذف شد، بررسی کنید که آیا counterpart آن به روز شده اند یا خیر.
  • هنگامی که یک صفحه ریدایرکت می شود، URL های hreflang را در counterpart خود تغییر دهید.

اگر مرتباً این کار را انجام دهید و ممیزی کنید، نباید مشکلی پیش بگیرید.

نتیجه

تنظیم hreflang یک روند دشوار است. این یک استاندارد دشوار با بسیاری از موارد خاص است که شما باید بدانید و با آن ها مقابله کنید.