سلام! اجازه بدید که نوشته رو اینطوری شروع کنم.
داستان از اونجایی شروع شد که ما تصمیم گرفتیم وبسایتمون رو از فریمورک .net بیاریم روی php و از سیستم مدیریت محتوای وردپرس به جای سی ام اس اختصاصی خودمون استفاده کنیم. حالا اینکه چرا همچین تصمیمی رو گرفتیم بحث مفصلی است که سر فرصت توی یک نوشته دیگه درموردش صحبت میکنم.
وبسایت ما یه وبسایت کاملا محتوا محور بود و مشکل اساسی ای که داشتیم این بود که ساختار پیوند یا همون URL ها به شدت بی نظم و بدون قاعده بود.
برای مثال:
https://alodoctor.com/postid/post_title
https://alodoctor.com/post_title/postid
https://aldoctor.com/post_title
و کلی مدل های جورواجور از انواع پیوندهایی که می شد داشت.
خوب هدف ما این بود که از این شلختی بیاریم بیرون اوضاع رو و به همین خاطر خیلی از این ساختار هارو ریدایرکت کردیم به ساختار یکتا ای که مد نظرمون بود، خیلی هارو هم به حال خودشون منتقل کردیم. اما مسئله اینجا بود که به واسطه بهم ریختگی در نحوه ذخیره سازی در دیتابیس، ما از حضور خیلی از پیوندها بی اطلاع بودیم.
در مرحله اول گفتیم که خوب میایم یک فایل لاگ میسازیم که هر زمان صفحه ای ارور 404 گرفت، url اش توی اون فایل ذخیره بشه. اما این راهکار چه بدی ای داشت؟ مشکلش این بود که لاگ ها بدون اولویت ذخیره می شد. هدف ما این بود که اول از همه صفحات پر بازدیدمون شناسایی بشه که سریعا بتونیم url هاشون رو فیکس کنیم که کمترین آسیب رو ببینیم.
پس در مرحله دوم تصمیم گرفتیم که از گوگل آنالیتیکس کمک بگیریم.
خوب توی وردپرس اینطوریه که ما برای صفحات 404 سایت یک فایلی تحت عنوان
404.php
داریم. ما اومدیم توی این فایل کد آنالیتیکس رو قرار دادیم و در ادامه از امکان Event استفاده کردیم.
gtag('event', '404-not-found', {'event_category': 'notFound','event_label': 'i am in 404 page','event_callback': function() {console.log('hit sent')}});
ما یه همچین اسامی ای برای کتگوری و لیبلمون انتخاب کردیم حالا شما میتونید این موارد رو تغییر هم بدید.
بعد از این که این کد رو توی صفحه 404 قرار دادید می تونید توی آنالیتیکس از مسیر زیر صفحاتی که 404 گرفتن رو مشاهده کنید:
Behavior ==>> Events ==>> Top Events
حالا اینجا ایونتی که ساخته بودید رو میتونید مشاهده کنید و روش کلیک کنید.
بعد از اینکه روش کلیک کردید توی قسمت Secondary dimesion تایپ کنید Page و از لیستی که پایین میاره، انتخابش کنید.
حالا الان میتونید دقیقا صفحاتی که دارای ارور 404 هستن رو با تعداد بازدیدی که در حین 404 شدن داشتن رو ببینید.
نکته: یادتون نره که تاریخ گزارش دهی رو روی امروز تنظیم کنید. چون آنالیتیکس دیفالتش اینطوریه که گزارش 24 ساعت قبل رو نشون میده و نکته بعدی اینکه شمردن ایونت ها معمولا با یک مقدار تاخیر جزئی هست معمولا.
حالا شاید واستون سوال پیش بیاد که چرا ما از سرچ کنسول استفاده نکنیم برای پیدا کردن 404 ها، که خوب لازمه بگم زمان توی این مسئله خیلی با اهمیته و لازمه که شما در سریع ترین زمان ممکن 404 هارو رفع کنید که خوب سرچ کنسول معمولا با تاخیر چند روزه اطلاعات رو به شما نشون میده و علاوه بر اون سرچ کنسول جدید توی مسئله 404 ها اونطوری که باید، خوب و دقیق کار نمیکنه.
همین. امیدوارم که این نوشته بتونه بهتون کمک کنه.