مهاجرت سایت یکی از مهمترین تغییرات فنی در یک وبسایت است. تغییر دامنه، انتقال سایت از HTTP به HTTPS، تغییر ساختار URLها، جابهجایی سیستم مدیریت محتوا یا حتی تغییر معماری سایت میتواند روی وضعیت ایندکس صفحات و عملکرد آنها در نتایج جستجو تأثیر بگذارد. یکی از بخشهای مهم در زمان مهاجرت، مدیریت صحیح Canonical URL است. اگر URL اصلی صفحات بهدرستی مشخص نشود، موتورهای جستجو ممکن است در تشخیص نسخه اصلی محتوا دچار ابهام شوند. در این مقاله بررسی میکنیم Canonical چیست، چه کاربردی دارد و چرا هنگام مهاجرت سایت باید به آن توجه ویژهای داشت.
Canonical چیست؟
Canonical یا URL کنونیکال، آدرسی است که به موتورهای جستجو اعلام میکند کدام URL نسخه اصلی و ترجیحی یک محتوا محسوب میشود. گاهی اوقات یک محتوای یکسان یا بسیار مشابه میتواند از طریق چند URL مختلف در دسترس باشد. برای مثال:
https://example.com/product
https://example.com/product?color=red
https://example.com/product?utm_source=google
ممکن است این URLها در نهایت یک محتوای مشابه را نمایش دهند. در چنین شرایطی میتوان با استفاده از تگ "rel="canonical"" نسخه اصلی صفحه را مشخص کرد. نمونه:
<link rel="canonical" href="https://example.com/product">
با این کار، سایت به موتور جستجو اعلام میکند که URL موردنظر، نسخه ترجیحی این محتوا است. Google نیز Canonicalization را فرایندی برای انتخاب URL نماینده یک محتوا از میان نسخههای مشابه یا تکراری تعریف میکند.
چرا چند URL برای یک محتوا ایجاد می شود؟
ایجاد URLهای مشابه همیشه نتیجه یک اشتباه نیست. بسیاری از قابلیتهای معمول سایتها باعث ایجاد نسخههای مختلف یک صفحه میشوند. برای مثال، پارامترهای فیلتر و مرتبسازی محصولات میتوانند URLهای متفاوتی ایجاد کنند:
/products
/products?sort=price
/products?sort=newest
/products?color=black
همچنین پارامترهای مربوط به کمپینهای تبلیغاتی و تحلیل بازدید نیز ممکن است URL متفاوتی ایجاد کنند:
/page?utm_source=instagram
/page?utm_source=google
در چنین شرایطی Canonical کمک میکند نسخه اصلی محتوا مشخص باشد.
Canonical چه مشکلی را حل می کند؟
یکی از مهمترین کاربردهای Canonical، کمک به موتورهای جستجو برای تشخیص URL ترجیحی است. فرض کنید یک مقاله از طریق سه URL مختلف قابل مشاهده باشد:
https://example.com/seo
https://example.com/seo?source=home
https://example.com/seo?utm_campaign=blog
اگر URL اصلی مقاله این باشد:
https://example.com/seo
میتوان در نسخههای مختلف، Canonical را به همین URL تنظیم کرد. این کار به موتور جستجو کمک میکند سیگنالهای مرتبط با نسخههای مشابه را بهتر درک و در صورت مناسب بودن، روی URL اصلی متمرکز کند. Google اشاره میکند که Canonical میتواند به تجمیع سیگنالهایی مانند لینکها برای URL ترجیحی کمک کند.
تفاوت Canonical با Redirect چیست؟
این دو مفهوم گاهی با یکدیگر اشتباه گرفته میشوند، اما عملکرد یکسانی ندارند.
Canonical
Canonical به موتور جستجو اعلام میکند: ««این URL نسخه ترجیحی این محتواست.»» کاربر همچنان میتواند URL فعلی را باز کند. مثلاً:
/page?ref=google
میتواند محتوای صفحه را نمایش دهد، اما Canonical آن به این URL اشاره کند:
/page
Redirect 301
Redirect باعث میشود کاربر و crawler از URL قدیمی به URL جدید منتقل شوند. مثلاً:
https://oldsite.com/article
به:
https://newsite.com/article
ریدایرکت شود.
برای مهاجرت واقعی URLها، Redirect دائمی مانند 301 یا 308 اهمیت بسیار زیادی دارد. Google نیز Redirect دائمی را یکی از سیگنالهای قوی برای انتقال URL قدیمی به URL جدید میداند. بنابراین: Canonical جایگزین 301 نیست. اگر صفحهای واقعاً از یک URL به URL دیگری منتقل شده است، معمولاً باید Redirect مناسب نیز تنظیم شود.
چرا Canonical در مهاجرت سایت اهمیت دارد؟
در زمان مهاجرت، معمولاً تعداد زیادی URL تحت تأثیر قرار میگیرند. برای مثال ممکن است سایت از این ساختار: https://oldsite.com/blog/seo به این ساختار منتقل شود: https://newsite.com/articles/seo در این حالت چند موضوع باید همزمان مدیریت شود:
- URL قدیمی
- URL جدید
- Redirect
- Canonical
- لینکهای داخلی
- Sitemap
- وضعیت ایندکس
- فایل robots.txt
- تگهای hreflang در صورت وجود
اگر Canonical در سایت جدید همچنان به URLهای قدیمی اشاره کند، سیگنالهای فنی سایت با وضعیت جدید آن هماهنگ نخواهند بود. Google در راهنمای رسمی مهاجرت سایت نیز توصیه میکند پس از انتقال، Canonical صفحات سایت جدید به URLهای جدید اشاره کند. Canonical در مهاجرت دامنه یکی از رایجترین انواع مهاجرت، تغییر دامنه است. برای مثال:
https://example-old.com به: https://example-new.com منتقل میشود. در این شرایط صفحات جدید باید Canonical خودشان را داشته باشند. مثلاً:
<link rel="canonical" href="https://example-new.com/seo">
و URL قدیمی نیز باید در صورت وجود صفحه متناظر، با Redirect دائمی به URL جدید منتقل شود.
به عبارت ساده:
URL قدیمی
↓
301 Redirect
↓
URL جدید
↓
Canonical
↓
همان URL جدید
این هماهنگی باعث میشود سیگنالهای مختلف سایت در یک جهت قرار بگیرند.
Canonical در تغییر HTTP به HTTPS
مهاجرت از HTTP به HTTPS نیز نوعی تغییر URL محسوب میشود. برای مثال: http://example.com/page به: https://example.com/page تغییر میکند. در چنین شرایطی بهتر است نسخه HTTPS بهعنوان URL اصلی سایت مورد استفاده قرار گیرد. همچنین URLهای HTTP باید به نسخه HTTPS متناظر خود Redirect شوند. برای صفحه جدید:
<link rel="canonical" href="https://example.com/page">
قرار میگیرد. یکی از اشتباهات رایج این است که سایت به HTTPS منتقل شود اما Canonical صفحات همچنان روی HTTP باقی بماند.
Canonical و تغییر ساختار URL
گاهی دامنه سایت تغییر نمیکند اما ساختار URLها تغییر میکند. مثلاً: /blog/seo به /articles/seo تبدیل میشود. در این شرایط باید برای URLهای قدیمی، مقصد مناسب مشخص شود. بهترین حالت این است:
/blog/seo
↓
301
↓
/articles/seo
و در صفحه جدید:
<link rel="canonical" href="https://example.com/articles/seo">
قرار داشته باشد. در راهنمای مهاجرت Google نیز ایجاد Mapping بین URLهای قدیمی و جدید بهعنوان یکی از مراحل مهم مهاجرت معرفی شده است.
Self-Canonical چیست؟
Self-Canonical به این معنی است که هر صفحه، Canonical خودش را به خودش اعلام کند. برای مثال صفحه: https://example.com/services/seo دارای:
<link rel="canonical" href="https://example.com/services/seo">
باشد. این روش برای بسیاری از صفحات اصلی سایت مفید است، زیرا URL ترجیحی هر صفحه را بهصورت واضح مشخص میکند. البته وجود نداشتن Canonical الزاماً به این معنی نیست که Google نمیتواند URL اصلی را تشخیص دهد؛ موتور جستجو خودش نیز میتواند Canonical را انتخاب کند. اما اعلام سیگنال صحیح از طرف سایت میتواند در فرایند تشخیص URL ترجیحی کمککننده باشد.
Canonical و Sitemap چه ارتباطی دارند؟
Sitemap نیز یکی از سیگنالهایی است که میتواند به موتور جستجو درباره URLهای ترجیحی سایت اطلاعات بدهد. به همین دلیل، پس از مهاجرت باید Sitemap سایت جدید با URLهای جدید ساخته شود. برای مثال اگر URLهای جدید اینها هستند:
https://example.com/articles/seo
https://example.com/articles/canonical
https://example.com/articles/migration
همین URLهای جدید باید در Sitemap قرار بگیرند. بهتر است URLهای قدیمی و URLهایی که قرار نیست نسخه اصلی باشند، در Sitemap جدید قرار نگیرند. Google Sitemap را یک سیگنال ضعیفتر نسبت به Redirect و "rel="canonical"" برای تعیین URL ترجیحی میداند. بنابراین بهتر است Sitemap، Canonical و Redirectها با یکدیگر هماهنگ باشند.
اشتباهات رایج Canonical هنگام مهاجرت سایت
۱. باقی ماندن Canonical دامنه قدیمی
یکی از خطاهای مهم این است که سایت به دامنه جدید منتقل شود اما Canonical صفحات همچنان به دامنه قبلی اشاره کند.
مثلاً:
<link rel="canonical" href="https://oldsite.com/page">
در حالی که صفحه جدید روی دامنه دیگری قرار دارد.
۲. استفاده از Canonical به جای 301
Canonical باعث انتقال کاربر به URL دیگر نمیشود. بنابراین اگر URL واقعاً تغییر کرده است، نباید فقط به Canonical اکتفا کرد.
۳. Canonical اشتباه در Sitemap
اگر Sitemap URL جدید را معرفی کند اما Canonical به URL دیگری اشاره کند، سیگنالهای سایت با یکدیگر هماهنگ نیستند.
۴. Canonical به صفحه نامرتبط
نباید تعداد زیادی صفحه متفاوت را بدون دلیل به صفحه اصلی سایت Canonical کرد. Canonical باید به URLای اشاره کند که واقعاً نسخه اصلی یا نماینده همان محتواست.
۵. فراموش کردن URLهای داخلی
بعد از مهاجرت، لینکهای داخلی سایت نیز باید به URLهای جدید تغییر کنند. برای مثال بهتر است لینک داخلی: https://oldsite.com/blog/seo همچنان در صفحات سایت باقی نماند، اگر مقصد جدید آن: https://newsite.com/articles/seo است. Google نیز در فرایند مهاجرت توصیه میکند لینکهای داخلی سایت جدید به URLهای جدید بهروزرسانی شوند.
چک لیست Canonical برای مهاجرت سایت
قبل از نهایی کردن مهاجرت، موارد زیر را بررسی کنید:
- URLهای قدیمی و جدید مشخص شده باشند.
- برای URLهای منتقلشده Redirect دائمی تنظیم شده باشد.
- Canonical صفحات جدید به URLهای صحیح اشاره کند.
- Canonical به دامنه یا مسیر قدیمی اشاره نکند.
- Sitemap شامل URLهای جدید باشد.
- لینکهای داخلی به URLهای جدید تغییر کرده باشند.
- URLهای قدیمی در Sitemap جدید باقی نمانده باشند.
- صفحات مهم با ابزار بررسی URL در Search Console بررسی شوند.
- "noindex" ناخواسته روی صفحات جدید وجود نداشته باشد.
- robots.txt مانع دسترسی موتورهای جستجو به صفحات مهم نشده باشد.
- - Redirectهای زنجیرهای تا حد امکان حذف شوند.
- Redirectها مستقیماً به مقصد نهایی اشاره کنند.
Google در راهنمای مهاجرت خود نیز بر بررسی Redirectها، Canonical، Sitemap، robots.txt و وضعیت ایندکس پس از انتقال تأکید کرده است.
آیا Canonical باعث حفظ رتبه سایت می شود؟
Canonical بهتنهایی تضمین نمیکند که رتبه صفحات سایت پس از مهاجرت حفظ شود. در مهاجرت URL، عوامل مختلفی در انتقال صحیح سیگنالهای جستجو نقش دارند؛ از جمله Redirectهای دائمی، ساختار URL جدید، لینکهای داخلی، Sitemap و Canonical. به همین دلیل، مهاجرت سایت باید بهعنوان یک فرایند کامل SEO در نظر گرفته شود، نه صرفاً تغییر دامنه یا انتقال فایلهای سایت. Google اعلام کرده است که در مهاجرت، نوسان موقت رتبهها طبیعی است، زیرا موتور جستجو باید URLهای جدید را مجدداً crawl و index کند.
Canonical را چگونه بررسی کنیم؟
بعد از مهاجرت، چند روش برای بررسی Canonical وجود دارد. بررسی سورس HTML سورس صفحه را باز کنید و به دنبال عبارت زیر بگردید:
<link rel="canonical" href="...">
URL داخل "href" باید همان URL ترجیحی صفحه باشد.
بررسی با ابزارهای SEO
ابزارهای Crawling مانند Screaming Frog میتوانند تعداد زیادی URL را بررسی کنند و مواردی مانند:
- Canonical URL
- Canonicalهای متناقض
- Canonical به URL قدیمی
- صفحات بدون Canonical
- Canonical به URLهای غیرقابل دسترسی
را شناسایی کنند.
بررسی در Google Search Console
Search Console نیز برای بررسی وضعیت ایندکس و URLهای سایت بعد از مهاجرت اهمیت زیادی دارد. در مهاجرت دامنه، باید نسخههای مربوط به سایت قدیمی و جدید را در Search Console بررسی کرد و در صورت نیاز از قابلیت Change of Address استفاده کرد. Google تأکید میکند که این قابلیت برای تغییر دامنه یا سابدامین کاربرد دارد و برای تغییراتی مانند HTTP به HTTPS یا تغییر مسیر داخل همان دامنه لازم نیست. یک نمونه ساده از مهاجرت صحیح فرض کنید سایت قدیمی این صفحه را دارد: https://oldsite.com/services/seo و در سایت جدید URL به این شکل شده است: https://newsite.com/seo-services
ساختار پیشنهادی:
https://oldsite.com/services/seo
↓
301
↓
https://newsite.com/seo-services
و در صفحه جدید:
<link rel="canonical" href="https://newsite.com/seo-services">
همچنین لینکهای داخلی سایت جدید باید به URL جدید اشاره کنند و Sitemap نیز URL جدید را معرفی کند. در این حالت، سیگنالهای اصلی سایت با یکدیگر هماهنگ هستند.
نتیجه گیری
Canonical یکی از ابزارهای مهم برای مدیریت URLهای مشابه و تعیین نسخه ترجیحی محتواست. اهمیت آن در مهاجرت سایت بیشتر میشود، زیرا در زمان انتقال ممکن است URLها، دامنه، پروتکل یا ساختار صفحات تغییر کنند. با این حال، Canonical را نباید با Redirect اشتباه گرفت. اگر یک صفحه واقعاً از URL قدیمی به URL جدید منتقل شده است، معمولاً باید Redirect دائمی برای آن در نظر گرفته شود. سپس صفحه جدید باید Canonical صحیح خودش را داشته باشد. بهترین نتیجه زمانی حاصل میشود که Redirect، Canonical، Sitemap و لینکهای داخلی همگی URL جدید و نهایی را معرفی کنند. در نهایت، مهاجرت موفق فقط انتقال فایلها و دیتابیس نیست؛ باید مطمئن شد موتورهای جستجو نیز ساختار جدید سایت را بهدرستی درک میکنند و ارتباط میان URLهای قدیمی و جدید برای آنها شفاف است.
منابع فنی
مفاهیم و نکات فنی این مقاله با مستندات رسمی Google Search Central درباره Canonicalization و Site Migration تطبیق داده شدهاند.














