ما يحتسبه هذا الموقع
يحتسب استعمال الموقع واستعمال API في سجلين. لا يحتفظ أي منهما بما يربط سطرا بزائر. الكتابة المقترحة لدوار تحفظ على حدة، بمفتاح يتغير كل يوم.
كل طلب
يحتسب كل استدعاء API وكل طلب MCP مرة واحدة، في Workers Analytics Engine من Cloudflare. يحتفظ السطر بالمسار دون رموزه، أو بالأداة التي استدعتها رسالة MCP، أو بطريقة الرسالة إن لم تستدع أداة، وبالاسم الذي يطلقه عميل MCP (client) على نفسه، وبأول كلمة من User-Agent، وبالبلد، وبحالة الطلب ومدته. هذا كل ما في السطر: ما يكفي لمعرفة كيف تستعمل API، دون معرفة من يستعملها.
الأداة أو الطريقة التي لا ترد في قائمة ثابتة تحفظ باسم «other»، وكذلك اسم العميل إذا أفرغته التصفية. تحتفظ Cloudflare بهذه الأسطر 3 أشهر. الملف الثابت لا يشغل أي كود، لذا لا يحتسب فتحه هنا.
ما يُطلب
سجل ثان، في D1، يحتسب 5 أنواع من الأسطر: بحث، وفتح مكان، وأداة يستدعيها مساعد ذكي عبر خادم MCP، والاسم الذي يطلقه عميل MCP على نفسه، وتنزيل ملف. يحتفظ السطر باليوم، وبما طلب، وبعدد النتائج التي عرضها البحث، وبلغة الصفحة، وبالبلد، وبإصدار مجموعة البيانات المنشور حينها. ويبين أيضا هل يشبه User-Agent ما يرسله روبوت، وصنف الموقع الذي جاء منه الزائر، مثل reddit أو محرك بحث، دون عنوان ذلك الموقع.
ويسجل السطر أيضا العميل الذي أرسل الطلب: «browser» لخانة البحث ولطلب العدّ الذي ترسله الصفحة (beacon)، وأول كلمة من User-Agent لمن يستعمل API أو MCP مباشرة.
البحث
يحفظ البحث بحروف صغيرة ويقتطع عند 64 حرفا. ويرفض كليا إذا تضمن علامة @، أو شرطة مائلة، أو ما يشبه عنوان موقع، أو أكثر من 6 كلمات، أو 6 أرقام أو أكثر كيفما كتبت، إلا إذا كانت هذه الأرقام رمزا حقيقيا لمكان. هكذا يبقى خارج السجل بريد إلكتروني أو رقم هاتف كتب في الخانة خطأ.
تبلّغ خانة البحث في الموقع عن البحث بعد أن يستقر: بعد 1,5 ثانية من توقف النتائج عن التغير، أو فور فتح نتيجة، ولا تبلّغ عند كل ضغطة مفتاح. وحين يكون Do Not Track مفعلا في المتصفح، لا تبلّغ الخانة عن أي بحث ولا يسجل الـbeacon أي مكان أو ملف مفتوح. تطلب الخانة نتائجها من API مع ذلك، ويحتسب Analytics Engine هذه الطلبات مثل أي استدعاء API آخر، دون ما كتب.
ما يبقى
السطر يوم وبضع فئات، ما يكفي للعدّ. لا يحمل أي سطر مفتاحا أو cookie أو عنوانا يربطه بسطر آخر.
تحذف الأسطر الخام من السجل الثاني بعد 90 يوما. ما يبقى هو أعداد يومية، ومنها تبنى صفحة الأماكن الأكثر تصفحا. يحتفظ البحث بكلماته في هذه الأعداد فقط إذا كانت اسم مكان أو رمزه، أو كتبت 3 مرات أو أكثر في ذلك اليوم؛ وفي غير ذلك يبقى العدد وحده. القاعدة تعدّ الأسطر، لذا قد تأتي المرات الـ3 كلها من زائر واحد.
كتابة مقترحة
تقبل صفحة الدوار كتابة بالحروف اللاتينية لدوار لا يسميه أي مصدر بهذه الحروف. كل ليلة يفحص المحرك الاقتراحات، ويعرض الكتابة التي اقترحها زائران إذا كانت قراءتها قريبة كفاية من الاسم العربي للدوار. وللتمييز بين زائرين، يحفظ الاقتراح بمفتاح مشتق من عنوان الزائر ومن سر يتغير كل يوم: العنوان نفسه يعطي المفتاح نفسه في اليوم الواحد ومفتاحا آخر في اليوم التالي، ولا يمكن استرجاع العنوان من المفتاح. العنوان نفسه لا يحفظ.
يتضمن الاقتراح الدوار واسمه العربي والكتابة والمفتاح واليوم، ويحذف بعد 90 يوما. الكتابة المعروضة تحفظ مع الدوار ويوم عرضها، دون أي شيء عمن اقترحها.
كل هذا منشور في الكود المصدري.