ব্লগ
Joomla-র জন্য SignalHost: এক্সটেনশন ইনস্টল করুন, একবার সংযুক্ত করুন, আর সার্ভার-সাইড ট্র্যাকিং চালু
প্রকাশিত · পড়তে 6 মিনিট
Joomla Extensions Directory-এ পান
SignalHost এক্সটেনশন এক লাইন কোডও পেস্ট না করে একটি Joomla সাইটে সার্ভার-সাইড Google Tag Manager বসিয়ে দেয়। এটি আপনার সাইটের প্রতিটি পেজে ট্র্যাকিং লোডার যোগ করে, আমাদের দিকে কিছু বদলালে সেটি হালনাগাদ রাখে, আর আপনি সংযোগ বিচ্ছিন্ন করলে আবার সরিয়ে দেয়। এই গাইড সেই ক্রমেই এগোয়, যে ক্রমে আপনি এর মুখোমুখি হন: প্যাকেজ ইনস্টল করা, একটি কনটেইনার সংযুক্ত করা, এটি কাজ করছে কি না যাচাই করা, আর কাজ না করলে কী করবেন।
শুরু করার আগে
- PHP 7.4 বা তার নতুন সংস্করণে চলা Joomla 4.4, 5 বা 6।
- একটি SignalHost অ্যাকাউন্ট। চেষ্টা করে দেখতে ফ্রি প্ল্যানই যথেষ্ট: মাসে ১০,০০০টি রিকোয়েস্ট আর একটি কনটেইনার। সংযুক্ত করার সময়েই অ্যাকাউন্ট তৈরি করে নিতে পারেন।
- Joomla অ্যাডমিনিস্ট্রেটরে একটি Super User অ্যাকাউন্ট: সংযুক্ত ও সংযোগ বিচ্ছিন্ন করতে SignalHost কম্পোনেন্ট কনফিগার করার অনুমতি লাগে, যা Super User-দের আছে।
১. এক্সটেনশন ইনস্টল করুন
Joomla Extensions Directory থেকে প্যাকেজটি ডাউনলোড করুন, যেখানে এটি SignalHost Server-Side Tagging নামে তালিকাভুক্ত। আপনার Joomla অ্যাডমিনিস্ট্রেটরে System › Install › Extensions খুলুন এবং zip ফাইলটি আপলোড করুন।
এটি দুটি অংশের একটি প্যাকেজ: SignalHost কম্পোনেন্ট, যেখানে আপনি সাইটটি সংযুক্ত করেন এবং এর স্ট্যাটাস দেখেন, আর সিস্টেম প্লাগইন System - SignalHost Server-Side Tagging, যা আপনার পেজগুলোতে কোড বসায়। ইনস্টল প্রক্রিয়া প্লাগইনটি নিজেই চালু করে দেয়; সাইটটি সংযুক্ত না হওয়া পর্যন্ত এটি কিছুই প্রিন্ট করে না।
২. সাইটটিকে একটি কনটেইনারের সঙ্গে সংযুক্ত করুন
Components › SignalHost খুলুন এবং “Connect with SignalHost” চাপুন। এখনো অ্যাকাউন্ট না থাকলে “Create a free account” আপনাকে বরং সাইন-আপে নিয়ে যায়। আপনি “Connect” চাপার আগে SignalHost-এ কিছুই পাঠানো হয় না।
signalhost.io-তে সাইন ইন করুন। পরের স্ক্রিন জানায় এক্সটেনশন কী করতে পারবে আর কী পারবে না, এবং জানতে চায় সাইটটি কোন কনটেইনার ব্যবহার করবে। কনটেইনার হলো আপনার নিজস্ব ট্যাগিং সার্ভার: একটি Tag Manager ওয়েব কনটেইনার ও সার্ভার কনটেইনার, যা আপনার নিজের Google অ্যাকাউন্টে তৈরি হয়, তাই এগুলো আপনারই থাকে।
একটি বিদ্যমান কনটেইনার বেছে নিন, অথবা “আপনার সাইটের জন্য নতুন কনটেইনার” চেপে সংক্ষিপ্ত উইজার্ডটি শেষ করুন। নতুন একটি তৈরি হতে কয়েক মিনিট লাগে; আপনি এখনই সংযুক্ত করতে পারেন, আর এটি প্রস্তুত হওয়ামাত্রই কোড যোগ হয়। “সংযুক্ত করুন” চাপুন। আপনি “Connected” বার্তাসহ Components › SignalHost-এ ফিরে আসেন। SignalHost-এর কোড এখন আপনার সাইটের প্রতিটি পেজে যোগ হয়েছে।
৩. কোডটি আপনার সাইটে আছে কি না যাচাই করুন
স্ক্রিনে এখন লেখা থাকে “Tracking is live”, অথবা নতুন কনটেইনার তখনও তৈরি হতে থাকলে “Tracking starts as soon as your container is ready”। এরপর “On your home page” লাইনটি পড়ুন: সংযুক্ত করার ঠিক পরেই এক্সটেনশন একজন ভিজিটরের মতো করে আপনার হোম পেজ এনে তার কোড খোঁজে। আপনি যে উত্তর চান তা হলো “Code found”। “Check again” যেকোনো সময় যাচাইটি আবার করে, আর অন্য উত্তরগুলো আছে “যখন কিছু কাজ করে না” অংশে।
৪. পরীক্ষা করুন
একটি প্রাইভেট উইন্ডোতে আপনার সাইট খুলে কয়েকটি পেজে ক্লিক করে ঘুরুন; যে ভিজিটর আপনার কুকি ব্যানার প্রত্যাখ্যান করেন, তাঁকেও গোনা হয় Google-এর কুকিবিহীন পিং হিসেবে। তারপর signalhost.io-তে আপনার কনটেইনার পেজ খুলতে “Open statistics & settings” চাপুন।
“উন্নত অ্যানালিটিক্স”-এর অধীনে “সাম্প্রতিক” ট্যাব গত ৩০ মিনিটের পেজ ভিউ দেখায়, আপনারগুলোসহ। পেজের নিচে “সমস্যা সমাধান”-এর অধীনে থাকা “যাচাই চালান” আপনার ট্যাগিং সার্ভার যা পেয়েছে তার সঙ্গে একই ৩০ মিনিটের জন্য Google Analytics যা রিপোর্ট করে তা মিলিয়ে দেখে। Analytics-এ কম দেখানো স্বাভাবিক: যে ভিজিটররা কুকি প্রত্যাখ্যান করেছেন, এটি তাঁদের বাদ দেয়। Growth প্ল্যান ও তার ওপরে “লাইভ ইভেন্ট পর্যবেক্ষণ” প্রতিটি ইভেন্ট আসার সঙ্গে সঙ্গে দেখায়।
এক্সটেনশন আপনার সাইটে যা যোগ করে
একটি ছোট স্ক্রিপ্ট, আর প্রতি ঘণ্টায় একবার যোগাযোগ:
- Google Tag Manager লোডার, আপনার সাইটের পেজগুলোর head-এ, googletagmanager.com-এর বদলে আপনার নিজের ট্যাগিং ঠিকানার দিকে নির্দেশিত। এটি সেখান থেকে আপনার Tag Manager কনটেইনার লোড করে। প্লাগইন এটি Joomla-র Web Asset Manager-এর মাধ্যমে যোগ করে, তাই আপনার সাইট CSP nonce ব্যবহার করলে এটিও একটি nonce বহন করে। এটি কখনো অ্যাডমিনিস্ট্রেটরে, কোনো ফিডে বা শুধু-কম্পোনেন্ট ভিউতে চলে না।
- প্রতি ঘণ্টায় একবার, একটি পেজ পাঠানো হয়ে যাওয়ার পর, প্লাগইন হালনাগাদ থাকতে signalhost.io-র সঙ্গে যোগাযোগ করে। এটি পাঠায় শুধু এক্সটেনশন, Joomla ও PHP-এর সংস্করণ, আপনার সাইটের ঠিকানা আর আপনার হোম পেজে কোডটি পাওয়া গেছে কি না: কোনো ভিজিটর ডেটা নয়, কোনো কনটেন্ট নয়, কোনো ইউজার অ্যাকাউন্ট নয়। signalhost.io-তে পৌঁছানো না গেলে আপনার সাইট সর্বশেষ সঠিক কনফিগারেশন রেখে দেয়।
প্রতিটি রিকোয়েস্ট ব্রাউজার থেকে এমন রূপে বের হয় যা অ্যাড ব্লকার চিনতে পারে না, আর আপনার ট্যাগিং সার্ভার সেটি Google Analytics 4-এ এবং কনটেইনার পেজে আপনার সেট আপ করা বিজ্ঞাপন প্ল্যাটফর্মগুলোতে ফরোয়ার্ড করে: Google Ads, Meta, TikTok ও অন্যান্য। ট্র্যাকিং Google Consent Mode-এর মাধ্যমে আপনার কুকি ব্যানারকে অনুসরণ করে; আপনার ব্যানারের কোড SignalHost-এর কোডের আগে বসান।
এক্সটেনশন ফর্ম বা অর্ডার পড়ে না। পেজ ভিউ নিজে থেকেই আসে; একটি পারচেজ বা লিড আপনার কনটেইনারে পৌঁছায় যখন আপনার সাইট সেটি ডেটা লেয়ারে পুশ করে।
আপনার নিজের ট্র্যাকিং ডোমেইন
আপনার কনটেইনার শুরু হয় signalhost.io-র অধীনের একটি ঠিকানায়। পেইড প্ল্যানে কনটেইনার পেজের “আপনার নিজের ডোমেইন সেট আপ করুন” আপনার প্রোভাইডারে একটি DNS রেকর্ড দিয়ে এটিকে আপনার নিজের সাইটের একটি সাবডোমেইনে, যেমন sgtm.yoursite.com-এ, সরিয়ে নেয়। সেই ঠিকানা ফিল্টার তালিকা এড়িয়ে টিকে থাকে এবং ক্লিক কুকিগুলোকে ফার্স্ট-পার্টি রাখে। এটি লাইভ হলে এক্সটেনশন তার পরবর্তী যোগাযোগে, সাধারণত এক ঘণ্টার মধ্যে, আপনার সাইটকে সেটিতে বদলে নেয় এবং Joomla-র পেজ ক্যাশ পরিষ্কার করে। হাতে কিছুই বদলাতে হয় না, আর ততক্ষণ পুরোনো ঠিকানা কাজ করতে থাকে।
হাতে SignalHost যোগ করা
কোডটি আপনি নিজেও পেস্ট করতে পারেন। কনটেইনার পেজে “আপনার সাইটে ইনস্টল করুন” কার্ডে আপনার স্নিপেটটি খুঁজে নিয়ে “কপি করুন” চাপুন। এটি প্রতিটি পেজের head-এ (Joomla-তে, আপনার সাইট টেমপ্লেটে) পেস্ট করুন, আপনার কুকি ব্যানারের স্ক্রিপ্টের ঠিক পরে, এবং “আমি এটি করেছি” চাপুন। “AI এজেন্টের জন্য কপি করুন” একই কাজটি একটি কোডিং এজেন্টের হাতে তুলে দেয়।
হাতে পেস্ট করলে এক্সটেনশন যা করে তা ছেড়ে দিতে হয়: কেউ আপনার হোম পেজ যাচাই করে না, সংযোগ বিচ্ছিন্ন করলে কেউ কোডটি সরায় না, আপনি নিজে যোগ না করলে লোডার কোনো CSP nonce পায় না, আর আপনার নিজের ডোমেইন লাইভ হলে কোডটি আপনাকে নিজেই বদলাতে হয় — কার্ডের “আপনার ওয়েবসাইটের স্নিপেট আপডেট করুন” থেকে, অথবা ডোমেইনের খবর জানানো ইমেইল থেকে। কখনো দুটি পথ একসঙ্গে ব্যবহার করবেন না: দুটি কপি প্রতিটি ভিজিট দুবার গোনে।
আপডেট, পরিচালনা ও সংযোগ বিচ্ছিন্ন করা
আপডেট আসে Joomla-র নিজস্ব আপডেটারের মাধ্যমে, System › Update › Extensions-এর অধীনে, অন্য যেকোনো এক্সটেনশনের মতোই।
Components › SignalHost স্ক্রিনের “Disconnect” একবার নিশ্চিত হতে চায়, তারপর সাইটের প্রবেশাধিকার বাতিল করে, প্রতিটি পেজ থেকে কোড সরিয়ে দেয় এবং Joomla-র পেজ ক্যাশ পরিষ্কার করে। আপনার কনটেইনার ও তার পরিসংখ্যান থেকে যায়, আর যেকোনো সময় আবার সংযুক্ত করতে পারেন।
signalhost.io-তে কনটেইনার পেজে লেখা থাকে “আপনার সাইটের Joomla এক্সটেনশন দিয়ে ইনস্টল করা”। এর “পরিচালনা করুন” বোতাম নিয়ে যায় সেটিংস › সংযুক্ত সাইট-এ, যেখানে “সংযোগ বিচ্ছিন্ন করুন”-ও কাজ করে: এক্সটেনশন তার পরবর্তী যোগাযোগে, সাধারণত এক ঘণ্টার মধ্যে, SignalHost লোড করা বন্ধ করে।
প্যাকেজটি আনইনস্টল করলে এক্সটেনশনের সংরক্ষিত সবকিছু মুছে যায়। আগে সংযোগ বিচ্ছিন্ন করুন, যাতে SignalHost-ও জানতে পারে যে সাইটটি আর নেই।
যখন কিছু কাজ করে না
- “Code not found”: প্লাগইনটি হয়তো বন্ধ আছে। Joomla-র প্লাগইন ম্যানেজারে System - SignalHost Server-Side Tagging চালু করুন, তারপর “Check again” চাপুন।
- “Could not check (your server refused a request to itself)”: আপনার হোস্ট তার নিজের ঠিকানায় যাওয়া রিকোয়েস্ট আটকায়। এতে আপনার ভিজিটরদের সম্পর্কে কিছুই বোঝা যায় না; আপনার হোম পেজের সোর্সে আপনার ট্যাগিং ঠিকানাটি খুঁজুন।
- “An older copy is on the page”, অথবা “The code is on the page twice”: কোনো টেমপ্লেটে বা অন্য কোনো এক্সটেনশনে হাতে একটি কপি পেস্ট করা হয়েছিল। সেটি সরিয়ে দিন; এক্সটেনশন বর্তমান কপিটি যোগ করে, আর দুটি কপি প্রতিটি ভিজিট দুবার গোনে।
- একটি নোটিশ যে আপনার সাইট আগে থেকেই Google-এর নিজস্ব স্নিপেট দিয়ে একটি Tag Manager কনটেইনার লোড করে: সেই স্নিপেটটি সরিয়ে দিন, কারণ এখন SignalHost কনটেইনারটি লোড করে, আর দুটো একসঙ্গে প্রতিটি ভিজিট দুবার গোনে।
- “This site's address has changed since it was connected”: কোনো কপিতে, যেমন স্টেজিংয়ে, কিছুই পাঠানো হয় না। লাইভ সাইটটি সরে গিয়ে থাকলে সংযোগ বিচ্ছিন্ন করে আবার সংযুক্ত করুন।
- Components › SignalHost বারবার এর বদলে ড্যাশবোর্ড খোলে: নতুন Joomla-তে প্রথম লগইনের গাইডেড ট্যুর আপনি সেটি লুকিয়ে না ফেলা পর্যন্ত প্রতিটি অ্যাডমিনিস্ট্রেটর পেজে এমনটা করে।
- অন্য যেকোনো সমস্যা: আপনার সাইটের ঠিকানাসহ hello@signalhost.io-তে লিখুন।
ট্রেডমার্ক
SignalHost হলো Algorithmo GmbH-এর একটি স্বাধীন প্রোডাক্ট, এবং এটি Open Source Matters, Google, Meta বা TikTok-এর সঙ্গে সম্পৃক্ত নয় বা তাদের দ্বারা অনুমোদিত নয়। Google Analytics, Google Ads ও Google Tag Manager হলো Google LLC-এর ট্রেডমার্ক; Meta হলো Meta Platforms, Inc.-এর ট্রেডমার্ক; TikTok হলো ByteDance Ltd.-এর ট্রেডমার্ক; Joomla! হলো Open Source Matters, Inc.-এর ট্রেডমার্ক।

