robotstxt | راهنمای کامل بررسی و بهینه سازی برای سئو

robotstxt | راهنمای کامل بررسی و بهینه سازی برای سئو

بررسی و بهینه سازی فایل robotstxt

فایل robots.txt یک فایل متنی کوچک اما فوق العاده مهم در ریشه سایت شماست که به موتورهای جستجو مثل گوگل می گوید کدام قسمت های سایتتان را بخوانند (خزش کنند) و کدام قسمت ها را نادیده بگیرند. بهینه سازی این فایل به شما کمک می کند تا بودجه خزش (Crawl Budget) سایتتان را مدیریت کنید، صفحات کم اهمیت یا خصوصی را از نتایج جستجو دور نگه دارید و در نهایت، سئوی فنی سایتتان را حسابی تقویت کنید.

تصور کنید وب سایت شما یک خونه بزرگه که کلی اتاق و راهرو داره. ربات های گوگل هم مثل مهمون هایی هستن که می خوان بیان خونه شما رو بگردن. فایل robots.txt دقیقاً نقش دربان این خونه رو بازی می کنه؛ به مهمون ها میگه کجاها می تونن برن و کجاها نباید سرک بکشن. با مدیریت درست این فایل، شما به گوگل و بقیه موتورهای جستجو نشون می دید که کدوم بخش های سایتتون مهم تره و باید بیشتر بهشون توجه بشه، و کدوم قسمت ها اصلاً نیازی به دیده شدن ندارن. این کار نه تنها به سئوی سایتتون کمک می کنه، بلکه باعث میشه ربات ها وقتشون رو صرف خزش صفحات بی اهمیت نکنن و انرژی شون رو روی محتوای با ارزش شما بذارن.

خب، چرا این فایل انقدر مهمه؟ چون به شما کمک می کنه تا بودجه خزش (Crawl Budget) رو بهینه کنید. بودجه خزش یعنی چی؟ یعنی موتورهای جستجو برای هر سایت یه مقدار مشخصی زمان و منابع برای خزش اختصاص میدن. اگه سایت شما کلی صفحه بی اهمیت مثل صفحات مدیریتی، نتایج جستجوی داخلی یا صفحات فیلتر شده داشته باشه، ربات ها مجبور میشن وقتشون رو روی اونا تلف کنن و ممکنه به صفحات اصلی و مهم شما دیرتر برسن. اما با یه robots.txt بهینه، می تونید جلوی این اتلاف انرژی رو بگیرید و ربات ها رو مستقیم بفرستید سراغ محتوای ناب شما.

همچنین، با این فایل می تونید جلوی ایندکس شدن محتوای خصوصی یا تکراری رو بگیرید. مثلاً صفحات لاگین، پنل مدیریت وردپرس، یا حتی فایل های قالب و افزونه ها که اصلاً نباید تو گوگل دیده بشن. پس بریم با هم ببینیم این فایل جادویی چی هست، چطوری کار می کنه و چطور می تونیم حسابی بهینه اش کنیم تا سئوی سایت شما از همیشه بهتر بشه. این راهنما بهتون کمک می کنه تا تمام ابهاماتتون درباره robots.txt برطرف بشه و با خیال راحت سایتتون رو مدیریت کنید.

robots.txt چیست و چگونه کار می کند؟

اول از همه، بیاید با مفهوم خود robots.txt آشنا بشیم. همونطور که گفتیم، این یه فایل متنی ساده است، نه یه برنامه پیچیده! هدف اصلیش اینه که با ربات های موتور جستجو حرف بزنه. ربات ها هم موجودات باهوشی هستن که قبل از اینکه شروع به گشت و گذار توی سایت شما کنن، اول میان سراغ این فایل. دقیقاً مثل این می مونه که قبل از ورود به یه ساختمون، اول تابلوهای راهنما رو بخونن.

موقعیت این فایل همیشه باید تو ریشه (root) سایت شما باشه. یعنی اگه آدرس سایتتون yourdomain.com هست، آدرس robots.txt شما هم باید دقیقاً yourdomain.com/robots.txt باشه. این یک قانون بین المللیه که همه ربات ها هم بهش احترام می ذارن. اگه این فایل رو پیدا نکنن، فرض می کنن که هیچ محدودیتی ندارید و هرجا خواستن می تونن سرک بکشن، که گاهی اوقات اصلاً خوب نیست.

نحوه کارش هم خیلی ساده است: شما تو این فایل، دستوراتی رو برای ربات ها می نویسید. مثلاً بهشون می گید گوگل بات، تو اجازه نداری بری تو این پوشه یا بینگ بات، این نقشه سایت منه، بیا از اینجا شروع کن به گشتن. این دستورات باعث میشه ربات ها هوشمندانه و هدفمندتر سایت شما رو خزش کنن و وقت و انرژی خودشون (و منابع سرور شما) رو هدر ندن.

اجزای کلیدی فایل robots.txt و دستورالعمل های آن

هر فایل robots.txt از چندتا دستور اصلی تشکیل شده که برای صحبت با ربات ها ازشون استفاده می کنیم. بیاین دونه دونه این دستورات رو با هم بررسی کنیم:

User-agent: معرفی ربات ها

این دستور مشخص می کنه که دستورات بعدی برای کدوم ربات موتور جستجو کاربرد داره. هر ربات موتور جستجو یه اسم خاص داره:

  • User-agent: Googlebot: برای ربات اصلی گوگل.
  • User-agent: Bingbot: برای ربات مایکروسافت بینگ.
  • User-agent: *: این علامت ستاره یعنی برای همه ربات ها. اگه می خواید یه دستور برای همه موتورهای جستجو اعمال بشه، از این استفاده کنید. (البته گوگل توصیه می کنه برای دستورات مهم، Googlebot رو جداگانه بنویسید تا مطمئن بشید).

