كيف تُكتشف روابط الصفحة وتُفحص؟
الرابط عنصر a (أو area) يُحل الـ href فيه، نسبةً إلى عنوان الصفحة أو عنصر base فيها، إلى عنوان مطلق؛ ومن خلال هذه الروابط بالذات تكتشف الزواحف الصفحات، لا من الأزرار أو الشيفرة البرمجية. ويُفحص الرابط بطلب عنوانه وقراءة رمز الحالة: 2xx يعمل، و3xx ينتقل إلى مكان آخر، و4xx أو 5xx معطل — مع أن 401 و403 و429 تعني غالباً أن الخادم رفض عميلاً آلياً لا أن الصفحة اختفت.
كيفية استخدام مستخرج روابط صفحة الويب
- أدخل عنوان الصفحة، أو الصق HTML الصفحة (عند لصق HTML يُستخدم العنوان لحل الروابط النسبية فقط ولا يُجلب شيء).
- اختر الروابط التي تريد عرضها، وهل تُزال المكرّرات.
- اضغط «استخراج الروابط».
- رتّب الجدول واقرأه، أو انسخ قائمة العناوين، أو نزّل links.csv أو links.txt.
مزايا مستخرج روابط صفحة الويب
- يستخرج كل روابط a وarea التي تحمل href من صفحة مجلوبة أو من HTML تلصقه
- يحل الروابط النسبية نسبةً إلى عنوان الصفحة وأول عنصر base، كما يفعل المتصفح
- يصنّف كل رابط: داخلي (النطاق القابل للتسجيل نفسه وفق قائمة اللاحقات العامة Public Suffix List)، أو خارجي، أو بريد، أو هاتف، أو مرساة داخل الصفحة، أو javascript:، أو غير ذلك
- يعرض نص الرابط — أو، للرابط الخالي من النص، قيمة aria-label أو title، وإلا النص البديل للصورة المرتبطة — وقيم rel (nofollow وsponsored وugc وnoopener) والهدف target
- يميّز الروابط الواقعة داخل عناصر nav أو header أو footer، لتفريق روابط التنقل عن روابط المحتوى
- يصفّي حسب النوع، ويزيل العناوين المكرّرة، ويصدّر الجدول بصيغة CSV أو العناوين كقائمة نصية
المدخلات والمخرجات
المدخلات
- عنوان الصفحة — يُجلب عبر خادم متقن مع تتبّع حتى خمس عمليات إعادة توجيه؛ ومع HTML ملصوق يحل الروابط النسبية فقط.
- أو HTML الصفحة ملصوقاً — يُقرأ في متصفحك دون جلب أي شيء.
- العرض — كل الروابط، أو الداخلية، أو الخارجية، أو البريد والهاتف، أو المراسي والسكربتات وغيرها.
- إزالة العناوين المكرّرة والجلب بصفة — صف واحد لكل عنوان (مفعّل افتراضياً)، وUser-Agent المستخدم في الجلب.
المخرجات
- الملخص — مجموع الروابط، والعناوين الفريدة، والداخلية، والخارجية، وnofollow، والبريد والهاتف، والمراسي وغيرها.
- الروابط — حتى 2,000 صف فيها الرقم، والعنوان المطلق، ونص الرابط، والنوع، وقيم rel، وهل يقع في nav أو header أو footer، والهدف؛ قابلة للتنزيل باسم links.csv.
- العناوين (عنوان في كل سطر) — الروابط نفسها كقائمة نصية، قابلة للتنزيل باسم links.txt.
- تفاصيل الجلب — العنوان النهائي، والحالة، وContent-Type، والحجم، والعنوان الذي حُلّ إليه الاسم، والتوقيت.
مثال على مستخرج روابط صفحة الويب
مقال مدونة فيه روابط تنقّل وروابط مموّلة وروابط تواصل
الإدخال:
عنوان الصفحة: https://www.example.com/blog/post · HTML ملصوق فيه قائمة تنقّل (Home وBlog وPricing)، ورابطان في المحتوى، ورابط مموّل nofollow، ومرساة #comments، ورابط صورة إلى shop.example.com، وتذييل فيه mailto: وtel: وBlogالنتيجة:
Links 11 · Unique URLs 10 · Internal 6 · External 2 · nofollow 1 · Email and phone 2 · Anchors and other 1
4 https://www.example.com/guides/robots-txt — "robots.txt guide" — internal
6 https://partner.example.net/offer?ref=blog — "Partner offer" — external — rel sponsored nofollow
8 https://shop.example.com/ — "Visit our shop" (image alt) — internal
9 mailto:hello@example.com — "Email us" — mailto — in nav, header or footerكيف تقرأ نتائج مستخرج روابط صفحة الويب
الروابط الداخلية تنقل المستخدمين والزواحف داخل الموقع؛ والصفحة التي لا تحوي روابط داخلية في محتواها (بل في التنقل فقط) طريق مسدود لكليهما.
القيم nofollow وsponsored وugc تخبر محركات البحث ألا تعدّ الرابط تزكية. ينبغي أن تحمل الروابط المدفوعة وروابط التسويق بالعمولة sponsored، وروابط تعليقات المستخدمين ugc.
الروابط الخالية من النص لا تقدّم لمستخدمي قارئات الشاشة ولا لمحركات البحث شيئاً: أضف نصاً، أو نصاً بديلاً للصورة المرتبطة.
الروابط المعلَّمة في عمود «في التنقل أو الترويسة أو التذييل» تتكرر في كل صفحة؛ أما الروابط خارجها فهي التي يضيفها المحتوى نفسه.
متى تستخدم مستخرج روابط صفحة الويب
- دقّق الروابط الداخلية لمقال قبل نشره، واكتشف نصوص الروابط الفارغة.
- اسرد الروابط الخارجية لصفحة لمراجعة الشركاء ووسوم التسويق بالعمولة وسمات rel.
- أنشئ قائمة اختبار من عناوين صفحة لزاحف أو اختبار حمل أو فحص إعادة توجيه.
- قارن الروابط المقدّمة لـ Googlebot ولمتصفح جوال في موقع يغيّر HTML.
استكشاف الأخطاء وإصلاحها
- روابط قليلة أو معدومة في صفحة مليئة بالروابط في المتصفح: الصفحة تبنيها بـ JavaScript. يقرأ المستخرج HTML الخادم فقط، وكذلك يفعل كثير من الزواحف.
- كل الروابط من النوع other: لم يُدخل عنوان صفحة مع HTML الملصوق، فتعذّر حل الروابط النسبية. أدخل عنوان الصفحة.
- تُسرد روابط صفحة خطأ: ردّت الصفحة بـ 4xx أو 5xx (ويذكر ذلك تحذير). تحقّق من العنوان.
- الرسالة "not an HTML page": العنوان يشير إلى ملف مثل PDF أو صورة. أدخل الصفحة التي تربط إليه.
الأسئلة الشائعة حول مستخرج روابط صفحة الويب
ما الذي يُعدّ رابطاً داخلياً؟
الرابط الذي يحمل مضيفه النطاق القابل للتسجيل نفسه الذي تحمله الصفحة، كما تحدده قائمة اللاحقات العامة (Public Suffix List): في www.example.com تُعدّ الروابط إلى example.com وshop.example.com وwww.example.com داخلية، والروابط إلى example.net خارجية؛ وفي alice.github.io يُعدّ الرابط إلى bob.github.io خارجياً، لأن github.io لاحقة عامة. وتُحصى روابط mailto: وtel: والمراسي # وjavascript: على حدة.
لماذا لا تُحل بعض الروابط النسبية؟
الرابط النسبي مثل ../guides/a يحتاج إلى عنوان الصفحة. وعند لصق HTML دون عنوان الصفحة (ودون عنصر base في HTML) تبقى الروابط النسبية كما كُتبت ولا يمكن تصنيفها داخلية أو خارجية. أدخل عنوان الصفحة في الحقل الأول: مع HTML ملصوق يُستخدم لحل الروابط فقط ولا يُجلب شيء.
هل تجد الأداة الروابط التي يضيفها JavaScript أو الموجودة في الأزرار؟
تقرأ عناصر a وarea التي تحمل href في HTML الذي يرسله الخادم. أما الروابط التي يبنيها JavaScript بعد التحميل، ومعالِجات النقر على الأزرار، والعناوين داخل السكربتات أو ملفات الأنماط، فلا تُسرد — وتكتشف معظم الزواحف الروابط بالطريقة نفسها، من عناصر a ذات href.
هل تتحقق الأداة من أن الروابط تعمل؟
لا، فهي تسردها فقط، لذا تُجري طلباً واحداً على الأكثر (الصفحة نفسها). لمعرفة الروابط التي ترد بخطأ استخدم «فاحص الروابط المعطلة»، الذي يجعل خادم متقن يطلبها: حتى 29 رابطاً في الفحص إن كنت مسجّل الدخول، و9 إن لم تكن.
كم رابطاً تستطيع الأداة سرده؟
كل رابط يقع في أول 5,000 وسم HTML من الصفحة، وتُحتسب وسوم الفتح والإغلاق معاً، أي نحو 2,500 رابط على الأكثر؛ وقد يتجاوز مقال طويل أو قائمة تنقّل كبيرة هذا الحد. وتُقرأ الصفحة من 512 كيلوبايت على الأكثر من HTML المجلوب أو 2 ميغابايت من HTML الملصوق، ويُنبّه تحذير إذا قطع أحد الحدّين الصفحة. ويعرض الجدول أول 2,000 رابط، أما قائمة العناوين فتضمّها كلها.
ملاحظات تقنية
يُقرأ HTML بمحلّل رموز متسامح يتبع قواعد الوسوم في HTML Standard (السمات بلا علامات اقتباس وبعلامات مفردة ومزدوجة، والعناصر النصية الخام مثل script وstyle) دون بناء DOM أو تشغيل سكربتات، ويقرأ 2 ميغابايت و5,000 وسم على الأكثر.
تُحل العناوين وفق WHATWG URL Standard، نسبةً إلى أول عنصر base إن وُجد كما يشترط HTML Standard. ويُحدَّد الداخلي والخارجي بالنطاق القابل للتسجيل وفق قائمة اللاحقات العامة (Public Suffix List) بقسمها الخاص أيضاً، لذا تُعدّ النطاقات الفرعية لموقع الصفحة داخلية، ولا يُعدّ موقعان تحت لاحقة مشتركة مثل co.uk أو github.io موقعاً واحداً.
الحدود ومنهجية القياس
لا تُقرأ إلا عناصر a وarea التي تحمل href. ولا تُسرد الروابط في السكربتات أو ملفات الأنماط أو srcset أو النماذج أو iframe أو بيانات JSON.
تُقرأ الصفحة المجلوبة حتى 512 كيلوبايت وHTML الملصوق حتى 2 ميغابايت، ويتوقف المحلّل بعد أول 5,000 وسم HTML (تُحتسب وسوم الفتح والإغلاق معاً)، فلا يُسرد أكثر من نحو 2,500 رابط؛ وينبّه تحذير إذا قطع أحد الحدود الصفحة.
يتبع التصنيف إلى داخلي وخارجي نسخة قائمة اللاحقات العامة المضمّنة في الموقع: فاللاحقة التي تُضاف إلى القائمة بعد أخذ تلك النسخة تُعامل كنطاق عادي إلى أن تُحدَّث النسخة.
الأمان والخصوصية
لا يغادر HTML الملصوق متصفحك، وعنوان الصفحة الذي تكتبه معه لا يُستخدم إلا لحل الروابط النسبية. أما العنوان وحده فهو الشيء الوحيد الذي يُرسل إلى خادم متقن، فيجلب تلك الصفحة وحدها ولا يحتفظ بنسخة منها.
تُحلَّل الصفحة كنص ولا تُعرض: لا يطلب متصفحك أياً من روابطها أو صورها أو سكربتاتها.
المراجع
- HTML Standard — 4.6 Linksكيف تُنشئ عناصر a وarea الروابط التشعبية: سمات href وtarget وrel، وأنواع الروابط مثل nofollow وnoopener وnoreferrer، وكيف يُحل عنوان الرابط نسبةً إلى أساس المستند.
- SEO Link Best Practices for Googleالروابط التي يستطيع Google تتبّعها (عناصر a ذات href يُحل إلى عنوان حقيقي)، وكيف يُكتب نص الرابط، وكيف توصف الروابط الخارجية بـ rel="nofollow" و"sponsored" و"ugc".
- RFC 9110: HTTP Semanticsمعاني أساليب HTTP وحقول الترويسات ورموز الحالة والتفاوض على المحتوى، بغضّ النظر عن إصدار البروتوكول.