وبلاگ
SignalHost برای TYPO3: افزونه را نصب کنید، هر سایت را وصل کنید و ردیابی سمت سرور فعال است
منتشرشده · 7 دقیقه مطالعه
دریافت از TYPO3 Extension Repository
افزونه SignalHost بدون حتی یک خط کد چسباندهشده، Google Tag Manager سمت سرور را روی سایتهای TYPO3 شما قرار میدهد. بارگذار ردیابی را به همه صفحههای فرانتاند یک سایت متصل اضافه میکند، هر وقت چیزی در سمت ما تغییر کند آن را بهروز نگه میدارد و وقتی اتصال را قطع کنید دوباره برش میدارد. هر سایتِ یک نصب چندسایتی جداگانه وصل میشود و این راهنما یک سایت را از نصب تا آزمایش دنبال میکند.
پیش از شروع
- TYPO3 نسخه 13.4 LTS یا 14.3 LTS، روی PHP نسخه 8.2 یا جدیدتر با افزونه sodium.
- یک حساب SignalHost. طرح رایگان برای امتحان کافی است: ده هزار درخواست در ماه و یک کانتینر. میتوانید حساب را هنگام اتصال بسازید.
- یک حساب مدیر بکاند (backend administrator). ماژول SignalHost فقط برای مدیران است.
- سایتی که base آن در پیکربندی سایت، یک دامنه داشته باشد، مانند https://www.example.com/.
1. نصب افزونه
در نصبی که بر پایه Composer است، آن را از Packagist require کنید:
composer require signalhost/server-side-taggingدر حالت کلاسیک، بهجای آن از Extension Manager نصبش کنید؛ با کلید signalhost_server_side_tagging در مخزن افزونههای TYPO3 قرار دارد. تا وقتی یک سایت وصل نشده باشد، هیچ چیزی به آن اضافه نمیکند.
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 شمرده میشود. سپس «Open statistics & settings» را بزنید تا صفحه کانتینرتان در signalhost.io باز شود.
در «تحلیل پیشرفته»، زبانه «اخیر» بازدیدهای صفحه 30 دقیقه گذشته، از جمله بازدیدهای شما، را نشان میدهد. «اجرای بررسیها» در بخش «عیبیابی» در پایین صفحه، آنچه را سرور تگگذاری شما دریافت کرده با آنچه Google Analytics برای همان 30 دقیقه گزارش میکند مقایسه میکند. کمتر بودن عدد در Analytics عادی است: Analytics بازدیدکنندگانی را که کوکیها را رد کردهاند کنار میگذارد. از طرح Growth به بالا، «پایش زندهٔ رویدادها» هر رویداد را همان لحظه که میرسد نشان میدهد.
آنچه افزونه به سایت شما اضافه میکند
برای هر سایت متصل یک اسکریپت کوچک و یک ارتباط ساعتی:
- بارگذار Google Tag Manager، درست پیش از پایان head همه صفحههای فرانتاند، که بهجای googletagmanager.com به نشانی تگگذاری خود آن سایت اشاره میکند. کانتینر Tag Manager شما را از آنجا بارگذاری میکند. این بارگذار پس از کش صفحه TYPO3 به صفحه نهایی اضافه میشود، پس هیچ کشی نیاز به پاک شدن ندارد. اگر سایت، Content Security Policy در TYPO3 را اعمال کند، افزونه نشانی تگگذاری را به آن اضافه میکند و بارگذار را با هش آن مجاز میکند، مگر اینکه این سیاست از قبل اسکریپتهای درونخطی (inline) را مجاز کرده باشد.
- ساعتی یک بار، پس از ارسال یک پاسخ، افزونه برای بهروز ماندن با signalhost.io ارتباط میگیرد. فقط نسخه افزونه، TYPO3 و PHP، نشانی سایت و اینکه کد در صفحه اصلی پیدا شده یا نه را میفرستد: نه داده بازدیدکنندگان، نه محتوا و نه حسابهای کاربری. اگر signalhost.io در دسترس نباشد، سایت آخرین پیکربندی سالم را نگه میدارد.
هر درخواست به شکلی از مرورگر خارج میشود که مسدودکنندههای تبلیغات آن را نمیشناسند، و سرور تگگذاری شما آن را به Google Analytics 4 و پلتفرمهای تبلیغاتیای که در صفحه کانتینر راهاندازی کردهاید منتقل میکند: Google Ads، Meta، TikTok و دیگران. ردیابی از طریق Google Consent Mode از بنر کوکی شما پیروی میکند. بارگذار پس از بنری میآید که در head قرار دارد؛ بنری که دیرتر بارگذاری میشود باید مقادیر پیشفرض Consent Mode را پیش از آن تنظیم کند.
افزونه فرمها یا سفارشها را نمیخواند. بازدیدهای صفحه خودبهخود میرسند؛ یک خرید یا یک سرنخ وقتی به کانتینرتان میرسد که سایتتان آن را به لایه داده push کند.
دامنه ردیابی خودتان
کانتینر شما روی نشانیای زیر signalhost.io شروع به کار میکند. در یک طرح پولی، «راهاندازی دامنه خودتان» در صفحه کانتینر آن را با یک رکورد DNS نزد ارائهدهندهتان به زیردامنهای از سایت خودتان، مانند sgtm.yoursite.com، منتقل میکند. این نشانی از فهرستهای فیلتر جان سالم به در میبرد و کوکیهای کلیک را شخص اول نگه میدارد. وقتی فعال شد، افزونه در ارتباط بعدی خود، معمولاً ظرف یک ساعت، آن سایت را به آن منتقل میکند و Content Security Policy آن هم بهروز میشود. لازم نیست چیزی را دستی جایگزین کنید و نشانی قدیمی تا آن زمان همچنان کار میکند.
افزودن دستی SignalHost
میتوانید کد را خودتان هم بچسبانید. در صفحه کانتینر، قطعهکدتان را در کارت «نصب روی سایت شما» پیدا کنید و «کپی» را بزنید. آن را در head همه صفحهها (در TYPO3، از طریق قالب یا TypoScript)، درست پس از اسکریپت بنر کوکیتان بچسبانید و «این کار را انجام دادم» را بزنید. «کپی برای دستیار هوش مصنوعی» همین کار را به یک دستیار برنامهنویسی هوش مصنوعی میسپارد.
چسباندن دستی، کارهایی را که افزونه انجام میدهد از دست میدهد: هیچ چیز صفحه اصلی شما را بررسی نمیکند، هیچ چیز هنگام قطع اتصال کد را حذف نمیکند، در سایتی که Content Security Policy در TYPO3 را اعمال میکند باید اسکریپت و نشانی تگگذاری را دستی مجاز کرد، و وقتی دامنه خودتان فعال شود، کد را خودتان جایگزین میکنید، از «قطعهکد وبسایت خود را بهروز کنید» در همان کارت یا از ایمیلی که فعال شدن دامنه را اعلام میکند. هرگز هر دو راه را با هم به کار نبرید: دو نسخه هر بازدید را دو بار میشمارند.
بهروزرسانی، مدیریت و قطع اتصال
آن را به همان روشی که نصب کردهاید بهروز کنید: از طریق Composer، یا در حالت کلاسیک از Extension Manager.
«Disconnect» روی کارت یک سایت یک بار تأیید میخواهد و سپس کد SignalHost را بیدرنگ از همه صفحههای آن سایت حذف میکند و دسترسی آن را لغو میکند. سایتهای دیگر متصل میمانند و کانتینر و دادههایش در حساب SignalHost شما باقی میمانند.
در signalhost.io، صفحه کانتینر «نصبشده توسط افزونه TYPO3 روی» سایت شما را نشان میدهد. دکمه «مدیریت» آن به «تنظیمات»، «سایتهای متصل» میرسد، جایی که «قطع اتصال» هم کار میکند: افزونه در ارتباط بعدی خود، معمولاً ظرف یک ساعت، دیگر SignalHost را بارگذاری نمیکند.
غیرفعال کردن افزونه در Extension Manager، در حالت کلاسیک، دسترسی همه سایتها را لغو میکند و آنچه ذخیره کرده بود پاک میکند. composer remove هیچ کدی از TYPO3 را اجرا نمیکند، پس اول اتصال هر سایت را قطع کنید؛ در غیر این صورت آنها در «تنظیمات»، «سایتهای متصل» فهرستشده باقی میمانند و اتصالشان را آنجا قطع میکنید.
وقتی چیزی کار نمیکند
- کارت میگوید «SignalHost sends you back to the site's own address after connecting»: بکاند را زیر دامنه دیگری باز کردهاید. با دکمه زیر آن، صفحه را روی دامنه سایت باز کنید.
- «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 است.

