تنظیمات پیشرفته فایل Robots.txt: راهنمای جامع بهینه سازی سئو

تنظیمات پیشرفته فایل robotstxt
تنظیمات پیشرفته فایل robots.txt
مثل فرماندهی یک ارتش کوچیکه که ربات های موتور جستجو رو راهنمایی می کنه کجا برن و کجا نرن. این فایل به شما کمک می کنه تا بودجه خزش سایت رو بهینه کنید، محتوای تکراری یا کم ارزش رو از دید ربات ها مخفی کنید و حتی امنیت بخش های خاصی از سایتتون رو بالا ببرید. اگر این فایل درست پیکربندی بشه، مثل یک نقشه راه دقیق برای ربات ها عمل می کنه و به سئوی سایتتون کمک شایانی می کنه، اما اگه اشتباهی توش رخ بده، ممکنه کل سایتتون از ایندکس گوگل حذف بشه یا به صفحات مهمتون سرکشی نشه. پس بیاید با هم قدم به قدم، به دنیای تنظیمات پیشرفته robots.txt
سفر کنیم تا سایتتون رو به بهترین شکل برای موتورهای جستجو آماده کنید.
اصلاً Robots.txt چی هست و چرا اینقدر مهمه؟
بیایید از اول شروع کنیم، حتی اگه قبلاً در موردش شنیدید، یه مرور کوچیک همیشه خوبه. فایل robots.txt
یه فایل متنی ساده است که توی پوشه اصلی سایت شما (همون Root Directory) قرار می گیره. کارش چیه؟ مثل یه نگهبان باهوش می مونه که به ربات های خزشگر موتورهای جستجو (مثل گوگل بات) میگه به کدوم بخش های سایت شما سر بزنن و به کدوم ها نه. در واقع، این فایل کنترل می کنه که ربات ها چه چیزی رو بخزند (crawl) و چه چیزی رو ایندکس (index) نکنند.
حالا چرا این فایل انقدر اهمیت داره؟ فرض کنید یه کتابخونه بزرگ دارید. robots.txt
همون فهرست راهنمای کتابخونه است که به بازدیدکننده ها (ربات ها) میگه کدوم قفسه ها کتاب های عمومی دارن که همه می تونن ببینن و کدوم قفسه ها اسناد محرمانه یا موقتی هستن که نباید بهشون دست بزنن. اگه این فهرست درست نباشه، ممکنه بازدیدکننده ها وقتشون رو برای گشتن بین اسناد بی ارزش تلف کنن یا حتی بدتر، کتاب های مهمتون رو نبینن! برای سایت هم همینه؛ اگه robots.txt
درست تنظیم نشه، ممکنه:
- ربات ها وقت باارزششون (بودجه خزش) رو روی صفحات بی اهمیت یا تکراری سایت شما هدر بدن.
- صفحات حساس یا خصوصی سایت شما توسط موتورهای جستجو ایندکس بشن که اصلاً خوب نیست.
- صفحات مهم و اصلی سایت شما به دلیل تنظیمات غلط، اصلاً توسط ربات ها دیده نشن.
پس، می بینید که چقدر مهمه که این فایل کوچولو رو جدی بگیریم و تنظیماتش رو درست انجام بدیم.
ساختار اولیه و دستورات پایه Robots.txt
قبل از اینکه بریم سراغ بخش های پیشرفته، بهتره یه نگاهی به دستورات پایه ای بندازیم که توی هر فایل robots.txt
پیدا می شن. ساختار این فایل خیلی سادست و از چندتا دستور اصلی تشکیل شده:
User-agent
: این دستور مشخص می کنه که قوانین زیرش برای کدوم ربات موتور جستجو اعمال می شه. مثلاً اگه بنویسیدUser-agent: Googlebot
، یعنی دستورات بعدی فقط برای ربات گوگل هستن. اگه بخواید قوانین برای همه ربات ها اعمال بشه، ازUser-agent: *
استفاده می کنید.Disallow
: این دستور به ربات ها میگه که حق ندارن به مسیری که مشخص کردید سر بزنن. مثلاًDisallow: /admin/
به همه ربات ها میگه وارد پوشه ادمین سایت نشن.Allow
: این دستور برعکسDisallow
عمل می کنه و به ربات ها اجازه میده به یک مسیر خاص سر بزنن، حتی اگه دایرکتوری والد اون مسدود شده باشه. (بعداً بیشتر در موردش حرف می زنیم).Sitemap
: این دستور آدرس نقشه سایت شما رو به موتورهای جستجو معرفی می کنه. با این کار، ربات ها راحت تر می تونن همه صفحات مهم سایتتون رو پیدا کنن.
یه مثال ساده از فایل robots.txt
می تونه این شکلی باشه:
User-agent: *
Disallow: /wp-admin/
Allow: /wp-admin/admin-ajax.php
Sitemap: https://yourdomain.com/sitemap.xml
اینجا گفتیم همه ربات ها وارد پوشه wp-admin
نشن، اما به فایل admin-ajax.php
که توی همون پوشه است اجازه دسترسی دادیم و آدرس نقشه سایت رو هم بهشون نشون دادیم. حالا که با الفبای robots.txt
آشنا شدیم، وقتشه بریم سراغ قسمت های هیجان انگیزتر و پیشرفته تر!
دستورات و تکنیک های پیشرفته در Robots.txt: فراتر از اصول
حالا که اصول اولیه رو دوره کردیم، بیاید شیرجه بزنیم توی قسمت های پیشرفته robots.txt
که می تونه سایت شما رو واقعاً بهینه کنه. اینجا دیگه فقط درباره مسدود کردن یه پوشه ساده نیست، بلکه داریم درباره فرماندهی دقیق ربات ها صحبت می کنیم.
۱. کاربرد پیشرفته وایلدکارد (Wildcard) *
: همه فن حریف
علامت *
یا همون ستاره، یکی از قدرتمندترین ابزارها توی robots.txt
به حساب میاد. این علامت یه وایلدکارد یا نماد جایگزین هست که به معنی هر رشته ای از کاراکترها به کار می ره. اگه یاد بگیرید چطور ازش درست استفاده کنید، می تونید کلی کار رو با یه خط دستور انجام بدید.
- مسدود کردن همه زیردایرکتوری ها یا فایل های خاص در دایرکتوری های متعدد:
فرض کنید یه عالمه پوشه دارید که توشون یه پوشه به اسم
private
هست و می خواید همه اون ها مسدود بشن.User-agent: * Disallow: /*/private/
این دستور میگه هر آدرسی که بعد از دامنه، یه رشته ای از کاراکترها اومد و بعدش
/private/
بود، مسدود بشه. مثلاًyourdomain.com/category/private/
یاyourdomain.com/user/123/private/
. - مسدود کردن فایل ها با فرمت های خاص:
می خواید ربات ها فایل های PDF یا ZIP سایتتون رو نبینن؟
User-agent: * Disallow: /*.pdf$ Disallow: /*.zip$
$
رو هم اضافه کردیم که مطمئن بشیم فقط فایل های با این فرمت مسدود می شن و نه URLهایی که فقط این کلمات رو توشون دارن. مثلاًyourdomain.com/document.pdf
مسدود میشه ولیyourdomain.com/document.pdf?version=2
یاyourdomain.com/folder/document.pdf.html
مسدود نمیشه. (بعداً بیشتر در مورد$
توضیح می دیم). - مسدود کردن URLهایی که حاوی یک رشته کاراکتری خاص هستند:
اگه توی URLهاتون یه سری کد یا شناسه خاص دارید که نمی خواید ایندکس بشن، می تونید از این روش استفاده کنید.
User-agent: * Disallow: /*sessionid= Disallow: /*?sort=
این دستور URLهایی که پارامتر
sessionid=
یا?sort=
رو دارن، مسدود می کنه. (مخصوصاً برای سایت های فروشگاهی یا فروم ها خیلی کاربردیه).
۲. کاربرد علامت $
(End of URL match): مرزبندی دقیق
علامت $
رو دیدید؟ این علامت نشون میده که رشته ای که قبل از اون اومده، دقیقاً باید آخر URL باشه. این قابلیت برای مسدود کردن دقیق یه URL خیلی به کار میاد، بدون اینکه روی URLهای مشابهی که با اون شروع میشن، تأثیر بذاره.
User-agent: *
Disallow: /category/page.html$
این دستور فقط صفحه yourdomain.com/category/page.html
رو مسدود می کنه. اگه این علامت $
نباشه، یعنی Disallow: /category/page.html
، اون وقت URLهایی مثل yourdomain.com/category/page.html?param=1
یا yourdomain.com/category/page.html/subpage/
هم مسدود می شن. پس، $
به ما اجازه میده خیلی دقیق تر عمل کنیم.
۳. قوانین Allow و Disallow در ترکیب با هم (اولویت بندی و حل تعارض)
یکی از پیچیده ترین و البته مهم ترین قسمت های robots.txt
، وقتیه که دستورات Allow
و Disallow
با هم ترکیب می شن و ممکنه با هم در تضاد باشن. اینجاست که باید قوانین اولویت بندی رو بدونید.
قوانین طلایی اولویت بندی:
- قانون با مسیر طولانی تر بر قانون با مسیر کوتاه تر ارجحیت دارد: یعنی اگه یه
Disallow
کوتاه و یهAllow
طولانی تر داشته باشیم،Allow
پیروز میشه. - در صورت تساوی طول مسیر،
Allow
برDisallow
ارجحیت دارد: اگه طول مسیرها یکسان باشه، همیشهAllow
حرف آخر رو میزنه.
بیاید یه مثال پیچیده رو با هم ببینیم: می خوایم یه دایرکتوری رو مسدود کنیم، اما اجازه بدیم یه فایل خاص یا یه زیردایرکتوری منتخب درون اون باز باشه.
User-agent: *
Disallow: /images/private/
Allow: /images/private/public_logo.png
Allow: /images/private/shared_assets/
در این مثال، همه چیز داخل /images/private/
مسدود شده، اما به ربات ها اجازه دادیم که فایل public_logo.png
و کل دایرکتوری shared_assets
(که داخل private
هست) رو بخزند. اینجا Allow
با مسیر طولانی تر (/images/private/public_logo.png
طولانی تر از /images/private/
هست) بر Disallow
ارجحیت پیدا می کنه. اگه طول مسیرها برابر بود، باز هم Allow
برنده می شد.
نکات مهم برای جلوگیری از تداخلات ناخواسته:
- همیشه بعد از تغییرات، فایل
robots.txt
رو تست کنید (با ابزارهایی که در ادامه معرفی می کنیم). - مراقب باشید با
Allow
کردن اشتباه، صفحاتی که حاوی اطلاعات حساس هستند رو باز نکنید.
۴. مدیریت پیشرفته پارامترهای URL
پارامترهای URL (مثلاً yourdomain.com/products?color=red&size=M
) می تونن برای سئو مثل یه سم عمل کنن. چرا؟
- بودجه خزش (Crawl Budget): ربات ها وقت زیادی رو صرف خزش نسخه های مختلف یک صفحه با پارامترهای متفاوت می کنن، در حالی که محتواشون تقریباً یکسانه.
- محتوای تکراری (Duplicate Content): موتورهای جستجو ممکنه هر نسخه پارامتردار رو یه صفحه جدید با محتوای تکراری تشخیص بدن که به سئوی سایت شما لطمه میزنه.
برای مسدود کردن پارامترها، از وایلدکارد *
و علامت سوال ?
استفاده می کنیم:
User-agent: *
Disallow: /*?
این دستور تمام URLهایی که علامت سوال (و به دنبال اون پارامترها) دارن رو مسدود می کنه. البته این ممکنه خیلی جامع باشه. اگه می خواید دقیق تر عمل کنید، مثلاً فقط پارامترهای خاصی رو مسدود کنید:
User-agent: *
Disallow: /*?sort=
Disallow: /*?sessionid=
Disallow: /*&page=
با این کار، URLهایی که برای مرتب سازی، مدیریت سشن یا صفحه بندی (پاراگراف هایی با &page=
) استفاده می شن، از خزش ربات ها دور می مونن. این تکنیک برای سایت های فروشگاهی با فیلترها و مرتب سازی های زیاد، یا فروم ها با شناسه های کاربری متغیر، معجزه می کنه.
۵. پیکربندی User-agentهای خاص برای ربات های مختلف
مگه میشه برای ربات های مختلف، قوانین مختلف گذاشت؟ بله! موتورهای جستجوی مختلف، ربات های خزشگر خودشون رو دارن (مثلاً گوگل بات برای گوگل، بینگ بات برای بینگ و یاندکس بات برای یاندکس). شما می تونید برای هر کدوم از این ها، دستورات جداگانه ای بنویسید.
User-agent: Googlebot
Disallow: /private-google/
User-agent: Bingbot
Disallow: /private-bing/
Crawl-delay: 5
User-agent: *
Disallow: /temp/
در این مثال:
- گوگل بات نمی تونه وارد
/private-google/
بشه. - بینگ بات نمی تونه وارد
/private-bing/
بشه و بین هر درخواستش ۵ ثانیه تأخیر داره. - و همه ربات ها (از جمله گوگل بات و بینگ بات) نمی تونن وارد
/temp/
بشن.
اولویت بندی User-agent
ها: اگه چندین دستور User-agent
وجود داشته باشه، ربات همیشه به خاص ترین دستورش عمل می کنه. یعنی اگه هم Googlebot
تعریف شده باشه و هم *
، گوگل بات فقط از دستورات Googlebot
پیروی می کنه و بعد از اون به دستورات *
(اگه برای Googlebot
دستوری نبود) می پردازه.
۶. Crawl-delay (تأخیر خزش): نفس تازه برای سرور
دستور Crawl-delay
به ربات ها میگه که بعد از هر بار خزش یک صفحه، چند ثانیه صبر کنن و بعد برن سراغ صفحه بعدی. این دستور برای سایت های بزرگی که ترافیک بالا دارن و نمی خوان ربات ها فشار زیادی به سرورشون بیارن، خیلی کاربردیه.
User-agent: *
Crawl-delay: 10
اینجا به همه ربات ها گفتیم که بین هر درخواست خزش، ۱۰ ثانیه صبر کنن. اما یه نکته مهم: گوگل رسماً اعلام کرده که این دستور رو پشتیبانی نمی کنه و برای کنترل بودجه خزش، از ابزارهای دیگه در سرچ کنسول استفاده کنید. با این حال، هنوز بعضی از موتورهای جستجو مثل بینگ و یاندکس این دستور رو رعایت می کنن. پس اگه سایتتون به قدری بزرگه که بار سرور براتون مهمه، می تونید ازش استفاده کنید، اما روی گوگل حساب باز نکنید.
۷. استفاده هوشمندانه از Sitemap در Robots.txt
ما قبلاً به دستور Sitemap
اشاره کردیم، اما اینجا می خوایم یه کم عمیق تر بهش نگاه کنیم. معرفی نقشه سایت توی robots.txt
چندتا مزیت بزرگ داره:
- کشف راحت تر صفحات: ربات ها وقتی به
robots.txt
میان، اگه نقشه سایت هم اونجا باشه، خیلی راحت تر می تونن همه صفحات مهم شما رو پیدا کنن، حتی اونایی که لینک داخلی قوی ندارن. - معرفی چندین نقشه سایت: اگه سایتتون خیلی بزرگه و چندین نقشه سایت دارید (مثلاً برای پست ها، تصاویر، ویدئوها)، می تونید همه رو توی
robots.txt
معرفی کنید.
User-agent: *
Disallow: /wp-admin/
Sitemap: https://yourdomain.com/sitemap_index.xml
Sitemap: https://yourdomain.com/post-sitemap.xml
Sitemap: https://yourdomain.com/page-sitemap.xml
نکات امنیتی: همیشه مطمئن باشید که مسیر نقشه سایتتون رو توی robots.txt
مسدود نکرده باشید! اگه نقشه سایت رو مسدود کنید، ربات ها نمی تونن پیداش کنن و عملاً معرفی اون بی فایده میشه.
تسلط بر این دستورات پیشرفته، به شما این قدرت رو میده که کنترل کامل و دقیقی روی نحوه تعامل ربات های موتور جستجو با سایتتون داشته باشید و سئوی تکنیکال سایت رو به اوج خودش برسونید.
فایل
robots.txt
مثل یک نگهبان هوشمند سایت شماست که مسیر ورود ربات های موتور جستجو را مشخص می کند. یک تنظیم درست می تواند بودجه خزش شما را بهینه کند و از ایندکس شدن محتوای غیرضروری جلوگیری کند؛ اما یک اشتباه کوچک، عواقب بزرگی دارد!
تفاوت های کلیدی: Robots.txt در مقابل Meta Robots Tag و X-Robots-Tag
یکی از بزرگ ترین اشتباهاتی که خیلی از سئوکارها و وبمسترها مرتکب می شن، اینه که فکر می کنن robots.txt
همه کارها رو انجام میده. اما این سه تا ابزار، کارکردهاشون با هم فرق داره و هر کدوم برای یه هدف خاص به کار میرن. فهمیدن این تفاوت ها واقعاً حیاتیه.
۱. Robots.txt: کنترل خزش (Crawl)
همونطور که تا الان گفتیم، robots.txt
مثل یه نگهبان دم در می مونه. به ربات ها میگه اجازه نداری از این در رد بشی! یعنی ربات ها اصلاً به اون قسمت از سایت سر نمی زنن. اگه ربات نتونه صفحه ای رو بخزه، خب طبیعتاً نمی تونه محتوای اون صفحه رو ببینه و پردازش کنه. پس:
- کاربرد اصلی: کنترل اینکه ربات ها کدوم صفحات رو بازدید (crawl) کنن و کدوم رو نه.
- نتیجه: اگه صفحه ای رو با
Disallow
تویrobots.txt
مسدود کنید، ربات ها محتوای اون صفحه رو نمی بینن. اما این به معنی عدم ایندکس شدن قطعی نیست! اگه صفحات دیگه به اون صفحه لینک داده باشن، گوگل ممکنه اون صفحه رو بدون اینکه محتواشو ببینه، ایندکس کنه و فقط آدرسش (URL) رو نشون بده. - موارد استفاده: مسدود کردن پوشه های ادمین، صفحات نتایج جستجوی داخلی، URLهای دارای پارامتر، یا هر محتوایی که نمی خواهید ربات ها منابع سرور شما را برای خزش آن مصرف کنند.
۲. Meta Robots Tag: کنترل ایندکس و فالو در سطح صفحه (برای صفحات HTML)
Meta Robots Tag
یه خط کده که توی بخش <head>
صفحات HTML قرار می گیره (مثل <meta name=robots content=noindex, nofollow>
). این تگ، برخلاف robots.txt
، به ربات ها اجازه میده وارد صفحه بشن، اما بعد از خزش، بهشون میگه که با محتوای صفحه چطور برخورد کنن.
- کاربرد اصلی: کنترل اینکه آیا یک صفحه خاص (که ربات ها به اون دسترسی دارن) باید ایندکس بشه یا لینک های داخلش فالو بشن یا نه.
- نتیجه: ربات ها باید صفحه رو بخزند تا این تگ رو ببینن. اگه
noindex
باشه، اون صفحه از نتایج جستجو حذف میشه. اگهnofollow
باشه، ربات ها لینک های داخل اون صفحه رو دنبال نمی کنن. - موارد استفاده: صفحات تشکر (Thank You pages)، صفحات لاگین، صفحات تکراری با محتوای ارزشمند برای کاربر اما کم ارزش برای سئو، یا هر صفحه ای که می خواید مطمئن بشید که ایندکس نمیشه اما اجازه خزشش رو می دید.
۳. X-Robots-Tag: کنترل ایندکس و فالو در سطح هدر HTTP (برای فایل های غیر HTML)
X-Robots-Tag
دقیقاً کار Meta Robots Tag
رو انجام میده، با این تفاوت که به جای اینکه داخل کد HTML باشه، توی هدر HTTP که سرور ارسال می کنه، قرار می گیره. این خیلی مهمه چون به شما اجازه میده فایل های غیر HTML مثل تصاویر، PDFها، ویدئوها و هر فایل دیگه ای رو که از طریق HTML کنترل نمی شن، مدیریت کنید.
- کاربرد اصلی: کنترل ایندکس و فالو برای فایل های غیر HTML یا برای کنترل از طریق پیکربندی سرور.
- نتیجه: ربات ها باید به فایل دسترسی پیدا کنن تا هدر HTTP رو ببینن. بعد از دیدن تگ، طبق اون عمل می کنن.
- موارد استفاده: جلوگیری از ایندکس شدن فایل های PDF یا تصاویر خاص، مسدود کردن ایندکس ویدئوهای خصوصی.
خطای رایج و بسیار مهم: Disallow کردن یک صفحه و انتظار noindex از طریق Meta Robots!
این یکی از مهم ترین نکاتیه که باید خوب حواستون بهش باشه: اگه شما یک صفحه رو با Disallow
در robots.txt
مسدود کنید، ربات گوگل اصلاً اون صفحه رو نمی خزه و نمی تونه تگ Meta Robots
(noindex) رو که داخل صفحه گذاشتید، ببینه!
نتیجه چی میشه؟ گوگل اون صفحه رو نمی خزه، اما اگه لینک های زیادی بهش داده شده باشه، ممکنه URL اون صفحه رو ایندکس کنه (ایندکس شدن بدون محتوا). برای اینکه یک صفحه قطعاً از نتایج جستجو حذف بشه (noindex بشه)، باید به ربات اجازه بدید تا صفحه رو بخزه و تگ noindex
رو ببینه. پس اگه هدفتون حذف از ایندکسه، هرگز از Disallow
در robots.txt
برای اون صفحه استفاده نکنید، بلکه فقط از Meta Robots Tag
یا X-Robots-Tag
استفاده کنید.
ویژگی | robots.txt |
Meta Robots Tag |
X-Robots-Tag |
---|---|---|---|
کنترل اصلی | خزش (Crawl) | ایندکس (Index) و فالو (Follow) | ایندکس (Index) و فالو (Follow) |
سطح اعمال | سطح دامنه/پوشه | سطح صفحه (فقط HTML) | سطح فایل (هر نوع فایل، از طریق هدر HTTP) |
نحوه اجرا | ربات قبل از خزش می بیند و رعایت می کند. | ربات باید صفحه را بخزد تا ببیند. | ربات باید به فایل دسترسی پیدا کند تا هدر را ببیند. |
سناریو معمول | مسدود کردن پوشه های ادمین، پارامترها | noindex کردن صفحات تشکر، لاگین | noindex کردن فایل های PDF، تصاویر خاص |
تداخل با noindex |
مسدودسازی توسط robots.txt مانع دیده شدن noindex می شود. |
کاملاً سازگار است. | کاملاً سازگار است. |
با درک این تفاوت ها، می توانید ابزار مناسب را برای هر موقعیتی انتخاب کنید و از بروز مشکلات سئویی جلوگیری کنید.
سناریوهای پیشرفته و کاربردی Robots.txt (با مثال های عملی)
حالا که تفاوت ها رو فهمیدیم و با دستورات پیشرفته آشنا شدیم، بیایید چندتا سناریوی واقعی رو مرور کنیم که توشون robots.txt
می تونه حسابی به کارتون بیاد.
۱. مسدود کردن صفحات نتایج جستجوی داخلی سایت
صفحات نتایج جستجوی داخلی سایت شما (مثلاً وقتی کسی تو سایتتون چیزی رو جستجو می کنه و آدرسش میشه yourdomain.com/?s=keyword
یا yourdomain.com/search/?q=keyword
) معمولاً محتوای تکراری یا کم ارزشی برای گوگل دارن. خزش اون ها فقط بودجه خزش شما رو هدر میده.
User-agent: *
Disallow: /search/
Disallow: /*?s=
Disallow: /*?q=
۲. مسدود کردن URLهای ورود به سیستم، پنل مدیریت، حساب کاربری و صفحات مربوط به سبد خرید
این صفحات نباید توی نتایج جستجو ظاهر بشن. کاربرها باید به صورت مستقیم بهشون دسترسی داشته باشن و نه از طریق گوگل. علاوه بر این، می تونه یه لایه امنیتی هم باشه.
User-agent: *
Disallow: /login/
Disallow: /admin/
Disallow: /my-account/
Disallow: /cart/
Disallow: /checkout/
Disallow: /panel/
۳. مسدود کردن دایرکتوری های حاوی فایل های سیستمی، موقت، یا اسناد حساس
پوشه هایی مثل /tmp/
، /cache/
، /includes/
یا /wp-content/plugins/
معمولاً شامل فایل هایی هستن که نباید ایندکس بشن.
User-agent: *
Disallow: /tmp/
Disallow: /cache/
Disallow: /includes/
Disallow: /wp-content/plugins/
Disallow: /wp-content/themes/*/functions/
در مثال آخر، ما تمام فایل های functions
رو در هر تم وردپرسی که توی مسیر wp-content/themes/
باشه، مسدود کردیم. این یه مثال از استفاده هوشمندانه از وایلدکارد هست.
۴. مدیریت محتوای تکراری ناشی از URLهای فیلتر و مرتب سازی در فروشگاه های اینترنتی
توی فروشگاه های آنلاین، فیلترها و گزینه های مرتب سازی (مثل قیمت، رنگ، برند) می تونن بی نهایت URL تکراری بسازن. این یک کابوس برای سئو هست. می تونید اون ها رو مسدود کنید.
User-agent: *
Disallow: /*?filter=
Disallow: /*?orderby=
Disallow: /*?min_price=
Disallow: /*?max_price=
Disallow: /*?color=
۵. مسدود کردن نسخه های تست، استیجینگ یا توسعه سایت
اگر یک نسخه از سایتتون دارید که فقط برای توسعه یا تست هست (مثلاً dev.yourdomain.com
یا yourdomain.com/staging/
)، باید حتماً اون رو از دسترس ربات ها خارج کنید تا محتوای تکراری با سایت اصلی ایجاد نشه.
User-agent: *
Disallow: /staging/
Disallow: /dev/
و اگه روی ساب دامین دیگه ای هستید:
# robots.txt for dev.yourdomain.com
User-agent: *
Disallow: /
این دستور Disallow: /
به معنی مسدود کردن کل سایت برای همه ربات ها هست.
۶. نکات مربوط به مسدود کردن فایل های CSS/JS
معمولاً هرگز فایل های CSS و JavaScript رو مسدود نکنید! گوگل برای اینکه صفحات شما رو دقیقاً مثل یک کاربر ببینه و رندر کنه، نیاز داره به این فایل ها دسترسی داشته باشه. مسدود کردن اون ها باعث میشه گوگل نتونه ظاهر صفحه شما رو درک کنه و این به رتبه بندی شما آسیب می زنه.
استثنائات نادر: فقط در موارد خیلی خاص و نادری که مطمئنید فایل JS/CSS کاملاً بی ارزش هست و هیچ تأثیری روی رندر یا تجربه کاربری نداره، می تونید به فکر مسدود کردن اون ها باشید. اما به عنوان یه قانون کلی، از این کار خودداری کنید.
با این سناریوها، شما می تونید فایل robots.txt
خودتون رو به یک ابزار قدرتمند برای مدیریت دقیق سایت و بهبود سئوی تکنیکال تبدیل کنید.
اشتباهات رایج در تنظیم Robots.txt و چگونگی عیب یابی آن ها
همونقدر که robots.txt
می تونه مفید باشه، به همون اندازه هم می تونه خطرناک باشه اگه اشتباه تنظیم بشه. بیاید به چندتا از رایج ترین اشتباهات و راه های حلشون نگاه کنیم:
۱. مسدود کردن منابع مهم (مثل فایل های CSS و JS)
این رایج ترین و مخرب ترین اشتباهه! همونطور که قبلاً گفتیم، اگه گوگل نتونه فایل های CSS و JS شما رو بخزه، نمی تونه صفحه شما رو درست رندر کنه و ظاهرش رو ببینه. این باعث میشه گوگل سایت شما رو با کیفیت پایین ببینه و در نتیجه رتبه بندی شما رو پایین بیاره.
راه حل: همیشه فایل robots.txt
رو بررسی کنید و مطمئن بشید که هیچ Disallow
ای برای پوشه هایی که شامل CSS یا JS هستن (مثل /wp-content/themes/
، /wp-content/plugins/
یا /assets/
) وجود نداره. اگه بود، اون خطوط رو حذف کنید یا با دستور Allow
اجازه خزش اون ها رو بدید.
۲. Disallow کردن صفحاتی که قصد noindex کردن آن ها را داریم
باز هم تاکید می کنم، این اشتباه فاحش می تونه صفحاتی رو که می خواید از نتایج جستجو حذف بشن، به صورت ناقص ایندکس کنه! اگه صفحه ای رو با Disallow
مسدود کنید، ربات اصلاً وارد اون صفحه نمیشه که تگ noindex
رو ببینه.
راه حل: اگه می خواید صفحه ای ایندکس نشه، اون رو توی robots.txt
مسدود نکنید. به جای اون، تگ <meta name=robots content=noindex>
رو توی قسمت <head>
همون صفحه قرار بدید. اینجوری ربات می تونه صفحه رو بخزه، تگ رو ببینه و بعد اون صفحه رو از ایندکس حذف کنه. برای فایل های غیر HTML از X-Robots-Tag
در هدر HTTP استفاده کنید.
۳. خطاهای سینتکسی (Syntax Errors)
robots.txt
یه فایل متنی ساده است، اما حتی یه اشتباه کوچیک توی نگارشش (مثلاً تایپ اشتباه یه کلمه یا یه اسپیس اضافی) می تونه باعث بشه کل فایل نادیده گرفته بشه! یا بدتر، دستورات به اشتباه اعمال بشن.
راه حل: همیشه بعد از هر تغییر، فایل robots.txt
رو با ابزارهای اعتبارسنجی بررسی کنید. توی قسمت بعد بیشتر در مورد ابزارها صحبت می کنیم.
۴. تداخل پیچیده قوانین Allow و Disallow
وقتی از Allow
و Disallow
با هم استفاده می کنید، ممکنه قوانین پیچیده بشن و نتیجه ای که انتظار دارید، اتفاق نیفته. مثلاً ممکنه یه دایرکتوری رو Disallow
کرده باشید، اما با یه Allow
اشتباه، یه سری از فایل های حساس اون دایرکتوری دوباره باز بشن.
راه حل: همونطور که قبلاً گفتیم، همیشه به قوانین اولویت بندی (مسیر طولانی تر، Allow
بر Disallow
) دقت کنید. سعی کنید فایل robots.txt
رو تا جای ممکن ساده نگه دارید. اگه مجبور به استفاده از قوانین پیچیده شدید، حتماً از ابزار تست استفاده کنید و سناریوهای مختلف رو امتحان کنید.
۵. فراموشی به روزرسانی robots.txt پس از تغییرات مهم سایت
فرض کنید یه قسمت جدید به سایتتون اضافه کردید یا یه دایرکتوری رو جابجا کردید، اما یادتون رفته robots.txt
رو به روزرسانی کنید. این می تونه باعث بشه ربات ها به قسمت های جدید دسترسی پیدا نکنن یا هنوز هم وقتشون رو روی قسمت های قدیمی تلف کنن.
راه حل: هر زمان که ساختار سایتتون (به خصوص مسیر URLها) تغییر کرد، یا یه بخش مهمی به سایت اضافه یا حذف شد، همیشه فایل robots.txt
رو بررسی و در صورت لزوم به روزرسانی کنید. این رو به عنوان یه مرحله ثابت توی فرآیند توسعه یا سئوی سایتتون قرار بدید.
ابزارها و روش های تست و اعتبارسنجی Robots.txt
حالا که با این همه دستور و قاعده آشنا شدید، وقتشه که یاد بگیریم چطور از درستی کارمون مطمئن بشیم. تست و اعتبارسنجی robots.txt
مثل تست نهایی یه ماشین قبل از حرکت توی جاده است. اگه این مرحله رو انجام ندیم، ممکنه وسط راه به مشکل بخوریم.
۱. Google Search Console Robots.txt Tester: قدرتمندترین ابزار
این ابزار رایگان که گوگل در اختیار وبمسترها قرار داده، بدون شک بهترین راه برای تست فایل robots.txt
شماست. کار کردن باهاش هم خیلی راحته:
- اول باید سایتتون رو به Google Search Console اضافه کرده باشید و مالکیتش رو تایید کرده باشید.
- توی پنل سرچ کنسول، به بخش Coverage یا Indexing برید و ابزار Robots.txt Tester رو پیدا کنید (ممکنه توی بخش Legacy tools and reports یا Settings باشه).
- وقتی وارد شدید، فایل
robots.txt
فعلی سایتتون رو بهتون نشون میده. اگه تغییری ایجاد کردید و هنوز روی سایتتون منتشرش نکردید، می تونید کد جدید رو مستقیماً توی این ابزار paste کنید. - حالا می تونید یه URL از سایتتون رو وارد کنید و انتخاب کنید که کدوم ربات (مثلاً
Googlebot
یاGooglebot-Image
) اون رو تست کنه. - روی دکمه Test کلیک کنید. ابزار به شما نشون میده که آیا اون URL توسط ربات مورد نظر مجاز هست یا مسدود شده. اگه مسدود شده باشه، حتی نشون میده کدوم خط از
robots.txt
باعث این مسدودیت شده.
نکته مهم: هر وقت فایل robots.txt
رو روی سایتتون تغییر دادید و منتشر کردید، حتماً وارد این ابزار بشید و از گوشه بالا سمت راست، روی Submit یا Refresh کلیک کنید تا گوگل نسخه جدید فایل رو بخزه و به روز کنه.
۲. ابزارهای آنلاین اعتبارسنجی robots.txt (Syntax Check)
همیشه هم نیاز نیست ربات گوگل رو درگیر کنید. بعضی وقت ها فقط می خواید مطمئن بشید که فایل robots.txt
از نظر نگارشی (syntax) درسته و هیچ خطایی نداره. برای این کار، سایت های مختلفی وجود دارن که می تونید کد robots.txt
رو توشون paste کنید و چک کنید.
- مثلاً سایت هایی مثل TechnicalSEO.com’s Robots.txt Tester (که البته در خروجی مقاله حذف می شود) یا Robots.txt.org این قابلیت رو دارن.
این ابزارها بیشتر برای چک کردن خطاهای تایپی یا نگارشی اولیه به کار میان.
۳. مشاهده گزارشات خزش (Crawl Stats) در سرچ کنسول
بعد از اینکه تغییرات robots.txt
رو اعمال کردید، توی Google Search Console، به بخش Crawl Stats یا آمار خزش برید. اینجا می تونید ببینید که گوگل چقدر صفحه از سایت شما رو خزش کرده، چه فایل هایی رو دیده و آیا خطای خزش (مثل Disallowed by robots.txt
) وجود داره یا نه. این گزارشات به شما یه دید کلی از عملکرد robots.txt
در طول زمان میده.
۴. بررسی مستقیم فایل robots.txt زنده سایت
شاید ساده ترین راه، این باشه که بعد از هر تغییر، مستقیماً آدرس yourdomain.com/robots.txt
رو توی مرورگرتون باز کنید و مطمئن بشید که تغییرات شما روی سایت اعمال شده. این کار سریع ترین راه برای اطمینان از انتشار صحیح فایل هست.
بهترین کار اینه که بعد از هر تغییر مهم در robots.txt
، این مراحل رو به ترتیب انجام بدید: اول با یه ابزار آنلاین syntax رو چک کنید، بعد روی سرور منتشرش کنید، سپس مستقیماً توی مرورگر چک کنید و در نهایت با Google Search Console Robots.txt Tester اون رو اعتبار سنجی کنید.
نتیجه گیری: تسلط بر Robots.txt برای سئوی پیشرفته
خب، تا اینجا با هم یه سفر حسابی داشتیم توی دنیای پیچیده و در عین حال قدرتمند robots.txt
. از مفاهیم اولیه تا دستورات پیشرفته و سناریوهای عملی، همه رو با هم بررسی کردیم. فهمیدیم که این فایل کوچک چقدر می تونه توی سئوی تکنیکال سایت ما نقش حیاتی داشته باشه و چطور می تونه بودجه خزش ما رو نجات بده، از ایندکس شدن محتوای حساس یا تکراری جلوگیری کنه و در نهایت، تجربه کاربری رو بهبود ببخشه.
تنظیمات پیشرفته فایل robots.txt
مثل یه شمشیر دولبه می مونه؛ اگه درست ازش استفاده کنید، می تونه سایت شما رو به سمت موفقیت های بزرگ سئویی هدایت کنه. اما اگه ازش غافل بشید یا به اشتباهی درگیرش بشید، ممکنه ضررهای جبران ناپذیری به سایتتون وارد کنه که رفعشون زمان بر و پرهزینه است. یادتون باشه، همیشه هدف اصلی، هدایت ربات ها به سمت محتوای باارزش و جلوگیری از هدر رفتن منابع روی محتوای کم ارزشه.
پس، حالا که با این دانش مسلح شدید، وقتشه که آستین هاتون رو بالا بزنید و فایل robots.txt
سایت خودتون رو یه بررسی دقیق و موشکافانه بکنید. مطمئن بشید که هیچ خطایی توش نیست، تمام دستورات پیشرفته رو هوشمندانه به کار گرفتید و مهم تر از همه، ابزارهای تست رو فراموش نکنید. این فایل رو به چشم یه دوست نگاه کنید که قراره ربات ها رو توی سایتتون راهنمایی کنه. بررسی و به روزرسانی منظم این فایل، باید جزو کارهای روتین سئویی شما باشه.
همین امروز شروع کنید! فایل robots.txt
سایتتون رو باز کنید، طبق این راهنما چک کنید و اگه لازم شد، تغییرات رو اعمال کنید. با این کار، به موتورهای جستجو نشون می دید که سایت شما مرتب و سازمان یافته است و ارزش دیدن داره. با تسلط بر این ابزار، می تونید مطمئن بشید که ربات ها دقیقاً اون کاری رو می کنن که شما می خواید.
آیا شما به دنبال کسب اطلاعات بیشتر در مورد "تنظیمات پیشرفته فایل Robots.txt: راهنمای جامع بهینه سازی سئو" هستید؟ با کلیک بر روی عمومی، ممکن است در این موضوع، مطالب مرتبط دیگری هم وجود داشته باشد. برای کشف آن ها، به دنبال دسته بندی های مرتبط بگردید. همچنین، ممکن است در این دسته بندی، سریال ها، فیلم ها، کتاب ها و مقالات مفیدی نیز برای شما قرار داشته باشند. بنابراین، همین حالا برای کشف دنیای جذاب و گسترده ی محتواهای مرتبط با "تنظیمات پیشرفته فایل Robots.txt: راهنمای جامع بهینه سازی سئو"، کلیک کنید.