آشنایی با دستورات robots.txt

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

User-agent

نام ربات‌ها موتورهای جستجو یا نرم‌افزارهای خزنده موجود در سطح وب می‌باشد.

لیست کامل ربات‌های موجود در سطح وب را می‌توانید از لینک زیر مشاهده کنید:

http://www.robotstxt.org/db.html

Disallow

دستوری که مشخص می‌کند ربات‌ها به چه لینک یا بخشی از سایت نباید دسترسی داشته باشند.

البته یک دستور دیگر به نام Allow نیز در فایل robots.txt استفاده می‌شود و آن‌هم زمانی است که می‌خواهیم لینکی از سایت توسط ربات‌ها بررسی شود اما آن لینک در داخل لینک والد دیگری قرار دارد که دسترسی به لینک والد برای ربات‌ها مسدود شده است.

گوگل ربات‌های متعددی دارد، به‌عنوان‌مثال Googlebot که برای جستجو صفحات وب استفاده می‌شود یا Googlebot-image که برای جستجو تصاویر توسط گوگل مورداستفاده قرار می‌گیرد. معمولاً بیشتر ربات‌های گوگل از قوانینی که برای ربات اصلی گوگل یعنی Googlebot وضع می‌شود پیروی می‌کنند؛ اما بااین‌حال می‌توان بدون در نظر گرفتن این موضوع، قوانینی را مختص هریک از انواع ربات‌های گوگل در فایل robots.txt نوشت.

نحوه به‌کارگیری و نوشتن این دستورات  robots.txt:

User-agent: [نام رباطی که می‌خواهیم دستورات نوشته‌شده را رعایت کند]

Disallow: [لینکی که می‌خواهیم دسترسی ربات (ها) موردنظر به آن مسدود شود]

Allow: [لینکی که می‌خواهیم توسط ربات موردنظر بررسی شود اما در یک شاخه والد مسدود شده قرار دارد]

User-agent: * [استفاده از کاراکتر * جهت مخاطب قرار دادن همه ربات‌های موجود سطح وب می‌باشد]

در پیاده‌سازی و ساخت فایل robots.txt می‌توان ورودی‌های متعددی را داشت، می‌توان چندین دستور Disallow را برای چندین User-agent مختلف به‌کارگیری کرد و … به‌طورکلی با روش‌های متعددی می‌توان قوانین موردنظر خود را برای دسترسی یا عدم دسترسی ربات‌های موتورهای جستجو برای بخش‌های دلخواه سایت نوشت.

دستورات robots.txt قابل‌استفاده برای مسدود کردن دسترسی‌ها

درخواست‌های مسدودسازی نمونه کد و دستورات robots.txt
مسدود کردن دسترسی کل سایت با کاراکتر اسلش (/) Disallow: /
مسدود کردن دسترسی به کل محتویات یک پوشه یا یک شاخه از سایت با ذکر نام پوشه بین دو کاراکتر اسلش Disallow: /sample-directory/
مسدود کردن دسترسی به یک صفحه مشخص با ذکر لینک صفحه موردنظر بعد از کاراکتر اسلش Disallow: /private_file.html
مسدود کردن دسترسی به یک تصویر خاص برای ربات مخصوص تصاویر گوگل

User-agent: Googlebot-Image

Disallow: /images/dogs.jpg

مسدود کردن دسترسی به کل تصاویر سایت برای ربات مخصوص تصاویر گوگل

User-agent: Googlebot-Image

Disallow: /

مسدود کردن دسترسی ربات گوگل به نوع خاصی از فایل‌ها به‌عنوان‌مثال فایل‌هایی با پسوند.gif

User-agent: Googlebot

Disallow: /*.gif$

اگر در صفحات سایت تبلیغات گوگل (AdSense) داشته باشیم و بخواهیم دسترسی ربات‌ها را مسدود کنیم اما به ربات Mediapartners-Google اجازه دسترسی بدهیم تا بتواند صفحات را بررسی کند و بتواند تصمیم بگیرد که چه تبلیغاتی را برای بازدیدکنندگان سایت نمایش دهد.

User-agent: *

Disallow: /

User-agent: Mediapartners-Google

Allow: /

 

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

به‌عنوان‌مثال:

دستور Disallow: /file.asp دسترسی به صفحه http://www.example.com/file.asp را مسدود می‌کند اما اجازه دسترسی به صفحه http://www.example.com/File.asp همچنان وجود دارد. همچنین ربات گوگل از فاصله‌های اضافی و دستورات ناشناخته و غیراستاندارد استفاده شده در robots.txt چشم‌پوشی می‌کند.

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

آشنایی با دستورات robots.txtبرخی الگوهای دستوری برای ساده کردن دستورات robots.txt

الگوهای دستوری نمونه کد و دستورات robots.txt
مسدود کردن فایل‌هایی که رشته‌ای از حروف مشابه در اسم خود دارند با استفاده از کاراکتر ستاره (*) در قسمتی از نام که مشابه و تکراری است.

به‌عنوان‌مثال مسدود کردن تمام زیرشاخه‌های سایت که با کلمه “private” شروع می‌شوند:

User-agent: Googlebot

Disallow: /private*/

مسدود کردن دسترسی لینک‌هایی که در آن‌ها کاراکتر علامت سؤال (؟) وجود دارد.

به‌عنوان‌مثال نمونه کد روبرو دسترسی ربات گوگل به لینک‌های که بعد از دامنه سایت یک رشته دلخواه، سپس کاراکتر علامت سؤال و مجدد هر رشته‌ای دیگری بعد از آن آمده باشد را مسدود می‌شود.

User-agent: Googlebot

Disallow: /*?

مسدود کردن دسترسی به لینک‌هایی که به یک فرمت خاص ختم می‌شوند با استفاده از کاراکتر دلار ($)

به‌عنوان‌مثال نمونه کد روبرو دسترسی به لینک‌های از سایت که به.xls ختم می‌شوند را مسدود می‌کند.

User-agent: Googlebot

Disallow: /*.xls$

مسدود کردن دسترسی برای الگوهایی که هم شامل دستور Allow هستند و هم Disallow

به‌عنوان‌مثال در نمونه کد روبرو کاراکتر؟ مشخص‌کننده یک session ID است، معمولاً لینک‌هایی که شامل این آی‌دی‌ها می‌شوند باید برای ربات‌ها مسدود شوند تا مشکل بررسی صفحات تکراری پیش نیاید. بااین‌حال ممکن است لینک برخی از صفحات (که می‌خواهیم توسط ربات‌ها بررسی شوند) به کاراکتر؟ ختم شوند که بایستی از ترکیب دو دستور Allow و Disallow استفاده کنیم.

User-agent: *

Allow: /*?$

Disallow: /*?

توضیح:

دستور Allow: /*?$ اجازه بررسی لینک‌هایی را می‌دهد که به کاراکتر؟ ختم می‌شوند و دستور Disallow: / *? اجازه بررسی تمامی لینک‌هایی که شامل کاراکتر؟ می‌شوند را مسدود می‌کند.

 

ارسال یک پاسخ

آدرس ایمیل شما منتشر نخواهد شد.