hreflang: إعداد 12 لغة في seogrinder.com و5 أخطاء شائعة

بقلم SEOgrinder · تاريخ النشر · آخر تحديث · 8 دقيقة قراءة

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

ما وظيفة hreflang ومتى تحتاجه؟

يشرح Google الفكرة في صفحته Tell Google about localized versions of your page: إذا كانت لديك عدة نسخ من الصفحة للغات أو مناطق مختلفة، فإن إخبار Google بها يساعده على توجيه المستخدمين إلى أنسب نسخة بحسب اللغة أو المنطقة. وهذه عبارته: «help Google Search point users to the most appropriate version of your page by language or region».

يذكر Google ثلاث حالات يوصي فيها بهذه الإشارة:

  • يبقى المحتوى الأساسي بلغة واحدة ولا يُترجم إلا القالب، أي التنقل والتذييل.
  • توجد اختلافات إقليمية صغيرة في محتوى متشابه بلغة واحدة، مثل الإنجليزية للولايات المتحدة وبريطانيا وأيرلندا.
  • المحتوى مترجم بالكامل، مثل نسخة ألمانية وأخرى إنجليزية لكل صفحة.

قد يعثر Google على النسخ البديلة من تلقاء نفسه، لكنه يقول إن الأفضل في الغالب أن تُذكر صراحةً. والصفحة المترجمة ليست نسخة مكررة: فالنسخ المحلية ‏«are only considered duplicates if the main content of the page remains untranslated»‏ (Google).

وهناك أمران لا يقوم بهما hreflang. الأول أنه ليس الوسيلة التي يعرف بها Google لغة الصفحة: يقول Google إنه ‏«doesn't use hreflang or the HTML lang attribute to detect the language of a page»‏ (Google)، وتضيف صفحته عن المواقع متعددة اللغات أنه يعتمد في ذلك على المحتوى المرئي. والثاني أنه ليس وعدًا بترتيب أعلى: يذكر Google غرضًا واحدًا هو أن يرى كل باحث النسخة المطابقة له.

كيف يربط seogrinder.com اثنتي عشرة لغة

يصف هذا القسم مدونة seogrinder.com كما وجدناها في 5 نوفمبر 2026. لا تحمل الصفحة الرئيسية ‎/‎ أي وسوم hreflang. وكل مقالة صفحة مستقلة بلغة واحدة. اقرأ الوسوم بنفسك:

curl -sS https://seogrinder.com/ar/blog/qaimat-tadqiq-seo | grep '<link rel="alternate" hreflang'

يطبع هذا 13 سطرًا، وهي نفسها في النسخ الاثنتي عشرة كلها لهذه المقالة:

<link rel="alternate" hreflang="en" href="https://seogrinder.com/en/blog/seo-audit-checklist">
<link rel="alternate" hreflang="ar" href="https://seogrinder.com/ar/blog/qaimat-tadqiq-seo">
<link rel="alternate" hreflang="de" href="https://seogrinder.com/de/blog/seo-audit-checkliste">
<link rel="alternate" hreflang="es" href="https://seogrinder.com/es/blog/checklist-seo-auditoria">
<link rel="alternate" hreflang="fr" href="https://seogrinder.com/fr/blog/checklist-audit-seo-gratuite">
<link rel="alternate" hreflang="hi" href="https://seogrinder.com/hi/blog/seo-audit-checklist-hindi">
<link rel="alternate" hreflang="it" href="https://seogrinder.com/it/blog/checklist-audit-seo">
<link rel="alternate" hreflang="ja" href="https://seogrinder.com/ja/blog/seo-chekkurisuto">
<link rel="alternate" hreflang="ko" href="https://seogrinder.com/ko/blog/seo-chekeuliseuteu-jeomgeom">
<link rel="alternate" hreflang="nl" href="https://seogrinder.com/nl/blog/seo-audit-checklist-uitvoeren">
<link rel="alternate" hreflang="pl" href="https://seogrinder.com/pl/blog/checklista-seo-audyt">
<link rel="alternate" hreflang="pt" href="https://seogrinder.com/pt/blog/checklist-de-auditoria-seo">
<link rel="alternate" hreflang="x-default" href="https://seogrinder.com/en/blog/seo-audit-checklist">

