عداد للمواقع الثابتة
أصبحت الاستضافة الثابتة بهدوء الطريقة المعقولة لوضع موقع صغير على الإنترنت. GitHub Pages، أو Codeberg Pages، أو Neocities، أو مجلد ملفات على أي استضافة رخيصة: لا قاعدة بيانات، ولا لغة برمجة على جانب الخادم، ولا شيء يحتاج إلى تحديث، ولا شيء يمكن اختراقه.
لها ثغرة واحدة بالضبط. لا يوجد سجل خادم لقراءته، ولا طريقة لتشغيل أي شيء يتولى العدّ. يُنشر الموقع، ولا شيء يخبرك هل جاء أحد.
هذا هو الوضع الذي اختُرع عداد الزوار من أجله، ولهذا فإن العدادات ليست متقادمة في الحقيقة.
ما الذي يتطلبه ذلك
يوضع المقتطف المأخوذ من صفحة الإحصائيات في HTML، في الموضع الذي يجب أن يظهر فيه العداد. وهذا هو الإجراء كله. وينجح ذلك لأن العداد صورة وسكربت صغير — شيئان تقدّمهما أي استضافة ثابتة دون أن تعرف ماهيتهما أو تكترث لها.
العدّ يجري على خادمنا. وتبقى الاستضافة مجلدًا من الملفات.
لا تنسخ السكربت إلى المستودع
هذه هي النصيحة الوحيدة التي تساوي المقال كله، لأن عادات المواقع الثابتة تدفع بقوة في الاتجاه المعاكس. فوضع نسخ من الاعتماديات داخل المستودع ممارسة جيدة عادة — فهو قابل لإعادة الإنتاج، ويصمد إذا اختفى المصدر الأصلي، ويوفّر طلبًا.
لا تفعل ذلك هنا.
السكربت المنسوخ يتجمد لحظة نسخه. ويظل يفعل ما كان يفعله في ذلك اليوم، إلى الأبد، في كل زيارة، ولا يستطيع أي تغيير في المصدر الأصلي أن يصل إليه. وهذا ليس افتراضًا: عندما أُزيلت دقة الشاشة من العداد هذا العام، ظلت نسخ السكربت القديم ترسلها، وكانت الطريقة الوحيدة لإنهاء جمعها أن يرفض الخادم هذه القيمة من أي أحد على الإطلاق.
وينطبق الأمر نفسه على الإصلاحات الأمنية، وعلى التغييرات في ما يُرسل، وعلى أي شيء آخر ينبغي أن يصل إلى زوار الموقع. اربط بالسكربت. إنه طلب واحد، يُخزَّن مؤقتًا، ويبقى محدَّثًا.
ما الذي يقدمه، وما الذي لا يقدمه
يقدّم العداد أعداد الزوار، والأيام، والبلدان، والمتصفحات، ونطاقات الإحالة، والصفحات الأكثر زيارة، وعرضًا مباشرًا لمن يتصفح الموقع الآن. وبالنسبة إلى موقع شخصي أو صفحة مشروع أو واجهة متجر صغير، فهذه عادة هي مجموعة الأسئلة كلها.
أما ما لا يستطيع تقديمه فهو تحليل السجلات، لأنه لا يوجد سجل. لا شيء عن الطلبات التي تفشل، أو الملفات التي تُرجع 404، أو عرض النطاق الترددي. وحيث تكون هذه الأمور مهمة، كانت الاستضافة الثابتة أصلًا حلًا لا يناسب المشكلة.
أمر آخر يناسب المواقع الثابتة
لا شيء هنا يحتاج إلى حساب. لا تسجيل، ولا كلمة مرور تُخزَّن في مستودع، ولا مفتاح يتسرب في commit علني — وهي فئة من الحوادث تبرع مشاريع المواقع الثابتة في الوقوع فيها على نحو غير معتاد.