بقلم Kristijan Sekereš
Rybbit Analytics: بديل لـ Google Analytics دون ملفات تعريف الارتباط وتستضيفه بنفسك

ما هو Rybbit، وكيف يعمل، وكيف يتم إعداده؟
يُعدّ Rybbit أداة مفتوحة المصدر لتحليلات الويب تحصي الزوار دون أن تضع ملفات تعريف الارتباط (الكوكيز). وهو مشروع حديث العهد: صدر الإصدار 1.0 في 30 مايو 2025، وتلاه الإصدار 2.0 في أكتوبر 2025، وأحدث إصدار حتى 15 أكتوبر 2026 هو 2.9.1، الصادر في 12 سبتمبر 2026. الشيفرة متاحة على GitHub بترخيص AGPL-3.0. وتبيع Tomato.gg LLC، الشركة الأمريكية التي تقف وراءه، نسخة مستضافة منه أيضًا.
نشغّله على c9group.dev ونستضيفه على خوادمنا الخاصة، كما نفعل مع Mautic. وحين نريد أن نعرف ما فعله الزوار فعلًا على صفحة ما، فهو أول أداة نفتحها. يتناول هذا الدليل ما يجيده، وأين يقصّر، وكيف تُعدّه.
طريقة عمله: سكربت صغير، script.js، يُحمَّل من خادم Rybbit الخاص بك ويرسل إليه مشاهدات الصفحات والأحداث. تُخزَّن الأحداث في ClickHouse، وهي قاعدة بيانات عمودية صُممت لهذا النوع من العدّ تحديدًا. أما الحسابات والمواقع والإعدادات فتُحفظ في Postgres. ولوحة التحكم تطبيق Next.js، وواجهة API التي تقف خلفها هي خادم Node.js.
ما هي الفوائد الأساسية لاستخدام Rybbit؟
دون كوكيز
لا يضع Rybbit أي كوكيز. يتعرّف الخادم على الزائر العائد من خلال قيمة تجزئة (hash) لعنوان IP الخاص به ووكيل المستخدم (user agent) في متصفحه، ومنذ الإصدار 2.8 صار يعامل الزائر الذي يتغيّر عنوان IP لديه في منتصف الزيارة كشخص واحد، بمطابقة خصائص متصفحه. أما GA4 فيضع الكوكيز وينتظر الموافقة، لذا يغيب عن تقاريره كل زائر يتجاهل لافتة الموافقة أو يرفضها (ويستعيد وضع الموافقة Consent Mode من Google جزءًا منهم بالنمذجة).
غياب الكوكيز لا يعني غياب سؤال الموافقة. فسكربت التتبع في الإصدار 2.9 يكتب معرّف زائر عشوائيًا في التخزين المحلي للمتصفح (local storage) في كل زيارة، أيًّا كانت إعداداتك؛ ولا يُرسَل هذا المعرّف إلى الخادم إلا إذا استخدمت ميزة feature flags في Rybbit. وقاعدة الموافقة في توجيه الخصوصية الإلكترونية (المادة 5(3)) تشمل أي معلومات تُخزَّن على جهاز الزائر، لا الكوكيز وحدها، والمبادئ التوجيهية 2/2023 الصادرة عن المجلس الأوروبي لحماية البيانات تفسّرها تفسيرًا واسعًا. وتنطبق اللائحة العامة لحماية البيانات (GDPR) كذلك: فعنوان IP ما زال يصل إلى خادمك، ووثائق Rybbit نفسها تقول إن المعرّف المُجزَّأ الافتراضي «قد يُعدّ تخزينًا لبيانات تحدد الهوية الشخصية بموجب GDPR».
لذلك فإن السماح بتشغيل Rybbit قبل أن يجيب الزائر على لافتة الموافقة قرار يعود إلى المسؤول عن سياسة الخصوصية لديك، ولا تحسمه عبارة «دون كوكيز». والإعدادات التي تضيّق نطاق ما يجمعه مذكورة أدناه في قسم إعدادات الخصوصية.
تفاصيل جلسات تبني عليها قراراتك
تحمل كل جلسة مصدر الزيارة ومعاملات UTM والقناة والمدة ومشاهدات الصفحات. وإذا فعّلت الالتقاط التلقائي (autocapture) فإنه يحصي أيضًا النقرات على الأزرار وإرسال النماذج وتغييرات حقول الإدخال والنصوص المنسوخة والنقرات على الروابط الخارجية. فيصبح سؤال «هل تفاعلوا؟» رقمًا لا تخمينًا.
إذا كنت تدفع مقابل الزيارات، فهنا ترى إن كان هؤلاء الزوار قد قرأوا الصفحة أم غادروا خلال ثانية، وذلك قبل أن ترفع الميزانية.
تسجيل الجلسات ومسارات التحويل ورحلات المستخدمين في النسخة المجانية
تتضمن النسخة المستضافة ذاتيًا تسجيل الجلسات (session replay) ومسارات التحويل ورحلات المستخدمين والاحتفاظ بالمستخدمين (retention) والأهداف وتتبع الأخطاء ومؤشرات Web Vitals. وفي هذا يختلف Rybbit عن البدائل أكثر من أي شيء آخر. فـ Matomo يبيع الخرائط الحرارية وتسجيلات الجلسات كإضافات مدفوعة للتثبيتات المستضافة ذاتيًا. أما Plausible فيستثني مسارات التحويل ورحلات المستخدمين من نسخته المجانية Community Edition.
خفيف التشغيل
يطلب Rybbit خادمًا بذاكرة RAM لا تقل عن 2 جيجابايت. ويكفي خادم VPS واحد لتشغيل المنظومة كاملة، وتقدّر وثائقه مدة الإعداد على خادمك بما بين 30 و120 دقيقة.
واجهة API وخادم MCP
كل ما في لوحة التحكم متاح أيضًا عبر REST API بمفتاح API شخصي. كما يأتي Rybbit مع خادم MCP، فيستطيع مساعد ذكاء اصطناعي مثل Claude Code أو Cursor أن يستعلم عن أرقامك مباشرة. وكلاهما يعمل مع النسخة المستضافة ذاتيًا.
كيفية إعداد Rybbit
Rybbit Cloud
أسرع طريق: أنشئ حسابًا، وأضف نطاقك، والصق وسم سكربت واحدًا. تخزّن النسخة السحابية بيانات التحليلات على خوادم Hetzner في ألمانيا وفنلندا. والخطط والأسعار مذكورة أدناه في قسم اعتبارات التكلفة.
WordPress
لا توجد إضافة رسمية، ولا حاجة إليها. يضيف دليل Rybbit الخاص بـ WordPress وسم السكربت عبر إضافة مثل WPCode، أو عبر ملف functions.php أو header.php في القالب الفرعي (child theme). وعلى WordPress.com يتطلب ذلك خطة Business أو أعلى.
الاستضافة الذاتية باستخدام Docker
النطاق الصغير: الشركات الناشئة والمواقع الصغيرة
ما تحتاجه:
- خادم VPS بذاكرة RAM لا تقل عن 2 جيجابايت. يُختبر Rybbit على Ubuntu 24 LTS بمعمارية x86_64؛ أما خادم ARM فيجب أن يكون ARMv8.2-A أو أحدث، لأن ClickHouse يتطلب ذلك.
- Docker Engine وGit.
- نطاق فرعي، مثل
analytics.example.com، له سجل A يشير إلى الخادم. وHTTPS إلزامي، لأن المتصفحات تحظر سكربت التتبع الذي يصل عبر HTTP العادي. وإذا كان النطاق على Cloudflare، فاضبط السجل على DNS only، أو وضع SSL على Full أو Full (strict).
ثم نفّذ:
git clone https://github.com/rybbit-io/rybbit.git
cd rybbit
chmod +x *.sh
./setup.sh analytics.example.com
يكتب السكربت ملف .env ويشغّل الحاويات: ClickHouse وPostgres وRedis والواجهة الخلفية (backend) ولوحة التحكم وCaddy، الذي يحصل على شهادة TLS. افتح https://analytics.example.com/signup وأنشئ الحساب الأول.
ثم أغلق الباب خلفك. أضف DISABLE_SIGNUP=true إلى .env وشغّل ./restart.sh، حتى لا يتمكن الغرباء من فتح حسابات على خادمك.
إذا كان على الخادم وكيل عكسي (reverse proxy) مثل Traefik أو Nginx، فشغّل ./setup.sh analytics.example.com --no-webserver. عندها يُستبعد Caddy ويتولى الوكيل لديك إنهاء اتصالات TLS.
للتحديث: git pull، ثم ./update.sh.
النطاق الكبير: المواقع الكبيرة والوكالات
تقرأ الواجهة الخلفية CLICKHOUSE_HOST وPOSTGRES_HOST وREDIS_HOST من بيئتها، لذا يمكن نقل كل قاعدة بيانات إلى خادم مستقل دون المساس بالتطبيق. والجزء الذي ينمو هو ClickHouse: فهو يحتفظ بكل حدث، وبكل تسجيل جلسة إن كنت تسجّل الجلسات. امنحه قبل غيره جهازًا مستقلًا بتخزين SSD سريع.
على AWS، تعمل صور الحاويات الخاصة بالواجهة الخلفية ولوحة التحكم على ECS Fargate مثل أي حاوية أخرى، مع ClickHouse على مثيل EC2 وPostgres على RDS. وتُحفظ تسجيلات الجلسات 30 يومًا افتراضيًا، عبر قيمة TTL على جدولين في ClickHouse يمكنك تقصيرها.
وإذا كنت تفضّل ألا تشغّل أيًّا من ذلك بنفسك، فخطة Enterprise من Rybbit توفّر مثيلًا مخصصًا لك أو تثبيتًا محليًا (on-premise).
سكربت التتبع
<script src="https://analytics.example.com/api/script.js?siteId=YOUR_SITE_ID" async></script>
مرّر معرّف الموقع في عنوان URL. ما زالت السمة الأقدم data-site-id تعمل، لكن إضافات التحسين مثل WP Rocket تعيد بناء وسوم السكربت وتحذف سمات data-.
لا تحتاج التطبيقات أحادية الصفحة (SPA) إلى أي إعداد إضافي. فالسكربت يتابع التنقل عبر History API ويسجّل كل تغيير في المسار كمشاهدة صفحة، بعد مهلة تأخير (debounce) مدتها 500 ملّي ثانية. وتُتتبَّع كذلك مسارات hash التي تبدأ بـ #/.
لأحداثك الخاصة:
window.rybbit.event('quote_requested', { plan: 'pro' });
يمكن أن يصل طول اسم الحدث إلى 256 حرفًا، وحجم الخصائص (نصوص وأرقام) إلى 2 كيلوبايت.
الميزات الرئيسية لـ Rybbit
التحليلات
- الجلسات والمستخدمون الفريدون ومشاهدات الصفحات ومعدل الارتداد ومدة الجلسة
- لوحة تحكم لحظية مع كرة أرضية تعرض الزيارات مباشرة
- الموقع الجغرافي حتى مستوى الدولة والمنطقة والمدينة
- التصفية عبر أكثر من 15 بُعدًا، والشرائح المحفوظة
- أحداث مخصصة مع خصائصها
- الأهداف ومسارات التحويل ورحلات المستخدمين والاحتفاظ بالمستخدمين
- تتبع أخطاء JavaScript غير المعالَجة
- Web Vitals
- اكتشاف الروبوتات وتصفيتها
السلوك
- تسجيل الجلسات، مع إخفاء كل قيمة مُدخلة افتراضيًا
- الالتقاط التلقائي للنقرات وإرسال النماذج والنسخ والروابط الخارجية
- ملفات شخصية للمستخدمين، بأسمائهم وسماتهم بعد استدعاء
rybbit.identify()للمستخدمين المسجّلين الدخول
المشاركة والتكامل
- عدد غير محدود من المواقع والمؤسسات مع فرق العمل
- لوحات تحكم عامة وأدوات (widgets) قابلة للتضمين
- REST API وخادم MCP
- تكامل مع Google Search Console (في النسخة المستضافة ذاتيًا يحتاج إلى بيانات اعتماد Google OAuth)
- الاستيراد من Plausible وUmami وSimple Analytics
إعدادات الخصوصية
- User ID Salting: يغيّر قيمة تجزئة الزائر كل يوم، فينسى Rybbit هوية الشخص بعد 24 ساعة. والثمن حقيقي: يتضخم عدد المستخدمين الفريدين على الفترات الأطول، ويفقد تقرير الاحتفاظ أي معنى. قرّر قبل الإطلاق، لأن تغييره لاحقًا يكسر خطوط الاتجاه لديك.
- Track IP Address: معطّل ما لم تفعّله بنفسك. وتصف وثائق Rybbit تخزين عناوين IP بأنه «غير متوافق مع GDPR».
- تسجيل الجلسات: إعداد على مستوى الموقع، يسري على كل زائر بمجرد تفعيله. ولكي تسجّل جلسات الزوار الذين وافقوا فقط، أضف
data-replay-sample-rate="0"إلى وسم السكربت لكل الزوار الآخرين. - إخفاء البيانات في التسجيلات: أضف الفئة
rr-blockلاستبعاد عنصر من التسجيلات، والفئةrr-maskلاستبدال نصه بعلامات نجمية. - الاستثناءات: حسب عنوان IP أو نطاق العناوين، والدولة، والمسار، واسم المضيف، ووكيل المستخدم، وتُطبَّق على الخادم قبل تخزين أي شيء.
لماذا تختار Rybbit على الحلول الأخرى؟
مقابل Google Analytics 4
- التغطية: حيث يجوز لك تحميله قبل الموافقة، يحصي الزوار الذين لا يجيبون على اللافتة أبدًا (راجع قسم «دون كوكيز» أعلاه)
- مكان البيانات: على خادمك، أو في سحابة Rybbit المستضافة في الاتحاد الأوروبي
- تفاصيل السلوك: تسجيل الجلسات، وهو غير موجود في GA4، وسجلّ مقروء لكل جلسة
- أين يتفوق GA4: التكامل مع Google Ads، والجماهير لإعادة الاستهداف، والإسناد المعتمد على البيانات
مقابل Matomo
نُعدّ كليهما؛ راجع دليلنا عن Matomo.
- Matomo أقدم وأشمل: تقارير للتجارة الإلكترونية، ومدير وسوم، ومكتبة إضافات كبيرة، وأداة لاستيراد بياناتك التاريخية من Google Analytics. ويعمل على PHP وMySQL، اللذين تدعمهما كل استضافة تقريبًا.
- Rybbit يقدّم مجانًا أكثر: تسجيل الجلسات ومسارات التحويل دون إضافات مدفوعة، ولوحة تحكم أبسط.
- الكوكيز: لا يضع Rybbit أيًّا منها. أما Matomo فيستخدم كوكيز الطرف الأول افتراضيًا، ويمكن ضبطه للعمل دونها.
- البيانات التاريخية: لا يستطيع Rybbit الاستيراد من Google Analytics أو Matomo.
إذا كنت تبيع عبر الإنترنت أو تحتاج إلى بياناتك التاريخية في GA، فاختر Matomo. وإذا أردت أن ترى ما يفعله الزوار دون أي كوكيز، فاختر Rybbit.
مقابل Plausible
- لا يضع أيٌّ منهما كوكيز، وكلاهما مرخّص بموجب AGPL.
- تستثني نسخة Community Edition المجانية من Plausible مسارات التحويل ورحلات المستخدمين وأهداف إيرادات التجارة الإلكترونية وSSO وواجهة API الخاصة بالمواقع، ويصدر لها إصدار جديد مرتين في السنة.
- لا يتضمن Plausible تسجيل الجلسات.
- Plausible هو الأبسط بين الاثنين. وإذا كانت صفحة واحدة من الأرقام الرئيسية هي كل ما تريده، فهذه نقطة لصالحه.
أين يقصّر Rybbit
- ما زال حديثًا. صدر الإصدار 1.0 في مايو 2025، والإصدارات تتوالى بسرعة. اقرأ ملاحظات الإصدار قبل كل تحديث.
- لا يُبلغ عن التحويلات. يقيس Rybbit السلوك على الصفحة. وما زال Google Ads وMeta يحتاجان إلى تتبع التحويلات الخاص بهما، ولا ينبغي أبدًا أن يُقرأ رقم من Rybbit على أنه تحويل.
- الالتقاط التلقائي يسمّي الزر بنصه. في الموقع متعدد اللغات يصل الزر نفسه كحدث منفصل في كل لغة، فيحصل موقع بـ 19 لغة على 19 نسخة من نقرة واحدة. أرسل بدلًا من ذلك حدثًا مخصصًا تسمّيه بنفسك لكل خطوة في مسار التحويل.
- النسخة المستضافة ذاتيًا بلا تقارير بالبريد الإلكتروني. أما النسخة السحابية ففيها هذه التقارير.
- التزامات AGPL. إذا عدّلت Rybbit وسمحت لآخرين باستخدامه عبر شبكة، فعليك نشر تعديلاتك.
المتطلبات التقنية
حتى 15 أكتوبر 2026، أحدث إصدار هو 2.9.1.
الحد الأدنى من المتطلبات
- ذاكرة RAM بسعة 2 جيجابايت
- x86_64، أو ARMv8.2-A أو أحدث
- Docker Engine وGit
- نطاق أو نطاق فرعي مع HTTPS
الموصى به للإنتاج
- ذاكرة RAM بسعة 4 جيجابايت أو أكثر، لأن ClickHouse هو الجزء الذي يستهلك الذاكرة
- تخزين SSD
- نسخ احتياطي مجدول لوحدات تخزين ClickHouse وPostgres كلتيهما
- تعطيل التسجيل بعد إنشاء الحساب الأول
اعتبارات التكلفة
الاستضافة الذاتية
- البرنامج: مجاني، بترخيص AGPL-3.0
- الخادم: خادم VPS صغير واحد للبداية
- الصيانة: وقتك للتحديثات والنسخ الاحتياطي
Rybbit Cloud
الأسعار كما في 15 أكتوبر 2026، بفوترة سنوية، مع فترة تجريبية مجانية مدتها 7 أيام:
- Standard: من 13 دولارًا أمريكيًا شهريًا مقابل 100,000 مشاهدة صفحة في الشهر. حتى 5 مواقع و3 أعضاء في الفريق، والاحتفاظ بالبيانات 3 سنوات، دون تسجيل الجلسات.
- Pro: من 26 دولارًا أمريكيًا شهريًا. عدد غير محدود من المواقع وأعضاء الفريق، وتسجيل الجلسات، والاحتفاظ بالبيانات 5 سنوات.
- Enterprise: السعر عند الطلب، ويشمل مثيلًا مخصصًا أو تثبيتًا محليًا (on-premise).
أفضل الممارسات
- عطّل التسجيل بمجرد إنشاء حسابك.
- قرّر بشأن User ID Salting قبل الإطلاق. فتغييره لاحقًا يقطع استمرارية أعداد المستخدمين.
- استبعد زياراتك أنت. استثنِ
localhostونطاقات المعاينة حسب اسم المضيف، ومكتبك حسب عنوان IP. - اسمح بالسكربت في سياسة أمان المحتوى (Content Security Policy). يجب أن يُدرَج نطاق Rybbit لديك في
script-srcوconnect-srcكليهما، وإلا حظره المتصفح، ولن يخبرك بالسبب إلا وحدة التحكم (console). - سمِّ أحداث مسار التحويل بنفسك في الموقع متعدد اللغات، بدلًا من الاعتماد على الالتقاط التلقائي.
- أخفِ البيانات قبل أن تسجّل. ضع
rr-blockعلى كل ما يعرض بيانات العملاء، مثل صفحة تأكيد الطلب، قبل أن تفعّل تسجيل الجلسات. - انسخ قاعدتي البيانات احتياطيًا. يحتفظ ClickHouse بالأحداث، ويحتفظ Postgres بالحسابات والإعدادات.
- اذكر Rybbit في سياسة الخصوصية، مع ما يجمعه، وإدخال التخزين المحلي، وتسجيلات الجلسات إن كنت تسجّلها، ومدة احتفاظك بالبيانات.
حالات الاستخدام الشائعة
- المواقع التسويقية: تحقّق مما إذا كانت الزيارات المدفوعة تقرأ الصفحة فعلًا قبل أن ترفع الميزانية
- منتجات SaaS: مسارات التحويل والاحتفاظ بالمستخدمين والملفات الشخصية للمستخدمين المسجّلين الدخول
- الوكالات: عدد غير محدود من المواقع والفرق ولوحات التحكم العامة للعملاء
- الشركات الأوروبية: بيانات التحليلات على خوادمك الخاصة، أو في السحابة المستضافة في الاتحاد الأوروبي
- تصحيح الأخطاء: تتبع الأخطاء، وتسجيل للجلسة التي وقع فيها الخلل
تحتاج مساعدة في إعداد Rybbit؟
نحن أنفسنا نشغّل Rybbit في بيئة الإنتاج. سواء كنت بحاجة إلى:
- تثبيت مستضاف ذاتيًا خلف الوكيل العكسي الذي تستخدمه حاليًا
- الانتقال من Google Analytics، أو من Plausible أو Umami مع بياناتك التاريخية
- أحداث مخصصة ومسارات تحويل تصمد أمام الترجمة
- إعدادات الخصوصية وإخفاء البيانات في التسجيلات، بعد مراجعتها وفق سياسة الخصوصية لديك
- Rybbit إلى جانب Mautic، من الزيارة المجهولة إلى العميل المحتمل المعروف
تواصل معنا على office@c9group.dev للحصول على استشارة مجانية وعرض سعر.
تاريخ النشر: ١٥ أكتوبر ٢٠٢٦ التصنيفات: التحليلات، المصدر المفتوح، الخصوصية
التحليلات
أدلة جديدة وتغييرات في الأنظمة عبر البريد الإلكتروني
عندما يتغير نظام أو يتأجل موعد نهائي أو ننشر دليلًا جديدًا، نرسله إليك بالبريد الإلكتروني.