آموزش ساخت و استفاده از فایل robots.txt


   ۱۳۹۲/۰۲/۱۴    46572 بازديد    ۴۱ دیدگاه

 آموزش ساخت و استفاده از فایل robots.txt

از زمان شکل گیری ابزار ارتباطی نوین به نام اینترنت یا شبکه جهانی، قوانین و قواعدی نیز به همراه آن وضع شد که در بحث بهینه سازی سایت یا سئو (Search Engine Optimization) واضعان آن قواعد و قوانین، عمدتا موتورهای جستجوگر معروفی چون گوگل (google)، بینگ (bing)، یاهو (yahoo) و… بوده اند،

بدین ترتیب با هم اندیشی توسعه دهنده گان وب و مهندسین این شرکت ها، به تدریج استانداردها و قواعدی برای مدیران سایت ها تدوین شد که یکی از این قواعد، کنترل رفتار ربات های خزنده (bots) موتورهای جستجو به وسلیه ایجاد و تنظیم فایلی به نام robots.txt در ریشه سایت است؛ بدین وسیله می توان تا حدودی رفتار ربات ها را در نحوه جستجو و ایندکس صفحات مدیریت کرد، در ادامه به چگونگی انجام این کار و همچنین بایدها و نبایدهای استفاده از این امکان اشاره خواهیم کرد.

فایل robots.txt چیست؟

فایل robots.txt یک فایل متنی ساده است که می توان آن را با هر ویرایشگری ایجاد و با فرمت txt ذخیره نمود، این فایل در ریشه سایت قرار می گیرد (یعنی به طور مستقیم در فولدر wwwroot یا همان public_html و در بالاترین سطح) به طوری که اگر بعد از آدرس سایت، عبارت robots.txt را تایپ کنیم، این فایل در دسترس باشد:

http://www.example.com/robots.txt

از فایل robots.txt برای مواردی استفاده می شود که نمی خواهیم صفحاتی از سایتمان توسط موتورهای جستجو (ربات های خزنده) بررسی و ایندکس شود، یا ممکن است قبلا این کار صورت گرفته باشد و اکنون می خواهیم آن صفحات را به هر دلیل حذف کنیم، البته استفاده از فایل robots.txt برای حذف لینک ها از نتایج موتورهای جستجو، تنها یک پیش شرط است (شرط لازم است نه کافی!) و برای تکمیل کار، شاید ناچار باشید به ابزار وبمستر سایت هایی مثل گوگل در آدرس:

https://www.google.com/webmasters/tools

و بینگ در آدرس:

http://www.bing.com/toolbox/webmaster

مراجعه کنید.
با این تفاسیر استفاده از این فایل همیشه هم ضروری نیست و همانطور که گفتیم، در موارد مسدود کردن دسترسی ربات ها به صفحات خاص (لینک های خاص) کاربرد دارد، اما به دلیل اینکه اکثر ربات های جستجوگر همواره این فایل را از سرور شما درخواست می کنند، بهتر است برای اجتناب از افزایش خطاهای ۴۰۴ که در بخش log ها و آمار سایت جلوه خوبی ندارند، حتی شده یک فایل خالی با این نام در ریشه سایت خود قرار دهید.

نحوه تنظیم فایل robots.txt

یک فایل robots.txt معمولا از دو قانون ساده پیروی می کند، User-agent یا واسط کاربری (نوع خزنده یا ربات) و Disallow یا لینکی که دسترسی به آن را مسدود (یا مجاز) می کنیم؛ علاوه بر این، به یاد داشته باشید که در ابتدای آدرس دایرکتوری ها، باید از یک اسلش (/) نیز استفاده شود و در استفاده از حروف بزرگ یا کوچک نیز دقت کنید (به فرض دایرکتوری Image در مقایسه با image از دید ربات ها، معمولا دو آدرس متفاوت هستند).
به طور مثال اگر در فایل خود کد زیر را قرار دهیم:

User-agent: *
Disallow: /image/

