SEO & I18n: الدليل الشامل لجعل موقع الويب الخاص بك متعدد اللغات
هل تريد الوصول إلى المزيد من المستخدمين في جميع أنحاء العالم؟ إن جعل موقع الويب الخاص بك متعدد اللغات هو واحد من أفضل الطرق لتوسيع جمهورك وتحسين محركات البحث الخاصة بك (تحسين محركات البحث). في هذه التدوينة، سنقوم بشرح أساسيات تحسين محركات البحث الدولية - التي يُشار إليها غالبًا باسم i18n (اختصارًا لـ "الدولية") - بعبارات واضحة ومفهومة. ستتعلم عن القرارات الرئيسية التي تحتاج إلى اتخاذها، وكيفية استخدام العناصر التقنية مثل hreflang، ولماذا يمكن أن تسهل أدوات مثل Intlayer مشاريعك متعددة اللغات في Next.js.
1. ماذا يعني جعل موقع الويب الخاص بك متعدد اللغات؟
موقع الويب متعدد اللغات يقدم محتواه بأكثر من لغة واحدة. على سبيل المثال، قد يكون لديك نسخة باللغة الإنجليزية (example.com/en/)، ونسخة باللغة الفرنسية (example.com/fr/)، ونسخة باللغة الإسبانية (example.com/es/). تسمح هذه الطريقة لمحركات البحث بعرض النسخة الصحيحة بلغة معينة للمستخدمين بناءً على تفضيلاتهم أو مواقعهم الجغرافية.
عندما تقوم بذلك بشكل صحيح، ستخلق تجربة أكثر ملاءمة للمستخدمين غير الناطقين باللغة الإنجليزية - مما يؤدي إلى تحسين التفاعل، وزيادة معدلات التحويل، وتحسين محركات البحث في مناطق مختلفة.
2. اختيار هيكل عنوان URL الصحيح
إذا قررت أن يكون لديك نسخ متعددة للغة، ستحتاج إلى وسيلة واضحة ومتسقة لتنظيم عناوين URL الخاصة بموقعك. يجب أن يكون لكل لغة (أو منطقة) "عنوان" فريد خاص بها على الإنترنت. وفيما يلي ثلاث طرق شائعة لهيكلة المواقع متعددة اللغات:
نطاقات المستوى العلوي برمز الدولة (ccTLDs)
- مثال: example.fr، example.de
- الإيجابيات: ترسل إشارة قوية إلى محركات البحث حول البلد الذي يستهدفه المحتوى (مثل: .fr = فرنسا).
- السلبيات: إدارة مجالات متعددة قد تكون أكثر تكلفة وتعقيدًا.
النطاقات الفرعية
- مثال: fr.example.com، de.example.com
- الإيجابيات: كل لغة "تعيش" على نطاق فرعي خاص بها، مما يجعل من السهل نسبيًا إضافة أو إزالة اللغات.
- السلبيات: أحيانًا تعالج محركات البحث النطاقات الفرعية كمواقع منفصلة، لذلك يمكن أن تُخفف من سلطة النطاق الرئيسي.
الدلائل الفرعية (المجلدات)
- مثال: example.com/fr/، example.com/de/
- الإيجابيات: سهل الإدارة، وكل حركة المرور تشير إلى نطاق رئيسي واحد.
- السلبيات: ليست إشارة قوية لتحسين محركات البحث المحلية مثل ccTLDs (على الرغم من أنها فعالة إذا تم القيام بها بشكل صحيح).
نصيحة: إذا كان لديك علامة تجارية عالمية وترغب في تقليل التعقيدات، تعمل الدلائل الفرعية غالبًا بشكل أفضل. إذا كنت تستهدف دولة أو دولتين رئيسيتين فقط وترغب في إبراز كل منهما، فقد تكون ccTLDs هي الطريق المناسب.
3. إتقان استهداف اللغة مع Hreflang
3.1. ما هو Hreflang؟
عندما يكون لديك محتوى متطابق أو مشابه جدًا بلغات متعددة، يمكن أن تتشوش محركات البحث مثل Google بشأن أي نسخة يجب عرضها للمستخدم. Hreflang هو سمة HTML تُخبر محركات البحث باللغة (والمنطقة) التي يُقصد بها صفحة معينة، وما هي صفحات اللغة/المنطقة البديلة.
3.2. لماذا هذا مهم؟
- يمنع مشاكل المحتوى المكرر (عندما تعتقد محركات البحث أنك تنشر نفس المحتوى عدة مرات).
- يضمن أن المستخدمين الفرنسيين يرون النسخة الفرنسية، و المستخدمين الإسبانيين يرون النسخة الإسبانية، وهكذا.
- يُحسن تجربة المستخدم العامة، مما يعني مزيدًا من التفاعل وترتيب أفضل لتحسين محركات البحث.
3.3. كيفية استخدام Hreflang في علامة <head>
في HTML الخاص بك، ستضيف شيئًا مثل:
<link
rel="alternate"
hreflang="en"
href="https://github.com/aymericzip/intlayer/blob/main/docs/ar/alternate/en"
/>
<link
rel="alternate"
hreflang="fr"
href="https://github.com/aymericzip/intlayer/blob/main/docs/ar/alternate/fr"
/>
<link
rel="alternate"
hreflang="es"
href="https://github.com/aymericzip/intlayer/blob/main/docs/ar/alternate/es"
/>
<link
rel="alternate"
hreflang="x-default"
href="https://github.com/aymericzip/intlayer/blob/main/docs/ar/alternate/en"
/>
- hreflang="en": تشير إلى النسخة الإنجليزية من الصفحة.
- hreflang="fr": تشير إلى النسخة الفرنسية من الصفحة.
- hreflang="es": تشير إلى النسخة الإسبانية من الصفحة.
- hreflang="x-default": لغة "احتياطية" أو عنوان URL افتراضي عندما لا تتطابق أي من اللغات الأخرى مع تفضيلات المستخدم.
ملاحظة سريعة: تأكد من أن عناوين URL في هذه العلامات تشير مباشرة إلى الصفحة النهائية، مع عدم وجود أي إعادة توجيه إضافية.
4. جعل المحتوى "محليًا" حقًا (ليس مجرد ترجمة)
4.1. التوطين مقابل الترجمة
- الترجمة تعني تحويل النص من لغة إلى أخرى كلمة بكلمة.
- التوطين يعني تكييف تنسيق المحتوى، والعملة، والقياسات، والمراجع الثقافية لجمهور محلي. على سبيل المثال، إذا كنت تستهدف فرنسا، ستستخدم € بدلاً من `You are an expert in internationalization and content management. Your task is to translate the following documentation into the specified locales.
Requirement:
- You should only translate the text, and titles of the file.
- You should not alter the structure of the file.
- You should not alter the code logic of code elements.
- You should transform urls as https://github.com/aymericzip/intlayer/blob/main/docs/en/**/*.md to https://github.com/aymericzip/intlayer/blob/main/docs/ar/**/*.md
- You should not transform url as https://github.com/aymericzip/intlayer/blob/main/docs/assets/**/*
- You should transform locale urls as /**/* to /{{locale}}/**/*
- In the code elements, the naming of the variables should be made in English. But the comments should be in العربية.
- You should return the translated file content without any additional comments or explanations.
- You should be sure to do not forgot to translate any content
Locales:
- Base file locale: en: English (US)
- Desired Locales: {{locale}} : {{localeName}}
File to Translate:
, وقد تذكر التفاصيل المحلية المتعلقة بالعطلات أو الأمور الخاصة بالمنطقة.
4.2. تجنب المحتوى المكرر
حتى مع الترجمة الجيدة، يمكن أن ترفع محركات البحث إنذارات لموقعك بسبب المحتوى المكرر إذا كان يشبه هيكله بشكل كبير. يساعد Hreflang في توضيح أن هذه الصفحات ليست مكررة ولكنها مجرد إصدارات لغوية.
5. المتطلبات الأساسية لتحسين محركات البحث التقنية
5.1. إعلانات اللغة (lang وdir)
في علامة HTML الخاصة بك، يمكنك الإعلان عن اللغة بهذا الشكل:
<html lang="en"></html>
- lang="en" يساعد المتصفحات والتقنيات المساعدة على فهم اللغة.
للغات من اليمين إلى اليسار (مثل العربية أو العبرية)، أضف:
<html dir="rtl" lang="ar"></html>
- dir="rtl" يضمن أن اتجاه النص يكون من اليمين إلى اليسار.
5.2. العلامات الأساسية
تخبر العلامات الأساسية محركات البحث أي صفحة هي النسخة "الأصلية" أو الرئيسية إذا كان لديك صفحات متطابقة تقريبًا. عادة، سيكون لديك إشارة أساسية تشير إلى النسخة الأساسية لمواقع متعددة اللغات.
<link rel="canonical" href="https://example.com/fr/produits" />
6. تحسين محركات البحث على الصفحات بلغات متعددة
6.1. العناوين ووصف الميتا
- تمت ترجمته وتحسينه لكل لغة.
- أجرِ بحثًا عن الكلمات الرئيسية لكل سوق لأن ما يبحث عنه الناس باللغة الإنجليزية قد يختلف في الفرنسية أو الإسبانية.
6.2. العناوين (H1، H2، H3)
يجب أن تعكس العناوين العبارات أو الكلمات الرئيسية المحلية لكل منطقة. لا تقتصر على استخدام العنوان الإنجليزي الأصلي في Google Translate فقط وتعتبره نهائيًا.
6.3. الصور ووسائط الإعلام
- محليًا نصوص alt، والتعليقات التوضيحية، وأسماء الملفات إذا لزم الأمر.
- استخدم الصور التي تتناغم مع الثقافة المستهدفة.
7. تغيير اللغة وتجربة المستخدم
7.1. إعادة التوجيه التلقائي أو مُحدد اللغة؟
- إعادة التوجيه التلقائي (استنادًا إلى IP أو إعدادات المتصفح) قد يكون مريحًا ولكن قد يرسل المسافرين أو مستخدمي VPN إلى النسخة الخاطئة.
- مستخدم اللغة غالبًا ما يكون أكثر وضوحًا - يمكن للمستخدمين اختيار لغتهم الخاصة إذا كانت اللغة المحددة تلقائيًا غير صحيحة.
إليك مثال مبسط لـ Next.js + Intlayer:
import { useLocation, useNavigate } from "react-router-dom";
import {
Locales,
getHTMLTextDir,
getLocaleName,
getLocalizedUrl,
} from "intlayer";
import { useLocale } from "react-intlayer";
import { type FC } from "react";
const LocaleSwitcher: FC = () => {
const location = useLocation(); // الحصول على مسار URL الحالي. مثال: /fr/about
const navigate = useNavigate();
const changeUrl = (locale: Locales) => {
// بناء URL مع اللغة المحدثة
// مثال: /es/about مع تعيين اللغة إلى الإسبانية
const pathWithLocale = getLocalizedUrl(location.pathname, locale);
// تحديث مسار URL
navigate(pathWithLocale);
};
const { locale, availableLocales, setLocale } = useLocale({
onLocaleChange: changeUrl,
});
return (
<ol>
{availableLocales.map((localeItem) => (
<li key={localeItem}>
<a
href={getLocalizedUrl(location, localeItem)}
hrefLang={locale === localeItem ? "x-default" : localeItem}
aria-current={locale === localeItem ? "page" : undefined}
onClick={(e) => {
e.preventDefault();
setLocale(localeItem);
}}
>
<span>
{/* لغة في لغتها الخاصة - على سبيل المثال: Français */}
{getLocaleName(localeItem, locale)}
</span>
<span dir={getHTMLTextDir(localeItem)} lang={localeItem}>
{/* لغة في اللغة الحالية - على سبيل المثال: Francés مع تعيين اللغة الحالية إلى Locales.SPANISH */}
{getLocaleName(localeItem)}
</span>
<span dir="ltr" lang={Locales.ENGLISH}>
{/* لغة باللغة الإنجليزية - على سبيل المثال: French */}
{getLocaleName(localeItem, Locales.ENGLISH)}
</span>
<span>
{/* لغة في لغتها الخاصة - على سبيل المثال: FR */}
{localeItem}
</span>
</a>
</li>
))}
</ol>
);
};
7.2. تخزين التفضيلات
- احفظ خيار لغة المستخدم في ملف تعريف الارتباط أو الجلسة.
- في المرة القادمة التي يزور فيها المستخدم موقعك، يمكنك تحميل لغته المفضلة تلقائيًا.
8. بناء روابط محلية
تظل الروابط الخلفية (الروابط من المواقع الخارجية إلى موقعك) عاملاً مهمًا في تحسين محركات البحث. عندما تقوم بتشغيل موقع متعدد اللغات، فكر في:
- الوصول إلى مواقع الأخبار المحلية، المدونات، أو المنتديات. على سبيل المثال، انقر على نطاق .fr الذي يشير إلى الدليل الفرعي الفرنسي يمكن أن يعزز تحسين محركات البحث المحلية الفرنسية.
- مراقبة الروابط الخلفية لكل لغة لمعرفة المناطق التي تحتاج لمزيد من جهود العلاقات العامة/التسويق.
9. مراقبة وصيانة موقعك متعدد اللغات
9.1. Google Analytics وSearch Console
- قسم بياناتك حسب كل دليل لغة (/en/، /fr/، /es/).
- ترقب أخطاء الزحف، إشعارات المحتوى المكرر، وم Issues related to indexing على أساس كل لغة.
9.2. تحديثات محتوى منتظمة
- حافظ على ترجمة العروض جديدة. إذا قمت بتغيير وصف منتج باللغة الإنجليزية، قم بتحديثه باللغة الفرنسية، الإسبانية، إلخ.
- يمكن أن تكون الترجمات القديمة مربكة للعملاء وتؤثر على ثقتهم بالمستخدمين.
10. العقبات الشائعة التي يجب تجنبها
المحتوى المترجم آليًا الترجمة الآلية بدون مراجعة بشرية يمكن أن تكون مليئة بالأخطاء.
علامات hreflang غير الصحيحة أو المفقودة لا يمكن لمحركات البحث تحديد إصدارات اللغة من تلقاء نفسها إذا كانت علامتك غير مكتملة أو فيها رموز خاطئة.
تغيير اللغة فقط عبر JavaScript إذا لم تتمكن Google من الزحف إلى عناوين URL الفريدة لكل لغة، فقد لا تظهر صفحاتك في نتائج البحث المحلية الصحيحة.
تجاهل الفروق الثقافية قد تكون نكتة أو عبارة تعمل في دولة واحدة مسيئة أو بدون معنى في دولة أخرى.
الخاتمة
يتطلب جعل موقع الويب الخاص بك متعدد اللغات أكثر من مجرد ترجمة النص. إنها تتعلق بهيكلة عناوين URL بشكل فعال، واستخدام علامات hreflang لمساعدة محركات البحث في تقديم النسخة الصحيحة، وتوفير تجربة ممتازة للمستخدم - كاملة مع المرئيات المحلية، ومحددات اللغة، وتنقل متسق. ستمكنك اتباع هذه الممارسات الجيدة من النجاح في الأسواق العالمية، وتعزيز رضا المستخدمين، وفي النهاية، تقديم نتائج أفضل لتحسين محركات البحث عبر المناطق.
إذا كنت تستخدم Next.js (خصوصًا App Router في Next.js 13+)، يمكن أن تساعد أداة مثل Intlayer في تبسيط هذه العملية بالكامل. تساعدك في كل شيء من إنشاء الخرائط الموقعة المحلية إلى التعامل تلقائيًا مع روابط hreflang، واكتشاف اللغة، والمزيد - حتى تتمكن من التركيز على صياغة محتوى متعدد اللغات عالي الجودة.
هل أنت جاهز للانتقال إلى العولمة؟ ابدأ في تنفيذ استراتيجيات تحسين محركات البحث وi18n هذه الآن، وراقب كيف يكتشف الزوار الجدد من جميع أنحاء العالم ويتفاعلون مع موقعك!
إذا كان لديك فكرة لتحسين هذه الوثيقة، فلا تتردد في المساهمة من خلال تقديم طلب سحب على GitHub.
رابط GitHub للمدونة