ब्लॉग
TYPO3 के लिए SignalHost: एक्सटेंशन इंस्टॉल करें, हर साइट कनेक्ट करें, और सर्वर-साइड ट्रैकिंग लाइव है
प्रकाशित · पढ़ने में 8 मिनट
TYPO3 Extension Repository पर पाएँ
SignalHost एक्सटेंशन बिना कोड की एक भी लाइन पेस्ट किए आपकी TYPO3 साइटों पर सर्वर-साइड Google Tag Manager लगा देता है। यह किसी कनेक्ट की गई साइट के हर फ़्रंटएंड पेज पर ट्रैकिंग लोडर जोड़ता है, हमारी तरफ़ कुछ भी बदलने पर उसे अप-टू-डेट रखता है, और आपके डिस्कनेक्ट करने पर उसे फिर से हटा देता है। मल्टी-साइट इंस्टॉलेशन की हर साइट अलग से कनेक्ट की जाती है, और यह गाइड एक साइट को इंस्टॉल करने से लेकर टेस्ट करने तक साथ लेकर चलती है।
शुरू करने से पहले
- PHP 8.2 या उसके बाद के वर्ज़न पर sodium एक्सटेंशन के साथ चलने वाला TYPO3 13.4 LTS या 14.3 LTS।
- एक SignalHost खाता। आज़माने के लिए फ़्री प्लान काफ़ी है: हर महीने 10,000 रिक्वेस्ट और एक कंटेनर। खाता आप कनेक्ट करते समय भी बना सकते हैं।
- एक बैकएंड एडमिनिस्ट्रेटर खाता। SignalHost मॉड्यूल सिर्फ़ एडमिनिस्ट्रेटर के लिए है।
- एक साइट, जिसके site configuration में base के रूप में कोई डोमेन हो, जैसे https://www.example.com/।
1. एक्सटेंशन इंस्टॉल करें
Composer-आधारित इंस्टॉलेशन में इसे Packagist से require करें:
composer require signalhost/server-side-taggingclassic mode में इसके बजाय इसे Extension Manager से इंस्टॉल करें; यह TYPO3 Extension Repository में signalhost_server_side_tagging की (key) के तहत मौजूद है। जब तक कोई साइट कनेक्ट न हो, यह उसमें कुछ नहीं जोड़ता।
2. किसी साइट को कंटेनर से कनेक्ट करें
TYPO3 बैकएंड में Sites › SignalHost (TYPO3 13 पर Site Management › SignalHost) खोलें, जहाँ हर साइट का अपना कार्ड होता है। कनेक्ट करने के बाद SignalHost आपको साइट के अपने पते पर वापस भेजता है, इसलिए बैकएंड को उसी साइट के डोमेन पर खोलें; किसी दूसरे डोमेन पर, कार्ड में एक बटन होता है जो पेज को वहाँ खोलता है, जहाँ आपको शायद एक बार लॉग इन करना पड़े।
साइट के कार्ड पर “Connect with SignalHost” दबाएँ, या अगर आपके पास अभी कोई खाता नहीं है तो “Create a free account”। Connect दबाने से पहले 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 के कुकी-रहित पिंग के रूप में गिना जाता है। फिर signalhost.io पर अपना कंटेनर पेज खोलने के लिए “Open statistics & settings” दबाएँ।
“एन्हांस्ड एनालिटिक्स” के तहत “हालिया” टैब पिछले 30 मिनट के पेज व्यू दिखाता है, जिनमें आपके भी होते हैं। पेज के सबसे नीचे “समस्या निवारण” के तहत “जाँच चलाएँ” इसकी तुलना करता है कि आपके टैगिंग सर्वर को क्या मिला और Google Analytics उन्हीं 30 मिनटों के लिए क्या रिपोर्ट करता है। Analytics में कम दिखना सामान्य है: वह उन विज़िटर को छोड़ देता है जिन्होंने कुकी से मना किया। Growth प्लान या उससे ऊपर के प्लान पर “लाइव इवेंट मॉनिटरिंग” हर इवेंट को आते ही दिखाता है।
एक्सटेंशन आपकी साइट में क्या जोड़ता है
हर कनेक्ट की गई साइट पर एक छोटी स्क्रिप्ट, और हर घंटे एक चेक-इन:
- Google Tag Manager लोडर, हर फ़्रंटएंड पेज के head के ख़त्म होने से ठीक पहले, जो googletagmanager.com के बजाय साइट के अपने टैगिंग पते की ओर पॉइंट करता है। यह वहीं से आपका Tag Manager कंटेनर लोड करता है। यह TYPO3 के पेज कैश के बाद तैयार पेज में जोड़ा जाता है, इसलिए कोई कैश साफ़ नहीं करना पड़ता। अगर साइट TYPO3 की Content Security Policy लागू करती है, तो एक्सटेंशन उसमें टैगिंग पता जोड़ देता है और लोडर को उसके हैश से अनुमति देता है, जब तक कि पॉलिसी पहले से इनलाइन स्क्रिप्ट की अनुमति न देती हो।
- हर घंटे एक बार, कोई रिस्पॉन्स भेजे जाने के बाद, एक्सटेंशन अप-टू-डेट रहने के लिए signalhost.io पर चेक-इन करता है। यह सिर्फ़ एक्सटेंशन, TYPO3 और PHP के वर्ज़न, साइट का पता और यह भेजता है कि होम पेज पर कोड मिला या नहीं: न विज़िटर का कोई डेटा, न कंटेंट, न यूज़र खाते। अगर signalhost.io तक नहीं पहुँचा जा सकता, तो साइट आख़िरी सही कॉन्फ़िगरेशन पर चलती रहती है।
हर रिक्वेस्ट ब्राउज़र से ऐसे रूप में निकलती है जिसे ऐड ब्लॉकर नहीं पहचानते, और आपका टैगिंग सर्वर उसे Google Analytics 4 और कंटेनर पेज पर सेट किए गए विज्ञापन प्लेटफ़ॉर्म तक पहुँचाता है: Google Ads, Meta, TikTok और दूसरे। ट्रैकिंग Google Consent Mode के ज़रिए आपके कुकी बैनर के हिसाब से चलती है। लोडर head में मौजूद बैनर के बाद आता है; जो बैनर बाद में लोड होता है, उसे इससे पहले Consent Mode के डिफ़ॉल्ट सेट करने होंगे।
एक्सटेंशन फ़ॉर्म या ऑर्डर नहीं पढ़ता। पेज व्यू अपने-आप पहुँचते हैं; कोई खरीदारी या लीड आपके कंटेनर तक तब पहुँचती है जब आपकी साइट उसे dataLayer में पुश करती है।
आपका अपना ट्रैकिंग डोमेन
आपका कंटेनर signalhost.io के नीचे के एक पते से शुरू होता है। पेड प्लान पर, कंटेनर पेज का “अपना डोमेन सेट अप करें” इसे आपके प्रोवाइडर पर एक DNS रिकॉर्ड के साथ आपकी अपनी साइट के एक सबडोमेन, जैसे sgtm.yoursite.com, पर ले जाता है। वह पता फ़िल्टर लिस्ट से बच निकलता है और क्लिक कुकी को फ़र्स्ट-पार्टी रखता है। इसके लाइव होने पर एक्सटेंशन अपने अगले चेक-इन पर, आमतौर पर एक घंटे के भीतर, उस साइट को इस पर स्विच कर देता है, और उसकी Content Security Policy भी साथ में बदल जाती है। हाथ से कुछ भी बदलना नहीं पड़ता, और तब तक पुराना पता काम करता रहता है।
SignalHost को हाथ से जोड़ना
आप कोड ख़ुद भी पेस्ट कर सकते हैं। कंटेनर पेज पर “अपनी साइट पर इंस्टॉल करें” कार्ड में अपना स्निपेट ढूँढें और “कॉपी करें” दबाएँ। इसे हर पेज के head में (TYPO3 में, अपने टेम्पलेट या TypoScript के ज़रिए) अपने कुकी बैनर की स्क्रिप्ट के ठीक बाद पेस्ट करें, और “मैंने यह कर लिया है” दबाएँ। “AI एजेंट के लिए कॉपी करें” यही काम किसी कोडिंग एजेंट को सौंप देता है।
हाथ से पेस्ट करने पर वह सब छूट जाता है जो एक्सटेंशन करता है: कोई आपके होम पेज की जाँच नहीं करता, डिस्कनेक्ट करने पर कोई कोड नहीं हटाता, TYPO3 की Content Security Policy लागू करने वाली साइट पर स्क्रिप्ट और टैगिंग पते को हाथ से अनुमति देनी पड़ती है, और जब आपका अपना डोमेन लाइव होता है, तो कोड आपको ख़ुद बदलना पड़ता है, कार्ड के “अपनी वेबसाइट का स्निपेट अपडेट करें” से या डोमेन की सूचना वाले ईमेल से। दोनों रास्ते कभी एक साथ इस्तेमाल न करें: दो कॉपी हर विज़िट को दो बार गिनती हैं।
अपडेट, मैनेज करना और डिस्कनेक्ट करना
इसे उसी तरह अपडेट करें जैसे आपने इंस्टॉल किया था: Composer से, या classic mode में Extension Manager से।
किसी साइट के कार्ड पर “Disconnect” एक बार पुष्टि माँगता है, फिर उस साइट के हर पेज से SignalHost का कोड तुरंत हटा देता है और उसका एक्सेस रद्द कर देता है। बाक़ी साइटें कनेक्ट रहती हैं, और आपका कंटेनर और उसका डेटा आपके SignalHost खाते में बने रहते हैं।
signalhost.io पर कंटेनर पेज पर “आपकी साइट पर TYPO3 एक्सटेंशन द्वारा इंस्टॉल किया गया” लिखा होता है। उसका “प्रबंधित करें” बटन “सेटिंग्स” में “कनेक्ट की गई साइटें” पर ले जाता है, जहाँ “डिस्कनेक्ट करें” भी काम करता है: एक्सटेंशन अपने अगले चेक-इन पर, आमतौर पर एक घंटे के भीतर, SignalHost लोड करना बंद कर देता है।
classic mode में 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 या दूसरे एक्सटेंशन में एक कॉपी पेस्ट की है। उसे हटाएँ; मौजूदा कोड एक्सटेंशन ख़ुद जोड़ता है, और दो कॉपी हर विज़िट को दो बार गिनती हैं।
- एक नोटिस कि आपकी साइट पहले से Google के अपने स्निपेट से कोई Tag Manager कंटेनर लोड करती है: वह स्निपेट हटाएँ, क्योंकि अब SignalHost कंटेनर लोड करता है और दोनों मिलकर हर विज़िट को दो बार गिनते हैं।
- “This site's address has changed since it was connected”: किसी कॉपी पर, जैसे स्टेजिंग पर, कुछ नहीं भेजा जाता। अगर लाइव साइट का पता बदला है, तो डिस्कनेक्ट करके फिर से कनेक्ट करें।
- कुछ और: अपनी साइट के पते के साथ 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 का रजिस्टर्ड ट्रेडमार्क है।