ما تُظهره هذه الكتلة:

  • طريقة واحدة. الوسوم في رأس HTML. لا ترسل هذه الصفحات hreflang في ترويسة HTTP، وليس في sitemap.xml أي عناصر xhtml:link. يعدّ Google الطرق الثلاث متكافئة ولا يرى فائدة في استخدامها كلها معًا.
  • رموز لغة بسيطة. اثنا عشر رمزًا بلا مناطق، لأن لكل لغة نسخة واحدة بالضبط من المقالة.
  • الصفحة تذكر نفسها. السطر ar هو عنوان هذه الصفحة ذاتها، وتحمل النسخ الاثنتا عشرة كلها المجموعة نفسها من الأسطر.
  • وسوم بسيطة. تقع في ‎<head>‎، ووسم ‎<link>‎ واحد لكل لغة، بلا سمات إضافية. يطلب Google رأسًا سليم البنية ويحذر من الجمع بين hreflang وسمات مثل media في وسم واحد.
  • وسم canonical يشير إلى الصفحة نفسها. تذكر كل نسخة عنوانها هي بوصفه canonical لا عنوان النسخة الإنجليزية، وهذا يوافق قول Google إن النسخ المترجمة ليست مكررة.
  • عنوان مستقل لكل لغة وبلا إعادة توجيه تلقائية. للنسخة العربية العنوان ‎/ar/blog/qaimat-tadqiq-seo‎ ومعرّفه (slug) منقول بحروف لاتينية من العربية. يوصي Google بعناوين مختلفة لكل لغة بدل ملفات تعريف الارتباط أو إعدادات المتصفح، وينصح بألا يُعاد توجيه الزوار بحسب لغتهم المفترضة. وطلب إلى الصفحة الإنجليزية مع Accept-Language: de يعيد الرمز 200 ويبقى هناك (اختُبر في 5 نوفمبر 2026). وفي كل مقالة قائمة لغات بروابط عادية إلى النسخ الأخرى.

كيف بُني. تذكر كل مقالة موضوعها في سطر group. تجمع شيفرة المدونة كل الملفات التي لها group نفسه، وتطبع وسم ‎<link>‎ واحدًا لكل عضو (الإنجليزية أولًا ثم بحسب رمز اللغة)، وتضبط x-default على النسخة الإنجليزية. اللغة التي لا ملف لها لا يُطبع لها سطر، ولذلك فإن الموضوع الذي لا يوجد إلا بالإنجليزية والألمانية يحمل ثلاثة أسطر: en وde وx-default. ويسمح Google بالمجموعات الناقصة: ‏«you can omit some languages on some pages; Google will still process the ones that point to each other»‏ (Google).

كيف عددنا. تقرأ هذه الحلقة عناوين كل المقالات من خريطة الموقع وتعدّ أسطر hreflang في كل صفحة:

for u in $(curl -sS https://seogrinder.com/sitemap.xml | grep -o 'https://seogrinder.com/[a-z][a-z]/blog/[^<]*'); do
  curl -sS "$u" | grep -c '<link rel="alternate" hreflang'
done | sort | uniq -c

في 5 نوفمبر 2026 طبعت ‎408 13‎: أي 408 صفحات بـ13 سطرًا (اثنتا عشرة لغة مع x-default). ثم جلب سكربت صغير الصفحات الـ408 نفسها وقارن الوسوم: كل صفحة تذكر نفسها، وكل عنوان مذكور يرد بالرمز 200 ويذكر الصفحة بدوره، وx-default هو العنوان الإنجليزي. ويختبر فحص المدونة عندنا (check:blog) هذه القواعد لكل صفحة مقالة عند كل تغيير في المدونة.

ما فائدة x-default؟

يصف Google القيمة x-default بأنها ‏«recommended for specifying the fallback page for users whose language settings don't match any of your site's localized versions»‏ (Google). وهي ليست إلزامية.

ويضيف Google أن أي صفحة تستطيع حمل هذه القيمة، لكنها «designed for language selector pages and so it will work best with those». ليست لدينا صفحة لاختيار اللغة للمقالات، ولذلك فصفحتنا الاحتياطية هي النسخة الإنجليزية من المقالة نفسها؛ أما في صفحات فهرس المدونة فهي ‎/en/blog‎. هذا قرارنا نحن وليس قاعدة.

الأخطاء الشائعة: 5 أخطاء في hreflang من وثائق Google

لصفحة Google قسم «Common Mistakes» فيه ثلاثة بنود، وتذكر إرشاداتها شرطين آخرين بصيغة «must». هذه هي الخمسة أدناه. لا يذكر Google مدى تكرار كل منها. اثنان فقط لهما عاقبة مذكورة: غياب الروابط المقابلة (تُتجاهل الوسوم) ورموز المناطق المحجوزة (يُتجاهل ذلك الجزء). أما في الباقي فتذكر الصفحة القاعدة وحدها.

1. غياب الروابط المقابلة

إذا ذكرت الصفحة X الصفحة Y، وجب أن تذكر الصفحة Y الصفحة X. وقاعدة Google بعبارتها: ‏«If two pages don't both point to each other, the tags will be ignored»‏ (Google). ويذكر Google السبب معها: ألّا يستطيع موقع آخر أن يعلن نفسه نسخة بديلة من صفحتك. والحل أن تطبع كل نسخة كتلة الروابط نفسها من مصدر واحد. وإن صعب الحفاظ على المجموعة كاملة فيسمح Google بحذف بعض اللغات من بعض الصفحات، لكنه يقول إن اللغات المضافة حديثًا ينبغي أن ترتبط في الاتجاهين بالنسخة الأصلية أو الرئيسية.

2. نسخة لا تذكر نفسها

القاعدة لجميع الطرق: ‏«Each language version must list itself as well as all other language versions»‏ (Google). وفي طريقة HTML معنى ذلك رابط واحد لكل نسخة، «including itself»، ومجموعة متطابقة في كل نسخة. لا يقول Google ما الذي يحدث إذا غابت الإشارة الذاتية، فعامل غيابها خطأً وأضف السطر.

3. رموز لغة غير صالحة

الجزء الأول من القيمة لغة بصيغة ISO 639-1، ويليه رمز منطقة اختياريًا. يكتب Google: ‏«Specifying the region alone is not valid»‏. وفي مثاله عن بلجيكا يكون be خطأً لأنه رمز اللغة البيلاروسية؛ والرموز الصحيحة هي de-BE وnl-BE وfr-BE. أما الرموز غير الواردة في هذين المعيارين، مثل es-419، فغير مدعومة (رموز الكتابة مثل zh-Hans مسموح بها). حالة الأحرف لا تهم، لكن المعيار يكتب المنطقة بأحرف كبيرة.

4. رموز مناطق غير صالحة

يجب أن تكون المنطقة رمزًا معيّنًا رسميًا وفق ISO 3166-1 Alpha 2. وفي الرموز المحجوزة لغرض آخر: «Google Search ignores that part of the annotation». ويذكر Google أن EU وUN وUK بلا أثر. والرمز الصحيح للمملكة المتحدة هو GB، كما في مثال Google نفسه en-GB.

5. عناوين نسبية أو ناقصة

‏«Alternate URLs must be fully-qualified, including the transport method (http/https)»‏ (Google). ومثال Google: https://example.com/foo لا ‎//example.com/foo‎ ولا ‎/foo‎.

كيف تفحص hreflang؟

يدويًا: شغّل أمر curl أعلاه على إحدى صفحاتك وتأكد أن الصفحة تذكر نفسها. ثم شغّله على كل عنوان في الناتج وابحث عن الصفحة الأولى؛ هذا هو اختبار الروابط المقابلة. ويسرد Google كذلك أدوات اختبار من جهات خارجية ويقول إنها «are not maintained or checked by Google».

باستخدام SEOgrinder، وهو أداتنا ونحن من نبنيها: افحص صفحة، وافتح تبويب «الصفحة في Google»، وابحث عن بطاقة «اللغات (hreflang)». تفحص البطاقة الرموز والإشارة الذاتية وx-default، وهل تستجيب الوجهات، وهل تعود فتشير إلى الصفحة. وحين يكون كل شيء سليمًا يظهر سطر واحد؛ وإلا فتسرد البطاقة كل فحص مع نتيجته، وتدخل المشكلات في قائمة المهام.

الخطأما يعرضه SEOgrinder (صياغة توضيحية)
1. غياب الروابط المقابلة«وجهتان لا تربطان بالمقابل»
2. لا إشارة ذاتية«الصفحة لا تشير إلى نفسها»
3 و4. رموز غير صالحة«رمز لغة واحد غير صحيح» (تُفحص اللغة والمنطقة وفق المعيارين اللذين يذكرهما Google)
5. عناوين نسبيةلا سطر خاص به: يحوّل SEOgrinder العنوان النسبي إلى عنوان كامل بالاستناد إلى الصفحة قبل أن يفحصه، فابحث عن هذا الخطأ في الشيفرة المصدرية

وللفحص حدّان. فهو يجلب ما لا يزيد على عشر وجهات لكل صفحة؛ وفي صفحاتنا ذات المداخل الثلاثة عشر يفحص عشرًا ويقول ذلك («جُلبت وفُحصت 10 من 13 مدخلة»). ثم إنه يحكم على الصفحة التي تدخلها؛ أما لموقع كامل فمرّ على العناوين في حلقة كما سبق.

الأسئلة الشائعة

هل أحتاج hreflang إذا كان لكل لغة عنوانها الخاص؟

ليس إلزاميًا. قد يجد Google النسخ البديلة من دونه، لكنه يقول إن الأفضل في الغالب أن تُذكر صراحةً.

هل يحسّن hreflang ترتيبي في النتائج؟

لا تدّعي صفحة Google ذلك. فهي تصف الغرض بأنه توجيه المستخدمين إلى النسخة الأنسب بحسب اللغة أو المنطقة. ولا أحد يستطيع أن يعد بموضع محدد.

أي الطرق الثلاث أستخدم؟

هي متكافئة عند Google، واستخدام عدة طرق معًا لا يعود بفائدة. ويشير Google إلى أن وسوم HTML تناسب المواقع التي لا خريطة موقع لها أو لا تتحكم في ترويسات HTTP، وإلى أن الترويسة تناسب الملفات غير HTML مثل PDF. ونحن نستخدم وسوم HTML.

خطوتك التالية

شغّل أمر curl على إحدى صفحاتك وتأكد أنها تذكر نفسها وأن وجهة واحدة على الأقل تشير إليها. ثم افحص الصفحة عبر SEOgrinder، وافتح «الصفحة في Google»، وأصلح أول سطر في بطاقة «اللغات (hreflang)» يبلّغ عن مشكلة، ثم اضغط إعادة التحقق. وللصورة الأوسع، تبيّن قائمة تدقيق SEO عندنا موقع hreflang بين ثماني مجموعات فحص.

اقرأ أيضًا

المزيد من المدونة