
حل مشكلة ظهور أخطاء 404 من WebPageTest في سجلات JavaScript
تعتبر أداة WebPageTest.org من أقوى الأدوات لتحليل أداء المواقع، ولكن
مؤخراً بدأ العديد من المطورين وأصحاب المواقع في ملاحظة أمر غريب:
ظهور أخطاء 404 متكررة في أنظمة مراقبة أخطاء جافا سكريبت (مثل Sentry أو LogRocket)
تشير إلى ملفات مثل ads.txt أو security.txt أو sellers.json.
في هذا المقال، سنوضح لك لماذا تحدث هذه الأخطاء، وهل تمثل خطراً على موقعك، وكيف يمكنك التعامل معها برمجياً.
* كيفية إيقاف تنبيهات WebPageTest 404 في سجلات JavaScript؟
لإيقاف هذه التنبيهات، قم بإنشاء ملفات نصية فارغة في المسار الرئيسي لموقعك
لكل من ads.txt و security.txt و sellers.json لتغيير حالة الاستجابة من 404 إلى 200.
أو قم بإضافة فلاتر استبعاد (Ignore Filters) في أداة مراقبة الأخطاء التي
تستخدمها لتجاهل الطلبات التي تستهدف هذه الملفات، حيث أن هذه الأخطاء ناتجة عن محاكاة
متصفحات Chromium حقيقية من قِبل أداة WebPageTest ولا تعني وجود خلل حقيقي في موقعك.
لماذا تظهر أخطاء 404 المرتبطة بـ WebPageTest؟
عندما تقوم بإجراء فحص لموقعك عبر WebPageTest، لا يقوم الموقع بمجرد
"تحميل" الصفحة، بل يقوم بمحاكاة تجربة مستخدم حقيقية باستخدام متصفحات Chromium حقيقية.
خلال هذه العملية، يقوم المتصفح أو الروبوتات التابعة للأداة بالبحث عن
ملفات التكوين القياسية لضمان أمان وشفافية الموقع:
1- ملف ads.txt: للتأكد من الموزعين المعتمدين للإعلانات.
2- ملف security.txt: للبحث عن سياسات الإبلاغ عن الثغرات الأمنية.
3- ملف sellers.json: للتحقق من هوية البائعين في الشبكات الإعلانية.
* المشكلة تكمن هنا: إذا كانت هذه الملفات غير موجودة في موقعك
(وهو أمر طبيعي للكثير من المواقع)، فإن المتصفح يتلقى استجابة 404 Not Found.
لأن WebPageTest يعمل كمتصفح حقيقي، فإن أدوات مراقبة الأخطاء (JS Monitoring)
تلتقط هذا الإخفاق وترسله لك كخطأ يجب إصلاحه.
* لا داعي للقلق إطلاقاً، هذه الأخطاء لا تؤثر على ترتيب موقعك في محركات البحث (SEO)،
ولا تعيق تجربة المستخدم الحقيقي. هي مجرد "تنبيهات" ناتجة عن محاولة
أداة الفحص العثور على ملفات قد لا تكون متوفرة لديك أصلاً.
خطوات التعامل مع أخطاء 404 من WebPageTest
إذا كنت ترغب في تنظيف سجلات الأخطاء لديك وتقليل "الضوضاء" في تقارير
جافا سكريبت، يمكنك اتباع الخطوات التالية:
1. تجاهل الأخطاء عبر أدوات المراقبة
معظم أدوات مراقبة الأخطاء تتيح لك خاصية Inbound Filters.
يمكنك إعداد فلتر لتجاهل أي خطأ 404 يحتوي على:
رابط يحتوي على ads.txt أو security.txt.
الطلبات القادمة من "User Agent" الخاص بـ WebPageTest.
2. إنشاء ملفات فارغة (حل سريع)
بدلاً من ترك الخادم يعيد خطأ 404، يمكنك ببساطة إنشاء ملفات نصية فارغة بهذه الأسماء
في المجلد الرئيسي (Root) لموقعك. هذا سيجعل المتصفح يتلقى استجابة
200 OK بدلاً من الخطأ، مما يوقف التنبيهات.
3. تخصيص إعدادات WebPageTest
عند إجراء الفحص، يمكنك استخدام خيار "Block" في الإعدادات المتقدمة لمنع الأداة
من طلب هذه الملفات تحديداً، ولكن هذا الحل يدوي ويصلح للفحص الفردي فقط.
الأسئلة الشائعة (FAQ) حول أخطاء WebPageTest
إليك أكثر 10 أسئلة بحثاً حول هذه المشكلة مع إجاباتها التقنية المختصرة:
1. هل تؤثر أخطاء 404 الناتجة عن WebPageTest على سيو الموقع؟
لا، محركات البحث مثل Google تدرك أن هذه الطلبات ناتجة عن أدوات فحص خارجية ولا علاقة
لها بأخطاء الزحف (Crawl Errors) الخاصة بمتصفحي الأرشفة، لذا فهي لا تؤثر على ترتيب موقعك.
2. لماذا تظهر هذه الأخطاء في Sentry أو LogRocket تحديداً؟
لأن هذه الأدوات تراقب شبكة المتصفح (Network Calls). وبما أن WebPageTest يستخدم
متصفح Chromium حقيقي، فإن أي فشل في تحميل ملف (مثل ads.txt)
يُسجل كخطأ شبكة ويُرسل فوراً إلى لوحة تحكم المراقبة لديك.
3. ما هو ملف security.txt ولماذا يبحث عنه WebPageTest؟
هو ملف تقني يُوضع في مسار /.well-known/ لمساعدة الباحثين الأمنيين على معرفة كيفية التواصل
مع إدارة الموقع للإبلاغ عن الثغرات. يبحث عنه WebPageTest لتقييم معايير الأمان في موقعك.
4. هل يمكنني حظر روبوت WebPageTest من الوصول لموقعي؟
يمكنك ذلك عبر ملف robots.txt أو عبر حظر الـ IP، ولكن لا ينصح بهذا لأنك لن تتمكن
من فحص أداء موقعك بدقة باستخدام هذه الأداة العالمية.
5. لماذا يظهر الخطأ كأنه خطأ جافا سكريبت (JS Error)؟
هو ليس خطأ في الكود البرمجي، بل خطأ في "تحميل الموارد". تدرجه أدوات المراقبة تحت
سجلات جافا سكريبت لأن المتصفح فشل في معالجة طلب (Request) أثناء تشغيل الصفحة.
6. هل تختفي المشكلة إذا قمت برفع ملف ads.txt فارغ؟
نعم، رفع ملف فارغ سيجعل الخادم يعيد استجابة كود 200 (ناجح)، وبالتالي لن تسجل
أدوات المراقبة أي خطأ 404، وسيتوقف التنبيه المزعج.
7. كيف يمكنني تصفية (Filter) هذه الأخطاء في أداة مراقبة الأخطاء؟
ابحث عن إعدادات "Inbound Filters" أو "Ignore URLs" في أداة المراقبة الخاصة بك،
وأضف روابط الملفات (ads.txt, security.txt, sellers.json) إلى قائمة الاستبعاد.
8. هل تظهر هذه الأخطاء عند فحص الموقع عبر Google PageSpeed Insights؟
نادراً، لأن PageSpeed Insights يركز بشكل أساسي على مقاييس الأداء الحيوية
(Core Web Vitals) ولا يقوم بعمليات فحص معمقة لملفات التكوين
الإعلانية بنفس الطريقة التي يقوم بها WebPageTest.
9. ما هي ملفات "التكوين المعروفة" (Known Config Files) التي يطلبها الروبوت؟
تشمل القائمة الأساسية: ads.txt (للإعلانات)، security.txt (للأمان)، sellers.json
(لهوية البائعين)، وأحياناً .well-known/apple-app-site-association للتطبيقات.
10. هل وجود عدد كبير من أخطاء 404 في سجلات المراقبة يبطئ الموقع؟
لا يبطئ الموقع بالنسبة للمستخدم الحقيقي، ولكنه يستهلك "كوتة" البيانات (Quota) في
أداة المراقبة الخاصة بك وقد يؤدي لامتلاء سجلاتك ببيانات غير ضرورية.
خاتمة
ظهور أخطاء 404 من WebPageTest هو ضريبة الدقة في الفحص.
بفهمك لسبب محاولة الأداة الوصول لهذه الملفات، يمكنك الآن إدارة سجلات أخطائك
بذكاء والتركيز على المشكلات البرمجية التي تؤثر حقاً على أداء موقعك.