← العودة إلى المدونة

كيفية التحقق من hreflang مباشرةً عبر بروكسي من 10 دول: دليل خطوة بخطوة لتحسين محركات البحث

Hreflang في الكود و hreflang الذي يراه المستخدم فعليًا هما شيئان مختلفان. نناقش كيفية اختبار موقع متعدد اللغات من 10 دول باستخدام بروكسي.

📅١ جمادى الأولى ١٤٤٨ هـ

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

ما هو hreflang ولماذا لا تكفي العلامات في الكود

hreflang هو سمة تخبر محركات البحث أي إصدار لغوي أو إقليمي من الصفحة مخصص لأي مستخدمين. تقنيًا، يبدو ذلك كمجموعة من الروابط في <head> أو في sitemap.xml، حيث تشير كل صفحة إلى بدائلها: ru-RU، en-US، de-DE وهكذا.

المشكلة هي أن التحقق عبر أدوات التحقق من الكود (Screaming Frog، Ahrefs، Semrush) يظهر فقط ما هو مكتوب في الترميز. لا يجيب على السؤال الرئيسي: ماذا يحدث فعليًا عندما يفتح شخص حي من وارسو أو مدريد موقعك؟ هل يتم تفعيل إعادة التوجيه إلى المحلية الصحيحة؟ هل يقوم CDN بتحويل المستخدم إلى النسخة الإنجليزية بسبب التخزين المؤقت؟ هل يحدد geo-IP البلد بشكل صحيح إذا دخل المستخدم عبر مشغل الهاتف المحمول؟

بالنسبة للمسوقين ومتخصصي SEO الذين يختبرون المواقع متعددة المناطق، أو صفحات الهبوط لدول مختلفة، أو الحملات الإعلانية في Google Ads وFacebook Ads لدول معينة، فإن هذا أمر حاسم. إذا كان hreflang غير مضبوط بشكل صحيح، فقد يرى المستخدم من البلد المطلوب نسخة غير صحيحة من الموقع، مما يؤدي إلى فقدان التحويل، بينما يقوم محرك البحث بفهرسة عنوان URL غير صحيح في نتائج هذا البلد.

لماذا hreflang "يكذب": 5 أسباب شائعة

في الممارسة العملية، يحدث التباين بين الترميز والسلوك الفعلي للموقع لعدة أسباب، ومعظمها لا يمكن اكتشافه من خلال النظر فقط في كود الصفحة.

  • إعادة توجيه Geo-IP تتجاوز hreflang. يقوم الخادم بتحديد البلد حسب IP ويعيد التوجيه قسريًا إلى المحلية، حتى لو فتح المستخدم إصدارًا لغويًا آخر عبر رابط مباشر.
  • CDN الذي يقوم بالتخزين المؤقت يقدم إصدارًا قديمًا. قد يقوم Cloudflare أو CDN آخر بتخزين HTML دون مراعاة البلد المطلوب، ويتلقى جميع المستخدمين نفس الإصدار بغض النظر عن الموقع الجغرافي.
  • عدم تطابق أكواد اللغة والمنطقة. في الترميز، تم الإشارة إلى en، بينما كان يجب استخدام en-GB وen-US بشكل منفصل - وبالتالي يرى المستخدمون من بريطانيا والولايات المتحدة نفس النسخة.
  • عدم وجود علامة self-referencing. لا تشير الصفحة إلى نفسها في قائمة hreflang، مما قد يجعل Google لا تعتبر الترميز صالحًا.
  • اختلافات في URL مع www وبدون، http وhttps. تشير العلامات إلى بروتوكول واحد، بينما يقوم الخادم فعليًا بإعادة التوجيه إلى آخر، مما يكسر سلسلة التحقق.

تظهر كل هذه المشاكل فقط عند الدخول الفعلي من IP البلد المطلوب. لذلك، فإن الطريقة الوحيدة الموثوقة للاختبار هي محاكاة زائر من كل دولة مستهدفة ورؤية ما يقدمه الموقع فعليًا.

ما الذي تحتاجه للتحقق من 10 دول

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

  1. خوادم بروكسي مرتبطة جغرافيًا بالدولة المطلوبة - هي الطريقة الأكثر مرونة وقابلية للتوسع، تناسب كل من التحقق اليدوي والأتمتة.
  2. المتصفحات المضادة للكشف (Dolphin Anty، AdsPower، Multilogin، GoLogin، Octo Browser) - مريحة عندما تحتاج إلى حفظ ملفات تعريف متصفح منفصلة لكل دولة ومقارنتها بصريًا، دون ارتباك في الكوكيز والتخزين المؤقت.
  3. أدوات سطر الأوامر (curl، httpie) مع بروكسي - للتحقق السريع من رؤوس HTTP، وإعادة التوجيه، واستجابات الخادم دون تحميل الواجهة.

