گوگل در سایت خود به طور رسمی اعلام کرده است که “یک فایل robots.txt به خزندههای موتورهای جستجو میگوید که خزنده به کدام URLها میتواند در سایت شما دسترسی داشته باشد.” از همین عبارت احتمالاً حدس میزنید که فایل robots.txt چیست و چه کاربردی دارد. این فایل در واقع راهنمای ربات های گوگل است تا بدانند با هر URL در سایت شما چگونه برخورد کنند.
در ادامه به شما میگوییم که فایل robots.txt چیست و شما را با آموزش ساخت robots txt آشنا میکنیم.
فهرست مطلب:
فایل robots.txt چیست؟
همان طور که گفتیم Robots.txt فایلی است که به خزندههای موتورهای جستجو میگوید که صفحات یا بخشهای خاصی از یک وبسایت را خزش کنند یا نکنند. اکثر موتورهای جستجوی اصلی (از جمله گوگل، بینگ و یاهو) درخواستهای Robots.txt را میشناسند و بر اساس آن عمل میکنند.
اکثر وبسایتها به فایل robots.txt نیاز ندارند. دلیل این مسئله این است که گوگل معمولاً میتواند تمام صفحات مهم سایت شما را پیدا و ایندکس کند. آنها به طور خودکار صفحاتی را که مهم نیستند یا نسخههای تکراری صفحات دیگر نیستند ایندکس نمیکنند. با این حال، 3 دلیل اصلی وجود دارد برای این که از فایل robots.txt استفاده کنید:
- مسدود کردن صفحات غیر عمومی: گاهی اوقات صفحاتی در سایت خود دارید که نمیخواهید ایندکس شوند و در دسترس همه قرار گیرند. برای ایندکس نشدن این صفحات
- به حداکثر رساندن بودجه خزش سایت: اگر برای ایندکس شدن همه صفحات خود با مشکل مواجه هستید، ممکن است مشکل از بودجه خزش باشد. با مسدود کردن صفحات بیاهمیت با txt، ربات گوگل میتواند بیشتر بودجه خزش سایت شما را صرف صفحاتی کند که واقعاً مهم هستند.
- جلوگیری از ایندکس شدن منابع: استفاده از دستورات متا میتواند به txt برای جلوگیری از ایندکس شدن صفحات کمک کند. با این حال، دستورالعملهای متا برای منابع چندرسانهای، مانند فایلهای PDF و تصاویر، به خوبی کار نمیکنند. اینجاست که robots.txt وارد عمل میشود.
در نهایت Robots.txt به خزندههای موتورهای جستجو میگوید که صفحات خاصی را در وبسایت شما خزش و ایندکس نکنند. گوگل در این باره میگوید:
” فایل robots.txt عمدتاً برای مدیریت ترافیک خزنده به سایت شما استفاده میشود. اگر فکر میکنید سرور شما تحت تأثیر درخواستهای ربات Google قرار میگیرد یا برای جلوگیری از خزش، میتوانید از فایل robots.txt برای صفحات وب (HTML، PDF یا سایر قالبهای غیر رسانهای که Google میتواند آنها را بخواند) و مدیریت ترافیک خزنده های گوگل استفاده کنید.”
با فایل robots.txt میتوانید کنترل کنید که خزندهها به کدام فایلها در سایت شما دسترسی داشته باشند. یک فایل robots.txt در ریشه سایت شما قرار دارد؛ بنابراین، برای سایت www.example.com، فایل robots.txt در www.example.com/robots.txt قرار دارد.
robots.txt یک فایل متنی ساده است که از استاندارد حذف روباتها پیروی میکند. یک فایل robots.txt از یک یا چند قانون تشکیل شده است. هر قانون دسترسی یک خزنده معین را به مسیر فایل مشخص شده در آن وب سایت مسدود میکند یا به آن اجازه میدهد. مگر اینکه چیز دیگری در فایل robots.txt خود مشخص کنید، همه فایلها به طور ضمنی برای خزش توسط رباتها مجاز هستند.
در این قسمت یک فایل robots.txt ساده با دو قانون وجود دارد:
معنای این فایل این است که:
- User-agent به نام Googlebot مجاز به خزش در هر URL که با http://example.com/nogooglebot/ شروع میشود، نیست.
- همه عوامل کاربر دیگر مجاز به خزش در کل سایت هستند. این قسمت قابل حذف است و تغییری در نتیجه نخواهد داد؛ زیرا رفتار پیش فرض رباتها این است که عوامل کاربر مجاز به کرال در کل سایت هستند.
- فایل نقشه سایت در http://www.example.com/sitemap.xml قرار دارد.
محدودیت های فایل Robots.txt
قبل از ایجاد یا ویرایش فایل robots.txt، باید محدودیتهای این روش را بدانید. بسته به اهداف و موقعیت خود، ممکن است بخواهید مکانیسمهای دیگری را در نظر بگیرید تا مطمئن شوید URLهای شما در وب قابل مشاهده نیستند.
- دستورات txt ممکن است توسط همه موتورهای جستجو پشتیبانی نشود. دستورالعملهای موجود در فایلهای robots.txt نمیتوانند رفتار خزنده را در سایت شما اعمال کنند. بستگی دارد که خزنده از این دستورات پیروی کند یا نه. در حالی که Googlebot و سایر خزندههای وب معتبر از دستورالعملهای فایل robots.txt پیروی میکنند، خزندههای دیگر ممکن است این کار را نکنند.
- خزندههای مختلف syntax را متفاوت تفسیر میکنند. اگرچه خزندههای وب معتبر دستورالعملهای موجود در فایل txt را دنبال میکنند، اما هر خزنده ممکن است دستورالعملها را متفاوت تفسیر کند. شما باید syntax مناسب برای آدرس دادن به خزندههای وب مختلف را بدانید زیرا برخی ممکن است دستورالعملهای خاصی را درک نکنند!
- صفحهای که در txt برای ایندکس شدن غیرمجاز است، در صورت لینک به سایتهای دیگر همچنان میتواند ایندکس شود! اگرچه Google محتوای مسدود شده توسط یک فایل robots.txt را کرال یا ایندکس نمیکند، اما ممکن است URL غیرمجاز را در صورتی که از مکانهای دیگر در وب لینک داده شده باشد، پیدا کرده و ایندکس کند! در نتیجه، آدرس URL و احتمالاً سایر اطلاعات عمومی در دسترس مانند انکر تکست در لینکهای صفحه همچنان میتوانند در نتایج جستجوی Google ظاهر شوند.
برای جلوگیری از نمایش صحیح URL خود در نتایج جستجوی Google، از فایلهای سرور خود با رمز عبور محافظت کنید، از متا تگ noindex استفاده کنید یا صفحه را به طور کامل حذف کنید.برای آموزش کامل حذف لینک های ایندکس شده به این مقاله از نژودا مراجعه کنید.
نکات مهم درباره فایل robots.txt
- برای این که این فایل توسط رباتها به راحتی پیدا شود، فایل txt باید در دایرکتوری سطح بالای وب سایت قرار گیرد.
- txt به حروف کوچک و بزرگ حساس است: نام فایل باید “robots.txt” باشد (نه Robots.txt، robots.TXT یا غیره).
- برخی از عوامل کاربر (رباتها) ممکن است فایل txt شما را نادیده بگیرند. این امر به ویژه در مورد خزندههای بدافزار رایج است.
- فایل /txt به صورت عمومی در دسترس است: فقط کافی است /robots.txt را به انتهای هر دامنه اصلی اضافه کنید تا دستورالعملهای آن وب سایت را ببینید (اگر آن سایت دارای فایل robots.txt باشد!). این بدان معناست که هر کسی میتواند ببیند شما نمیخواهید چه صفحاتی خزش شوند، بنابراین از آنها برای پنهان کردن اطلاعات خصوصی کاربر استفاده نکنید!
- هر زیر دامنه در یک دامنه اصلی از فایلهای جداگانه txt استفاده میکند. این به معنا آن است که هر دو blog.example.com و example.com باید فایلهای robots.txt خود را داشته باشند (در blog.example.com/robots.txt و example.com/robots.txt).
- به طور کلی بهترین روش برای نشان دادن مکان هر نقشه سایت مرتبط با دامنه در انتهای فایل txt است.
سینتکس تکنیکال فایل robots.txt
سینتکس Robots.txt را میتوان به عنوان “زبان” فایلهای robots.txt در نظر گرفت. پنج اصطلاح رایج وجود دارد که احتمالاً در فایل روباتها با آنها روبرو خواهید شد. این اصطلاح عبارتاند از:
- User-agent: خزنده وب که دستورالعملهای خزش را به آن میدهید.
- Disallow: دستوری که به یک user-agent میگوید URL خاصی را خزش نکند. برای هر URL فقط یک خط ” Disallow:” مجاز است.
- Allow (فقط برای Googlebot): دستوری که به Googlebot اعلام میکند میتواند به یک صفحه یا زیرپوشه دسترسی داشته باشد، حتی اگر صفحه اصلی یا زیرپوشه آن برای خزش و ایندکس غیرمجاز یا Disallow باشد.
- Crawl-Delay: یک خزنده چند ثانیه باید قبل از بارگیری و کرال محتوای صفحه منتظر بماند. توجه داشته باشید که Googlebot این دستور را تأیید نمیکند، اما نرخ خزش را میتوان در سرچ کنسول گوگل تنظیم کرد.
- نقشه سایت: برای فراخوانی مکان نقشه(های) سایت (XML Sitemap) مرتبط با این URL استفاده میشود. توجه داشته باشید که این دستور فقط توسط Google، Ask، Bing و Yahoo پشتیبانی میشود.
User-agent های موتورهای جستجو
نامهای متداول User-agent ربات موتور جستجو عبارتاند از:
گوگل:
- Googlebot
- Googlebot-Image (برای تصاویر)
- Googlebot-News (برای اخبار)
- Googlebot-Video (برای ویدئو)
بینگ:
- Bingbot
- MSNBot-Media (برای تصاویر و ویدئو)
بایدو:
- Baiduspider
آموزش ساخت robots.txt
شما میتوانید از هر ویرایشگر متن (text editor) برای ساخت فایل robots.txt استفاده کنید. به عنوان مثال، Notepad، TextEdit، vi و emacs میتوانند فایلهای robots.txt معتبری ایجاد کنند. از واژه پرداز استفاده نکنید. واژهپردازها اغلب فایلها را در قالبی اختصاصی ذخیره میکنند و میتوانند کاراکترهای غیرمنتظرهای اضافه کنند که میتواند برای کرالرها مشکل ایجاد کند. حتماً فایل خود را با رمزگذاری (encoding) UTF-8 ذخیره کنید.
برای ساخت فایل robots.txt به نکات زیر درباره فرمت و محل فایل robots.txt دقت کنید که به طور رسمی توسط گوگل به آنها اشاره شده است:
- نام فایل باید “robots.txt” باشد.
- سایت شما میتواند تنها یک فایل txt داشته باشد.
- فایل txt باید در روت هاست وب سایتی باشد که برای آن اعمال میشود. به عنوان مثال، برای کنترل خزش در همه URLهای زیر https://www.example.com/، فایل robots.txt باید در https://www.example.com/robots.txt قرار گیرد. اگر در مورد نحوه دسترسی به روت وب سایت خود مطمئن نیستید یا برای انجام این کار به مجوز نیاز دارید، با ارائه دهنده خدمات هاست سایت خود تماس بگیرید. اگر نمیتوانید به روت وب سایت خود دسترسی پیدا کنید، از یک روش مسدودسازی جایگزین مانند متا تگها استفاده کنید.
- یک فایل txt میتواند برای زیر دامنهها (به عنوان مثال، https://website.example.com/robots.txt) یا در پورتهای غیر استاندارد (به عنوان مثال، http://example.com:8181/robots.txt) اعمال شود.
- فایل txt باید یک فایل متنی رمزگذاری شده UTF-8 باشد (که شامل ASCII است). Google ممکن است کاراکترهایی را که بخشی از محدوده UTF-8 نیستند نادیده بگیرد، و این امر احتمالاً قوانین robots.txt را نامعتبر میکند!
اضافه کردن قوانین به robots.txt
قوانین دستورالعملهایی برای خزندهها در مورد قسمتهایی از سایت شما هستند که میتوانند آن قسمتها را خزش کنند. هنگام افزودن قوانین به فایل robots.txt خود، این دستورالعملها را دنبال کنید:
- یک فایل txt از یک یا چند گروه تشکیل شده است.
- هر گروه از چندین قانون یا دستورالعمل تشکیل شده است، هر یک دستورالعمل در یک خط قرار میگیرد. هر گروه با یک خط User-agent شروع میشود که هدف گروهها را مشخص میکند.
- یک گروه اطلاعات زیر را ارائه میدهد:
- گروه برای چه رباتهایی اعمال میشود (User-agent).
- دایرکتوریها یا فایلهایی که User-agent میتواند به آن دسترسی داشته باشد.
- دایرکتوریها یا فایلهایی که User-agent نمیتواند به آنها دسترسی پیدا کند.
- خزندهها گروهها را از بالا به پایین پردازش میکنند. یک User-agent میتواند تنها با یک مجموعه قوانین مطابقت داشته باشد.
- پیشفرض این است که یک User-agent میتواند هر صفحه یا دایرکتوری را که توسط قانون Disallow مسدود نشده است کرال کند.
- قوانین به حروف کوچک و بزرگ حساس هستند. به عنوان مثال، Disallow: /file.asp برای https://www.example.com/file.asp اعمال میشود، اما برای https://www.example.com/FILE.asp اعمال نمیشود.
- کاراکتر # شروع یک کامنت را نشان میدهد.
- این فایل را باید در پوشه public_html که در هاست آپلود کنید.
سوالات متداول شما
فایل robots.txt چیست؟
Robots.txt فایلی است که به خزندههای موتورهای جستجو میگوید که صفحات یا بخشهای خاصی از یک وبسایت را خزش کنند یا نکنند.
User-agent در فایل robots.txt چیست؟
User-agent خزنده وب است که دستورالعملهای خزش را به آن میدهید.
دیگران را با نوشتن نظرات خود، برای انتخاب این محصول راهنمایی کنید
لطفا پیش از ارسال نظر، خلاصه قوانین زیر را مطالعه کنید فارسی بنویسید و از کیبورد فارسی استفاده کنید. بهتر است از فضای خالی بیشازحدِ معمول، شکلک یا ایموجی استفاده نکنید و از کشیدن حروف یا کلمات با صفحهکلید بپرهیزید نظرات خود را براساس تجربه و استفادهی عملی و با دقت به نکات فنی ارسال کنید؛ بدون تعصب به محصول خاص، مزایا و معایب را بازگو کنید و بهتر است از ارسال نظرات چندکلمهای خودداری کنید بهتر است در نظرات خود از تمرکز روی عناصر متغیر مثل قیمت، پرهیز کنید