اولین جایی که ربات گوگل قبل از خزیدن یک سایت سر میزند، آدرس example.com/robots.txt است. این فایل باید دقیقاً در ریشهی دامنه باشد؛ در پوشهی دیگر خوانده نمیشود.
نمونهی robots.txt برای وردپرس
User-agent: *
Disallow: /wp-admin/
Allow: /wp-admin/admin-ajax.php
Disallow: /?s=
Sitemap: https://example.com/sitemap_index.xml
دستورات اصلی
- User-agent: قانون برای کدام ربات است. ستاره (*) یعنی همه.
- Disallow: مسیری که نباید خزیده شود.
- Allow: استثنا داخل یک مسیر بستهشده.
- Sitemap: آدرس نقشه سایت.
- * و $: ستاره یعنی هر چیزی، دلار یعنی انتهای آدرس؛ مثلاً
Disallow: /*.pdf$.
گوگل دستور Crawl-delay را پشتیبانی نمیکند و از سال ۲۰۱۹ دستور Noindex داخل robots.txt را هم کنار گذاشته است. حداکثر حجمی که گوگل از این فایل میخواند ۵۰۰ کیلوبایت است.
مهمترین نکته: robots.txt جلوی ایندکس را نمیگیرد
اگر صفحهای را در robots.txt ببندید ولی از جای دیگری به آن لینک داده شده باشد، گوگل ممکن است آدرسش را بدون محتوا ایندکس کند. در سرچ کنسول این حالت با عنوان Indexed, though blocked by robots.txt دیده میشود. برای بیرون آوردن صفحه از نتایج باید از تگ noindex استفاده کنید و صفحه را در robots.txt نبندید تا گوگل بتواند آن تگ را ببیند.
کنترل رباتهای هوش مصنوعی
با همین فایل میتوانید برای خزندههای هوش مصنوعی هم قانون بگذارید؛ مثلاً User-agent: GPTBot. توکن Google-Extended هم مشخص میکند محتوای شما برای آموزش مدلهای Gemini استفاده شود یا نه، بدون اینکه روی رتبهی شما در جستجوی گوگل اثری بگذارد.
اشتباههای رایج
- جا ماندن
Disallow: /از نسخهی آزمایشی سایت؛ کل سایت را از دید گوگل میبندد. - بستن فایلهای CSS و JS؛ گوگل نمیتواند صفحه را درست رندر کند.
- پنهان کردن صفحههای حساس با robots.txt؛ این فایل عمومی است و هر کسی آن مسیرها را میبیند.
- بستن صفحهای که noindex دارد؛ گوگل تگ را نمیبیند و صفحه در نتایج میماند.
چطور بررسی کنیم؟
در سرچ کنسول مسیر Settings ← robots.txt نسخهای که گوگل دریافت کرده و خطاهای احتمالی را نشان میدهد. برای یک صفحهی خاص، ابزار URL Inspection میگوید خزیدن آن مجاز است یا نه.