عندما تشير العلامات المعيارية عبر اللغات، يتعطل Hreflang
الصفحة الموطّنة التي تشير العلامة المعيارية إلى نظيرها الإنجليزي تلغي تعليق Hreflang الخاص بها، ولا يمكن لأي متصفح اكتشاف ذلك. بيانات التدقيق حول الفحوصات التي تكتشف التناقض، بالإضافة إلى اليوم الذي فشلت فيه بادئات 9 المحلية أحدها.
يمكن للصفحة حمل علامات 2 في نفس <head> تخاطب الزاحف نفسه بشأن عنوان URL نفسه وتقول أشياء متناقضة. في https://example.com/fr/pricing، هذا يعني أن الصفحة هي العضو الفرنسي من مجموعة:
<link rel="alternate" hreflang="fr" href="https://example.com/fr/pricing" />
وهذا، 1 السطر أدناه، يعني أن الصفحة هي نسخة يجب دمجها في الأصل الإنجليزي:
<link rel="canonical" href="https://example.com/pricing" />
المواقع الحقيقية ترسل كلاهما، من نفس القالب، في كل مسار موطن لها. هذا هو الفشل الذي يبقى بعد الذي وثقناه في يوليو — المرجع الذاتي المفقود لـ hreflang، ما زال يفشل في 58٪ من 88 تقييمًا لـ hreflang في بياناتنا الحالية. يمكن للموقع إغلاق ذلك الحلقة، الحصول على كل مرجع ذاتي صحيح، وما زال كل صفحة موطّنة تطلب أن تُستبدل بنظيرها الإنجليزي.
يطلب علامة ميثاق عبر اللغات Google دمج الـ URL الموطّنة في الأصل
علامة ميثاق هي طلب توحيد: اعتبر هذا الـ URL كنسخة من ذلك، وفهرس ذلك. تعليق Hreflang هو ادعاء توجيه: هذا الـ URL هو الإصدار لهذا اللغة. إرشادهم إلى عناوين URL مختلفة ويصدر الموقع طلبًا يلغي ادعاءه الخاص — فتحة الفرنسية في المجموعة يملأها صفحة تنفي نفسها.
لقد كان Google صريحًا بأن hreflang هو إشارة بدلاً من توجيه، وتعمل الميثاق بنفس الطريقة: يقدّم الموقع إشارات، ويحلّق Googleها. هذا الحل هو المشكلة بأكملها. مع صفحة موطّنة ذات ميثاق ذاتي، يقرر الناشر أي URL يخدم الباحثين الفرنسيين. مع ميثاق عبر اللغات، يترك الناشر القرار بينما يعتقد أن المجموعة مُكوّنة — والنتيجة التي تُبلغ لاحقًا هي صفحة موطّنة لا ترتب في سوقها الخاص بينما تظهر الصفحة الإنجليزية في مكانها.
المولدات التي تنتج هذا هي عادية. مساعدة ميثاق مبنية من تعريف مسار بدلاً من مسار الطلب تصدر الـ URL غير المسبق لكل لغة. CMS الذي إعداد hreflang الخاص به لكل لغة لكن إعداد الميثاق عام يفعل الشيء نفسه. هل يعني ذلك أن الترحيل الذي أضاف بادئات اللغة إلى عناوين URL وتركت الرابط الكانوني يشير إلى مكان المحتوى الأصلي. في كل حالة تُعرض الصفحة بشكل مثالي، وتبدو التعليقات التوضيحية مكتملة في view-source، والتناقض هو 2 خصائص بعيدًا عن.
مجموعة البيانات
| وجود مرجع ذاتي hreflang | الصفحة الرئيسية غير موجودة في تعليقات hreflang الخاصة بها | 58% من تقييمات 88؛ 59% من مواقع 34 |
| وجود رابط كانوني للصفحة الرئيسية | الصفحة الرئيسية لا تعلن عن أي رابط كانوني URL على الإطلاق | 29% من مواقع 49 |
المنهجية: أحدث لقطة تدقيق مكتملة لكل نطاق من مجموعتنا الحالية، تقريبًا مايو 23 – August 31, 2026، مجهولة الهوية. المقامات تختلف حسب الفحص — من 34 إلى 49 المواقع — لأن الفحص يُشغَّل فقط عندما توجد مدخلاته: فحص المرجع الذاتي لا يُعطي حكمًا على الصفحة الرئيسية التي لا تحتوي على تعليقات hreflang على الإطلاق، وهذا هو سبب أن عدد مواقعها هو الأصغر. معدلات المستوى التقييمي والمستوى الموقعية تختلف لأن بعض النطاقات تم تدقيقها أكثر من مرة في النافذة. العينة مختارة ذاتيًا — أصحاب الذين أجروا تدقيقًا — وتميل إلى الصغار إلى المتوسط، لذا اعتبر المعدلات اتجاهية لهذا القطاع.
الصف الثاني هو الخطر الأكثر هدوءًا. الصفحة التي لا تحتوي على رابط كانوني لم تتناقض مع تعليق hreflang الخاص بها، لكنها لم تدافع أيضًا عن التعليق: لا شيء في الصفحة يذكر أي URL تعتبره ذات سلطة، لذا فإن نسخة اللغة المتاحة على أكثر من 1 عنوان تُحل بالكامل بالاستدلال. الوصول إلى مجموعة صحيحة يبدأ أولاً بالنظافة الكانونية، وهذا هو السبب في أن دليلنا الكانوني هو الشرط المسبق لـ دليل تنفيذ hreflang، وليس مرفقًا له.
التناقض مرئي فقط من كلا طرفي المجموعة
لا يمكن لصفحة واحدة أن تبلغ هذا الفشل عن نفسها. /fr/pricing يبدو متسقًا داخليًا — مجموعة hreflang، رابط كانوني، كلاهما مُشكلان جيدًا. يظهر العيب عندما تضع التعليق والصفحة المعلّقة جنبًا إلى جنب، ولهذا فإن التحقق منه يعني جلب المجموعة كاملة بدلاً من قراءة وثيقة 1.
تتبّع كل تعليق hreflang إلى هدفه وسجّل ما يعود: رمز الحالة، وما إذا كان الطلب قد أُعيد توجيهه، وما إذا كان هناك توجيه noindex، وما إذا كان الرابط الكانوني للهدف نفسه يسمّي الـ URL الذي أشار إليه التعليق. الهدف الذي يسمّي رابطه الكانوني URL مختلفًا هو الكانوني عبر اللغات الذي يتناوله هذا المقال.
سمة lang شاهد ثانٍ. الصفحة التي تسمّي فيها html lang لغةً مختلفة عن اللغة التي يدّعيها مدخل hreflang الخاص بها تناقض نفسها بالطريقة ذاتها، وغالبًا ما يكون ذلك أول علامة مرئية على أن مسارًا موطّنًا يقدّم محتوى الصفحة الأصلية.
البديل الذي يتعذر جلبه فجوة في الأدلة، وليس دليلًا على عيب. سجّله على أنه غير متحقَّق منه وأعد محاولة جلبه قبل الحكم بأن المجموعة معطّلة.
Diagram source
graph TD
FR["/fr/pricing — html lang=fr"]
EN["/pricing — النسخة الأصلية بالإنجليزية"]
FR -->|"hreflang=fr, self-referencing"| CLAIM["الادعاء: قدم هذا URL للباحثين الفرنسيين"]
FR -->|"rel=canonical"| EN
EN -->|"hreflang=fr"| FR
CLAIM --> Q{"أي URL يجيب على استعلام فرنسي؟"}
EN --> Q
Q -->|"توقف الموقع عن اتخاذ القرار"| OUT["يختار Google — عادةً ما يكون URL الإنجليزي"]بادئً من بادئة موقعنا الخاصة، تم تقديم الإنجليزية حتى August 17, 2026
لقد وقعنا نحن أنفسنا في هذا النوع من العيوب على seoreport.dev. أبلغ تدقيق موقع Ahrefs عن hreflang و HTML lang mismatch عبر 184 URL على موقعنا الخاص. كانت سمة lang هي الأعراض؛ كان المحتوى أيضًا إنجليزيًا في كل واحدة من بادئات الـ9 للغة، مما جعل كل URL محلي نسخة مكررة من نظيره الإنجليزي — نفس نتيجة ما ينتجها canonical متعدد اللغات، التي تم الوصول إليها من الاتجاه الآخر.
السبب كان 1 حدود الدالة. أخذت شل المستند لغته من مساعدة تُعيد اللغة الافتراضية كلما كان window غير معرف. على الخادم، /fr/pricing لذلك عرض lang="en" وحقن حزمة الترجمة الإنجليزية، بينما المكوّن الذي يصدر روابط الرأس — الذي يقرأ المسار، وليس وقت التشغيل — أصدر fr self-hreflang صحيحًا مباشرة بجانبه. أثر العميل غيرّ لغة بعد الترطيب، لذا اجتازت كل فحوصات المستعرض ولم يراها أي إنسان. لا يقوم الزواحف بتشغيل ذلك الأثر.
تم إصلاحه في August 17, 2026: يستمد الشل لغته من المسار، ويحلّق التخطيط المحلي حزمة اللغة في محمل بحيث يشاركها العرض على الخادم والترطيب، ويُرمى خطأ بدلاً من تقديم الإنجليزية بصمت تحت بادئته عندما لا توجد حزمة للغة المدعومة. كان اتجاه النص خاطئًا أيضًا — كان العربية تُقدّم ltr.
اختبار الانحدار هو تشغيل على HTML الخام بدون JavaScript، لأن فحص المتصفح أعمى عن هذه الفئة الكاملة من الفشل. عند تشغيل red-first ضد الإنتاج أبلغ عن 440 فشل عبر 128 عناوين URL محلية، كل صفحة على 100% الإنجليزية تحمل. ضد البناء الثابت: 0 فشل عبر 144 URLs. ولو أُجريت مقارنة بين lang وhreflang لكان موقعنا نحن أول موقع يفشل فيها.
يورث x-default ما يعلن عنه صفحة fallback
عينة مواقعنا التي تعلن x-default صغيرة جدًا لنشر معدل فشل. كما أن HTML يثبت أقل مما يبدو: فهو يُظهر أن تعليق x-default مُعلن، لا الجمهور الذي قصد الناشر خدمته. الحقائق القابلة للتحقق هي الحقائق المجاورة — شكل URL، وصحة الهدف، والتعليقات المتبادلة، والتوافق الكانوني.
ما يعنيه الآلية يستحق التبيان على أي حال. x-default هو fallback للباحثين الذين لا يخدم الموقع لغتهم، لذلك عادةً ما يشير إلى صفحة السوق الأساسي. إذا كانت تلك الصفحة تحمل canonical متعدد اللغات، فإن fallback لكل باحث غير مطابق على الكوكب يرث التناقض، ويظهر هذا التناقض في صحة الهدف بدلاً من سطر x-default نفسه.
تحقق منه في HTML الخام، لكل منطقة، في كلا الاتجاهين
احصل على الصفحة بالطريقة التي يفعلها الزاحف واقرأ 3 الأشياء:
curl -s -A "Googlebot" https://example.com/fr/pricing | grep -iE '<html|rel="canonical"|hreflang'
سمة lang، مدخل hreflang المراجع الذاتي، ويجب أن يتفق الـ canonical على 1 منطقة و1 URL:
<!-- On https://example.com/fr/pricing --><html lang="fr"><link rel="canonical" href="https://example.com/fr/pricing" /><link rel="alternate" hreflang="en" href="https://example.com/pricing" /><link rel="alternate" hreflang="fr" href="https://example.com/fr/pricing" /><link rel="alternate" hreflang="x-default" href="https://example.com/pricing" />
ثم كرر على 1 صفحة لكل منطقة، واستخرج كل URL التي يذكرها التعليق لتأكيد أن كل واحد canonicalizes إلى نفسه. القاعدة قصيرة بما يكفي لتسليمها لمطور: كل عضو في مجموعة hreflang canonicalizes إلى نفسه. الـ canonical متعدد اللغات صحيح في 1 حالة فقط — عندما لا يُترجم الـ URL المحلي على الإطلاق ويخدم نفس اللغة كالاصل — وفي تلك الحالة لا ينتمي الـ URL إلى المجموعة أيضًا.
يعطي فحص URL في Search Console الرأي الثاني الرسمي حول أي canonical اختاره Google فعليًا، لكل URL. يشغّل تشخيص SEOReport المدفوع الحلقة عبر المجموعة ويسرد كل زوج متناقض مع الصفحة التي وُجد فيها. وتجتاز بادئات اللغة البالغ عددها 9 على seoreport.dev الفحص الآن، وهي تجتازه لأننا أطلقنا العيب أولًا، على موقع يقوم منتجه بأكمله على اكتشافه.
احصل على التشخيص الكامل لموقعك
تقرير مدعوم بالأدلة وخطة عمل مرتبة حسب الأولوية، ضمن خطة بأرصدة شهرية.