زحف الويب: ما هو، كيف يعمل، ولماذا لا يعد فهرسة

يتيح زحف الويب للبرامج المؤتمتة اكتشاف الصفحات وزيارتها. ويساعد فهم مراحله وحدوده على تجنب الخلط بينه وبين الفهرسة أو ترتيب النتائج أو المراقبة.

بقلم Daniel Sardá · تاريخ النشر:

مدة القراءة: 5 دقيقة1,089 كلمة

في هذه الصفحة · 5 أقسام

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

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

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

كيف يكتشف برنامج الزحف الصفحات

يحتاج برنامج الزحف إلى نقطة انطلاق. فيمكنه البدء بعنوان URL واحد أو عدة عناوين يعرفها مسبقاً لأنه زارها في وقت سابق، أو لأنها وردت كروابط في صفحات أخرى، أو لأنها أُدرجت في قائمة مثل خريطة الموقع (sitemap). وعادةً ما تُوصف هذه العناوين الأولية بأنها عناوين URL أولية (seed URLs).

عند طلب صفحة ما، يتلقى البرنامج محتواها ويمكنه تحديد الروابط المؤدية إلى عناوين أخرى. وقد تنتقل عناوين URL الجديدة هذه إلى قائمة الزيارات المحتملة. وتتكرر هذه الدورة: طلب المورد، وفحصه، واكتشاف الروابط، واختيار ما سيُزار بعد ذلك.

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

يُعد ما يُعرف بـ جبهة الزحف (crawl frontier) نموذجاً مفيداً لتمثيل قائمة العناوين المعروفة ولكن التي لا تزال تنتظر التقييم أو الزيارة. ولا تُبنى جميع الأنظمة بالطريقة ذاتها، إلا أن هذا التصور يتيح فهم أن برنامج الزحف لا يتحرك عشوائياً، ولا يجوب بالضرورة كل رابط يعثر عليه.

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

الزحف والفهرسة وتحديد الترتيب قرارات متباينة

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

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

ويمكن تلخيص هذا التسلسل على النحو التالي:

  1. يتعرف النظام على عنوان URL أو يكتشفه.
  2. يقرر ما إذا كان سيزحف إليه ويطلب المورد.
  3. يعالج المحتوى ويقرر ما إذا كان سيفهرسه.
  4. عند ورود استعلام، يقيّم ما إذا كان سيعرضه وبأي ترتيب.

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

تمييز مفيد: يتيح الزحف لمحرك البحث التعرف على المحتوى، لكنه لا يمثل وعداً بالفهرسة أو الظهور أو الترتيب.

يختلف عن استخلاص البيانات وتتبع المستخدمين

قد يستخدم الزحف واستخلاص البيانات (scraping) برامج تُجري طلبات تلقائية، لكنهما يركزان على غايات مختلفة؛ فالزحف يسعى إلى التنقل بين الموارد واكتشاف العناوين، بينما يركز استخلاص البيانات على استخراج بيانات محددة: مثل الأسعار، أو النصوص، أو الكتالوجات، أو عناصر أخرى. ويمكن لنظام واحد تنفيذ كلتا المهمتين، غير أن المفهومين غير قابلين للتبادل.

ويختلف كذلك عن تتبع المستخدمين، الذي يسجل تصرفات الأفراد أو خصائصهم: كالزيارات، والنقرات، والمعرّفات، أو التنقل بين الخدمات. فبينما يجوب برنامج الزحف موارد الويب، يراقب نظام التتبع النشاط المرتبط بمستخدمين أو أجهزة. وحقيقة أن كلتا العمليتين تتركان سجلات تقنية على الخوادم لا تجعلهما الممارسة ذاتها.

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

ما هو دور robots.txt و noindex

يمتلك مسؤولو المواقع إشارات للتعبير عن الكيفية التي يرغبون بها في وصول عملاء معينين إلى صفحاتهم أو التعامل معها. وتؤدي اثنتان من أشهر هذه الإشارات وظيفتين مختلفتين.

ينشر ملف robots.txt قواعد موجهة إلى برامج زحف محددة، ويمكنه أن يطلب عدم الوصول إلى مسارات معينة. ويوضح معيار Robots Exclusion Protocol أن هذه القواعد لا تشكل آلية تفويض أو تدبيراً أمنياً؛ إذ يمكن للبوت ألا يلتزم بها، كما أن المسارات المدونة في الملف علنية للجميع.

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

في المقابل، توجه قاعدة noindex محركات البحث المتوافقة إلى عدم تضمين المورد في فهرسها. ويمكن التصريح بها في علامة وصفية (meta tag) داخل الصفحة أو في ترويسة HTTP. وثمة شرط مهم هنا: يحتاج محرك البحث إلى الوصول إلى المورد ليتمكن من قراءة هذا التوجيه. وتحذر وثائق Google حول `noindex` من أنه إذا تعذر على برنامج الزحف الدخول بسبب قاعدة في robots.txt، فلن يتمكن من رؤية هذا التوجيه.

تحذير عملي: يدير robots.txt طلبات الزحف الصادرة عن البوتات المتعاونة؛ وتُبلغ noindex بقرار متعلق بالفهرسة؛ بينما تحمي ضوابط الوصول المحتوى الخاص.

حدود زحف الويب

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

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

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

عن الكاتب

دانيال ساردا متخصص في تحسين محركات البحث ومحرر Libertatis Venezuela. يكتب عن الليبرالية والاقتصاد السياسي والمؤسسات والدعاية والحرية الفردية من منظور مستقل وغير حزبي.

قراءة الملف الكامل