الميزاتإضافةالتسعيرالموارد
تغيير اللغة
المواردكيفية تطبيق علامات hreflang لمواقع WordPress متعددة اللغات

كيفية تطبيق علامات hreflang لمواقع WordPress متعددة اللغات

SimplePoTranslate Team31 مايو 2026
كيفية تطبيق علامات hreflang لمواقع WordPress متعددة اللغات

لقد ترجمت موقعك بالكامل على WordPress إلى ست لغات. ملفات .po نظيفة، وملفات .mo مجمعة، وكل نص يظهر بشكل مثالي بالفرنسية والألمانية واليابانية. ومع ذلك، بعد أسابيع من الإطلاق، تتحقق من Google Search Console وتجد شيئًا محيرًا: صفحتك الفرنسية تظهر في نتائج البحث باللغة الألمانية، وصفحتك الإسبانية-المكسيكية تُقدم للمستخدمين في إسبانيا، واثنان من إصدارات لغتك تلتهمان بعضهما البعض بصمت في التصنيفات. المحتوى جيد. المشكلة هي أن Google لا تعرف أي إصدار ينتمي لأي جمهور.

هذا بالضبط ما صُممت علامات hreflang WordPress لإصلاحه. hreflang هي الإشارة التي تخبر محركات البحث أي إصدار لغوي وإقليمي لصفحة يجب تقديمه لأي مستخدم. إذا أخطأت في ذلك، ستعاني من تكرار المحتوى، ونتائج بلغة خاطئة، وإهدار ميزانية الزحف. إذا قمت بذلك بشكل صحيح، تصل كل صفحة مترجمة إلى الجمهور الذي كتبت من أجله. يغطي هذا الدليل بناء الجملة، والفرق بين رموز اللغة ورموز اللغة والمنطقة، و x-default الإجباري، وتبادل علامات العودة، وثلاث طرق عملية لتطبيقها في WordPress.

ما تفعله hreflang بالفعل

لا تقوم hreflang بترجمة أي شيء. إنها خريطة علاقات. عندما يكون لديك نفس الصفحة بلغات متعددة، تخبر تعليقات hreflang جوجل "هذا الرابط هو النسخة الإنجليزية، وهذا هو النسخة الألمانية، وهذا مخصص للمتحدثين بالإسبانية في المكسيك." تستخدم جوجل هذه الخريطة لتقديم النسخة الصحيحة في نتائج البحث بناءً على إعدادات لغة المستخدم وموقعه.

توجد التعليقات التوضيحية في قسم <head> من كود HTML الخاص بك كمجموعة من عناصر <link>. يحدد كل عنصر صفحة مستهدفة واللغة (والمنطقة اختياريًا) التي تخدمها. إليك مجموعة صحيحة من علامات hreflang لصفحة متوفرة بالإنجليزية الأمريكية، الإنجليزية البريطانية، والإسبانية المكسيكية، مع خيار افتراضي احتياطي:

<link rel="alternate" hreflang="en-US" href="https://example.com/en-us/pricing/" />
<link rel="alternate" hreflang="en-GB" href="https://example.com/en-gb/pricing/" />
<link rel="alternate" hreflang="es-MX" href="https://example.com/es-mx/pricing/" />
<link rel="alternate" hreflang="x-default" href="https://example.com/pricing/" />

يجب أن تقوم كل صفحة في المجموعة بإخراج نفس هذه الكتلة، مع سرد كل البدائل بما في ذلك نفسها. هذه النقطة الأخيرة تربك معظم الناس، وسنعود إليها.

لماذا هذا مهم لتحسين محركات البحث (SEO)

بدون hreflang، تتعامل جوجل مع صفحاتك المترجمة كنسخ متطابقة تقريبًا تتنافس على نفس الكلمات المفتاحية. والنتيجة هي التخفيف: إشارات الترتيب تتوزع عبر الإصدارات بدلاً من التوحيد. مع hreflang الصحيحة، يرث كل إصدار سلطة المجموعة بأكملها ويظهر للمستخدمين المناسبين. هذه واحدة من أكثر حركات تحسين محركات البحث (SEO) فاعلية التي يمكن لموقع متعدد اللغات القيام بها، وهي تكمل ولا تحل محل ترجمة المحتوى الفعلية في ملفات .po الخاصة بك. نحن نغطي جانب المحتوى بعمق في دليلنا حول كيف تؤثر ترجمة ملفات PO على تصنيفات جوجل.

رموز اللغة مقابل رموز اللغة والمنطقة

ماذا يجب أن تستخدم، en أم en-GB؟ استخدم الرمز الأكثر وضوحًا وصحة. إذا كان محتواك الإنجليزي عامًا ولا تحتفظ بإصدارات بريطانية وأمريكية منفصلة، استخدم en فقط. أضف رمز منطقة فرعي فقط عندما تقدم محتوى مختلفًا حقًا لبلدان مختلفة.