می تونید چندین User-agent تو فایل داشته باشید و برای هر کدوم، مجموعه ای از دستورات رو بنویسید.

Disallow: مسدود کردن دسترسی

این دستور خیلی مهمه و احتمالاً بیشتر از همه باهاش سروکار خواهید داشت. Disallow به ربات میگه که به این مسیر یا فایل دسترسی پیدا نکن. یعنی ربات اصلاً اون صفحه رو نمی بینه و خزشی روی اون انجام نمیده.

نحوه نگارشش اینطوریه:


User-agent: *
Disallow: /wp-admin/
Disallow: /wp-content/plugins/
Disallow: /private/secret-page.html
Disallow: /
  • Disallow: /wp-admin/: ربات ها رو از ورود به پوشه مدیریت وردپرس منع می کنه.
  • Disallow: /wp-content/plugins/: ربات ها رو از خزش پوشه های افزونه ها منع می کنه.
  • Disallow: /private/secret-page.html: یه صفحه خاص رو مسدود می کنه.
  • Disallow: /: (خیلی مراقب باشید!) این دستور کل سایت شما رو از دید همه ربات ها مخفی می کنه. اگه این رو بنویسید، سایت شما از نتایج جستجو حذف میشه! معمولاً فقط زمانی ازش استفاده میشه که می خواید سایت رو برای مدت کوتاهی از دسترس موتورهای جستجو خارج کنید.

Allow: اجازه دادن به ربات

گاهی وقتا پیش میاد که شما یه دایرکتوری بزرگ رو با Disallow مسدود می کنید، اما می خواید یه بخش کوچیک از همون دایرکتوری، قابل خزش باشه. اینجا Allow به کار میاد.

مثلاً، شما کل پوشه /wp-admin/ رو مسدود می کنید، اما بعضی فایل ها مثل admin-ajax.php هستن که برای کارکرد صحیح سایت لازمه ربات ها بهشون دسترسی داشته باشن. اینجا می تونید از Allow استفاده کنید:


User-agent: *
Disallow: /wp-admin/
Allow: /wp-admin/admin-ajax.php

با این دستور، ربات ها به کل پوشه /wp-admin/ دسترسی ندارن، اما فایل admin-ajax.php رو می تونن خزش کنن.

Sitemap: معرفی نقشه سایت

این دستور اصلاً مربوط به مسدود کردن نیست، بلکه یه راهنمایی دوستانه به ربات هاست. با Sitemap می تونید آدرس نقشه XML سایتتون رو به ربات ها بدید تا صفحات جدید یا به روزرسانی شده شما رو راحت تر پیدا کنن. این کار به کشف بهتر صفحات سایتتون توسط موتورهای جستجو حسابی کمک می کنه.


User-agent: *
Disallow: /wp-admin/
Allow: /wp-admin/admin-ajax.php

Sitemap: https://yourdomain.com/sitemap_index.xml

همیشه سعی کنید آدرس اصلی سایت مپتون رو اینجا قرار بدید. اگه از افزونه های سئو مثل Yoast SEO یا Rank Math استفاده می کنید، معمولاً آدرس سایت مپ شما به شکل sitemap_index.xml هست.

Crawl-delay (وضعیت فعلی)

قبلاً دستوری به اسم Crawl-delay وجود داشت که به ربات ها می گفت بین هر خزش، چقدر مکث کنن تا سرور شما تحت فشار قرار نگیره. اما گوگل رسماً اعلام کرده که دیگه از این دستور پشتیبانی نمی کنه و اون رو نادیده می گیره. با این حال، بعضی از موتورهای جستجوی دیگه ممکنه هنوز ازش استفاده کنن. بهتره تمرکزمون رو روی دستورات اصلی بذاریم.

استفاده از Wildcard ها (* و $)

این دو علامت به شما اجازه میدن تا دستوراتتون رو انعطاف پذیرتر بنویسید:

  • * (ستاره): به معنی هر چیزی. می تونه جایگزین هر رشته کاراکتری باشه.
    
    User-agent: *
    Disallow: /wp-content/cache/*
    

    این دستور ربات ها رو از خزش هر چیزی که داخل پوشه cache هست، منع می کنه. یا:

    
    User-agent: *
    Disallow: /*?s=*
    

    این دستور ربات ها رو از خزش تمام URLهایی که دارای پارامتر s= (معمولاً نتایج جستجوی داخلی) هستن، منع می کنه.

  • $ (علامت دلار): به معنی پایان URL. وقتی می خواید دستور فقط روی پایان یک آدرس اعمال بشه، از این علامت استفاده می کنید.
    
    User-agent: *
    Disallow: /*/feed/$
    

    این دستور ربات ها رو از خزش تمام آدرس هایی که به /feed/ ختم میشن (مثل فید RSS دسته ها یا پست ها) منع می کنه، اما اگه یه آدرس دیگه بعد از /feed/ داشته باشید، اون رو مسدود نمی کنه.

چرا robots.txt برای سئوی شما حیاتی است؟

شاید فکر کنید خب، یه فایل متنی کوچیک مگه چقدر می تونه تو سئو تاثیر داشته باشه؟. اما باید بگم تاثیرش خیلی بیشتر از اونیه که فکر می کنید! robots.txt نقش یه محافظ و راهنمای هوشمند رو برای سایت شما بازی می کنه که اگه درست تنظیم بشه، می تونه کلی به پیشرفت سئوتون کمک کنه.

مدیریت بهینه بودجه خزش (Crawl Budget Optimization)

