آیا تاکنون نام robots.txt به گوشتان خورده و همزمان نمی دانستید که چگونه دست به ساخت آن بزنید؟ بسیاری از وب سایت ها دارای فایل robots.txt هستند، اما این مسئله بدین معنی نیست که اغلب وب مسترها مفهوم آن را بدانند.
در این پست ما میخواهیم به صورت جامعی به موضوع robots.txt در وردپرس پرداخته و نحوه کنترل و مدیریت آن را آموزش دهیم.
فایل Robots.txt چیست؟
قبل از شروع بحث اصلی بهتر است که ابتدا به مفهوم کلمه robot در اینجا بپردازیم. منظور از robot هرگونه ربات اینترنتیست که به مشاهده وب سایت ها می پردازد. رایج ترین مثال از این گونه ربات ها، ربات موتورهای جستجوست. این ربات ها به پایش وب پرداخته و به موتورهای جستجو کمک می کنند تا به ایندکس و رتبه بندی صفحات وب بپردازند.
بنابراین وجود ربات ها در اینرتنت الزامی بوده و حداقل چیز به درد به خوری هستند. اما این مسئله نبایست برای وبمسترها این شائبه را ایجاد کند که ربات ها بایستی بدون محدودیت به گردش در سایت بپردازند. علاقه به کنترل رفتار ربات ها در وب سایت، منجر به ایجاد استانداردهایی در اواسطه دهه 90 میلادی شد. robots.txt راهکار اجرایی این استاندارد است و به شما کمک می کند تا به کنترل چگونگی رفتار ربات ها در وب سایت بپردازید. شما قادرید که به بلاک کردن ربات ها پرداخته یا دسترسی آنها به بخشی از سایت را محدود کنید.
دقت داشته باشید که شما قادر به مجیور کردن ربات ها به پیروی از دستورات خود نیستید. همواره ربات هایی وجود دارند که این دستورات را نادیده می گیرند. حتی سازمان های مشهوری نیز وجود دارند که به برخی از دستورات شما در فایل robots.txt بی توجهی می کنند. به عنوان مثال گوگل دستورات شما مبنی بر فرکانس پایش وب سایت را نادیده می گیرد.
چرا بایست به فایل Robots.txt اهمیت دهیم؟
برای بسیاری از وبمسترها مسئله robots.txt به دو موضوع محدود می شود:
- بهینه سازی مصرف منابع موتورهای جستجو در سایت با عدم پایش و ایندکس بخشی از وب سایت. این رویکرد به ما اطمینان می هد که موتورهای جستجو تمرکز خود را بر روی مهمترین صفحات ما گذاشته اند.
- بهنیه سازی منابع سرور با بلاک کردن ربات هایی که این منابع را هدر می دهند.
فایل robots.txt به طور خاص برای کنترل ایندکس صفحات در موتورهای جستجو طراحی نشده است
robots.txt روش جامعی برای کنترل ایندکس صفحات در موتورهای جستجو نیست. اگر هدف شما خارج کردن صفحه ای از ایندکس مورتوهای جستجوست، راهکارهای بهتری مانند متا تگ نو ایندکس یا دیگر روش های مشابه وجود دارد.
دلیل این امر آنست که فایل robots.txt سایت به موتورهای جستجو اعلام نمی کند صفحه ای را ایندکس نکنند، بلکه صرفا موتورهای جستجو آن را پایش نخواهند کرد. با اینکه گوگل دست به پایش آدرس های بلاک شده در robots.txt نمی زند اما خود گوگل اعلام کرده است که اگر این آدرس دارای لینکی در خارج از سایت شما باشد، این امکان وجود دارد که گوگل دست به ایندکس محتوای آن صفحه بزند.
آقای جان مولر عضو تیم گوگل نیز در بیانیه ای تاکید کرده است که در صورت وجود بک لینک برای یک صفحه بلاک شده، همچنان ممکن است که آن صفحه در ایندکس گوگل قرار بگیرد.
ساخت و ویرایش فایل robots.txt برای وردپرس
وردپرس به صورت اتوماتیک فایل robots.txt را به صورت مجازی ایجاد می نماید. بنابراین حتی اگر سمت این موضوع نرفته باشید، سایت وردپرسی شما دارای فایل robots.txt خواهد بود. برای مشاهده این فایل کافیست که عبارت /robots.txt را به انتهای نام دامین خود اضافه نمایید. به عنوان مثال فایل robots.txt نمونه یک سایت وردپرسی را در زیر مشاهده می کنید:
چون این فایل به صورت مجازیست، قابل ویرایش نمی باشد. اگر میخواهید دست به ویرایش آن بزنید بایستی آن را به صورت فیزیکی در سرور وب سایت ایجاد نمایید. برای این کار سه روش به شما معرفی می کنیم.
چگونه با استفاده از Yoast SEO اقدام به ساخت و ویرایش Robots.txt بزنیم؟
اگر از کاربران افزونه محبوب Yoast SEO هستید می توانید فایل robots.txt را در قسمت داشبورد این افزونه ایجاد کرده و ویرایش نمایید.
برای دسترسی به این قابلیت به منوی ابزار ها در زیرمجموعه منوی سئو رفته و بر روی گزینه File editor کلیک کنید.
با فرض اینکه در سایت شما فایل robots.txt وجود نداشته باشد، این افزونه به شما پیشنهاد می دهد که آن را ایجاد نمایید.
تنها با کلیک بر این دکمه می توانید اقدام به ویرایش محتوای فایل robots.txt در رابط کاربری یواست سئو کنید.
در ادامه این مطلب به بررسی بیشتر محتوای فایل robots.txt خواهیم پرداخت.
چگونه با استفاده از All in One SEO Pack اقدام به ساخت و ویرایش Robots.txt بزنیم؟
اگر شما از افزونه All in One SEO Pack برای سئو وب سایت خود استفاده می نمایید. قادر خواهید بود که فایل robots.txt را مستقیما از رابط کاربری افزونه ساخته و ویرایش نمایید. تنها کافیست که به مسیر All in One SEO → Feature Manager رفته و ویژگی Robots.txt را فعال نمایید.
سپس شما با رفتن به مسیر All in One SEO → Robots.txt قادر به مدیریت آن خواهید بود.
چگونه از طریق FTP فایل robots.txt را ساخته و ویرایش نماییم؟
اگر شما از افزونه های سئویی که دارای قابلیت robots.txt نیستند استفاده می کنید، همچنان می توانید از طریق FTP اقدام به مدیریت robots.txt نمایید. ابتدا فایلی متنی با نام robots.txt در کامپیوتر شخصی خود ایجاد نمایید.
سپس از طریق FTP به وب سایت خود وصل شده و این فایل را در پوشه روت آن آپلود نمایید. شما می توانید با استفاده از ویرایشگر موجود یا آپلود فایل جدید robots.txt اقدام به بروزرسانی آن کنید.
چه دستوراتی در فایل robots.txt قرار دهیم؟
تا اینجا شما دارای فایل robots.txt قابل ویرایشی در سرور خود هستید. اما چه کاری با این فایل انجام دهیم؟ همانطور که در بخش اول این مطلب آگاه شدید، robots.txt به شما امکان کنترل چگونگی رفتار ربات ها در وب سایت را می دهد. شما این کار را با استفاده از دو دستور بنیادی انجام می دهید:
- User-agent: این دستور به شما اجازه می دهد تا ربات های خاصی را هدف گیری نمایید. User agent نامیست که ربات ها برای شناسایی شدن بر روی خود می گذارند. با استفاده از این دستور می توانید قوانینی را تعریف کنید که تنها بر روی بینگ اعمال شود و نه گوگل.
- Disallow: این دستور به ربات ها اعلام می کند تا به بخشی از وب سایت توجهی نکنند.
همچنین دستور Allow نیز در اینجا وجود دارد که شما می توانید از آن در شرایطی خاص استفاده نمایید. وب سایت شما به صورت پیش فرض در حالت Allow قرار دارد، بنبابراین دلیلی بر استفاده از آن در 99% مواقع نیست. در شرایطی که شما می خواهید اقدام به بلاک کردن دسترسی به یک شاخه و زیر شاخه های آن کنید، اما یکی از زیرشاخه ها نباید بلاک شود، دستور Allow به کار می آید.
نحوه کار بدین شکل است که ابتدا نام User-agent را ذکر کرده و سپس اقدام به استفاده از Allow یا Disallow می کنید. همچنین دستوراتی مانند Crawl-delay و Sitemap نیز وجود دارند، اما این دستورات توسط اغلب پایشگرها نادیده گرفته می شوند. همچنین روش های جایگزینی نیز برای اعمال آنها مانند دستور Sitemap در گوگل سرچ کنسول وجود دارد.
حال به معرفی شرایط مختلف و نحوه استفاده از فایل robots.txt می پردازیم.
چگونه با استفاده از فایل robots.txt اقدام به جلوگیری از دسترسی به کل وب سایت کنیم؟
فرض می کنیم که شما در حال توسعه و طراحی یک سایت بوده و قصد دارید تا اتمام کار جلوی دسترسی به کل وب سایت را برای تمام ربات ها بگیرید. برای انجام چنین کاری کافیست کد زیر را در فایل robots.txt قرار دهید:
User-agent: *
Disallow: /
این کد چه کاری انجام می دهد؟
علامت * برای دستور User-agent به معنای اعمال بر روی کلیه ربات هاست. علامت / بعد از دستور Disallow به معنای در نظر گرفتن کل صفحات وب سایت است.
چگونه با استفاده از فایل robots.txt اقدام به جلوگیری از دسترسی به وب سایت برای یک ربات خاص کنیم؟
در این مثال تصور می کنیم که شما علاقه ای به پایش وب سایت توسط بینگ ندارید. تمام تمرکز شما بر روی گوگل بوده و علاقه ای ندارید که بینگ نگاهی به وب سایت شما بیندازد. برای رسیدن به این هدف کافیست به جای علامت * در مثال بالا از عبارت Bingbot استفاده نماییم.
User-agent: Bingbot
Disallow: /
دستور Disallow بالا تنها بر روی User-agent با نام Bingbot اعمال می شود. برای مشاهده نام User-agent ربات های معروف می توانید سری به این صفحه بزنید.
چگونه با استفاده از فایل robots.txt اقدام به جلوگیری از دسترسی به پوشه یا فایل کنیم؟
به عنوان مثال فرض می کنیم که شما قصد جلوگیری از دسترسی به یک فایل یا پوشه (و همینطور پوشه های داخلی آن) را دارید. برای اعمال این محدودیت در وردپرس سعی داریم که موارد زیر را بلاک کنیم:
- کل پوشه wp-admin
- فایل wp-login.php
برای رسیدن به این هدف کافیست که دستورات زیر را درج کنید:
User-agent: *
Disallow: /wp-admin/
Disallow: /wp-login.php
چگونه با استفاده از فایل robots.txt اجازه دسترسی به یک فایل در پوشه بلاک شده دهیم؟
فرض می کنیم که شما دسترسی به کل یک پوشه را بلاک کرده اما یکی از فایل های آن را می خواهید مستثنی کنید. اینجاست که دستور Allow به کار می آید. فایل پیشفرض و مجازی robots.txt وردپرس مثال خوبی از این سناریوست:
User-agent: *
Disallow: /wp-admin/
Allow: /wp-admin/admin-ajax.php
این تکه کد دسترسی به کل پوشه به جز فایل /wp-admin/admin-ajax.php را بلاک می کند.
چگونه با استفاده از فایل robots.txt اقدام به جلوگیری از دسترسی به نتایج جستجوی داخلی سایت کنیم؟
یکی از توصیه هایی که ممکن است تاکنون شنیده باشید ممانعت از دسترسی به صفحات نتایج جستجو در داخال سایت است. وردپرس به صورت پیشفرض در آدرس این صفحات از کوئری “?s=” استفاده می کند. بنابراین برای جلوگیری از دسترسی به این صفحات کافیست که از کد زیر استفاده کنید.
User-agent: *
Disallow: /?s=
Disallow: /search/
چگونه قوانین متفاوتی برای ربات های مختلف در فایل robots.txt بسازیم؟
تا اینجا تمام مثال های ما محدود به یک مجموعه دستور می شد. اما چطور مجموعه قوانین متفاوتی تعریف کنیم؟ تنها کافیست که هر مجموعه دستور را با اشاره به User-agent آغاز کنیم. به عنوان مثال اگر مجموعه دستورات متفاوتی برای بینگ با سایر ربات ها داشته باشیم از شکل کلی زیر می توانیم استفاده کنیم:
User-agent: *
Disallow: /wp-admin/
User-agent: Bingbot
Disallow: /
در مثال بالا ربات بینگ از دسترسی به کل سایت منع می گردد، در صورتی که سایر ربات ها تنها به مسیر /wp-admin/ دسترسی ندارند.
تست فایل robots.txt
برای تست فایل robots.txt می توانید از گوگل سرچ کنسول استفاده نموده و از صحت پیاده سازی آن اطلاع حاصل کنید. به سادگی به بخش Crawl رفته و بر روی robots.txt Tester کلیک کنید. سپس شما می توانید آدرس صفحات را جهت تست ثبت کنید. در صورت قابل پایش بودن آدرس درج شده نتیجه ای با عنوان Allowed با رنگ سبز به شما نمایش داده خواهد شد. همچنیم برای اطمینان از بلاک شدن آدرس مد نظرتان نیز می توانید از این ابزار استفاده نمایید.
مراقب BOM UTF-8 باشید
منظور از BOM (bytes order mark) اساسا کارکترهای مخفیست که بعضا توسط ویرایشگرهای متنی به فایل ها اضافه می شود. در صورت اضافه شدن چنین کارکترهایی به فایل robots.txt ممکن است این فایل توسط گوگل ناخوانا گردد. بنابراین تست فایل robots.txt برای یافتن چنین خطاهایی امری ضروریست.
ربات گوگل اساسا متعلق به کشور آمریکاست
بلاک نکردن دسترسی به فایل robots.txt از کشور آمریکا بسیار مهم است، حتی اگر شما کشور هدف شما آمریکا نیست. گوگل سعی در پایش وب سایت ها به صورت لوکال را دارد، اما Googlebot اساسا از کشور آمریکاست.
وب سایت های معروف وردپرسی چه کدهایی در فایل robots.txt خود قرار می دهند؟
برای اینکه مثال هایی عملی از نکات بالا را مشاهده کنید فایل robots.txt چند سایت وردپرسی معروف جهان را برایتان نمایش داده ایم.
وب سایت TechCrunch
علاوه بر محدود کردن برخی صفحات به خصوص، این وب سایت خصوصا دسترسی به مسیرهای زیر را محدود کرده است:
/wp-admin/
/wp-login.php
آنها همچنین دستورات ویژه ای برای دو ربات زیر در نظر گرفته اند:
- Swiftbot
- IRLbot
وب سایت سازمان Obama
این وب سایت اساسا کار اضافه ای نکرده و تنها به محدود کردن دسترسی به مسیر /wp-admin/ بسنده کرده است.
وب سایت Angry Birds
این وب سایت نیز همانند وب سایت قبلی چیز خاصی به فایل robots.txt خود اضافه نکرده است.
وب سایت Drift
این وب سایت تنها نقشه سایت خود را در فایل robots.txt قید کرده و سایر دستورات مانند دو وب سایت قبلیست.
از فایل robots.txt به شکل درست استفاده کنید
به عنوان جمع بندی یک بار دیگر دقت داشته باشید که دستور Disallow در فایل robots.txt معادل استفاده از متا تگ نوایندکس نیست. robots.txt موجب محدود کردن پایش صفحات سایت شده اما الزاما این مسئله به معنی عدم ایندکس آن صفحات نیست. به واسطه این فایل می تواند نحوه برخورد موتورهای جستجو با وب سایت را مدیریت کنید. این مسئله به هیچ وجه معادل کنترل ایندکس صفحات سایت در موتورهای جستجو نمی باشد.
برای بسیاری از کاربران عادی وردپرس شاید نیازی به ویرایش فایل مجازی robots.txt نباشد. اما اگر مشکلی با یک ربات به خصوص پیدا کرده اید یا اینکه قصد تعریف قوانینی درباره پایش مسیر برخی افزونه و پوسته ها دارید، اینجاست که می توانید دستورات خود را به آن اضافه نمایید.
امیدواریم که با خواندن این راهنما رضایت خاطر شما را کسب کرده باشیم. در صورت وجود هر گونه پرسش درباره این مطلب، آن را از طریق بخش کامنت ها مطرح نمایید.
ممنون از اطلاعات کافیتون