تتبع قيم hreflang التنسيق language أو language-region. جزء اللغة هو رمز ISO 639-1 (en, es, de, pt). المنطقة الاختيارية هي رمز بلد ISO 3166-1 Alpha 2 (US, GB, MX, BR). لذا:

  • en يستهدف جميع المتحدثين باللغة الإنجليزية بغض النظر عن البلد.
  • en-GB يستهدف المتحدثين باللغة الإنجليزية في المملكة المتحدة.
  • es يستهدف جميع المتحدثين باللغة الإسبانية.
  • es-MX يستهدف المتحدثين باللغة الإسبانية في المكسيك على وجه التحديد.

تفصيل بالغ الأهمية: الرمز الفرعي للمنطقة هو بلد، وليس لهجة لغوية. es-MX لا تعني "اللهجة الإسبانية المكسيكية"، بل تعني "الإسبانية، تُعرض للمستخدمين في المكسيك." ما زالت جوجل تقدمها بناءً على موقع المستخدم. إذا كنت تحتفظ بلهجات إقليمية في ترجماتك، فإن رمز المنطقة هو كيفية توجيهها. نتعمق في الجانب اللغوي لهذا في دليلنا حول المتغيرات الإسبانية والبرتغالية الإقليمية.

مثال خاطئ شائع

إليك كتلة hreflang معطلة نراها باستمرار:

<link rel="alternate" hreflang="en-uk" href="https://example.com/uk/" />
<link rel="alternate" hreflang="sp" href="https://example.com/es/" />
<link rel="alternate" hreflang="pt-PT_BR" href="https://example.com/pt/" />

ثلاثة أخطاء. en-uk غير صالح لأن رمز البلد للمملكة المتحدة هو GB، وليس UK. sp ليس رمز لغة على الإطلاق؛ الإسبانية هي es. و pt-PT_BR يمزج بين منطقتين مع شرطة سفلية ليس لها معنى في hreflang. تتجاهل محركات البحث القيم المشوهة بصمت، لذا لا تحصل على أي خطأ ولا فائدة، فقط ساعات من التصحيح تتساءل لماذا لم يتغير شيء.

لاحظ أن hreflang يستخدم شرطة (en-GB)، بينما تستخدم ملفات WordPress المحلية شرطة سفلية (en_GB). لا تنسخ رموز أسماء ملفات .po الخاصة بك مباشرة إلى علامات hreflang.

x-default وتبادل علامات العودة

هناك قاعدتان تسببان فشل hreflang الصامت أكثر من أي شيء آخر: فقدان x-default وتبادل العلامات المعطل.

تخبر قيمة x-default جوجل أي صفحة يجب تقديمها عندما لا تتطابق أي لغة أخرى مع المستخدم. إنها خيارك الاحتياطي، وعادة ما تكون صفحة تحديد اللغة أو الصفحة الرئيسية لسوقك الأساسي. ليست إلزامية بشكل صارم حسب المواصفات، ولكن عمليًا يجب عليك دائمًا تضمينها. بدونها، سيحصل الزائر الناطق بالبرتغالية الذي ليس لديك إصدار برتغالي له على نتيجة عشوائية بدلاً من افتراض متعمد.

تبادل علامات العودة غير قابل للتفاوض. يجب أن تشير كل صفحة في مجموعة hreflang إلى كل صفحة أخرى، بما في ذلك نفسها. إذا كانت صفحتك الإنجليزية تسرد الألمانية كبديل، يجب أن تسرد صفحتك الألمانية الإنجليزية كبديل. إذا أغفلت الصفحة الألمانية المرجع العائد، تشك جوجل في العلاقة بأكملها وتتجاهل التعليقات التوضيحية.

<!-- On the German page, the set must still list ALL versions -->
<link rel="alternate" hreflang="de" href="https://example.com/de/about/" />
<link rel="alternate" hreflang="en" href="https://example.com/en/about/" />
<link rel="alternate" hreflang="x-default" href="https://example.com/about/" />

المرجع الذاتي (de يشير إلى الصفحة الألمانية أثناء عرض الصفحة الألمانية) مطلوب، وليس اختياريًا. مجموعة من خمسة إصدارات لغوية تعني أن كل صفحة من الصفحات الخمس تخرج جميع علامات <link> الخمس بالإضافة إلى x-default.

ثلاث طرق لتطبيق hreflang في WordPress

لديك ثلاثة خيارات عملية، تتراوح من التحكم اليدوي الكامل إلى التشغيل الآلي بالكامل.

الطريقة 1: يدويًا عبر wp_head

لمجموعة صغيرة وثابتة من الصفحات، يمكنك إدخال علامات hreflang مباشرة من خلال إجراء wp_head في ملف functions.php الخاص بقالبك:

add_action( 'wp_head', function () {
    if ( ! is_page( 'pricing' ) ) {
        return;
    }
    $alternates = array(
        'en-US' => 'https://example.com/en-us/pricing/',
        'es-MX' => 'https://example.com/es-mx/pricing/',
        'x-default' => 'https://example.com/pricing/',
    );
    foreach ( $alternates as $lang => $url ) {
        printf(
            '<link rel="alternate" hreflang="%s" href="%s" />' . "\n",
            esc_attr( $lang ),
            esc_url( $url )
        );
    }
} );

يمنحك هذا تحكمًا دقيقًا ولكنه لا يتناسب مع المشاريع الكبيرة. الحفاظ على التبادل يدويًا عبر مئات المنشورات هو فخ صيانة.

الطريقة 2: إضافة (Plugin) متعددة اللغات

إذا كنت تستخدم Polylang أو WPML أو TranslatePress، يتم إنشاء hreflang تلقائيًا بناءً على علاقات الترجمة الخاصة بك. هذا هو الحل الصحيح لمعظم المواقع لأن الإضافة تعرف بالفعل أي منشور هو ترجمة لأي منشور، لذلك يتم التعامل مع التبادل و x-default نيابة عنك. التكلفة هي الحمل الزائد لوقت التشغيل الذي تضيفه هذه الإضافات، وهو المقايضة التي نفحصها في مقارنتنا بين مناهج الترجمة اليدوية مقابل الترجمة بالذكاء الاصطناعي.

بدلاً من وضع hreflang في <head> كل صفحة، يمكنك الإعلان عن العلاقات في خريطة موقع XML الخاصة بك باستخدام مساحة الاسم xhtml:link. يسرد كل إدخال <url> جميع بدائل لغته:

<url>
  <loc>https://example.com/en/about/</loc>
  <xhtml:link rel="alternate" hreflang="en" href="https://example.com/en/about/" />
  <xhtml:link rel="alternate" hreflang="de" href="https://example.com/de/about/" />
  <xhtml:link rel="alternate" hreflang="x-default" href="https://example.com/about/" />
</url>

يحافظ هذا على نظافة كود HTML لصفحتك ويركز خريطة اللغة في ملف واحد قابل للزحف، والذي تقرأه جوجل بسعادة. يمكن لمعظم إضافات تحسين محركات البحث (SEO) إنشاء هذا تلقائيًا.

hreflang يكمل الترجمة، لا يحل محلها

هذه هي النقطة التي يغفلها الجميع: hreflang لا قيمة لها إذا لم تكن الصفحات الأساسية مترجمة بالفعل. تخبر العلامة جوجل "هذه هي النسخة الألمانية"، ولكن إذا كان الرابط الألماني لا يزال يعرض نصوص الإضافات الإنجليزية، أو تسميات الدفع غير المترجمة، أو ملفات .po غير المكتملة، فقد أخبرت جوجل ببساطة أن تقدم محتوى معطلاً للمستخدمين الألمان بثقة تامة.

تحسين محركات البحث الحقيقي متعدد اللغات هو طبقتان. طبقة المحتوى هي ملفات .po و .pot و .json و .xliff المترجمة الخاصة بك والتي تدفع كل نص للقالب والإضافة إلى اللغة المستهدفة. طبقة الإشارة هي hreflang التي توجه كل إصدار مكتمل إلى جمهوره. كلاهما يجب أن يكون قويًا. مجموعة hreflang نظيفة فوق موقع مترجم بنسبة 40 بالمائة فقط تضمن تجربة أسوأ بشكل أسرع.

هنا تكمن أهمية الحفاظ على طبقة الترجمة نظيفة. عندما تترجم ملفات واجهة المستخدم الخاصة بك، يجب أن تظل العناصر النائبة مثل %s و %1$s و {name} سليمة، وإلا ستظهر صفحتك الألمانية "المترجمة" برموز %s حرفية تبدو معطلة لكل من المستخدمين ومحركات البحث. إن مسار الترجمة الذي يدعم gettext مع Syntax Locking يحمي تلك الرموز تلقائيًا، لذلك كل صفحة بديلة تشير إليها hreflang تكون جاهزة للإنتاج حقًا. وبما أنها تعمل في السحابة مع Smart Batching، يمكنك دفع موقع متعدد اللغات بالكامل من خلالها دون تثبيت إضافات ترجمة تزيد من وقت التشغيل الذي يقدم تلك الصفحات نفسها.

احصل على المحتوى الصحيح أولاً، ثم دع hreflang يقوم بعمله. الاثنان معًا هما ما يوطد إشارات الترتيب، ويزيل النتائج بلغة خاطئة، ويضع كل صفحة مترجمة أمام الأشخاص الذين يمكنهم قراءتها.

هل أنت مستعد لإصلاح نتائج البحث باللغة الخاطئة من المصدر؟ جرب SimplePoTranslate مجانًا — لا يلزم وجود بطاقة ائتمان. ترجم ملفات .po و .pot و .json الخاصة بك في الفئة المجانية، ثم وجه علامات hreflang الخاصة بك إلى الصفحات الجاهزة بالفعل لكل سوق.

مواضيع ذات صلة