دیدن این خطا در سرچ کنسول میتواند کمی گیجکننده باشد. این گزارش به این معنی نیست که سایت شما جریمه شده، بلکه گوگل دارد دوستانه به شما میگوید: «من چند صفحه شبیه به هم پیدا کردم و خودم مجبور شدم یکی را به عنوان نسخه اصلی انتخاب کنم.»
این خطا، که مستقیماً در گزارش Indexing (بخش Pages) نمایش داده میشود، میتواند قدرت رتبهبندی شما را پخش کند. اما نگران نباشید، حل کردن آن سادهتر از چیزی است که فکر میکنید. بیایید ببینیم چرا این اتفاق میافتد و چطور آن را به درستی مدیریت کنیم.
جدول راهنمای سریع: انتخاب راهحل مناسب
| نوع محتوای تکراری (علت رایج) | بهترین راه حل فنی (اولویتبندی شده) |
| HTTP در مقابل HTTPS | ریدایرکت ۳۰۱ (تنظیم از سمت سرور/هاست) |
| WWW در مقابل non-WWW | ریدایرکت ۳۰۱ (تنظیم از سمت سرور/هاست) |
| پارامترهای URL (مثل ?sort=price یا UTM) | تگ rel=”canonical” (اشاره به URL اصلی بدون پارامتر) |
| اسلش انتهای URL (مثلاً /page و /page/) | ریدایرکت ۳۰۱ (تنظیم از طریق .htaccess یا وبسرور) |
| نسخههای چاپی یا AMP | تگ rel=”canonical” (اشاره به نسخه اصلی دسکتاپ) |
| شناسههای سشن (Session IDs) | تگ rel=”canonical” (یا بلاک کردن در robots.txt اگر لازم است) |
خطای Excluded by ‘noindex’ tag (حذف شده با تگ noindex)
این در واقع یک «خطا» به معنی واقعی کلمه نیست؛ بیشتر یک «گزارش» از طرف گوگله.
گوگل داره به ما میگه: “من این صفحه رو پیدا کردم، اما تو خودت (یا سیستمت) به من گفتی که ایندکسش نکنم، پس منم اطاعت کردم و اون رو در لیست ‘Excluded’ (حذفشدهها) قرار دادم.”
این گزارش به دو دلیل میتونه اتفاق بیفته: یا عمداً این کار رو کردید (که خوبه) یا سهواً (که باید بررسی بشه).
چرا این اتفاق میافتد؟ (دلایل رایج)
اینکه این تگ از کجا میاد، چند حالت رایج داره:
- ۱. تنظیمات عمدی (و درست): خیلی وقتها ما خودمان میخواهیم صفحاتی ایندکس نشوند تا خزش بهینهتری داشته باشیم یا صفحات بیارزش وارد نتایج نشوند. در این موارد، دیدن این گزارش طبیعیه و نیازی به اقدام نیست.
- صفحات ورود به پنل ادمین (مثل wp-admin)
- صفحات تشکر از خرید یا تکمیل فرم
- صفحات نتایج جستجوی داخلی سایت
- صفحات پروفایل کاربران
- صفحات تستی یا پیشنویس (Staging) که هنوز نهایی نشدند.
- صفحات آرشیو یا تگهای خیلی کمارزش (که البته استراتژیهای بهتری هم براشون هست).
- ۲. تنظیمات سهوی (مشکلساز): اینجاست که مشکل شروع میشه و باید سریع رفعش کنیم. معمولاً برای صفحات مهمی مثل مقالات اصلی، صفحات محصول یا دستهبندیها اتفاق میفته.
- رایجترین دلیل (وردپرس): تیک گزینه «نمایش به موتورهای جستجو» (Search Engine Visibility) در بخش تنظیمات > خواندن وردپرس فعال شده. این کار کل سایت شما رو noindex میکنه.
- تنظیمات افزونه سئو: در افزونههایی مثل Yoast یا Rank Math، ممکنه به اشتباه در تنظیمات همون صفحه (در بخش Advanced یا پیشرفته)، تیک “No” رو برای ایندکس شدن زدید.
- تنظیمات قالب: بعضی قالبها تنظیمات سئوی داخلی دارند که ممکنه با افزونه سئو تداخل پیدا کنه.
- تنظیمات سرور (X-Robots-Tag): گاهی اوقات این دستور noindex به جای اینکه در تگ HTML صفحه باشه، مستقیماً در هدر HTTP سایت توسط برنامهنویس یا تنظیمات سرور قرار داده شده.
چگونه آن را برطرف کنیم؟ (راه حل)
قدم اول: تحلیل، نه حذف فوری! اولین و مهمترین قدم اینه که وحشت نکنید! لیست صفحاتی که این خطا رو گرفتن بررسی کنید و از خودتون بپرسید:
“آیا این صفحه باید در نتایج گوگل باشه؟”
- اگر پاسخ «نه» است (مثلاً صفحه تشکر از خرید یا پنل ادمین بود): همهچیز درسته! لازم نیست هیچ کاری انجام بدید. گوگل فقط داره بهتون اطلاع میده که به دستورتون عمل کرده.
- اگر پاسخ «بله» است (مثلاً مقاله بلاگ، صفحه محصول یا دستهبندی اصلی بود): این یک خطای سهوی بوده و باید طبق قدم دوم رفع بشه.
قدم دوم: پیدا کردن منبع noindex (اگر خطا سهوی بود)
- بررسی سورس صفحه: به صفحهی مورد نظر در سایت برید، Ctrl+U بزنید (یا View Page Source کنید) و دنبال تگ <meta name=”robots” بگردید. اگر عبارتی مثل content=”noindex” یا content=”noindex, follow” دیدید، منبع مشکل همونجاست.
- بررسی تنظیمات CMS (وردپرس):
- سریعاً به تنظیمات > خواندن در پیشخوان وردپرس برید و مطمئن بشید تیک «از موتورهای جستجو درخواست کن تا محتوای سایت را بررسی نکنند» برداشته شده باشه.
- بررسی تنظیمات افزونه سئو (Yoast/Rank Math):
- به ویرایش همون صفحهای که مشکل داره برید.
- در باکس افزونه سئو (معمولاً پایین ویرایشگر)، تب «پیشرفته» (Advanced) رو پیدا کنید.
- مطمئن بشید گزینه “Allow search engines to show this post in search results?” روی “Yes” (یا حالت پیشفرض) تنظیم شده باشه. (نباید “No” باشه).
- بررسی هدر HTTP (برای موارد پیچیدهتر):
- میتونید از ابزارهای آنلاین “HTTP Header Checker” استفاده کنید یا در DevTools مرورگر (F12) در تب Network صفحه رو رفرش کنید. دنبال عبارتی مثل X-Robots-Tag: noindex بگردید.
- اگر این مورد رو پیدا کردید، یعنی مشکل از تنظیمات سرور (مثل فایل .htaccess) هست و باید از تیم فنی یا هاستینگ کمک بگیرید تا اون دستور رو حذف کنند.
قدم سوم: اعتبارسنجی (Validate Fix)
بعد از اینکه مطمئن شدید تگ noindex رو از منبع اصلیش حذف کردید، به سرچ کنسول برگردید، همون URL رو با ابزار URL Inspection بررسی کنید. بعد از اینکه گوگل صفحه رو لایو بررسی کرد (Live Test) و دید که دیگه تگ noindex وجود نداره، میتونید روی دکمه “Validate Fix” کلیک کنید.
اینطوری به گوگل خبر میدید که مشکل رو حل کردید و بیاد دوباره این صفحات رو بررسی و ایندکس کنه.
خطای Duplicate without user-selected canonical (نسخه تکراری بدون انتخاب کاربر)
این هم یکی از گزارشهای رایج سرچ کنسوله که معمولاً باعث نگرانی میشه، اما درک دلیلش، حل کردنش رو خیلی ساده میکنه.
این گزارش یعنی: “من (گوگل) چندتا URL پیدا کردم که محتوای همشون خیلی شبیه (یا دقیقاً یکسان) بود، اما تو به من نگفتی که کدوم یکی نسخه اصلیه و باید ایندکس بشه. چون تو نسخهی «کنونیکال» (Canonical) رو مشخص نکرده بودی، من خودم حدس زدم و یکی رو به عنوان نسخه اصلی انتخاب کردم.”
این گزارش به شما اطلاع میده که گوگل مجبور شده به جای شما تصمیم بگیره. این کار دوتا ریسک داره:
- ممکنه گوگل نسخهی اشتباهی رو به عنوان نسخه اصلی انتخاب کنه (مثلاً نسخهای با پارامتر UTM یا www که شما نمیخواستید).
- قدرت و اعتبار (Link Equity) شما بین چند URL پخش میشه و این روی رتبهبندی شما تأثیر منفی میذاره.
چرا این اتفاق میافتد؟ (دلایل رایج)
این مشکل زمانی پیش میاد که یک محتوای واحد، از طریق چند آدرس مختلف در دسترسه. دلایل رایجش ایناست:
- ۱. پروتکلهای مختلف (HTTP و HTTPS):
- http://yoursite.com/page
- https://yoursite.com/page (از نظر گوگل این دو آدرس مجزا هستن)
- ۲. نسخههای WWW و non-WWW:
- https://www.yoursite.com/page
- https://yoursite.com/page (اینها هم دو URL متفاوت محسوب میشن)
- ۳. پارامترهای URL (Query Strings):
- این مورد خیلی شایعه. مثلاً برای ردیابی کمپینها (UTM)، فیلتر کردن محصولات، یا مرتبسازی.
- …/product-category (نسخه اصلی)
- …/product-category?sort=price (نسخه تکراری)
- …/product-category?source=email (نسخه تکراری)
- ۴. اسلش انتهایی (Trailing Slash):
- بسته به تنظیمات سرور شما، ممکنه هر دو نسخه در دسترس باشن:
- …/my-article
- …/my-article/
- ۵. نسخههای چاپی (Print Versions):
- گاهی سایتها نسخهی مخصوص پرینت از یک صفحه میسازن که محتواش یکسانه.
- …/my-article
- …/my-article?print=true
- ۶. صفحات AMP یا نسخههای موبایل مجزا (m-dot):
- اگر نسخهی AMP یا نسخهی موبایل (m.yoursite.com) داشته باشید و تگ کنونیکال به درستی به نسخهی دسکتاپ (اصلی) اشاره نکنه.
چگونه آن را برطرف کنیم؟ (راه حل)
راه حل اصلی اینه که خیلی واضح به گوگل اعلام کنیم که از بین این چند نسخه، کدوم یکی «رئیس» یا «نسخه اصلی» هست.
- استفاده از تگ rel=”canonical” (راه حل اصلی):
- این بهترین و مستقیمترین راهه. شما باید در بخش <head> HTML تمام نسخههای تکراری (و حتی خود صفحهی اصلی)، یک تگ کنونیکال اضافه کنید که به آدرس نسخهی اصلی اشاره میکنه.
- مثال: فرض کنید آدرس اصلی شما https://yoursite.com/page هست.
- در سورس صفحهی …/page?sort=price و …/page?source=email (و حتی خود …/page) باید این تگ وجود داشته باشه: <link rel=”canonical” href=”https://yoursite.com/page” />
- در وردپرس: افزونههای سئو (مثل Rank Math یا Yoast) این کار رو خیلی راحت انجام میدن. هم به صورت خودکار برای کل سایت (کنونیکال به خود صفحه یا Self-referencing canonical) و هم به صورت دستی میتونید در بخش پیشرفتهی تنظیمات سئوی هر صفحه، URL کنونیکال دلخواه رو وارد کنید.
- استفاده از ریدایرکت 301 (برای موارد سیستمی):
- برای مشکلاتی مثل HTTP به HTTPS یا WWW به non-WWW، بهترین راه حل «ریدایرکت ۳۰۱» (انتقال دائمی) هست.
- شما باید سرور خودتون رو طوری تنظیم کنید (معمولاً از طریق فایل .htaccess یا تنظیمات هاستینگ) که تمام درخواستها برای نسخههای فرعی (مثلاً HTTP یا WWW) به صورت خودکار به نسخهی اصلی (HTTPS و non-WWW) منتقل بشن.
- این کار تمام اعتبار و لینکها رو در یک آدرس واحد جمع میکنه و از کنونیکال هم قویتر عمل میکنه.
- اصلاح لینکدهی داخلی:
- مطمئن بشید که در منوها، فوتر و محتوای داخلی سایتتون، همیشه به نسخهی اصلی و کنونیکال صفحات لینک میدید.
- مثلاً اگر نسخهی اصلی شما بدون www هست، در منو به آدرس www دار لینک ندید. این کار گوگل رو گیج میکنه.
قدم نهایی: اعتبارسنجی (Validate Fix)
بعد از اینکه مطمئن شدید تگهای کنونیکال رو درست تنظیم کردید یا ریدایرکتها رو انجام دادید، به سرچ کنسول برگردید. میتونید یکی از URLهای مشکلدار رو با URL Inspection تست کنید (Live Test) تا ببینید آیا گوگل تگ کنونیکالی که شما مشخص کردید (User-declared canonical) رو میشناسه یا نه. سپس در گزارش اصلی، روی دکمه “Validate Fix” کلیک کنید تا گوگل مجدداً این صفحات رو بررسی کنه.
جمعبندی خطای Duplicate without canonical
پس به زبان ساده، خطای “Duplicate without user-selected canonical” یک هشدار جدی یا جریمه نیست، بلکه یک «فرصت بهینهسازی» عالی است.
گوگل از ما میخواهد که تکلیف صفحات تکراری را مشخص کنیم تا سردرگم نشود. با استفاده درست از ریدایرکت ۳۰۱ برای مشکلات ساختاری (مثل HTTP/WWW) و تگ کنونیکال برای پارامترها و نسخههای فرعی، ما کنترل کامل ایندکس صفحاتمان را به دست میگیریم. این کار به گوگل کمک میکند تا تمام اعتبار و سیگنالهای مثبت را روی یک URL واحد متمرکز کند و این دقیقاً همان چیزی است که به رشد سئوی ما کمک میکند.