لاختبار hreflang من 10 دول، فإن البروكسي السكنية هي الأنسب - لأنها تستخدم IP لمستخدمين حقيقيين من دولة معينة، لذلك تحدد خدمات geo-IP وCDN لهم كما لو كانوا زائرين عاديين للموقع. أحيانًا يتم إدراج بروكسي مراكز البيانات في القوائم السوداء لخدمات الجغرافيا وقد تعطي نتائج خاطئة عندما يحدد الخادم أنها ليست من الدولة المعلنة، بل كـ "مركز بيانات، الدولة غير معروفة".

إعداد البروكسي في المتصفح المضاد للكشف

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

خطوة بخطوة في Dolphin Anty أو AdsPower، يبدو الأمر كما يلي:

  1. أنشئ ملف تعريف جديد للمتصفح، وسميه حسب الدولة، مثل "hreflang-DE" لألمانيا.
  2. في إعدادات الملف الشخصي، افتح قسم "بروكسي" واختر نوع HTTP/SOCKS5.
  3. أدخل بيانات البروكسي المرتبطة بألمانيا: IP أو المضيف، المنفذ، اسم المستخدم وكلمة المرور.
  4. احفظ الملف الشخصي وانتظر التحقق - سيظهر المتصفح المضاد للكشف الموقع الجغرافي المحدد، المنطقة الزمنية وIP.
  5. قم بتشغيل الملف الشخصي وافتح موقعك عبر URL مباشر، دون الانتقال من البحث.
  6. تحقق من أي إصدار تم فتحه: URL في شريط العنوان، لغة المحتوى، قيم hreflang عبر "عرض كود الصفحة".
  7. كرر ذلك لكل من الدول المستهدفة العشر، وأنشئ ملف تعريف منفصل لكل منها.

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

التحقق عبر سطر الأوامر وcurl

إذا كنت بحاجة إلى التحقق بسرعة من رؤوس HTTP، وإعادة التوجيه، واستجابات الخادم، فإن المتصفح لا يقدم دائمًا الصورة الكاملة - جزء من المنطق مخفي في رؤوس الاستجابة. من المناسب استخدام curl مع بروكسي لذلك.

التحقق الأساسي عبر بروكسي مرتبط بالدولة المطلوبة:

curl -x http://login:password@proxy-host:port \
  -I https://example.com/ \
  -H "Accept-Language: de-DE"

العلم -I يظهر فقط رؤوس الاستجابة، دون جسم الصفحة. وهذا يسمح برؤية كود إعادة التوجيه بسرعة (301 أو 302)، ورأس Location، الذي يشير إلى أين يعيد الخادم التوجيه، ورأس Vary، الذي يخبر ما إذا كان يتم أخذ Accept-Language في الاعتبار في التخزين المؤقت.

لاستخراج HTML نفسه والعثور على علامات hreflang في استجابة الخادم، قم بإزالة -I وقم بتصفية الإخراج:

curl -x http://login:password@proxy-host:port \
  -s https://example.com/ | grep -i hreflang

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

لأتمتة التحقق من جميع الدول العشر، يمكنك كتابة سكربت بسيط يقوم بتكرار قائمة البروكسي ويحفظ استجابة كل طلب في ملف منفصل للمقارنة:

for country in de fr es it pl nl br mx jp kr; do
  curl -x "http://login:password@${country}.proxy-host:port" \
    -s https://example.com/ | grep -i hreflang > "result_${country}.txt"
done

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

التحقق عبر المتصفح وDevTools

للتحقق البصري وتحليل تجربة المستخدم، من الأفضل استخدام متصفح عادي مع بروكسي معد وأدوات مطور مفتوحة. لا يتطلب ذلك كودًا ويناسب المسوقين الذين يرغبون في رؤية ما يراه المستخدم بأعينهم.

خطوات العمل:

  1. قم بإعداد البروكسي في المتصفح عبر إضافة (مثل FoxyProxy) أو من خلال إعدادات الشبكة النظامية، مع تحديد IP الدولة التي يتم التحقق منها.
  2. افتح الموقع واضغط على F12 على الفور لفتح DevTools، ثم انتقل إلى علامة التبويب "Network".
  3. قم بتحديث الصفحة وابحث عن أول طلب وثيقة (عادةً ما يسمى بنفس اسم نطاق الموقع).
  4. في اللوحة اليمنى، افتح علامة التبويب "Headers" وتحقق من قسم "Response Headers" للبحث عن إعادة التوجيهات وقيمة Content-Language.
  5. افتح علامة التبويب "Elements" وابحث عبر Ctrl+F عن جميع تكرارات hreflang في كود الصفحة المصدرية.
  6. قارن URL في شريط العنوان مع ما كنت تتوقع رؤيته لهذه الدولة.

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