یکی از مهم ترین دلایل اهمیت robots.txt، همین بودجه خزشه. فکر کنید ربات های گوگل یه مقدار مشخصی انرژی دارن که هر روز صرف خزش سایت ها می کنن. برای سایت شما هم یه سهمیه انرژی دارن. اگه سایت شما هزاران صفحه کم اهمیت مثل صفحات تگ های بی ارزش، آرشیوهای تاریخ، نتایج جستجوی داخلی، صفحات مدیریت و … داشته باشه، ربات ها مجبور میشن این انرژی رو روی اونا هدر بدن. نتیجه چی میشه؟ ممکنه به صفحات اصلی و مهم شما (که واقعاً دوست دارید تو گوگل رتبه بگیرن) دیرتر برسن یا اصلاً نرَسَن!

با استفاده از robots.txt، شما می تونید به ربات ها بگید که آقای ربات، لطفاً این قسمت ها رو بیخیال شو، برو سراغ اون مطالب ناب و کاربردی من. این کار باعث میشه ربات ها هوشمندانه تر عمل کنن و انرژی شون رو روی محتوای با ارزش شما متمرکز کنن. این یعنی:

  • افزایش سرعت ایندکس شدن صفحات مهم: وقتی ربات ها وقتشون رو روی آشغال های سایت هدر نمیدن، سریع تر به صفحات اصلی شما می رسن و اونا رو ایندکس می کنن.
  • کاهش فشار روی سرور: خزش زیاد ربات ها می تونه منابع سرور شما رو مصرف کنه. با مسدود کردن مسیرهای غیرضروری، این فشار رو کاهش میدید.
  • تمرکز بیشتر بر محتوای هدف: گوگل صفحات رو بر اساس اهمیت و تازگی خزش می کنه. با راهنمایی درست، به گوگل کمک می کنید تا محتوای مورد نظر شما رو زودتر پیدا و رتبه بندی کنه.

جلوگیری از ایندکس شدن محتوای نامربوط یا خصوصی

دومین دلیل حیاتی برای استفاده از robots.txt اینه که از دیده شدن یه سری محتوا تو نتایج جستجو جلوگیری کنید. این محتواها می تونن شامل موارد زیر باشن:

  • صفحات مدیریتی: مثل پنل /wp-admin/ در وردپرس، که ورود ربات ها به این صفحات نه تنها فایده ای نداره، بلکه ممکنه مشکلات امنیتی هم ایجاد کنه.
  • پوشه های افزونه ها و تم ها: فایل های داخل پوشه های /wp-content/plugins/ و /wp-content/themes/ فایل های کد هستن و اصلاً نباید تو نتایج گوگل دیده بشن.
  • صفحات تکراری (Duplicate Content): گاهی اوقات وردپرس به صورت خودکار برای آرشیوهای تاریخ، نویسنده، تگ های کم ارزش یا صفحات فیلتر شده، URLهای جداگانه می سازه که محتوای تکراری یا خیلی مشابهی دارن. این صفحات می تونن به سئوی شما آسیب بزنن. با Disallow می تونید جلوی خزش و ایندکس شدن این صفحات رو بگیرید.
  • نتایج جستجوی داخلی سایت: وقتی کاربری داخل سایت شما جستجو می کنه، یه صفحه با نتایج جستجو نمایش داده میشه. این صفحات معمولاً با پارامتر ?s= تو URL مشخص میشن و نیازی نیست گوگل اونا رو ایندکس کنه.
  • مسیرهای حاوی اطلاعات حساس: اگه فایل هایی دارید که حاوی اطلاعات مهم یا خصوصی هستن (مثلاً یه فایل PDF داخلی شرکت)، می تونید با robots.txt جلوی خزش اونا رو بگیرید. البته باید تاکید کنم که robots.txt یه ابزار امنیتی نیست! اگه کسی آدرس دقیق فایل رو بدونه، باز هم می تونه بهش دسترسی پیدا کنه. برای امنیت واقعی باید از روش های دیگه مثل رمزگذاری استفاده کنید.

بهبود سرعت و کارایی خزش

وقتی ربات ها وقتشون رو صرف خزش مسیرهای غیرضروری نمی کنن، اتفاق خوبی میفته: می تونن صفحات اصلی سایت شما رو سریع تر پیدا کنن، سریع تر ایندکس کنن و این یعنی احتمال رتبه بندی بهتر برای شما. این موضوع به خصوص برای سایت های بزرگ با محتوای زیاد اهمیت بیشتری پیدا می کنه. یه robots.txt خوب، مثل یه نقشه راه دقیق برای ربات هاست که بهشون کمک می کنه بدون اتلاف وقت، مهم ترین نقاط سایت شما رو کشف کنن و به گوگل معرفی کنن.

تفاوت حیاتی Disallow و Noindex (رفع سوءتفاهم رایج)

یکی از بزرگترین سوءتفاهم ها بین وبمسترها و متخصصان سئو، تفاوت بین Disallow در فایل robots.txt و متاتگ Noindex هست. خیلی ها فکر می کنن که اگه یه صفحه رو با Disallow مسدود کنن، دیگه اون صفحه تو گوگل ایندکس نمیشه، در حالی که اینطور نیست و این اشتباه می تونه حسابی به سئوی سایتتون لطمه بزنه. بیاین با هم این تفاوت مهم رو بررسی کنیم:

Disallow: مانع از خزش (Crawling) می شود

وقتی شما یه مسیر یا صفحه رو با دستور Disallow تو robots.txt مسدود می کنید، در واقع دارید به ربات ها میگید حق ندارید وارد این مسیر بشید و محتوای این صفحات رو ببینید. یعنی ربات ها اصلاً نمی تونن به اون صفحه برسن و محتوای اون رو بخونن.

  • توضیح: ربات ها حتی نمی توانند محتوای صفحه را ببینند و پردازش کنند. مثل این می مونه که دربان جلوی مهمان رو بگیره و اصلاً اجازه ورود نده.
  • سناریوهای مناسب استفاده: این دستور برای مسدود کردن مسیرهای مدیریتی (/wp-admin/)، پوشه های حاوی فایل های سیستمی افزونه ها یا تم ها (/wp-content/plugins/، /wp-includes/)، یا هر فایلی که اصلاً نیازی به خزش نداره (مثل فایل های موقت یا کش) عالیه.

