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


اگر صاحب یک وبسایت هستید، احتمالا نام فایل «robots.txt» یا «استاندارد استثناء کردن رباتها» به گوشتان خورده است، اگر هم احیانا نخورده باشد فرق چندانی ندارد، چراکه در هر صورت زمان آشنایی با آن رسیده است. این فایل سادهی متنی که ممکن است به نظر ناچیز بیاید، یک تاثیر حیاتی بر روی وبسایتتان دارد که باعث میشود اهمیت بسیار بالایی پیدا کند. در این مطلب به بررسی کاربرد فایل «robots.txt» و نحوهی پیادهسازی آن میپردازیم.
فایل robots.txt چیست؟
برای اینکه بدانید این فایل چگونه کار میکند، ابتدا باید یک دانش اولیه راجع به موتورهای جستوجو داشته باشید. به صورت خلاصه میتوان گفت که موتورهای جستوجو به سایر سایتها «کاوشگر» (Crawler که از نظر لغوی به معنای خزنده است) ارسال میکنند. این کاوشگرها برنامههایی هستند که برای جمعآوری اطلاعات از اینترنت طراحی شدهاند و این اطلاعات را در جایی ذخیره میکنند تا در آینده بتوانند کاربران را در راه رسیدن به آنها راهنمایی کنند.
این کاوشگرها که به نامهای «ربات» (bots) یا «عنکبوت» (spiders) نیز شناخته میشوند، صفحات میلیاردها وبسایت را پیدا و «ایندکس» (index به معنای فهرستبندی) میکنند. موتورهای جستوجو به این رباتها میگویند که به چه آدرسهایی بروند، ولی خود سایتها نیز میتوانند با آنها ارتباط برقرار کرده و به آنها بگویند که کدام صفحات را باید بررسی کنند.
البته در بیشتر اوقات برعکس این ماجرا اتفاق میافتد، یعنی که وبسایتها به رباتها میگویند که کدام صفحات را نباید بررسی کنند. این موارد شامل صفحات مدیریت، پورتالهای بکاند، صفحات دستهبندی و برچسبها و موارد دیگری هستند که صاحبان وبسایتها نمیخواهند در موتورهای جستوجو نمایش داده شوند. البته این صفحات همچنان برای کاربران قابل مشاهده هستند و هر کسی با مجوز لازم به آنها دسترسی دارد.
با معرفی اینگونه صفحات به عنکبوتها توسط فایل «robots.txt»، یک لطف به همه کردهایم. برای مثال اگر شما در یک موتور جستوجو، واژهی «فرادرس» را جستوجو میکنید، نمیخواهید که صفحات مدیریت، در بالای گوگل ظاهر شوند. مسلما این صفحات به هیچکس کمکی نمیکنند و از همین رو نیز ما از موتورهای جستوجو میخواهیم که آنها را نمایش ندهند. همچنین از این فایلها میتوان برای جلوگیری از بررسی شدن برخی از صفحات توسط موتورهای جستوجو استفاده کرد. این صفحات مواردی هستند که به دستهبندی وبسایت شما کمکی نمیکنند.
در یک کلام، فایل «robots.txt» برای این کاوشگرها مشخص میکند که چه کار کنند. حال در اینجا یک سوال بسیار مهم مطرح میشود.
آیا کاوشگرها میتوانند فایلهای robots.txt را نادیده بگیرند؟
پاسخ مثبت است. درواقع بسیاری از کاوشگرها به طور کامل این فایل را نادیده میگیرند. البته باید توجه داشته باشید که عموما این دسته از رباتها متعلق به موتورهای جستوجوی معروفی نیستند. این رباتها بیشتر برای اسپمرها (افرادی که به دنبال تبلیغات هستند)، ایمیل یابها و سایر رباتهای خودکاری هستند که در سراسر اینترنت وجود دارند.
نکتهی مهمی که باید به یاد داشته باشید این است که استفاده از فایل «robots.txt» روش مناسبی برای برقراری امنیت نیست. اتفاقا برخی از رباتها کار خود را از صفحاتی آغاز میکنند که به آنها گفتهاید واردشان نشوند. ولی موتورهای جستوجو براساس چیزی که در فایل «robots.txt» مشخص کردهاید عمل خواهند کرد (به شرطی که ساختار آن صحیح باشد).
چگونه یک فایل robots.txt بنویسیم؟
فایلهای «robots.txt» شامل بخشهای مختلفی هستند. در این مطلب تمامی آن بخشها را شرح خواهیم داد.
تعریف User Agent
قبل از اینکه به رباتها بگویید به کدام صفحات نباید بروند، ابتدا باید مشخص نمایید که اصلا دارید با کدام ربات حرف میزنید. در بیشتر اوقات از نشانهی «*» استفاده میکنیم که به معنای «همهی رباتها» است. این بخش به صورت زیر نوشته میشود:
1User-agent: *
علاوه بر این ، میتوانید برای هر ربات نیز صفحات خاصی را مشخص کنید. البته برای این کار باید نام ربات مد نظر را نیز بدانید. کد زیر نمونهای از این روش است:
1User-agent: Googlebot
2[list of pages not to crawl]
3User-agent: Googlebot-Image/1.0
4[list of pages not to crawl]
5User-agent: Bingbot
6[list of pages not to crawl]
حتی اگر رباتی وجود داشت که نمیخواستید در سایتتان پرسه بزند، میتوانید آن را هم مشخص کنید. برای آشنایی با نام رباتها میتوانید از وبسایت «useragentstring.com» استفاده کنید.
جلوگیری از ورود به صفحات
مهمترین بخش فایل استثناء کردن رباتها همین است. با یک تعریف ساده میتوانید به یک ربات یا جمعی از رباتها بگویید که وارد کدام صفحات نشوند. دستور مربوط به اینکار بسیار ساده است. برای مثال، نحوهی جلوگیری از ورود به پوشهی «admin» به شکل زیر است:
1Disallow: /admin/
این کد جلوی گشت و گذار رباتها در آدرسهای yoursite.com/admin ،yoursite.com/admin/login ،yoursite.com/admin/files/secret.html و هر چیز دیگری که زیرشاخهای از پوشهی «admin» باشد را میگیرد. برای استثناء سازی تنها یک فایل، میتوانید به شکل زیر عمل کنید:
1Disallow: /public/exception.html
به این صورت دیگر فایل «exception» ایندکس نمیشود، ولی کاوشگر تمام سایر فایلهای پوشهی «public» را بررسی خواهد کرد. برای جلوگیری از ایندکس شدن چند پوشه به صورت دستهای، میتوانید از کدی مشابه زیر استفاده کنید:
1Disallow: /private/
2Disallow: /admin/
3Disallow: /cgi-bin/
4Disallow: /temp/
این چهار خط در عملکرد هر رباتی که در بخش «User Agent» مشخص کرده باشید اعمال میشوند. اگر بخواهید به طور کامل جلوی رباتها را بگیرید، میتوانید از کد زیر استفاده نمایید:
1Disallow: /
تعیین استانداردهای متفاوت برای هر ربات
همانطور که در بالا مشاهده کردید، میتوانیم برای هر ربات صفحات خاصی را مشخص نماییم. حال با ترکیب عناصر قبلی، میتوانیم به چیزی مشابه کد زیر دست پیدا کنیم:
1User-agent: googlebot
2Disallow: /admin/
3Disallow: /private/
4
5User-agent: bingbot
6Disallow: /admin/
7Disallow: /private/
8Disallow: /secret/
با استفاده از دستورات بالا، پوشههای «admin» و «private» برای هم ربات گوگل و هم ربات بینگ مخفی خواهند بود، ولی گوگل بر خلاف ربات بینگ، به پوشهی «secret» دسترسی خواهد داشت. با استفاده از ستاره میتوانید برای همهی رباتها قانون یکسان مشخص کنید، و سپس برای هر ربات نیز قوانین مربوط به خود را در نظر بگیرید.
حال با دانشی که تا اینجا فرا گرفتهاید، میتوانید یک فایل «robots.txt» کامل بنویسید. برای این امر تنها کافی است که ویراستار متن مورد علاقهی خود را اجرا کرده و شروع به دستور دهی به رباتها کنید. برای مشاهدهی مثال از این فایل، میتوانید در هر سایتی رفته و عبارت «robots.txt/» را به انتهای آن اضافه نمایید. تصویر زیر از فایل «robots.txt» در وبسایت «Giant Bicycles» گرفته شده است.
همانطور که مشاهده میکنید، این وبسایت صفحاتی دارد که نمیخواهد در موتورهای جستوجو نمایش داده شوند. همچنین برخی موارد در این فایل استفاده شده است که ما هنوز به توضیح آنها نرسیدهایم. در ادامه به سایر کارهایی میپردازیم که میتوان با فایل استثناء سازی رباتها انجام داد.
مشخص کردن محل قرارگیری نقشهی سایت
بر خلاف فایل «robots.txt» که به کاوشگرها میگوید کجا نروند، نقشهی سایت برعکس آن را انجام داده و به آنها کمک میکند تا مواردی که میخواهند را پیدا کنند. البته معمولا موتورهای جستوجو از محل قرارگیری نقشهی سایت شما آگاه هستند، ولی هیچوقت بد نیست که شما هم به آنها یادآوری کنید. تعریف محل قرارگیری نقشهی سایت به سادگی کد زیر است:
[Sitemap: [URL of sitemap
مثلا یک نمونه از این دستور میتواند به شکل زیر آمده باشد:
1Sitemap: //www.mywebsite.com/sitemap_index.xml
ایجاد تاخیر در کاوش
دستور «crawl-delay» به موتورهای جستوجوی خاصی میگوید که هر چند وقت یکبار میتوانند سایت شما را ایندکس کنند. این مقدار بر اساس ثانیه نوشته میشود، ولی برخی از موتورهای جستوجو کاملا برداشت متفاوتی از آن دارند. برخی از آنها «Craw-delay: 5» را به معنای توقف 5 ثانیهای به ازای هر کاوش میدانند، و برخی دیگر نیز کاوش 5 ثانیه یکبار هر صفحه را از آن برداشت میکنند.
ممکن است برای شما سوال پیش بیاید که اصلا چرا نباید به ربات اجازه دهیم تا میتواند در سایت کاوش کند؟ دلیل این امر برای جلوگیری از اتمام پهنای باند است. اگر سرور شما در پاسخدهی به حجم زیاد درخواستها با مشکل و سختی مواجه است، بهتر است که یک تاخیر کاوش ایجاد کنید. البته اکثر مردم نیازی به نگرانی راجع به این مساله ندارند و بیشتر سایتهایی با بازدید بالا هستند که نیاز به این دستور پیدا میکنند.
کد زیر یک نمونه از تاخیر کاوش 8 ثانیهای است:
1Crawl-delay: 8
به یاد داشته باشید که همهی موتورهای جستوجو از دستورهای شما پیروی نمیکنند، ولی گفتن آن ضرری ندارد. همانند محدودیت صفحات، میتوانید برای هر موتور جستوجو نیز تاخیر مجزایی مشخص کنید.
آپلود فایل robots.txt
پس از اینکه تمامی موارد را در فایل خود تنظیم کردید، باید فایل را در سایت مد نظر بارگذاری نمایید. مطمئن باشید که فایل شما یک فایل متنی خالص با نام «robots.txt» است، سپس آن را به گونهای در سایت آپلود کنید که از طریق آدرس «yoursite.com/robots.txt» در دسترس باشد.
اگر از سیستمهای مدیریت محتوای خاصی نظیر وردپرس استفاده میکنید، باید روش خاصی را برای بارگذاری آن پی نمایید، چرا که در هر «CMS» محل قرارگیری آن متفاوت است. برای راهنمایی در این مورد، مستندات «CMS» خود را مطالعه کنید. برخی از سایتها نیز ممکن است رابط گرافیکی آنلاینی برای آپلود این فایل ارائه دهند، در چنین سایتهایی تنها کافی است فایل خود را در آن کپی و پیست نمایید.
فایل خود را بروز نگه دارید
آخرین نکتهی حائز اهمیت این است که باید هر از چند گاهی این فایل را بررسی کنید. سایت شما همواره در حال تغییر است و شما نیز باید فایل «robots.txt» را بر اساس این تغییرات، بروزرسانی نمایید. اگر در زمانی تغییراتی غیر عادی در بازدید سایتتان از سمت موتورهای جستوجو پیش آمد، باز هم بد نیست یک نگاه به فایل فوق بیندازید.
حتی ممکن است در آینده نیز استانداردهای این فایل تغییر کنند. پس حتما همانند سایر بخشهای وبسایت، هر چند وقت یکبار از صحت این فایل نیز مطمئن شوید.
امیدواریم که این مطلب برایتان مفید بوده باشد. برای آشنایی با سایر مباحث مربوط به SEO میتوانید از مطالب پیشنهادی زیر استفاده کنید:
- آموزش سئو در وردپرس (WordPress SEO)
- چگونه بهترین کلیدواژه کانونی را در وردپرس انتخاب کنیم
- تاثیر سرعت سایت بر سئو و تجربه کاربری — چگونه سرعت سایت خود را چک کنیم؟
#