راهنمای گام به گام Robots.Txt
باتهای خزنده تمام اطلاعات و صفحات سایت را بررسی و جمعآوری میکنند. اگر اطلاعاتی دارید که نمیخواهید در میان نتایج موتورهای جستجو نمایش داده شوند، یا میخواهید تمرکز باتها روی اطلاعات مهمتر سایتتان بیشتر باشد، یکی از روش ها استفاده از فایل robots.txt است.
Robots.txt چیست
یک فایل ساده و شامل اجزایی است که مشخص میکند کدام صفحات یک وبسایت باید و کدامیک نباید توسط باتهای خزنده موتورهای جستجو بررسی شوند. این فایل میتواند در دایرکتوری اصلی سایت شما قرار داده شود. استاندارد مشخصشده برای این فایل، در سال ۱۹۹۴ تعیین شد که امروزه به نام استاندارد محدودیت باتها یا پروتکل محدودیت باتها شناخته میشود.
برخی باورهای غلط در مورد robots.txt
از فهرست شدن محتوای سایت و نمایش داده شدن آن در میان نتایج جستجو جلوگیری میکند
اگر صفحهای خاص را در فایل robots.txt لیست کرده باشید اما آدرس URL صفحه در منابع خارجی قرار داشته باشد، بازهم باتهای موتورهای جستجو ممکن است در آن بخزند (Crawl) و این URL خارجی را فهرست کنند و در میان نتایج جستجو نشان دهند. همچنین، تمام رباتها از دستورالعمل دادهشده در فایلهای robots.txt پیروی نمیکنند، بنابراین درهرحال ممکن است برخی باتها بتوانند در صفحات درجشده در فایل robots.txt بخزند و آنها را فهرست کنند. اگر میخواهید مانع دیگری هم برای جلوگیری از فهرست شدن قرار دهید میتوانید از ربات Meta tag با مقدار ‘noindex’ در قسمت محتوا استفاده کنید. اگر آن را همانند شکل زیر برای صفحههای خاص استفاده کنید، همان نقش مانع را برایتان ایفا خواهد کرد:
<meta name=“robots” content=“noindex”>
از محتوای خصوصی محافظت میکند
اگر محتوای خصوصی یا محرمانه در سایتی دارید که میخواهید از باتها در امان باشد، لطفاً فقط به robots.txt تکیه نکنید. توصیه میکنیم که برای چنین فایلهایی حتماً از رمز عبور استفاده کنید، یا اصلاً آنها را در فضای آنلاین قرار ندهید.
عدم فهرست کرد دوباره محتوا را تضمین میکند
ازآنجاکه robots.txt فهرست نکردن یک صفحه را نمیتواند تضمین کند، نمیتوان از آن برای جلوگیری از تکرار محتوا در سایت استفاده کرد. اما اگر از robots.txt برای جلوگیری از نشر دوباره محتوا استفاده میکنید، مطمئن شوید که دیگر روشهای مطمئن مانند یک تگ rel=canonical را هم بکار گرفته باشید.
مقاله مرتبط: راهنمای جامع استفاده از ابزار بهینه سازی وب سایت هاست ایران
بلاک کردن تمام باتها را تضمین میکند
برخلاف باتهای گوگل، همه باتها قانونی عمل نمیکنند و درنتیجه ممکن است از اصول فایل robots.txt برای جلوگیری از فهرست شدن یک فایل خاص پیروی نکنند. تنها راه block کردن این رباتهای مخرب و ناخواسته این است که دسترسی آنها به سرور وب خود را از طریق تنظیمات سرور یا به کمک یک فایروال شبکه block کنید، تازه با این فرض که آن بات از یک IP یکسان استفاده کند.
کاربردهای Robots.txt:
همانطور که در بخش قبل اشاره کردیم، استفاده از robots.txt در برخی موارد چندان مؤثر نیست. اما بااینحال، وجود این فایل بیدلیل نیست و دلیلش اهمیت آن برای SEO مربوط به صفحات است.
اینها مواردی از راههای کاربردی استفاده از robots.txt هستند:
- ناامید کردن خزندگان از رجوع به فولدرهای شخصی
- باتهای خزنده را از مطالب کماهمیتتر دور نگه داریم. این باعث میشود که زمان بیشتری را روی محتوای مهمی که میخواهیم در نتایج جستجو نشان داده شوند صرف کنند.
- اینکه فقط به چند بات خاص اجازه خزیدن در صفحات سایت را بدهیم، به حفظ پهنای باند کمک میکند. باتهای جستجو بهطور پیشفرض به دنبال فایلهای txt هستند. اگر آنها پیدا نکنند یک خطای ۴۰۴ گزارش میکنند که میتوانید آن را در میان فایلهای گزارش پیدا کنید. برای جلوگیری از این کار باید حداقل از یک robots.txt پیشفرض مانند یک فایل robots.txt خالی استفاده کنید.
- موقعیت نقشه سایت را به باتها نشان دهید. برای این کار یک دستورالعمل در فایل txt خود وارد کنید که موقعیت نقشه سایت شمارا شامل شود:
Sitemap: http://yoursite.com/sitemap-location.xml
این دستور را میتوانید در هر جای فایل robots.txt اضافه کنید چون این دستور از خط عامل کاربر (user-agent) مستقل است. تنها کاری که باید کنید این است که موقعیت نقشه سایت خود را در بخش sitemap-location.xml از URL مشخص کنید.اگر چندین نقشه سایت دارید، میتوانید محل فایل Sitemap خود را نیز مشخص کنید.
نمونههایی از فایلهای Robots.txt:
دو بخش اصلی در یک فایل robots.txt وجود دارد: user-agent و Disallow
User-agent: عبارت user-agent معمولاً با یک wildcard (*) نمایش داده میشود که درواقع یک علامت ستاره است که نشان میدهد دستورهای Block برای تمام باتها هستند. اگر میخواهید چند بات خاص Block شوند یا تنها به بعضی صفحات دسترسی داشته باشند، میتوانید اسم بات را در پایین دستور user-agent درج کنید.
Disallow: وقتی در این بخش چیزی مشخص نشده باشد به این معنی است که باتها میتوانند در تمام صفحات سایت بخزند. بهمنظور بلاک کردن یک صفحه خاص باید تنها یک پیشوند URL را برای هر دستور disallow استفاده کنید. میتوانید چند فولدر یا چند پیشوند URL را در بخش disallow فایل robots.txt درج کنید.
نمونههایی از برخی استفادههای رایج از فایلهای robots.txt به شرح زیر هستند:
برای اجازه دسترسی همه باتها به تمام سایت (یعنی همان robots.txt پیشفرض) دستور زیر استفاده میشود:
User-agent:* Disallow:
برای بلاک کردن کل سرور در برابر باتها:
User-agent:* Disallow: /
اجازه دسترسی به یک بات و عدم دسترسی باتهای دیگر:
User-agent: Googlebot Disallow: User-agent: * Disallow: /
بلاک کردن سایت برای یک بات:
User-agent: XYZbot Disallow: /
بلاک کردن برخی قسمتهای سایت:
User-agent: * Disallow: /tmp/ Disallow: /junk/
از این فایل robots.txt برای بلوک کردن تمام محتوای مربوط به یک نوع فایل خاص استفاده کنید. در این مثال، دسترسی به همه فایلهای پاورپوینت Block شده است. (توجه کنید که علامت دلار $ به معنی انتهای خط دستور است):
User-agent: * Disallow: *.ppt$
بلوک کردن دسترسی باتها به یک فایل خاص:
User-agent: * Disallow: /directory/file.html
برای اعمال اجازه خزیدن بات ها در برخی فایلهای HTML در دایرکتوری که در برابر بات ها بلاک شده است، میتوانید از یک دستور Allow استفاده کنید. برخی باتهای خزنده قوی از دستور Allow در فایل robots.txt پشتیبانی میکنند. مثالی از این نمونه نشان دادهشده است:
User-agent: * Disallow: /folder/ Allow: /folder1/myfile.html
برای بلوک کردن URL هایی که شامل برخی عناصر جستجوی خاص هستند که ممکن است باعث نمایش دوباره محتوا شوند، از فایل robots.txt زیر استفاده میشود. در این مثال، هر URL که شامل یک علامت سؤال (؟) بوده بلوک شده است:
User-agent: * Disallow: /*?
گاهی حتی اگر یک صفحه را در فایل robots.txt درج کرده باشید، به دلایلی ازجمله لینک شدن از خارج ممکن است بازهم فهرست شود. برای آنکه این صفحه را کاملاً از نمایش داده شدن در میان نتایج جستجو بلاک کنید، میتوانید متاتگهای noindex را بهطور جداگانه در آن صفحات بگنجانید. همچنین میتوانید با واردکردن کد زیر، یک تگ nofollow هم قرار دهید و به باتها دستور دهید لینکهای خارجی را دنبال نکنند. برای اینکه صفحه فهرست نشود باید از این استفاده کنید:
<meta name=“robots” content=“noindex”>
مقاله مرتبط: چگونه از ویژگی NoFollow استفاده کنیم؟
و برای اینکه صفحه مذکور فهرست نشود و لینکها هم دنبال نشوند:
<meta name=“robots” content=“noindex,nofollow”>
تذکر: اگر این صفحات را به فایل robots.txt اضافه کنید و متاتگ نوشتهشده در بالا را هم به صفحه اضافه کنید، باتهای خزنده آن را نمیبینند اما ممکن است این صفحات در نتایج جستجوی حاصل از فهرست بندیهایی که فقط بر اساس URL انجامشدهاند دیده شوند، چراکه باتها فقط از خواندن متاتگهای داخل صفحه بلاک شده بودند.
نکته مهم دیگری که باید به آن توجه کنید این است که نباید هیچ URL بلاک شده در فایل robots.txt را در XML نقشه سایت خود قرار دهید. این اتفاق بهویژه اگر از چند ابزار برای سایت فایل robots.txt و XML نقشه سایت استفاده میکنید ممکن است رخ دهد. در چنین مواردی شاید مجبور شوید خودتان همه آنها را بهدقت بررسی کنید و ببینید آیا هیچکدام از URL های Block شده در نقشه سایت هم هستند یا خیر. اگر سایت خود را در اکانت Google Webmaster Tools ثبت و تأیید کرده و نقشه سایتتان را هم در آن وارد کرده باشید، میتوانید این مسئله را در اکانت خود بررسی کنید.
برای این کار به بخش Webmaster Tools > Optimization > Sitemaps بروید. اگر خطای crawl در نقشه سایت ثبت نشان میداد، میتوانید روی آن دو بار کلیک کنید تا ببینید آیا مربوط به صفحهای است که در robots.txt هم درجشده است یا خیر.
راه دیگر، استفاده از ابزار آزمایش فایل robots.txt در داخل GWT است. میتوانید آن را در مسیر Webmaster Tools > Health > Blocked URLs پیدا کنید.
این ابزار یکی از روشهای عالی در یادگیری نحوه استفاده از فایل robots.txt است. میتوانید ببینید که باتهای گوگل بعدازاینکه URL آزمایشی خود را وارد کردید چگونه با آن رفتار میکنند.
مقاله مرتبط: اهمیت متا تگ توضیحات Meta Description در سئو
در آخر نیز به برخی نکات مربوط به استفاده از robots.txt میپردازیم:
- وقتی از یک اسلش (/) بعد از یک دستور یا فولدر استفاده میکنید، به این معنی است که txt هر دستور یا فولدر یا چیز دیگری که داخل آن باشد را بلاک میکند:
Disallow: /junk-directory/
- دقت کنید که فایلهای CSS و کدهای جاوا اسکریپت که محتوای غنی شمارا ارائه میکنند در فایل txt بلوک نشده باشند، در غیر این صورت مانع پیشنمایش خلاصه بخشها میشوند.
- دستور نگارش خود را با ابزار Google Webmaster Tool چک کنید تا اشتباهی نداشته باشد یا آن را به فردی که کاملاً به کار با txt آشناست واگذار کنید، در غیر این صورت ریسک بلوک شدن محتوای مهم سایت را به جان میخرید.
- اگر دو بخش user-agent دارید، که یکی برای همه باتها و یکی برای یک بات خاص مثلاً باتهای گوگل است، باید در نظر داشته باشید که خزندههای باتهای گوگل تنها دستورهای داخل بخش user-agent مربوط به باتهای گوگل را دنبال خواهند کرد و به دستورهای بخش کلی که با وایلدکارت (*) مشخصشده است عمل نمیکنند. در این حالت، شاید مجبور شوید دستورهای disallow که در بخش user-agent کلی آوردهاید را در بخش باتهای گوگل هم دوباره بنویسید. به مثال زیر توجه کنید:
User-agent: * Disallow: /folder1/ Disallow: /folder2/ Disallow: /folder3/ User-agent: googlebot Crawl-delay: 2 Disallow: /folder1/ Disallow: /folder2/ Disallow: /folder3/ Disallow: /folder4/ Disallow: /folder5/