Noindex (متاتگ یا X-Robots-Tag HTTP header): مانع از ایندکس شدن (Indexing) می شود

در مقابل Disallow، دستور Noindex اصلاً تو فایل robots.txt نوشته نمیشه. این دستور یا به صورت یک متاتگ تو بخش <head> صفحه قرار می گیره (<meta name=robots content=noindex>) یا به صورت یک X-Robots-Tag در هدر HTTP صفحه ارسال میشه. کاری که Noindex می کنه اینه که به ربات ها میگه باشه، این صفحه رو خزش کن، محتواش رو ببین، اما لطفاً اون رو تو نتایج جستجو نشون نده.

  • توضیح: ربات ها می توانند صفحه را خزش کنند و محتوایش را بخوانند، اما دستور دارند آن را در نتایج جستجو نمایش ندهند. مثل این می مونه که مهمان وارد خونه بشه، همه جا رو بگرده، اما ازش خواسته بشه که هیچ عکسی از داخل خونه منتشر نکنه.
  • سناریوهای مناسب استفاده: این دستور برای صفحاتی با محتوای کم ارزش، صفحات فیلتر شده، صفحات لاگین، آرشیوهای کم اهمیت (که نمی خواید تو گوگل دیده بشن اما باید خزش بشن تا لینک های داخلیشون دنبال بشه) یا صفحات تشکر بعد از خرید عالیه.

چرا Disallow به تنهایی برای جلوگیری از ایندکس کافی نیست؟

حالا می رسیم به قسمت مهم ماجرا. فرض کنید شما یه صفحه رو با Disallow مسدود کردید. ربات های گوگل دیگه نمی تونن محتوای اون صفحه رو ببینن، درسته؟ اما اگه لینک های زیادی به اون صفحه از سایت های دیگه یا حتی از داخل خود سایت شما وجود داشته باشه، گوگل ممکنه با اینکه نتونسته صفحه رو خزش کنه، همچنان اون رو تو نتایج جستجو نشون بده! در این حالت، شما تو سرچ کنسول با پیامی شبیه Indexed, though blocked by robots.txt روبرو میشید. یعنی گوگل فهمیده این صفحه وجود داره (چون لینک بهش پیدا کرده)، اما نتونسته محتواش رو بخونه، پس ممکنه فقط عنوان و یه توضیح کلی (که خودش حدس زده) رو تو نتایج نشون بده. این وضعیت برای سئوی شما خوب نیست.

یک نکته مهم: اگه صفحه ای رو با Disallow مسدود کنید ولی لینک های زیادی به اون صفحه از جاهای مختلف وجود داشته باشه، گوگل ممکنه اون رو با عنوان Indexed, though blocked by robots.txt ایندکس کنه. برای جلوگیری کامل از ایندکس شدن، حتماً از Noindex استفاده کنید.

پس بهترین راهکار برای جلوگیری کامل و مطمئن از ایندکس شدن یک صفحه چیه؟

  • اگر می خواهید صفحه خزش شود اما ایندکس نشود: فقط از Noindex (به صورت متاتگ یا X-Robots-Tag) استفاده کنید.
  • اگر می خواهید صفحه نه خزش شود و نه ایندکس شود: در حالت ایده آل، ابتدا با Noindex جلوی ایندکس شدن رو بگیرید و بعد (اگه واقعاً نیازی به خزش نیست و می خواید بودجه خزش ذخیره بشه) با Disallow جلوی خزش رو بگیرید. البته باید دقت کنید که اگه با Disallow جلوی خزش رو بگیرید، ربات دیگه متاتگ Noindex رو نمی بینه! پس اگه صفحه قبلاً ایندکس شده، اول باید اجازه خزش بدید تا ربات Noindex رو ببینه و صفحه رو از نتایج حذف کنه، بعد می تونید Disallow رو اعمال کنید.

برای صفحاتی که محتوای کاملاً بی ارزش یا تکراری دارن و نمی خواید ربات ها اصلاً بهشون دست بزنن، ترکیب این دو می تونه مفید باشه. ولی برای اکثر موارد، Noindex به تنهایی کافیه و حتی بهتر عمل می کنه چون ربات ها می تونن لینک های داخلی رو دنبال کنن.

ویژگی Disallow (در robots.txt) Noindex (متاتگ یا X-Robots-Tag)
محل استفاده فایل robots.txt داخل کد HTML صفحه (تگ <meta>) یا هدر HTTP
هدف اصلی منع کردن ربات از خزش (Crawling) منع کردن ربات از ایندکس (Indexing)
ربات محتوا را می بیند؟ خیر، ربات اصلاً به صفحه دسترسی پیدا نمی کند. بله، ربات محتوا را خزش و می بیند.
از نتایج جستجو حذف می شود؟ لزوماً خیر؛ اگر لینک های زیادی به آن باشد، ممکن است با Indexed, though blocked by robots.txt ایندکس شود. بله، صفحه به طور کامل از نتایج جستجو حذف می شود.
تاثیر بر لینک جویس (Link Juice) ممکن است جلوی انتقال لینک جویس را بگیرد (لینک ها دیده نمی شوند). لینک جویس از طریق لینک های داخلی صفحه منتقل می شود.
بهترین سناریو مسدود کردن مسیرهای مدیریتی، فایل های سیستمی، پوشه های کش. مسدود کردن صفحات با محتوای کم ارزش، صفحات فیلتر، آرشیوهای خاص.