ما هي البروكسي التي يجب اختيارها لاختبار استهداف المواقع

ليست جميع أنواع البروكسي مناسبة بنفس القدر للتحقق من hreflang. الفرق يكمن في كيفية تعرف خدمات تحديد الموقع الجغرافي على IP، ومدى استقرار البروكسي في الاحتفاظ بالارتباط بالدولة المعلنة.

نوع البروكسي دقة geo-IP متى تستخدم
البروكسي السكنية عالية، IP لمزودي الخدمة الحقيقيين محاكاة دقيقة لزائر حي من الدولة والمدينة
البروكسي المحمولة عالية، IP لمشغلي الاتصالات التحقق من السلوك لحركة المرور المحمولة وإصدارات AMP
بروكسي مراكز البيانات أقل، أحيانًا يتم وضع علامة عليها كمركز بيانات التحقق السريع من الرؤوس وإعادة التوجيه عبر curl، حيث لا تكون الدقة الجغرافية حرجة

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

قائمة التحقق من hreflang لـ 10 دول

لتجنب تفويت أي شيء أثناء التحقق الجماعي، استخدم القائمة التالية لكل من الدول العشر:

  • تم توصيل البروكسي مع IP لهذه الدولة، وتم تأكيد الموقع الجغرافي عبر IP-checker.
  • تم فتح URL مباشر للموقع (دون الانتقال من البحث ودون referrer).
  • تم التحقق من URL النهائي بعد جميع إعادة التوجيهات - هل يتطابق مع المحلية المتوقعة.
  • يوجد في كود الصفحة علامة hreflang تشير إلى نفسها.
  • في قائمة hreflang، تم ذكر جميع النسخ اللغوية الأخرى التسع دون أي فواصل.
  • تتوافق أكواد اللغة والمنطقة مع معيار ISO (على سبيل المثال، pt-BR، وليس فقط pt، إذا كان من الضروري التمييز بين البرازيل والبرتغال).
  • يوجد رأس Vary: Accept-Language، إذا كان المحتوى يعتمد على لغة المتصفح.
  • يتوافق محتوى الصفحة (العملة، الأسعار، اللافتات) مع المنطقة المعلنة.
  • تشير العلامة الكانونية rel="canonical" إلى نفسها، وليس إلى محلية أخرى.
  • إعادة التحقق بعد أسبوع - بعد تحديث ذاكرة التخزين المؤقت لـ CDN، لم يتغير النتيجة بشكل غير متوقع.

الأخطاء الشائعة أثناء الاختبار

أثناء التحقق اليدوي من hreflang عبر البروكسي، غالبًا ما يرتكب المسوقون عدة أخطاء متكررة تؤثر على نتيجة الاختبار.

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

ثانيًا، ينسون مسح ذاكرة التخزين المؤقت لـ DNS والمتصفح بين تبديل البروكسي، مما يؤدي إلى استمرار عرض النسخة القديمة من الصفحة، على الرغم من تغيير IP. استخدم إعادة تحميل صارمة للصفحة (Ctrl+Shift+R) عند كل تغيير في الموقع الجغرافي.

ثالثًا، يختبرون الصفحة الرئيسية فقط، متجاهلين الأقسام الداخلية وبطاقات المنتجات - حيث غالبًا ما تتعطل ترميز hreflang بسبب توليد URL الديناميكي في الوقت الحقيقي.

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

الخاتمة

التحقق من hreflang من خلال كود الصفحة يعطي نصف الصورة فقط. لفهم ما يحصل عليه المستخدم من دولة معينة، يجب محاكاة زيارته عبر IP هذه الدولة - باستخدام بروكسي، متصفح مضاد للكشف، أو طلب curl بسيط. تكشف هذه الطريقة عن المشاكل التي لا يمكن العثور عليها في التدقيق الثابت: إعادة توجيه geo-IP، التخزين المؤقت لـ CDN دون مراعاة المنطقة، تباينات أكواد اللغة والعلامات الذاتية المكسورة.

إذا كنت تختبر بانتظام مواقع متعددة اللغات أو تحضر حملات إعلانية لـ 10 دول أو أكثر، نوصي بتجربة البروكسي السكنية - فهي تعطي محاكاة دقيقة للغاية للزائر الحقيقي لكل دولة مستهدفة وتسمح بالتحقق من hreflang كما سيراه المستخدم الحي، وليس روبوت البحث.