نظرة عامة على برامج الزحف وبرامج الجلب من Google (برامج وكيل المستخدم)

تستخدم Google برامج الزحف والجلب لتنفيذ الإجراءات الخاصة بمنتجاتها، سواءً بشكل تلقائي أو استنادًا إلى طلب المستخدم. "برنامج الزحف" أو "الزاحف" (يُسمّى أيضًا "الروبوت" أو "العنكبوت") هو مصطلح عام لأي برنامج يتم استخدامه لاكتشاف المواقع الإلكترونية وفحصها تلقائيًا. تعمل برامج الجلب كبرامج مثل wget التي تنشئ طلبًا واحدًا بالنيابة عن أحد المستخدمين. تندرج برامج الزحف من Google ضمن ثلاث فئات:

برامج الزحف الشائعة برامج الزحف الشائعة المستخدمة في منتجات Google (مثل Googlebot): وهي تمتثل دائمًا لقواعد robots.txt بشأن عمليات الزحف الآلية.
برامج الزحف ذات الحالات الخاصة تشبه برامج الزحف في الحالات الخاصة برامج الزحف الشائعة، ولكنّها مستخدَمة في منتجات معيّنة إذا كانت هناك اتفاقية بشأن عملية الزحف بين الموقع الإلكتروني الذي يتم الزحف إليه ومنتج Google. على سبيل المثال، يتجاهل AdsBot وكيل المستخدم العام robots.txt (*) الحاصل على إذن ناشر الإعلان.
برامج الجلب التي يشغّلها المستخدم برامج الجلب التي يشغّلها المستخدم هي جزء من الأدوات ووظائف المنتجات التي يشغّل فيها المستخدم النهائي عمليات جلب. على سبيل المثال، تعالج أداة إثبات ملكية الموقع على Google طلب المستخدم.

السمات الفنية لبرامج الزحف وبرامج الجلب من Google

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

بروتوكولات النقل المتوافقة

تتوافق برامج الزحف وبرامج الجلب من Google مع بروتوكولَي HTTP/1.1 وHTTP/2. ستستخدم برامج الزحف إصدار البروتوكول الذي يوفّر أفضل أداء للزحف، وقد تبدّل البروتوكول بين جلسات الزحف بناءً على إحصاءات الزحف السابقة. إنّ إصدار البروتوكول التلقائي الذي تستخدمه برامج الزحف من Google هو HTTP/1.1. ويمكن أن يساهم الزحف عبر HTTP/2 في توفير موارد الحوسبة (على سبيل المثال، وحدة المعالجة المركزية CPU وذاكرة الوصول العشوائي RAM) الخاصة بكل من الموقع الإلكتروني وGooglebot، ولكن بخلاف ذلك، لن يستفيد الموقع الإلكتروني من أي مزايا خاصة بالمنتجات (مثل تحسين ترتيبه في "بحث Google"). لإيقاف الزحف عبر HTTP/2، يمكنك أن تطلب من الخادم الذي يستضيف موقعك الإلكتروني الاستجابة برمز 421 لحالة HTTP عندما يحاول Google الوصول إلى موقعك الإلكتروني عبر HTTP/2. إذا لم يكن ذلك ممكنًا، يمكنك إرسال رسالة إلى فريق برامج الزحف (إلا أنّ هذا الحل مؤقت).

تتيح البنية الأساسية لبرامج الزحف من Google أيضًا الزحف عبر "بروتوكول نقل الملفات" (كما هو محدّد وفق المعيار RFC959 وتحديثاته) و"بروتوكول نقل الملفات الآمن" (كما هو محدّد وفق المعيار RFC4217 وتحديثاته)، إلا أنّ الزحف نادرًا ما يتم عبر هذين البروتوكولين.

ترميزات المحتوى المتوافقة

تتوافق برامج الزحف وبرامج الجلب من Google مع ترميزات المحتوى التالية (عمليات الضغط): gzip وdeflate وBrotli (br). تظهر ترميزات المحتوى المتوافقة مع كل وكيل مستخدم من Google في عنوان Accept-Encoding لكل طلب يتم إجراؤه. على سبيل المثال: Accept-Encoding: gzip, deflate, br.

معدل الزحف وحِمل المضيف

