۱محتوای تکراری از کجا میآید و canonical چه کاری میکند؟
یک صفحه میتواند از چند آدرس باز شود: نسخهٔ با و بدون www، آدرس با پارامتر ردیابی تبلیغات، یا نسخهٔ HTTP و HTTPS. محتوا یکی است ولی آدرسها متفاوتاند، و موتور جستجو باید یکی را بهعنوان نسخهٔ اصلی انتخاب کند. به این انتخاب canonicalization میگویند.
تگ canonical راهی است که شما نظرتان را اعلام کنید: «از بین این آدرسها، این یکی را نشان بده». این تگ یک عنصر link در بخش head صفحه است که به آدرس ترجیحی اشاره میکند.
۲گوگل دربارهٔ canonical دقیقاً چه میگوید؟
در راهنمای رسمی گوگل آمده که چند روش برای تعیین آدرس ترجیحی وجود دارد و قدرتشان متفاوت است: ریدایرکت سیگنال قوی، تگ rel canonical هم سیگنال قوی، و قرار دادن آدرس در سایتمپ سیگنال ضعیف است. این روشها روی هم انباشته میشوند و ترکیبشان احتمال انتخاب آدرس دلخواه شما را بالا میبرد.
گوگل صریحاً هم میگوید هیچکدام از این روشها الزامی نیست و سایت شما احتمالاً بدون آنها هم خوب کار میکند، چون اگر آدرس ترجیحی ندهید، گوگل خودش آدرسی را که واقعاً بهترین نسخه برای کاربر است انتخاب میکند. پس canonical یک پیشنهاد قوی است، نه دستور.
۳پس چرا با این حال بهتر است آن را تعیین کنیم؟
گوگل چند دلیل میآورد: اینکه خودتان تعیین کنید مردم کدام آدرس را در نتایج ببینند، اینکه سیگنالهای صفحههای مشابه، مثل لینکهایی که از سایتهای دیگر آمده، روی یک آدرس ترجیحی جمع شود، اینکه آمار یک محتوا را راحتتر دنبال کنید، و اینکه زمان خزش به نسخههای تکراری هدر نرود.
برای یک سایت کوچک با آدرسهای تمیز اینها شاید اهمیت زیادی نداشته باشد، اما برای فروشگاه یا سایتی که پارامتر فیلتر و ردیابی دارد، چند آدرس برای یک محتوا بسیار رایج است و تعیین آدرس ترجیحی ارزشمند میشود.
۴تگ canonical را چطور درست بنویسیم؟
تگ را در بخش head صفحه قرار دهید؛ گوگل آن را فقط وقتی میپذیرد که داخل head باشد. بهجای آدرس نسبی از آدرس کامل استفاده کنید. گوگل آدرس نسبی را هم میفهمد، ولی میگوید در بلندمدت مشکلساز میشود، مثلاً اگر ناخواسته نسخهٔ آزمایشی سایت هم خزیده شود.
همچنین توصیه میشود روی خودِ صفحهٔ اصلی هم یک canonical به همان آدرس بگذارید، که به آن ارجاع به خود میگویند. و فقط یک روش را انتخاب کنید: هم تگ در html و هم هدر http همزمان ممکن است به دو آدرس متفاوت اشاره کند و خطا ایجاد کند.
۵اشتباههای رایج که سیگنال را خراب میکنند
گوگل چند کار را صریحاً ممنوع میداند: استفاده از robots.txt برای تعیین canonical، چون ممکن است آدرس بدون محتوا همچنان ایندکس شود؛ استفاده از ابزار حذف آدرس، چون همهٔ نسخهها را از جستجو پنهان میکند؛ و معرفی دو آدرس متفاوت بهعنوان canonical از دو راه مختلف، مثلاً یکی در سایتمپ و دیگری در تگ.
مورد دیگر noindex است: گوگل توصیه نمیکند برای انتخاب canonical از آن استفاده کنید، چون صفحه را کاملاً از جستجو خارج میکند. تگ canonical راه ترجیحی است. و آدرس همراه با بخش بعد از علامت #، که گوگل معمولاً پشتیبانی نمیکند، نباید بهعنوان canonical معرفی شود.
۶ریدایرکت، سایتمپ و لینکهای داخلی هم باید همسو باشند
گوگل میگوید در لینکدهی داخلی سایت، به آدرس canonical لینک بدهید، نه به نسخهٔ تکراری. وقتی همیشه به یک آدرس لینک میدهید، ترجیح شما برای گوگل واضحتر میشود. سایتمپ هم باید همان آدرس ترجیحی را داشته باشد.
برای نسخههای واقعاً تکراری که میخواهید حذف کنید، ریدایرکت دائمی بهترین راه است. و دربارهٔ HTTP و HTTPS گوگل پیشفرض HTTPS را ترجیح میدهد، مگر گواهی نامعتبر یا ریدایرکت از HTTPS به HTTP سیگنال را خراب کند، که به همین دلیل تنظیم درست گواهی اهمیت دارد.
۷canonical در سایتهایی با جاوااسکریپت
اگر سایتتان با جاوااسکریپت ساخته میشود، گوگل توصیه میکند آدرس canonical را در کد اصلی html بگذارید و مطمئن شوید جاوااسکریپت آن را تغییر نمیدهد. اگر نمیتوانید آن را در html بگذارید، بهتر است کلاً فقط با جاوااسکریپت تعیینش کنید تا اطلاعات واضح بماند.
این یعنی نباید یک آدرس در html و آدرس دیگری بعد از اجرای اسکریپت داشته باشید؛ سیگنال متناقض دقیقاً همان چیزی است که باعث میشود گوگل تصمیم را خودش بگیرد.
۸چطور مطمئن شویم canonical سایت ما درست است؟
سه چیز را روی صفحههای مهم چک کنید: تگ canonical وجود دارد، به آدرس کامل و همان صفحه اشاره میکند، و با ریدایرکت یا هدر http تناقض ندارد. ابزار بازبینی آدرس در سرچ کنسول هم میگوید گوگل کدام آدرس را واقعاً canonical انتخاب کرده، که ممکن است با انتخاب شما فرق کند.
این بررسیها را میشود خودکار روی صفحهها انجام داد. فقط بدانید که اسکن، تگ را میخواند؛ اینکه گوگل در نهایت کدام را انتخاب کرده فقط در سرچ کنسول دیده میشود.
برای دیدن اینکه تگ canonical صفحههای شما وجود دارد و به آدرس درست اشاره میکند، یک آنالیز رایگان سئو سایت میتواند همین موارد را رایگان و در چند ثانیه بررسی کند.
تگ canonical ابزار کمهزینهای برای نشاندادن آدرس ترجیحی است، ولی سحر و جادو نیست: گوگل آن را سیگنال قوی میداند و در نهایت خودش تصمیم میگیرد. مهمترین نکتهها سادهاند: آدرس کامل بنویسید، صفحه را به خودش ارجاع بدهید، با سیگنالهای دیگر مثل سایتمپ و ریدایرکت تناقض نسازید، و در لینکهای داخلی هم همان آدرس ترجیحی را بهکار ببرید.