ساخت و بهینه سازی فایل robots.txt (عملی)

حالا که خوب فهمیدیم robots.txt چیه و چرا اینقدر برای سئوی سایت شما مهمه، وقتشه که بریم سراغ بخش عملی کار. یعنی چطور یه robots.txt بهینه و کارآمد برای سایتتون بسازید یا ویرایشش کنید.

آیا سایت شما به robots.txt نیاز دارد؟ (پاسخ قاطع: بله!)

شاید بعضی ها بگن اگه سایت من کوچیکه و تازه راه افتاده، نیازی به این فایل ندارم. بذارید خیالتون رو راحت کنم: بله، هر سایتی، چه کوچک و چه بزرگ، به فایل robots.txt نیاز داره. حتی اگه هیچ صفحه ای برای مسدود کردن نداشته باشید، وجود این فایل (حتی یه فایل خالی) به ربات ها میگه که شما آگاهانه هیچ محدودیتی اعمال نکردید و همین، خودش یک سیگنال مثبته.

برای سایت های کوچک، شاید تاثیرش در لحظه کمتر به چشم بیاد، اما با رشد سایت و اضافه شدن محتوا و امکانات، robots.txt تبدیل به یک ابزار ضروری برای مدیریت بهینه بودجه خزش و جلوگیری از مشکلات سئویی میشه. پس ساختن و بهینه سازی اون رو همین الان تو برنامه تون بذارید.

چگونه یک فایل robots.txt بهینه و ایده آل بسازیم؟

خب، بیاید ببینیم یه robots.txt خوب برای یه سایت وردپرسی چه شکلیه و چرا این دستورات رو توش می نویسیم. این مثالی که می بینید، یک robots.txt نسبتاً جامع و بهینه برای اکثر سایت های وردپرسیه. هر خط رو با هم بررسی می کنیم:


User-agent: *
Disallow: /wp-admin/
Allow: /wp-admin/admin-ajax.php
Disallow: /wp-includes/
Disallow: /wp-content/plugins/
Disallow: /wp-content/cache/
Disallow: /wp-content/themes/*.css?ver=*
Disallow: /wp-content/themes/*.js?ver=*
Disallow: /wp-content/themes/*.min.css
Disallow: /wp-content/themes/*.min.js
Disallow: /readme.html
Disallow: /*?s=*
Disallow: /*/feed/$
Disallow: /*/comments/feed/$
Disallow: /tag/
Disallow: /category/*/page/
Disallow: /author/
Disallow: /comments/
Allow: /wp-content/uploads/

Sitemap: https://yourdomain.com/sitemap_index.xml

بیاین خط به خط این کد رو بررسی کنیم تا بفهمیم چی به چیه:

  • User-agent: *: به همه ربات های موتور جستجو میگه که این دستورات برای همه شون کاربرد داره.
  • Disallow: /wp-admin/: پوشه مدیریت وردپرس رو مسدود می کنه. ربات ها نباید به این قسمت دسترسی پیدا کنن، چون محتوای اون برای کاربران نهایی نیست و امنیتیه.
  • Allow: /wp-admin/admin-ajax.php: این خط خیلی مهمه! با اینکه کل /wp-admin/ رو مسدود کردیم، اما فایل admin-ajax.php برای عملکرد خیلی از افزونه ها و قابلیت های وردپرس (مثل لود شدن محتوا بدون رفرش صفحه) ضروریه. اگه اینو اجازه ندید، ممکنه سایتتون از نظر عملکردی دچار مشکل بشه و ربات ها نتونن بعضی عناصر مهم رو ببینن.
  • Disallow: /wp-includes/: پوشه wp-includes حاوی فایل های اصلی وردپرسه. نیازی به خزش و ایندکس این فایل ها نیست.
  • Disallow: /wp-content/plugins/: پوشه افزونه ها رو مسدود می کنه. فایل های افزونه ها کد هستن و نباید تو نتایج جستجو دیده بشن.
  • Disallow: /wp-content/cache/: اگه از افزونه های کش استفاده می کنید، ممکنه فایل های کش زیادی تولید بشه. این فایل ها تکراری و بی ارزش هستن و باید مسدود بشن.
  • Disallow: /wp-content/themes/*.css?ver=* و خطوط مشابه برای .js، .min.css، .min.js: این دستورات برای مسدود کردن فایل های CSS و JS قالب هستن که ممکنه با پارامتر ?ver= یا با پسوند .min تولید بشن. هدف از این کار، جلوگیری از خزش URLهای تکراری و بی ارزش و کمک به ذخیره بودجه خزشه.
  • Disallow: /readme.html: فایل readme.html یه فایل اطلاعاتی از وردپرسه که تو ریشه سایت قرار داره و نیازی به ایندکس شدنش نیست.
  • Disallow: /*?s=*: نتایج جستجوی داخلی سایت رو مسدود می کنه. این صفحات معمولاً با پارامتر ?s= تو URL مشخص میشن.
  • Disallow: /*/feed/$ و Disallow: /*/comments/feed/$: فیدهای RSS سایت و فید نظرات رو مسدود می کنه. اگه از فید استفاده نمی کنید یا نمی خواید ایندکس بشن، می تونید این کار رو انجام بدید.
  • Disallow: /tag/: تمام صفحات تگ ها رو مسدود می کنه. صفحات تگ ها (به خصوص تگ های کم ارزش) اغلب محتوای تکراری تولید می کنن و بهتره ایندکس نشن.
  • Disallow: /category/*/page/: صفحات پِیجینیشن (صفحات بعدی) دسته بندی ها رو مسدود می کنه. صفحه اول دسته بندی مهمه، اما صفحات بعدی معمولاً تکراری محسوب میشن.
  • Disallow: /author/: صفحات نویسنده رو مسدود می کنه. این صفحات هم ممکنه محتوای تکراری با آرشیو بلاگ داشته باشن.
  • Disallow: /comments/: صفحات نظرات رو مسدود می کنه (اگه از سیستم نظرات خاصی استفاده می کنید).
  • Allow: /wp-content/uploads/: این خط میگه که ربات ها مجاز به خزش پوشه آپلودها هستن. این برای اینه که تصاویر و فایل های رسانه ای شما که تو این پوشه هستن، تو نتایج جستجوی تصاویر گوگل (Google Images) دیده بشن و ایندکس بشن.
  • Sitemap: https://yourdomain.com/sitemap_index.xml: آدرس نقشه سایت XML شما رو به ربات ها معرفی می کنه. یادتون باشه آدرس سایت مپ واقعی سایت خودتون رو اینجا بذارید.