ربات ها با پیروی از این قانون، دیگر محتوای فولدر image را بررسی نکرده و در نتایج جستجو آن را نمایش نمی دهند، هنگامی که از علامت * برای واسط کاربری استفاده می کنیم، در واقع منظور ما تمام ربات ها هستند، البته ذکر این نکته لازم است که تنها خزنده های برخی سایت ها و شرکت های معروف و معتبر به این قوانین احترام می گذارند و در مقابل برخی حتی برای ارسال اسپم یا نفوذ به صفحات حساس سایت ها، از این فایل، سوء استفاده نیز می کنند، لذا این نکته دارای اهمیت زیادی است که هیچ گاه برای محافظت از دایرکتوری های حساس، مانند دایرکتوری مدیریت سایت، به این فایل بسنده نکنید (بلکه یک سیستم ورود و خروج مطمئن برای آن در نظر بگیرید) و بهتر است آدرس دایرکتوری مدیریت را نیز در آن قرار ندهید، بهترین روش برای جلوگیری از ایندکس شدن دایرکتوری های حساس، این است که هیچ لینک خروجی و در معرض دید و دسترس ربات در صفحات خود نداشته باشید و از طرف دیگر دسترسی به محتوای این نوع صفحات را با ایجاد سیستم دریافت نام کاربری و کلمه عبور، محدود کنید.

چند مثال از نحوه استفاده از فایل robots.txt

برای آشنایی بیشتر و کاربردی تر، در زیر چند مثال با تنظیمات متفاوت را آورده ایم.
استفاده از فایل robots.txt و مسدود کردن یک فولدر برای تمام ربات ها:

User-agent: *
Disallow: /old-posts/

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

User-agent: *
Disallow: /old-posts/mypic.jpg

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

User-agent: *
Disallow: /private.html

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

User-agent: Googlebot
Disallow: /personal/

برای دیدن لیست کامل واسط های کاربری (User-agent) می توانید به دیتابیس موجود در آدرس زیر مراجعه کنید:

http://www.robotstxt.org/db

مسدود بودن تمام صفحات برای تمام ربات ها:

User-agent: *
Disallow: /

مجاز بودن تمام صفحات برای تمام ربات ها:

User-agent: *
Allow: /

تنظیم فایل robots.txt با استفاده از الگو یا Pattern

علاوه بر ایجاد تنظیمات معمولی، برخی ربات ها (از جمله ربات گوگل) از قوانین پیچیده تری نیز پشتیبانی می کنند، این قوانین بی شباهت به عبارات با قاعده یا Regular Expressions نیستند، با این تفاوت که در اینجا فقط از چند علامت خاص (* ? $) استفاده می شود.
– برای تطبیق توالی از عبارات، از علامت * استفاده می شود، به طور مثال اگر ما چند دایرکتوری داشته باشیم که با عبارت فرضی book شروع شده باشند و بخواهیم با یک دستور، دسترسی ربات را به تمام آنها مسدود کنیم، خواهیم نوشت:

User-agent: Googlebot
Disallow: /book*/

به این ترتیب فولدرهای فرضی booksell، bookread، bookiran و… برای ربات مسدود خواهند شد، لذا همان طور که ملاحظه می کنید، نقش علامت * این است که در واقع عبارات بعد از آن در تطبیق نادیده گرفته می شوند.
– برای مسدود کردن لینک های داینامیک از علامت ? و * استفاده می کنیم، به فرض دستور زیر تمام لینک های داینامیک را برای ربات غیر قابل دسترس می کند:

User-agent: *
Disallow: /*?

همچنین می توان برای ساب دایرکتوری ها (دایرکتوری های زیر مجموعه) نیز این قابلیت را ایجاد کرد و از این نظر هیچ محدودیتی نیست:

User-agent: *
Disallow: /articles/*?

– برای مشخص کردن دقیق انتهای یک الگو، از علامت $ استفاده می شود، به فرض اگر قصد ما مسدود کردن تمام فایل های با پسوند png برای ربات باشد، خواهیم نوشت:

User-agent: * 
Disallow: /*.png$

به این ترتیب، تمام فایل هایی که به پسوند png ختم شده باشند، برای ربات مسدود می شوند.

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

تنظیمات فایل robots.txt به موارد گفته شده محدود نمی شود، شما می توانید برای یک واسط کاربری، چندین و چند آدرس یا دایرکتوری مجاز یا غیر مجاز تعریف کنید، یا با قوانین پیچیده، دستورات پیچیده تری ایجاد نمائید، به فرض در برخی سایت ها ممکن است مقادیر id سشن (session یا نشست) به عنوان بخشی از آدرس صفحه به صورت رندوم در لینک ها قرار داده شود (این موضوع یک اشکال در سئو محسوب شده زیرا موجب بروز مطالب تکراری با لینک های متفاوت می گردد) و در مقابل برخی آدرس ها نیز علامت ? را به طور طبیعی داشته باشند، در اینگونه موارد اگر بخواهیم به ربات بگوییم که به عبارات بعد از علامت ? در لینک های دارای سشن id توجه نکند، ولی لینک هایی را که به علامت ? (بدون وجود کاراکتری بعد از علامت ?) ختم می شوند، ایندکس کند، در یک فایل robots.txt خواهیم نوشت:

User-agent: *
Allow: /*?$
Disallow: /*?

به این ترتیب قانون اول اجازه ایندکس تمام آدرس هایی را که نهایتا به علامت ? ختم می شوند می دهد (علامت $ نشان دهنده پایان یک الگو است)، اما قانون دوم باعث نادیده گرفتن سشن id در لینک های داینامیک سایت می شود (در واقع وقتی از علامت $ در انتهای الگو استفاده نمی شود، یعنی هر عبارتی بعد از علامت ? بیاید، شامل آن الگو می شود).
یا به فرض اگر بخواهیم چند لینک مختلف را در یک دستور مسدود کنیم، خواهیم نوشت:

User-agent: *
Disallow: /articles/22.html
Disallow: /articles/23.html
Disallow: /articles/?post=159&title=آموزش-برنامه-نویسی-وب

افزودن نقشه سایت به فایل robots.txt

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

User-agent: *
Disallow: /articles/22.html
Disallow: /articles/23.html
Disallow: /articles/?post=159&title=آموزش-برنامه-نویسی-وب

Sitemap: http://webgoo.ir/sitemap.xml

سایر روش های مسدود سازی لینک ها برای ربات جستجوگر

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

<meta name="robots" content="noindex" />

یا

<meta name="googlebot" content="noindex" />

روش دوم نیز ارسال یک سربرگ HTTP برای ربات ها در هنگامی که صفحه را درخواست می کنند است، انجام این کار در php با استفاده از توابع header و به شکل زیر صورت می گیرد:

header("X-Robots-Tag: noindex", true);

یا

header("X-Robots-Tag: noindex, nofollow", true);


منبع : وبگو

خدمتی جدید از ملی سئو :  ساخت آنلاین فایل robots.txt زیر نظر ملی سئو

 

درباره نویسنده ()

بنده محمد مهدی مدیر ملی سئو با 4 سال سابقه سئو و بلاگ نویسی در ملی سئو برای شما مینویسم دوست دارم سئو را به شما همرامان همیشگی آموزش بدم .

دیدگاه‌ها (۴۱)

آدرس بازتاب فید دیدگاه ها

  1. یوپی اس می‌گه:

    با سلام
    ممنون عالی بود

  2. sanar می‌گه:

    ممنون بابت این مطلب

  3. علی می‌گه:

    سلام ممنون عالی ومفیدبود

  4. سینا می‌گه:

    سلام
    ممنون از توضیحاتتون
    عکسهای سایتم توو گوگل نمیادش… چه کنم؟
    میشه به فایل روبوتم یه نگاه بندازین؟
    http://fashionstar1.ir/robots.txt
    هات لینک رو هم فعال کردم واسه اینکه کسی نتونه کپی کنه عکس هارو… ولی نمیدونم مشکل از چیه که عکسهام نمیان… واقعا ممنون میشم اگه کمکم کنید

  5. خیلی خیلی خوب بود.
    ممنون از وقتی که برای این آموزش گذاشتید

  6. محمد رضا می‌گه:

    سلام ، سوالی برام پیش اومده
    همونجور که گفتید فایل robots.txt برای جلو گیری از ایندکس شدن مطالب و … توسط روباتهای جستجو گر هست
    مثالی که زدید ، آدرس sitemap رو در فایل robots قرار دادید
    Sitemap: http://webgoo.ir/sitemap.xml

    با این کار ما sitemap رو به اسپایدرهای گوگل معرفی کردیم و قرار دادن آدرس sitemap در فایل robots.txt به منزله جلوگیری از خواندن این فایل هست

    پس اگر آدرس sitemap در این فایل قرار بگیره ، پس اسپایدرهای گوگل نباید این فایل رو بخونن ..
    حالا سوال اینه که چرا ما باید این کار رو بکنیم ؟!!
    در این رابطه توضیح میدید ؟

    • محمد مهدی می‌گه:

      باسلام دوست عزیز متوجه اشتباه شدید
      در فایل ربات هم میتونید جلوگیری از ایندکس و هم انتشار یک فایل را داشته باشد
      برای سایت مپ هم در واقع یک معرفی محسوب میشود

  7. هادی می‌گه:

    خوب بود ممنون از انتشار

  8. متشکرم
    می تونم ازش استفاده کنم

  9. مجید می‌گه:

    عالی بود ممنون

  10. Designerz می‌گه:

    ممنونم عالی توضیح داده شده

  11. نیما می‌گه:

    مختصر و مفید بود ممنون

  12. bahar می‌گه:

    سلام
    من نتونستم کامل متوجه شم فقط عبارت

    User-agent: *
    Allow: /

    رو گذاشتم در محل مورد نظر در سایت
    امیدوارم که خراب کاری نکرده باشم

    میشه در مورد ساخت نقشه سایت هم تو ضیح بفرمایید
    سایت من نقشه نداره
    مرسی

  13. bahar می‌گه:

    سلام
    من دوست دارم فایل روبوت یک سایت خاص رو ببینم که ببینم چی نوشته
    چطور میشه این کارو کرد؟
    مرسی

  14. peyman می‌گه:

    عالی بود
    دانشجو ها برای پروژه خودشون به سایت http://www.elmportal.ir سر بزنن. (با اجازه مدیر محترم)

  15. ممنون از سایت خوبتون
    لطفا در مورد افزایش رتبه گوگل بیشتر توضیح بدین
    مرسی

  16. reza می‌گه:

    عالی بود من برای سایتم ساختم مرسی از شما و اموزش خوبتون

  17. ممنون
    دستتون درد نکنه
    آخر تونستم یه آموزش درست و حسابی پیدا کنم

  18. golestanali می‌گه:

    بسیار عالی ممنون و متشکر

  19. عرفان صابری می‌گه:

    سلام
    ممنون از این مطلب مفیدتون
    واقعا مطلب خوب و به درد بخوری بود

  20. سلام ممنون
    خیلی مفید بود
    چند وقت بود می خواستم یک تصویر را از ایندکس خارج کنم

  21. تصفیه آب می‌گه:

    بسیار عالی ممنون و متشکر

  22. پنل اس ام اس می‌گه:

    مطلب مفیدی بود ممنون

  23. خیلی عالی بود
    ممنون بابت به اشتراک گذاری و آموزش های عالیتون

  24. خیلی جالب بود مخصوصا عکس
    ممنون

  25. احسان می‌گه:

    سلام
    بسیار عالی بود و ممنون از زحمتتون که آموزش رو جامع گذاشتید / فقط من یه سوال دارم وقتی این عبارت میاد دسترسی چی رو محدود میکنه ؟
    Disallow: /en
    Disallow: /en/

  26. تشکر ویژه تصاویر عالی بود

  27. ممنون از سایت خوبتون
    خیلی دنبال این آموزش بودم

پاسخ دهید

نشانی ایمیل شما منتشر نخواهد شد. بخش‌های موردنیاز علامت‌گذاری شده‌اند *


دانلود آهنگ جدید بلیط چارتر هواپیما