seo · 7 دقائق قراءة

لماذا يخفق عنقود hreflang في صمت

لـhreflang خاصّية واحدة تجعل إخفاقاته مكلفة على نحو غير معتاد: إنه كلّ أو لا شيء. أخطئ في صفحة واحدة تُسقط جوجل المجموعة كاملةً، ولا تقرير في أي مكان يسمّي الصفحة المسؤولة.

ما الغرض من hreflang

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

الإخفاق الأول: غياب الإشارة إلى الذات

القاعدة أن كل صفحة في المجموعة تسمّي كل صفحة فيها — بما فيها نفسها. فتحمل الصفحتان الكتلة المتطابقة نفسها:

<link rel="alternate" hreflang="en" href="https://example.com/page/" />
<link rel="alternate" hreflang="ar" href="https://example.com/ar/page/" />
<link rel="alternate" hreflang="x-default" href="https://example.com/page/" />

الحدس أن تشير كل صفحة إلى الأخريات، وهو ما يُقرأ النسخة الاقتصادية وهو المكسور. فإن سردت الصفحة الإنجليزية الرابط العربي وحده، فلا تبادليّة في العنقود وتُسقطه جوجل — لا النصف الإنجليزي، بل الشيء كلّه.

لهذا أيضًا تكون الكتلة أسهل إصابةً حين تُولَّد لا حين تُكتب. فالكتلة نفسها في كل صفحة شأن قالب؛ وتحرير ملفّين باليد ليشير كلٌّ منهما إلى الآخر هو موضع تسلّل اللاتناظر.

الإخفاق الثاني: مرجع نسبيّ

href="/ar/page/" يبدو معقولًا. ويُحلّ في المتصفّح. يجتاز التحقّق من كل مخطّط. تطرحه جوجل بلا كلمة.

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

ثالث أصغر: الوسم نفسه

اللغة أوّلًا بحروف صغيرة، والإقليم بعدها بحروف كبيرة: en-GB. لا en_GB، ولا EN-gb. الإقليم وحده لا يصحّ إطلاقًا — فلا وجود لـhreflang="GB"، لأن البلد ليس لغة. وx-default الاستثناء الوحيد من الهيئة، وهو ليس لغةً إطلاقًا.

أين تُعلنه

ثلاثة مواضع تحمل عنقودًا: رأس كل صفحة، أو ترويسة HTTP، أو خريطة الموقع. اختر واحدًا. فإعلان المجموعة نفسها في موضعين ليس احتياطًا — بل فرصتان للتناقض، والتناقض يُبطل الإعلانين معًا بدل أن يرتدّ إلى الصحيح منهما.

خريطة الموقع أرخصها عادةً للموقع الكبير، لأن ملفًّا واحدًا يتغيّر بدل كل صفحة. انظر خرائط الموقع لموقع بلغتين لتعرف شكل تلك المدخلات.

وhreflang وcanonical

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

فحص ذلك قبل النشر

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

أسئلة

ما الإشارة إلى الذات في hreflang؟

كل صفحة في المجموعة يجب أن تسرد كل صفحة فيها، بما فيها نفسها. فالصفحة الإنجليزية تسمّي الرابطين الإنجليزي والعربي؛ وكذلك تفعل العربية. الصفحة التي تسمّي الأخريات وحدها ليست جزءًا من عنقود.

ماذا يحدث إن غابت الإشارة إلى الذات في صفحة واحدة؟

تُسقط جوجل العنقود كلّه بدل أن تُعمِل الجزء الصحيح، ولا شيء في Search Console يسمّي الصفحة التي كسرته. لهذا يخفق هذا في هدوء ويبقى مكسورًا شهورًا.

هل يجب أن تكون روابط hreflang مطلقة؟

نعم. فالمرجع النسبيّ يُحلَّل، ويجتاز التحقّق من المخطّط، ويُطرح بلا كلمة. نشر هذا الموقع 936 منها؛ والعَرَض الوحيد رقمٌ في Search Console بلا تفسير لأي جزء كان الخطأ.

هل x-default مطلوب؟

لا، لكن وجوده صواب في الغالب الأعمّ. فهو يقول ما يُقدَّم لقارئ لا تطابق لغتُه أيًّا من مجموعاتك. بدونه تخمّن جوجل. هو يشير عادةً إلى الرابط نفسه الذي تشير إليه لغتك الأساسية.

في وسوم الرأس أم ترويسات HTTP أم خريطة الموقع؟

أيّ واحد من الثلاثة. لا اثنان — فإعلان العنقود نفسه في موضعين يخلق فرصتين للتناقض، والتناقض يُبطل الإعلانين معًا لا أحدهما.

أدوات من هذا الدليل

المزيد من أدوات SEO — كلّها تعمل في متصفّحك، ولا واحدة منها ترفع ملفًّا.