هدفنا هو الزحف إلى أكبر عدد ممكن من صفحات موقعك الإلكتروني عند كل زيارة بدون تحميل الخادم عبئًا زائدًا. وإذا كان موقعك الإلكتروني يواجه صعوبة في الاستجابة لطلبات الزحف من Google، يمكنك خفض معدّل الزحف. يُرجى العِلم أنّ إرسال رمز استجابة HTTP غير ملائم إلى برامج الزحف من Google قد يؤثّر على طريقة ظهور موقعك الإلكتروني في منتجات Google.

التخزين المؤقت عبر HTTP

تتيح البنية الأساسية للزحف في Google التخزين المؤقت الإرشادي عبر HTTP كما هو محدّد وفق معيار التخزين المؤقت عبر HTTP، وتحديدًا من خلال عنوان الاستجابة الذي يتضمّن ETag وعنوان الطلب الذي يتضمّن If-None-Match، ومن خلال عنوان الاستجابة الذي يتضمّن Last-Modified وعنوان الطلب الذي يتضمّن If-Modified-Since.

إذا كان الحقلان ETag وLast-Modified لعنوان الاستجابة متوفّرَين في استجابة HTTP، ستستخدم برامج الزحف من Google القيمة ETag وفقًا لما يتطلّبه معيار HTTP. بالنسبة إلى برامج الزحف من Google تحديدًا، ننصح بتضمين السمة ETag في العنوان بدلاً من Last-Modified لتحديد الخيار المفضّل للتخزين المؤقت، لأنّ السمة ETag لا تؤدي إلى مشاكل مرتبطة بتنسيق التاريخ.

لا يمكن استخدام توجيهات HTTP الأخرى الخاصة بالتخزين المؤقت.

يمكن أن تستعين برامج الزحف والجلب الفردية من Google بالتخزين المؤقت، ويعتمد ذلك على الاحتياجات المحددة للمنتج المرتبط بها. على سبيل المثال، يتيح Googlebot التخزين المؤقت عند إعادة الزحف إلى عناوين URL لمحرّك بحث Google، ويتيح Storebot-Google التخزين المؤقت في حالات محددة فقط.

لتنفيذ التخزين المؤقت عبر HTTP لموقعك الإلكتروني، عليك التواصل مع المستضيف أو مزوّد نظام إدارة المحتوى.

ETag وIf-None-Match

تتيح البنية الأساسية لبرامج الزحف من Google استخدام ETag وIf-None-Match، كما هو محدّد وفق معيار التخزين المؤقت عبر HTTP. يمكن الاطّلاع على المزيد حول عنوان الاستجابة الذي يتضمّن ETag، ونظيره، عنوان الطلب الذي يتضمّن If-None-Match.

‫Last-Modified وIf-Modified-Since

تتيح البنية الأساسية لبرامج الزحف من Google استخدام Last-Modified وIf-Modified-Since، كما هو محدّد وفق معيار التخزين المؤقت عبر HTTP، شرط الالتفات إلى النقاط التالية:

  • يجب أن يكون تنسيق التاريخ في العنوان الذي يتضمّن Last-Modified متوافقًا مع معيار HTTP. لتجنُّب حدوث أي مشاكل متعلّقة بالتحليل، ننصح باستخدام التنسيق التالي للتاريخ: "اليوم من الأسبوع، ‎DD Mon YYYY HH:MM:SS المنطقة الزمنية". مثال: "Fri, 4 Sep 1998 19:15:56 GMT".
  • مع أنّ ضبط الحقل max-age في عنوان الاستجابة الذي يتضمّن Cache-Control ليس شرطًا، ننصح بضبطه لمساعدة برامج الزحف على معرفة الوقت المناسب لإعادة الزحف إلى عنوان URL المحدّد. يجب ضبط قيمة الحقل max-age على عدد الثواني المتوقّع ألّا يتغيّر المحتوى خلالها. مثلاً: Cache-Control: max-age=94043.

يمكن الاطّلاع على المزيد حول عنوان الاستجابة الذي يتضمّن Last-Modified، ونظيره، عنوان الطلب الذي يتضمّن If-Modified-Since.

التحقّق من برامج الزحف وبرامج الجلب من Google

يتم تحديد برامج الزحف من Google من خلال ثلاث طرق وهي:

  1. عنوان طلب HTTP الخاص بـuser-agent
  2. عنوان IP المصدر للطلب
  3. نظام أسماء النطاقات العكسي لاسم المضيف الخاص بعنوان IP المصدر

كيفية استخدام هذه التفاصيل للتحقّق من برامج الزحف وبرامج الجلب من Google