تگ کانونیکال یا کنونیکال (Canonical Tag) چیز جدیدی نیست؛ چرا که از سال 2009 میلادی معرفی شده و مورد استفاده قرار گرفته است. در آن زمان، سه کمپانی نام آشنای گوگل، مایکروسافت و یاهو دست به دست هم دادند و تگ کنونیکال را به وجود آورند. اما هدف آنها چه بود؟ هدف، ارائه راهکاری برای صاحبان وبسایتها بود تا به وسیله آن بتوانند مشکل محتوای تکراری را به آسانی و به سرعت حل کنند.

آیا با استفاده از تگ کنونیکال واقعاً میتوان این مشکل را حل کرد؟ البته، اما تنها به شرط اینکه با روش استفاده از این ابزار کاربردی آشنا باشید. در این مطلب به سؤالات زیر در رابطه با تگ کنونیکال پاسخ میدهیم و شما را با زیر و بم این مبحث مهم و کاربردی آشنا خواهیم کرد:
• تگ کنونیکال چیست؟
• تگ کنونیکال چطور ساخته میشود؟
• تگهای کنونیکال چه اهمیتی برای سئو دارند؟
• چگونه باید از تگهای کنونیکال استفاده کرد؟
• چگونه میتوانید از بروز اشتباهات رایج مرتبط با استفاده از این تگها جلوگیری کنید؟
بدون فوت وقت، به سراغ پاسخ به اولین و کلیدیترین پرسش میرویم:
تگ کنونیکال یک قطعه کد HTML است که نسخه اصلی برگههای تکراری، نزدیک به تکراری یا شبیه به هم را برای موتورهای جستجو تعریف و مشخص میکند. به بیان دیگر، اگر محتوای شبیه به هم یا یکسانی را در آدرسهای مختلف وبسایتتان داشته باشید، با استفاده از تگ کنونیکال میتوانید مشخص کنید که کدام نسخه، نسخه اصلی است و باید توسط موتورهای جستجو ایندکس شود.
?
در تگهای کنونیکال از قواعد سادهای استفاده میشود. این تگها در قسمت head صفحههای تکراری یا مشابه قرار میگیرند:
به زبان ساده، معنی هر یک از بخشهای کد بالا از این قرار است:
• link rel=“canonical” : این بخش به موتورهای جستجو نشان میدهد که این یک تگ کنونیکال است که لینک آن، نسخه اصلی این برگه (یعنی برگهای که این تگ در آن قرار دارد) را مشخص میکند؛
• href=“https://example.com/sample-page/” : نسخه اصلی این برگه در این آدرس قرار دارد.
اگرچه گوگل برای محتوای تکراری جریمه در نظر نمیگیرد، اما طبیعتاً علاقهای به تکرار ندارد؛ زیرا محتوای تکراری باعث دشوارتر شدن کار گوگل در موارد زیر میشود:
• انتخاب یک صفحه برای ایندکس کردن (فقط یک صفحه از میان صفحاتی که تکراری تشخیص داده میشوند ایندکس میشود)؛
• انتخاب یک نسخه به منظور کسب رتبه برای جستجوهای مرتبط؛
• اینکه آیا ارزش لینک باید به یک برگه تعلق بگیرد یا بین چندین برگه تقسیم شود.
وجود محتوای تکراری زیاد میتواند «بودجه خزش» (crawl budget) شما را نیز تحت تأثیر قرار بدهد؛ به این معنی که چه بسا ربات گوگل به جای پیدا و ایندکس کردن سایر مطالب و محتواهای مهمی که در سایتتان دارید، وقت خود را برای بررسی نسخههای متعدد از یک برگه تلف کند.
تگهای کنونیکال حلال این مشکلات هستند. این تگها برای گوگل مشخص میکنند که کدام نسخه از یک برگه باید ایندکس شده و رتبه دریافت کند و ارزش لینکهای دریافتی به کجا باید تعلق بگیرد.
در صورتی که از تگ کنونیکال استفاده نکنید، خود گوگل دست به کار خواهد شد:
اگر یک آدرس کنونیکال مشخص نکنید، ما خودمان آن موردی که تصور میکنیم بهترین نسخه یک آدرس است را شناسایی میکنیم.
اعتماد به گوگل در این مورد فکر زیاد خوبی نیست؛ زیرا این امکان وجود دارد که نسخه مورد نظر شما را انتخاب نکند.
نکته مهم: گوگل در وبلاگ پشتیبانی خود اعلام کرده که برای انتخاب شما ارزش قائل میشود، اما نه همیشه:
توجه داشته باشید که حتی اگر به وضوح یک صفحه را به عنوان صفحه اصلی یا کنونیکال انتخاب کنید، این امکان وجود دارد که گوگل به دلایل متنوع، مانند موارد مرتبط با عملکرد برگه یا محتوا، یک صفحه متفاوت را انتخاب نماید.
با بهره گیری از روشهای صحیح استفاده از تگهای کنونیکال میتوانید به کاهش خطر انتخاب نسخه نامطلوب کمک کنید.
با توجه به اینکه هر پست یا برگه را چندین بار در سایت خود منتشر نمیکنید، احتمالاً بر این باورید که وبسایت شما نباید محتوای تکراری داشته باشد و لذا به تگ کنونیکال نیاز نخواهید داشت.
اما نکتهای که باید به آن دقت داشته باشید این است که موتورهای جستجو به جای برگهها، آدرسهای سایت شما را بررسی میکنند. به عنوان مثال، ربات موتور جستجو، آدرسهای example.com/product و example.com/product?color=red را به عنوان برگههای مجزا در نظر میگیرد، حتی اگر محتوای آنها کاملاً یکسان یا شبیه به هم باشد.
به چنین آدرسهایی، آدرسهای Parameterized یا پارامتردهی شده میگوییم. این آدرسها، به خصوص در فروشگاههای اینترنتی که از قابلیت فیلتر کردن نتایج و مشخصهها بهره میبرند، یکی از رایجترین دلایل ایجاد محتوای تکراری محسوب میشوند.
به عنوان یک نمونه دقیقتر، یک فروشگاه اینترنتی پوشاک را در نظر بگیرید. آدرس صفحه اصلی دسته بندی پیراهنهای این فروشگاه به این شکل است:
https://www.abc.com/clothing/shirts.html
حالا اگر شما از فیلترهای نمایش محصولات استفاده کنید و مثلاً به دنبال پیراهنهایی که سایز XL دارند بگردید، یک پارامتر به انتهای آدرس اضافه میشود و آدرس همان برگه بالا به شکل زیر نمایش داده میشود:
https://www. abc.com/en-gb/clothing/shirts.html?Size=XL
اگر رنگ آبی را نیز به فیلتر محصولات اضافه کنید، یک پارامتر دیگر هم به آدرس اضافه خواهد شد:
https://www. abc.com/en-gb/clothing/shirts.html?Size=XL&color=Blue
اگرچه برای نمایش نتایج فیلتر مورد نظر ما صفحه دیگری بارگذاری نشده، اما از دید گوگل، هر یک از موارد بالا یک صفحه مجزا محسوب میشود.
البته این فقط فروشگاههای اینترنتی نیستند که قربانی محتوای تکراری میشوند. موارد زیر از جمله رایجترین دلایل ایجاد محتوای تکراری هستند که در هر وبسایتی میتوانند ظاهر شوند:
• آدرسهای پارامتردهی شده برای پارامترهای جستجو (مانندexample.com?q=search-term)
• آدرسهای پارامتردهی شده برای شناسههای نشست یا Session ID (مثلاً https://example.com?sessionid=3)
• وجود یک نسخه مجزای چاپی از برگه (مانند example.com/page و example.com/print/page)
• وجود آدرسهای مجزا برای پستهایی که در چندین دسته بندی قرار دارند (مانند example.com/services/SEO/ و example.com/specials/SEO/)
• وجود برگههایی که برای نمایش در دستگاههای مختلف در نظر گرفته شدهاند (مانند example.com و m.example.com)
• داشتن نسخههای AMP و غیر AMP از یک برگه (مثلاً example.com/page و amp.example.com/page)
• وجود محتوای یکسان در آدرسهای دارای www و بدون www یا نسخههای http و https سایت (مثلاً https://example.com و http://www.example.com)
در چنین مواردی استفاده درست از تگهای کنونیکال ضروری است.
علاوه بر اینها، وجود محتوای تکراری در دامنههای متفاوت نیز مسئله مهمی است. اگر محتوای خود را سیندیکِیت میکنید (Syndicate یا همنشری؛ هنگامی که یک سایت دیگر محتوای شما را عیناً در سایت خود قرار میدهد)، لازم است که از سایتی که محتوای شما را منتشر کرده بخواهید تا در برگه تکراری یک تگ کنونیکال به مطلب اصلی قرار بدهد.
از این طریق، علاوه بر اینکه میتوانید از آن سایت ترافیک دریافت کنید، احتمال رتبه دهی گوگل به آدرس نامناسب را کاهش میدهید.
دقت داشته باشید که برخی از سایتها از اضافه کردن تگ کنونیکال به برگه حاوی محتوای شما امتناع میکنند. در این صورت پذیرفتن ریسک افت رتبه محتوای اصلی بر عهده خودتان خواهد بود.
?
استفاده از تگهای کنونیکال بسیار ساده است. در ادامه این مطلب به چهار روش پیاده سازی این تگها در برگههای سایت اشاره خواهیم کرد؛ اما فارغ از اینکه از کدام روش استفاده میکنید، پنج قانون طلایی وجود دارد که همیشه باید به خاطر داشته باشید:
استفاده از آدرس دهی مطلق در لینک rel=“canonical” توصیه یکی از تحلیلگران گوگل است. لذا باید به جای ساختار زیر که حاوی یک آدرس relative یا نسبی است:
از این ساختار استفاده کنید:
از آنجایی که ممکن است گوگل آدرسهای حاوی حروف کوچک و بزرگ را به عنوان آدرسهای متفاوتی تلقی کند، لازم است که در آدرس تگ کنونیکال خود از حروف کوچک استفاده نمایید.
اگر از SSL استفاده میکنید، مطمئن شوید که در تگهای کنونیکال خود از آدرسهای غیر SSL (یعنی Http) استفاده نکردهاید؛ در غیر اینصورت احتمال ایجاد ابهام و دریافت نتایج غیرمنتظره وجود خواهد داشت. بنابراین اگر از حالت امن استفاده میکنید، باید به جای
از این ساختار استفاده نمایید:
طبیعتاً اگر از حالت امن استفاده نمیکنید، باید عکس حالت بالا عمل کنید.
اگرچه این مورد از نظر گوگل اجباری نیست، اما توصیه میشود که از تگهای کنونیکال Self-referential یا خود ارجاع استفاده کنید؛ زیرا حتی اگر فقط یک برگه داشته باشید، باز هم این امکان وجود دارد که به خاطر مواردی که در بالا اشاره کردیم (مثل اضافه شدن پارامترها به انتهای آدرس)، نسخه متفاوتی از آدرس مورد نظر در نتایج جستجو رتبه به دست بیاورد.
اگر نمیدانید که تگ کنونیکال خود ارجاع چیست، باید بگوییم که منظور ما تگ کنونیکالی است که به همان برگهای که در آن قرار گرفته لینک دارد. به عنوان مثال، اگر آدرس ما https://example.com/sample-page باشد، تگ خود ارجاعمان خواهد بود:
اغلب سیستمهای مدیریت محتوای مدرن به طور خودکار تگ کنونیکال خود ارجاع را به پستها اضافه میکنند؛ اما اگر از سیستمهای متفاوتی استفاده میکنید باید از یک توسعه دهنده کمک بگیرید.
اگر در یک برگه از چند تگ کنونیکال استفاده شده باشد، گوگل همه آنها را نادیده میگیرد. بنابراین لازم است که در هر برگه فقط از یک تگ استفاده کنید.
برای تعیین آدرسهای کنونیکال میتوانید از چهار روش استفاده کنید:
• تگ HTML (rel=canonical)
• هدر HTTP
• سایت مپ
• ریدایرکت یا تغییر مسیر 301
در ادامه به شرح تک تک این مراحل میپردازیم:
سادهترین و بدیهیترین روش برای مشخص کردن یک آدرس به عنوان آدرس کنونیکال یا اصلی، استفاده از تگ rel=canonical است. به این منظور فقط کافی است که کد زیر را در قسمت head برگههای تکراری قرار بدهید:
?
به عنوان نمونه، اگر در فروشگاه اینترنتی خود تیشرت میفروشید و با وجود اینکه آدرس برگه تیشرتهای مشکی شما از طریق یک یا چند آدرس دیگر هم در دسترس است (مثلاً https://yourstore.com/offers/black-tshirts/) میخواهید که آدرس اصلی شما https://yourstore.com/tshirts/black-tshirts/ باشد، باید کد زیر را به همه برگههای تکراری اضافه کنید:
?
دقت کنید که اگر از سیستمهای مدیریت محتوا استفاده میکنید معمولاً نیازی به دستکاری کدها نخواهید داشت. به عنوان مثال، در وردپرس با نصب افزونه رایگان Yoast SEO، تگهای کنونیکال خود ارجاع به طور خودکار اضافه خواهند شد. برای افزودن تگهای دیگر به بخش Advanced یا تنظیمات پیشرفته این افزونه در هر برگه مراجعه نمایید.
?
برای اسناد و فایلهایی مانند فایلهای PDF، راهی برای قرار دادن تگ کنونیکال در هدر صفحه نداریم؛ چرا که اساساً قسمت head وجود ندارد. در این حالت برای تنظیم برگه کنونیکال باید از هدرهای HTTP (HTTP Headers) استفاده کنید.
به عنوان مثال، اگر ما یک نسخه PDF از همین پست تهیه کنیم و آن را در پوشه وبلاگمان قرار بدهیم (modireweb.com/blog)، هدر HTTP ما برای آن فایل شبیه به این خواهد بود:
HTTP/1.1 200 OK
Content-Type: application/pdf
Link: ; rel=”canonical”
گوگل در وبلاگ پشتیبانی خود اعلام کرده که برگههای غیر کنونیکال نباید در سایت مپ وجود داشته باشند و سایت مپ شما تنها باید دربردارنده آدرسهای کنونیکال باشد؛ زیرا برگههای موجود در سایت مپ به عنوان کنونیکال های پیشنهادی قلمداد میشوند. البته باید دقت داشته باشید که گوگل همیشه آدرسی که در سایت مپ وجود دارد را به عنوان آدرس کنونیکال انتخاب نمیکند.
هنگامی که میخواهید ترافیک را از یک آدرس تکراری به نسخه اصلی یک مطلب انتقال بدهید میتوانید از ریدایرکت 301 استفاده کنید. به عنوان مثال، اگر برگه شما از طریق سه آدرس زیر در دسترس باشد:
• example.com
• example.com/index.php
• example.com/home/
باید یک آدرس را انتخاب کنید و بقیه را به آن تغییر مسیر بدهید.
همین کار را باید برای نسخههای امن و غیر امن و همچنین دارای www و بدون www نیز انجام بدهید.
?
تعیین آدرسهای کنونیکال یک مبحث کمابیش پیچیده است. به همین دلیل، سوءبرداشتها و اشتباهات بسیاری در رابطه با روش درست انجام آن شکل گرفته است که از جمله متداولترین آنها میتوان به موارد زیر اشاره کرد:
مسدود کردن آدرس در فایل robots.txt مانع بررسی آن توسط ربات گوگل میشود؛ در نتیجه، تگ کنونیکال موجود در آدرس مورد نظر هم برای گوگل قابل مشاهده نخواهد بود. این به نوبه خود باعث میشود که ارزش لینک نیز از نسخه غیر کنونیکال به نسخه کنونیکال انتقال پیدا نکند.
هرگز نباید همزمان از noindex و rel=canonical استفاده کنید. این دو به نوعی متضاد هم محسوب میشوند. البته، گوگل معمولاً برای تگ کنونیکال اولویت قائل میشود؛ اما باز هم به کار بردن هر دوی اینها درست نیست. اگر میخواهید یک آدرس را noindex و کنونیکال کنید، از ریدایرکت 301 استفاده کنید؛ در غیر اینصورت، تگ rel=canonical را به کار ببرید.
تنظیم یک کد وضعیت 4XX برای آدرس کنونیکال همان تأثیر استفاده از تگ noindex را خواهد داشت. در این حالت هم گوگل نمیتواند تگ کنونیکال را مشاهده کند و ارزش لینک را به نسخه کنونیکال انتقال بدهد.
برگههای صفحه بندی شده (Paginated) سایت نباید به اولین برگه مجموعه کنونیکال شوند. در عوض، باید برای همه برگههای صفحه بندی شده از کنونیکال خود ارجاع استفاده شود؛ زیرا این صفحهها با هم یکی نیستند و این یک روش نادرست استفاده از تگ کنونیکال محسوب میشود.
از تگهای hreflang برای تعیین زبان و هدفگیری جغرافیایی در صفحات وب استفاده میشود. گوگل در وبسایت پشتیبانی خود اعلام کرده که باید در هنگام استفاده از hreflang یک صفحه کنونیکال به همان زبان مشخص کنید یا در صورتی که یک کنونیکال برای همان زبان وجود ندارد بهترین زبان جایگزین را انتخاب نمایید.