المدونة
SignalHost لـ TYPO3: ثبّت الملحق، واربط كل موقع، فيعمل التتبّع من جانب الخادم
نُشر · 6 دقائق قراءة
احصل عليه من TYPO3 Extension Repository
يضع ملحق SignalHost خدمة Google Tag Manager من جانب الخادم على مواقع TYPO3 لديك دون سطر واحد من الكود الملصوق. فهو يضيف مُحمِّل التتبّع إلى كل صفحة من الواجهة الأمامية لموقع مرتبط، ويُبقيه محدّثًا كلما تغيّر شيء في جانبنا، ويزيله مجددًا حين تقطع الاتصال. يُربط كل موقع في التثبيت متعدد المواقع على حدة، ويتتبّع هذا الدليل موقعًا واحدًا من التثبيت حتى الاختبار.
قبل أن تبدأ
- TYPO3 13.4 LTS أو 14.3 LTS، يعمل على PHP 8.2 أو أحدث مع امتداد sodium.
- حساب SignalHost. الخطة المجانية تكفي للتجربة: عشرة آلاف طلب شهريًا وحاوٍ واحد. ويمكنك إنشاء الحساب أثناء الربط.
- حساب مدير في الواجهة الخلفية (backend). وحدة SignalHost مخصصة للمديرين فقط.
- موقع يتضمن عنوانه الأساسي (base)، في إعداد الموقع، نطاقًا، مثل https://www.example.com/.
1. ثبّت الملحق
في تثبيت قائم على Composer، أضفه من Packagist:
composer require signalhost/server-side-taggingأما في الوضع الكلاسيكي، فثبّته من Extension Manager بدلًا من ذلك؛ فهو موجود في مستودع ملحقات TYPO3 تحت المفتاح signalhost_server_side_tagging. ولا يضيف شيئًا إلى أي موقع حتى يُربط ذلك الموقع.
2. اربط موقعًا بحاوٍ
في الواجهة الخلفية لـ TYPO3، افتح Sites › SignalHost (Site Management › SignalHost في TYPO3 13)، حيث لكل موقع بطاقته الخاصة. تعيدك SignalHost إلى عنوان الموقع نفسه بعد الربط، فافتح الواجهة الخلفية تحت نطاق ذلك الموقع؛ وإن كنت في مكان آخر، ففي البطاقة زر يفتح الصفحة هناك، وقد تحتاج إلى تسجيل الدخول مرة واحدة.
في بطاقة الموقع، اضغط «Connect with SignalHost»، أو «Create a free account» إن لم يكن لديك حساب بعد. لا يُرسَل أي شيء إلى SignalHost قبل أن تضغط زر الربط. على signalhost.io، سجّل الدخول. تسرد الشاشة التالية ما سيتمكن الملحق من فعله وما لن يتمكن منه، وتسألك أي حاوٍ يجب أن يستخدمه الموقع. الحاوي هو خادم الوسم الخاص بك: حاوي ويب وحاوي خادم في Tag Manager، يُبنيان في حساب Google الخاص بك، فيبقيان ملكك.
اختر حاويًا موجودًا، أو اضغط «حاوية جديدة لـ…» مع اسم موقعك ومُرّ بالمعالج القصير. يستغرق بناء حاوٍ جديد بضع دقائق؛ ويمكنك الربط فورًا، ويُضاف الكود فور جاهزيته. اضغط «اربط»، فتعود إلى البطاقة مع الرسالة «Connected». وقد أصبح كود SignalHost الآن مضافًا إلى كل صفحة من هذا الموقع. كرّر ذلك لكل موقع تريد تتبّعه.
3. تحقّق من وجود الكود على موقعك
تعرض بطاقة الموقع الآن «Tracking is live»، أو «Tracking starts as soon as your container is ready» بينما ما زال حاوٍ جديد قيد البناء. ثم اقرأ السطر «On your home page»: فبعد الربط مباشرة، يجلب الملحق صفحتك الرئيسية كما يفعل الزائر ويبحث عن الكود الخاص به. والجواب الذي تريده هو «Code found». يكرّر «Check again» الفحص في أي وقت، والأجوبة الأخرى مشروحة في قسم «حين لا يعمل شيء ما».
4. اختبره
افتح موقعك في نافذة خاصة وتنقّل بين بضع صفحات؛ فالزائر الذي يرفض لافتة ملفات تعريف الارتباط لديك يُحتسب مع ذلك، كإشارة Google بلا ملفات تعريف ارتباط. ثم اضغط «Open statistics & settings» لتفتح صفحة الحاوي على signalhost.io.
ضمن «تحليلات مفصّلة»، تعرض علامة التبويب «الأحدث» مشاهدات الصفحات في آخر 30 دقيقة، ومنها مشاهداتك. ويقارن «تشغيل الفحوصات»، ضمن «استكشاف الأخطاء وإصلاحها» أسفل الصفحة، ما تلقّاه خادم الوسم الخاص بك بما يُبلغ عنه Google Analytics للدقائق الثلاثين نفسها. ومن الطبيعي أن يكون الرقم في Analytics أقل: فهو يستبعد الزوار الذين رفضوا ملفات تعريف الارتباط. وبدءًا من خطة Growth، تعرض «مراقبة الأحداث مباشرة» كل حدث لحظة وصوله.
ما يضيفه الملحق إلى موقعك
سكربت صغير واحد لكل موقع مرتبط، وتواصل واحد كل ساعة:
- مُحمِّل Google Tag Manager، قبيل نهاية قسم head من كل صفحة في الواجهة الأمامية، موجَّهًا إلى عنوان الوسم الخاص بالموقع بدلًا من googletagmanager.com. يحمّل حاوي Tag Manager لديك من هناك. ويُضاف إلى الصفحة المكتملة بعد ذاكرة التخزين المؤقت للصفحات في TYPO3، فلا حاجة إلى إفراغ أي ذاكرة تخزين مؤقت. وإن كان الموقع يفرض سياسة أمان المحتوى (Content Security Policy) في TYPO3، يضيف الملحق عنوان الوسم إليها ويسمح بالمُحمِّل عبر بصمته (hash)، ما لم تكن السياسة تسمح أصلًا بالسكربتات المضمّنة.
- مرة كل ساعة، بعد إرسال استجابة، يتواصل الملحق مع signalhost.io ليبقى محدّثًا. ولا يرسل إلا إصدارات الملحق وTYPO3 وPHP، وعنوان الموقع، وما إذا عُثر على الكود في الصفحة الرئيسية: لا بيانات زوار، ولا محتوى، ولا حسابات مستخدمين. وإن تعذّر الوصول إلى signalhost.io، يحتفظ الموقع بآخر إعداد سليم.
يغادر كل طلب المتصفح بشكل لا تتعرّف عليه حاجبات الإعلانات، ويمرّره خادم الوسم الخاص بك إلى Google Analytics 4 وإلى منصات الإعلانات التي تُعدّها في صفحة الحاوي: Google Ads وMeta وTikTok وغيرها. ويتبع التتبّع لافتة ملفات تعريف الارتباط لديك عبر Google Consent Mode. يأتي المُحمِّل بعد اللافتة الموجودة في قسم head؛ أما اللافتة التي تُحمَّل لاحقًا فيجب أن تضبط القيم الافتراضية لـ Consent Mode قبله.
لا يقرأ الملحق النماذج ولا الطلبات. تصل مشاهدات الصفحات من تلقاء نفسها؛ أما عملية الشراء أو العميل المحتمل فيصل إلى حاويك حين يدفعه موقعك إلى طبقة البيانات.
نطاق التتبّع الخاص بك
يبدأ حاويك على عنوان تحت signalhost.io. في خطة مدفوعة، ينقله «إعداد نطاقك الخاص» في صفحة الحاوي إلى نطاق فرعي من موقعك أنت، مثل sgtm.yoursite.com، بسجل DNS واحد لدى مزوّدك. ينجو ذلك العنوان من قوائم المرشّحات ويُبقي ملفات تعريف الارتباط الخاصة بالنقرات من الطرف الأول. وحين يبدأ الخدمة، ينقل الملحق ذلك الموقع إليه عند تواصله التالي، عادةً خلال ساعة، وتتبعه سياسة أمان المحتوى الخاصة به. لا يلزم استبدال أي شيء يدويًا، ويظل العنوان القديم يعمل حتى ذلك الحين.
إضافة SignalHost يدويًا
يمكنك أيضًا لصق الكود بنفسك. في صفحة الحاوي، ابحث عن المقتطف الخاص بك في بطاقة «التثبيت على موقعك» واضغط «نسخ». ألصقه في قسم head من كل صفحة (في TYPO3، عبر قالبك أو TypoScript)، مباشرة بعد سكربت لافتة ملفات تعريف الارتباط، واضغط «لقد فعلت ذلك». ويسلّم «نسخ لوكيل ذكاء اصطناعي» المهمة نفسها إلى وكيل برمجة.
اللصق اليدوي يتخلى عمّا يفعله الملحق: لا شيء يفحص صفحتك الرئيسية، ولا شيء يزيل الكود حين تقطع الاتصال، والموقع الذي يفرض سياسة أمان المحتوى في TYPO3 يحتاج إلى السماح بالسكربت وبعنوان الوسم يدويًا، وحين يبدأ نطاقك الخاص الخدمة تستبدل الكود بنفسك، من «حدّث مقتطف موقعك» في البطاقة أو من البريد الإلكتروني الذي يعلن عن النطاق. ولا تستخدم الطريقتين معًا أبدًا: فنسختان تحتسبان كل زيارة مرتين.
التحديثات والإدارة وقطع الاتصال
حدّثه بالطريقة التي ثبّته بها: عبر Composer، أو من Extension Manager في الوضع الكلاسيكي.
يسألك «Disconnect»، في بطاقة الموقع، مرة واحدة، ثم يزيل كود SignalHost من كل صفحات ذلك الموقع دفعة واحدة ويلغي وصوله. تبقى المواقع الأخرى مرتبطة، ويبقى حاويك وبياناته في حسابك على SignalHost.
على signalhost.io، تقول صفحة الحاوي «مثبّت بواسطة ملحق TYPO3 على» متبوعة بموقعك. ويقودك زر «إدارة» فيها إلى «الإعدادات»، ضمن «المواقع المرتبطة»، حيث يعمل «قطع الاتصال» أيضًا: يتوقف الملحق عن تحميل SignalHost عند تواصله التالي، عادةً خلال ساعة.
تعطيل الملحق في Extension Manager، في الوضع الكلاسيكي، يلغي وصول كل المواقع ويزيل ما خزّنه. أما composer remove فلا يشغّل أي كود من TYPO3، فاقطع اتصال كل موقع أولًا؛ وإلا بقيت مدرجة ضمن «الإعدادات»، في «المواقع المرتبطة»، وتقطع اتصالها من هناك.
حين لا يعمل شيء ما
- تقول البطاقة إن SignalHost تعيدك إلى عنوان الموقع نفسه بعد الربط: لقد فتحت الواجهة الخلفية تحت نطاق آخر. استخدم الزر الموجود أسفل ذلك لتفتح الصفحة على نطاق الموقع.
- «Could not check (your server refused a request to itself)»: مضيفك يحجب الطلبات إلى عنوانه هو. وهذا لا يقول شيئًا عن زوارك؛ ابحث عن عنوان الوسم الخاص بك في مصدر صفحتك الرئيسية.
- «An older copy is on the page» أو «The code is on the page twice»: لُصقت نسخة يدويًا في قالب أو في TypoScript أو في ملحق آخر. أزلها؛ فالملحق يضيف النسخة الحالية، ونسختان تحتسبان كل زيارة مرتين.
- إشعار بأن موقعك يحمّل أصلًا حاوي Tag Manager بمقتطف Google نفسها: أزل ذلك المقتطف، لأن SignalHost تحمّل الحاوي الآن، والاثنان معًا يحتسبان كل زيارة مرتين.
- «This site's address has changed since it was connected»: على نسخة مثل بيئة staging، لا يُرسَل شيء. وإن انتقل الموقع المباشر، فاقطع الاتصال واربط مجددًا.
- أي شيء آخر: اكتب إلى hello@signalhost.io مع عنوان موقعك.
العلامات التجارية
SignalHost منتج مستقل من Algorithmo GmbH، وهو غير تابع لـ TYPO3 Association أو Google أو Meta أو TikTok ولا يحظى بتأييد أيٍّ منها. Google Analytics وGoogle Ads وGoogle Tag Manager علامات تجارية لـ Google LLC؛ وMeta علامة تجارية لـ Meta Platforms, Inc.؛ وTikTok علامة تجارية لـ ByteDance Ltd.؛ وTYPO3 علامة تجارية مسجّلة لـ TYPO3 Association.