مثال های اضافی برای سایت های فروشگاهی

اگه سایت فروشگاهی دارید، ممکنه نیاز باشه دستورات بیشتری رو اضافه کنید تا جلوی خزش صفحات فیلتر، مرتب سازی، سبد خرید و مراحل پرداخت رو بگیرید. این صفحات معمولاً پارامترهای زیادی تو URL دارن و می تونن بودجه خزش شما رو هدر بدن:


# ... (کدهای بالا) ...

Disallow: /*?orderby=*
Disallow: /*?filter_*=*
Disallow: /*?price=*
Disallow: /*?min_price=*
Disallow: /*?max_price=*
Disallow: /cart/
Disallow: /checkout/
Disallow: /my-account/

روش های ایجاد و ویرایش فایل robots.txt

حالا که کد بهینه رو داریم، چطور این فایل رو بسازیم یا ویرایش کنیم؟ دو روش اصلی وجود داره:

روش دستی (از طریق هاست/cPanel/FTP)

این مطمئن ترین و مستقیم ترین روشه و بهتون کنترل کامل میده:

  1. وارد هاست خود شوید: از طریق پنل cPanel، دایرکت ادمین یا هر پنل مدیریت هاست دیگه ای که دارید، وارد حساب کاربری تون بشید.
  2. به File Manager بروید: دنبال گزینه File Manager یا مدیریت فایل بگردید و واردش بشید.
  3. پوشه ریشه (Root Directory) سایت رو پیدا کنید: این پوشه معمولاً public_html یا www نام داره. اگه سایت شما یه ساب دامین یا یه پوشه دیگه (مثلاً yourdomain.com/blog) هست، فایل robots.txt باید تو ریشه همون ساب دامین یا پوشه قرار بگیره.
  4. وجود فایل robots.txt رو بررسی کنید: اول ببینید آیا از قبل فایلی به اسم robots.txt وجود داره یا نه.
    • اگه وجود داشت: روش راست کلیک کنید و گزینه Edit یا ویرایش رو انتخاب کنید. محتوای فعلی رو ببینید و با کدهای بهینه بالا جایگزین یا اصلاح کنید.
    • اگه وجود نداشت: روی گزینه New File یا ایجاد فایل جدید کلیک کنید و اسم فایل رو دقیقاً robots.txt بذارید. بعد فایل رو باز کنید و کدهای بهینه رو توش کپی کنید.
  5. ذخیره کنید: بعد از اعمال تغییرات، حتماً فایل رو Save Changes یا ذخیره کنید.

نکته مهم: اگه از FTP استفاده می کنید، فایل رو اول تو کامپیوترتون (با یه ویرایشگر متنی ساده مثل Notepad) بسازید و کدها رو توش بذارید، بعد آپلودش کنید تو پوشه ریشه سایت.

روش با استفاده از افزونه های سئو (Yoast SEO, Rank Math)

اگه سایتتون وردپرسیه، افزونه های سئو مثل Yoast SEO یا Rank Math یه ابزار داخلی برای ویرایش فایل robots.txt دارن که کار رو آسون تر می کنه:

  • در Yoast SEO:
    1. وارد پیشخوان وردپرس بشید.
    2. از منوی سمت چپ، روی سئو (Yoast SEO) کلیک کنید.
    3. به بخش ابزارها (Tools) برید.
    4. گزینه ویرایشگر فایل (File editor) رو انتخاب کنید.
    5. اگه فایل robots.txt وجود داشته باشه، می تونید محتواش رو ببینید و ویرایش کنید. اگه وجود نداشته باشه، افزونه بهتون اجازه میده یه فایل جدید بسازید.
    6. کدهای بهینه رو کپی و تو کادر مربوطه جایگذاری کنید و ذخیره کنید.
  • در Rank Math:
    1. وارد پیشخوان وردپرس بشید.
    2. از منوی سمت چپ، روی Rank Math کلیک کنید.
    3. به بخش تنظیمات عمومی (General Settings) برید.
    4. گزینه ویرایش Robots.txt (Edit Robots.txt) رو انتخاب کنید.
    5. مثل Yoast، می تونید فایل رو ویرایش یا ایجاد کنید.
    6. کدهای بهینه رو وارد کنید و ذخیره کنید.

نکات مهم در استفاده از افزونه ها:

  • همیشه مطمئن بشید که فقط یکی از این روش ها رو برای ویرایش robots.txt استفاده می کنید. اگه هم دستی ویرایش کنید و هم با افزونه، ممکنه تداخل پیش بیاد.
  • بعد از هر بار ویرایش، حتماً فایل رو ذخیره کنید.

تست، عیب یابی و بهترین شیوه ها

تا اینجا یاد گرفتیم robots.txt چیست، چرا مهم است و چطور آن را بسازیم. اما کار اینجا تموم نمیشه. مثل هر چیز دیگه ای تو دنیای وب، فایل robots.txt هم ممکنه دچار مشکل بشه یا نیاز به بررسی و به روزرسانی داشته باشه. بیایید با هم ببینیم چطور می تونیم این فایل رو تست کنیم، مشکلات رایجش رو حل کنیم و بهترین شیوه ها رو برای استفاده ازش به کار بگیریم.

چگونه فایل robots.txt خود را تست کنیم؟

یکی از مهمترین مراحل بعد از ساخت یا ویرایش فایل robots.txt، تست کردن اون برای اطمینان از عملکرد صحیحشه. خوشبختانه گوگل ابزار خیلی خوبی برای این کار داره:

ابزار robots.txt Tester در Google Search Console

این ابزار، بهترین و مطمئن ترین راه برای تست فایل robots.txt شماست.

  1. وب سایتتون رو به Google Search Console معرفی کنید: اگه هنوز این کار رو نکردید، اول سایتتون رو تو سرچ کنسول ثبت و تایید کنید.
  2. وارد ابزار robots.txt Tester بشید: بعد از ورود به سرچ کنسول، از پنل سمت چپ، گزینه تنظیمات (Settings) رو انتخاب کنید و بعد روی باز کردن گزارش robots.txt (Open robots.txt report) کلیک کنید. (ممکنه تو منوی Legasy tools and reports هم این ابزار رو پیدا کنید.)
  3. فایل robots.txt فعلی سایتتون رو ببینید: این ابزار به طور خودکار فایل robots.txt فعلی سایت شما رو نمایش میده.
  4. URLهای خاص رو تست کنید: تو کادری که پایین فایل robots.txt هست، می تونید آدرس یه صفحه خاص از سایتتون رو وارد کنید و روی تست (Test) کلیک کنید.

تفسیر نتایج تست:

  • اگه زیر URL وارد شده، کلمه مجاز (Allowed) سبز رنگ رو دیدید، یعنی ربات های گوگل به اون صفحه دسترسی دارن.
  • اگه کلمه مسدود شده (Blocked) قرمز رنگ رو دیدید، یعنی ربات ها به اون صفحه دسترسی ندارن و دلیل مسدود شدن (مثلاً توسط چه دستوری) رو هم بهتون نشون میده.
  • شناسایی خطاها و هشدارها: این ابزار هر گونه خطای سینتکسی (مشکل در نگارش دستورات) یا هشدار رو هم بهتون نشون میده. اگه خطایی بود، حتماً اون رو برطرف کنید.

ابزارهای آنلاین دیگر

سایت های دیگه ای هم هستن که ابزارهای آنلاین برای تست robots.txt ارائه میدن، اما توصیه می کنم همیشه اولویت رو به ابزار خود گوگل بدید، چون دقیق ترین نتایج رو بر اساس نحوه کارکرد ربات های گوگل بهتون میده.

مشکلات رایج robots.txt و راه حل آن ها

حالا بیاید چند تا از مشکلات رایجی که ممکنه با robots.txt براتون پیش بیاد رو بررسی کنیم و راه حل هاشون رو با هم ببینیم:

  1. خطای robots.txt unreachable در سرچ کنسول:
    • دلایل: این خطا معمولاً به این معنیه که گوگل نمی تونه به فایل robots.txt شما دسترسی پیدا کنه. دلایلش می تونه مشکل تو سرور (پایین بودن سایت)، فایروال یا افزونه های امنیتی باشه که ربات ها رو بلاک می کنن، یا آدرس فایل robots.txt اشتباه باشه (مثلاً تو پوشه ریشه نباشه).
    • راه حل:
      • اول مطمئن بشید که سایتتون بالا و در دسترسه.
      • فایل robots.txt رو بررسی کنید که حتماً تو ریشه سایت (public_html) و با اسم دقیق robots.txt باشه.
      • فایروال یا افزونه های امنیتی سایتتون رو چک کنید که ربات های گوگل رو بلاک نکرده باشن.
      • تو سرچ کنسول، ابزار robots.txt Tester رو اجرا کنید تا ببینید گوگل چه خطایی رو تشخیص میده.
  2. صفحات مهم ایندکس نمی شوند:
    • دلایل: اگه صفحات مهم شما تو گوگل دیده نمیشن، ممکنه به خاطر یه Disallow اشتباه تو robots.txt باشه که جلوی خزش اون صفحات رو گرفته. یا شاید به اشتباه متاتگ Noindex رو تو اون صفحات قرار دادید.
    • راه حل:
      • با ابزار robots.txt Tester تو سرچ کنسول، آدرس اون صفحات رو تست کنید و ببینید آیا مسدود شده ان یا نه.
      • کد HTML اون صفحات رو چک کنید و ببینید متاتگ <meta name=robots content=noindex> وجود نداره.
      • اگه افزونه سئو دارید، تنظیمات مربوط به ایندکس شدن اون نوع محتوا رو بررسی کنید.
  3. صفحات غیرمهم ایندکس می شوند:
    • دلایل: اگه صفحاتی مثل نتایج جستجوی داخلی، صفحات فیلتر یا آرشیوهای کم ارزش تو گوگل ایندکس شدن، یعنی robots.txt شما به درستی اونا رو مسدود نکرده.
    • راه حل:
      • دستورات Disallow رو برای اون الگوهای URL تو فایل robots.txt اضافه یا اصلاح کنید (مثلاً Disallow: /*?s=* برای جستجوی داخلی).
      • برای اطمینان بیشتر و جلوگیری کامل از ایندکس شدن، اگه امکانش هست، متاتگ Noindex رو هم به این صفحات اضافه کنید (البته یادتون باشه اگه صفحه ای با Disallow مسدود بشه، ربات ها متاتگ Noindex رو نمی بینن. پس اول Noindex رو بذارید، بعد اگه خواستید، Disallow کنید).
  4. فایل های رسانه ای (تصاویر) ایندکس نمی شوند:
    • دلایل: اگه تصاویر سایتتون تو گوگل ایمیج دیده نمیشن، ممکنه یه Disallow اشتباه روی پوشه /wp-content/uploads/ اعمال کرده باشید.
    • راه حل: مطمئن بشید که دستور Allow: /wp-content/uploads/ تو فایل robots.txt شما وجود داره.
  5. نمایش Index of /wp-content/uploads/ در گوگل:
    • دلایل: این مشکل مربوط به پیکربندی سرور یا هاست شماست. وقتی تو یه پوشه، فایل index.php یا index.html وجود نداشته باشه، سرور به جای نمایش یه صفحه، محتویات اون پوشه رو لیست می کنه و اگه گوگل اونو خزش کنه، می تونه ایندکسش کنه.
    • راه حل: یه فایل خالی به اسم index.php (می تونه فقط شامل <?php // Silence is golden. ?> باشه) تو تمام پوشه های آپلود (مثلاً /wp-content/uploads/ و زیرپوشه های سال و ماهش) قرار بدید. این کار باعث میشه به جای لیست فایل ها، یه صفحه خالی نمایش داده بشه و گوگل دیگه اون رو ایندکس نکنه.
  6. عدم معرفی صحیح Sitemap:
    • دلایل: اگه آدرس سایت مپتون رو تو robots.txt درست وارد نکرده باشید یا اصلا وارد نکرده باشید، گوگل ممکنه دیرتر یا با مشکل اونو پیدا کنه.
    • راه حل: حتماً آدرس دقیق و کامل سایت مپ XML سایتتون رو با دستور Sitemap: https://yourdomain.com/sitemap_index.xml (آدرس واقعی سایت مپ شما) تو فایل robots.txt قرار بدید.

بهترین شیوه ها و نکات پیشرفته

برای اینکه همیشه یه robots.txt کارآمد و بدون مشکل داشته باشید، این نکات رو یادتون باشه:

  • بازبینی و به روزرسانی منظم: با هر تغییر عمده تو ساختار سایت، اضافه کردن بخش های جدید یا نصب افزونه های سنگین، یه بار فایل robots.txt رو بررسی کنید و مطمئن بشید که هنوز بهینه و درسته.
  • بررسی فایل robots.txt رقبا: گاهی اوقات نگاه کردن به فایل robots.txt سایت های بزرگ و موفق تو حوزه شما می تونه ایده های خوبی بهتون بده. البته هرگز اونا رو کورکورانه کپی نکنید، چون ساختار و نیازهای هر سایت متفاوته.
  • استفاده نکردن از robots.txt برای امنیت: اینو یادتون باشه که robots.txt یه ابزار امنیتی نیست. اگه اطلاعاتی واقعاً محرمانه است، نباید صرفاً با Disallow به پنهان کردنش اکتفا کنید. اگه کسی آدرس دقیق اون فایل رو بدونه، باز هم می تونه بهش دسترسی پیدا کنه. برای امنیت باید از رمزگذاری، احراز هویت یا محدودیت های دسترسی در سطح سرور استفاده کنید.
  • اهمیت URLهای Canonical در کنار robots.txt: برای مدیریت صفحات تکراری یا تقریباً تکراری، استفاده از تگ canonical خیلی مهمه. این تگ به گوگل میگه که کدوم نسخه از یک محتوا، نسخه اصلی و معتبره. ترکیب Disallow (برای جلوگیری از خزش صفحات بی ارزش) و canonical (برای مدیریت محتوای تکراری) می تونه خیلی قدرتمند باشه.
  • HTTPS vs HTTP برای آدرس سایت مپ: همیشه آدرس سایت مپ رو با پروتکل فعلی سایتتون (HTTPS) تو فایل robots.txt وارد کنید. اگه سایت شما HTTPS هست، آدرس سایت مپ رو هم با HTTPS بنویسید.

مدیریت فایل robots.txt شاید در نگاه اول کمی فنی به نظر بیاد، اما با درک درست مفاهیم و رعایت نکاتی که گفتیم، می تونید به یک ابزار قدرتمند برای بهبود سئوی سایتتون دست پیدا کنید.

یادمون نره: فایل robots.txt مثل یک تابلوی راهنماست که ربات های جستجو رو به بهترین مسیرهای سایت شما هدایت می کنه و مانع از ورودشون به کوچه پس کوچه های کم اهمیت میشه.

با بهینه سازی این فایل، شما به گوگل کمک می کنید تا با سرعت و دقت بیشتری محتوای ارزشمند شما رو کشف کنه، بودجه خزش رو بهینه به کار ببره و در نهایت، سایت شما رو به بهترین شکل ممکن تو نتایج جستجو نمایش بده. این یعنی افزایش بازدید، بهبود رتبه و دیده شدن بیشتر برای کسب وکار شما. پس همین الان دست به کار بشید و فایل robots.txt سایتتون رو بررسی و بهینه سازی کنید. با این کار، مطمئن باشید یه قدم بزرگ رو به جلو برداشتید!

آیا شما به دنبال کسب اطلاعات بیشتر در مورد "robotstxt | راهنمای کامل بررسی و بهینه سازی برای سئو" هستید؟ با کلیک بر روی عمومی، به دنبال مطالب مرتبط با این موضوع هستید؟ با کلیک بر روی دسته بندی های مرتبط، محتواهای دیگری را کشف کنید. همچنین، ممکن است در این دسته بندی، سریال ها، فیلم ها، کتاب ها و مقالات مفیدی نیز برای شما قرار داشته باشند. بنابراین، همین حالا برای کشف دنیای جذاب و گسترده ی محتواهای مرتبط با "robotstxt | راهنمای کامل بررسی و بهینه سازی برای سئو"، کلیک کنید.