در گزارش Search Console یک دسته داشتیم که از قبل خیالمان از بابتش راحت بود: «Alternate page with proper canonical tag». روی fanpino.com این دسته معمولاً همان نسخههای صفحهٔ قیمتها و تماس با پارامتر در آدرس است که canonical آنها درست به آدرس اصلی اشاره میکند؛ یعنی دقیقاً رفتار درست. این بار ۷۹ صفحه در آن بود و اعتبارسنجیاش شکست خورده بود.
عددهای کلی چیزی نشان نمیدادند
از خلاصهٔ گزارش چیزی معلوم نبود. فقط وقتی نمونهآدرسها را باز کردیم ماجرا روشن شد: هیچکدام روی خود fanpino.com نبودند. همه روی یک زیردامنهٔ قدیمی خودمان بودند، هر بار با یک پارامتر cache-busting متفاوت، برای همین هر crawl مثل یک صفحهٔ کاملاً جدید دیده میشد.
آن زیردامنه مدتها بود که جزو زیرساخت ما نبود. رکورد DNS آن هنوز باقی مانده بود و به سروری اشاره میکرد که دست ما نیست، و گواهی TLS روی آن سرور منقضی شده بود. پس گوگل مدام یک نام میزبان زیر دامنهٔ ما پیدا میکرد، نمیتوانست درست بازش کند و آن را در گزارش سلامت سایت ما ثبت میکرد.
چرا اصلاً سر از گزارش ما درآورد
ما Search Console را بهصورت domain property تأیید کردهایم، نه URL-prefix. domain property خودکار همهٔ زیردامنهها را پوشش میدهد. وقتی همهچیز زیر دامنه مال خودتان و بهروز است، این راحت است. ولی یعنی هر رکورد فراموششده در DNS هم مسئلهٔ شما در گزارش میشود، چه یادتان باشد وجود دارد چه نه.
راهحل یک حذف بود
رکورد DNS را پاک کردیم. نه سراغ تمدید گواهی روی سروری رفتیم که مدیریتش نمیکنیم، نه برای نامی که نباید لینکی به آن باشد ریدایرکت گذاشتیم. وقتی نام وجود نداشته باشد، crawler چیزی برای رسیدن ندارد و این دسته طی چند دور crawl بعدی باید خالی شود.
توصیهٔ ما به هر کسی که domain property دارد
قبل از اینکه دستهای را بیخطر فرض کنید، نمونهآدرسهایش را باز کنید. فرض ما دربارهٔ محتوای این دسته ماهها درست بود و این بار غلط، و عدد کلی هیچ نشانهای نمیداد کدام است. و هر چند وقت یک بار، رکوردهای DNS را از اول تا آخر بخوانید و برای هر کدام بپرسید: هنوز مال ماست؟ هنوز به چیزی اشاره میکند که از آن نگهداری میکنیم؟