Tarotas توسط Inithouse: مدیریت ۵ زبان در یک دامنه

ما در Inithouse ابزار می‌سازیم. یکی از محصولات ما Tarotas است؛ یک اپلیکیشن کارت تاروت. ما محتوا را به پنج زبان ارائه می‌دهیم: چکی، انگلیسی، لهستانی، اسلواکی و آلمانی. تمام این‌ها در یک دامنه قرار دارند.

ما باید ساختاری برای تنظیمات چندزبانه خود انتخاب می‌کردیم. سه گزینه را بررسی کردیم:

  • پسوندهای سطح بالا با کد کشور (example.cz)
  • زیردامنه‌ها (cs.example.com)
  • زیرپوشه‌ها (example.com/cs/)

ما زیرپوشه‌ها را انتخاب کردیم. دلیل آن در ادامه آمده است.

زیرپوشه‌ها همه چیز را در یک جا نگه می‌دارند. شما از یک استقرار (deployment)، یک گواهی SSL و یک ویژگی Search Console استفاده می‌کنید. همچنین تمام اعتبار لینک‌های خود را در یک مجموعه حفظ می‌کنید. این موضوع برای محصولات در مراحل اولیه حیاتی است.

گزینه‌های دیگر هزینه‌های بالایی دارند:

  • TLDها هدف‌گیری جغرافیایی قدرتمندی ارائه می‌دهند، اما باید چندین دامنه و رکورد DNS را مدیریت کنید. این کار بار عملیاتی بسیار سنگینی ایجاد می‌کند.
  • زیردامنه‌ها مانند سایت‌های نیمه‌مستقل عمل می‌کنند. این کار اعتبار لینک‌های شما را تقسیم می‌کند. همچنین برای هر کدام به ویژگی‌های مجزای Search Console نیاز دارید.

پشته فنی (technical stack) ما نیز بر این انتخاب تأثیر گذاشت. Tarotas از React استفاده می‌کند. زیرپوشه‌ها صرفاً مسیر (route) هستند و روتر ما آن‌ها را به راحتی مدیریت می‌کند. زیردامنه‌ها نیازمند تغییرات پیچیده در DNS و استقرار بودند.

برای اینکه این سیستم کار کند، از تگ‌های hreflang استفاده می‌کنیم. این تگ‌ها به موتورهای جستجو می‌گویند که کدام زبان را نمایش دهند. با این حال، پیاده‌سازی آن دشوار است.

اشتباهات رایجی که سئو چندزبانه را مختل می‌کنند:

  • نبود لینک‌های دوطرفه. اگر صفحه A به صفحه B لینک می‌دهد، صفحه B نیز باید به صفحه A لینک بدهد.
  • تگ‌های canonical اشتباه. هر صفحه زبانی باید به خودش به عنوان URL اصلی (canonical) اشاره کند. اگر تمام زبان‌ها را به یک URL انگلیسی هدایت کنید، گوگل سایر زبان‌های شما را از ایندکس خارج می‌کند.
  • تزریق سمت کلاینت (Client-side injection). اگر تگ‌ها را فقط با JavaScript تزریق کنید، ممکن است موتورهای جستجو آن‌ها را نبینند. باید اطمینان حاصل کنید که متاتگ‌ها در HTML اولیه ظاهر می‌شوند.
  • فراموش کردن x-default. شما به یک زبان جایگزین (fallback) برای کاربرانی که زبانشان مطابقت ندارد، نیاز دارید.

توصیه ما برای محصول چندزبانه شما:

  • اگر سادگی و اعتبار مشترک را می‌خواهید، از زیرپوشه‌ها استفاده کنید.
  • اگر هدف‌گیری جغرافیایی و قیمت‌گذاری محلی مهم‌تر از زبان است، از TLDها استفاده کنید.
  • اطمینان حاصل کنید که URLهای canonical برای هر زبان به خودشان ارجاع می‌دهند.
  • اگر محتوای شما فراتر از مرزها کاربرد دارد، از تگ‌های فقط زبانی استفاده کنید.
  • Google Search Console را برای هشدارهای محتوای تکراری زیر نظر داشته باشید.
  • هفته‌ها برای مشاهده نتایج صبر کنید. گوگل این سیگنال‌ها را به کندی پردازش می‌کند.

اگر ترافیک بین‌المللی شما کم به نظر می‌رسد، ابتدا تگ‌های canonical خود را بررسی کنید. معمولاً خطا در همان‌جا نهفته است.

Source: https://dev.to/jakub_inithouse/tarotas-by-inithouse-how-we-handle-5-languages-on-one-domain-without-hreflang-disasters-1nc1