فایل robots.txt یکی از فایلهای اصلی هر وبسایت میباشد که میتوان به رباتهای موتورهای جستجو دستور داد که کجا میتوانند بخزند و کجا نمیتوانند. در این مطلب میخواهیم به شما سئوکاران عزیز کاربرد و استفاده درست از فایل robots.txt را کامل توضیح دهید. (تا انتهای مقاله همراه ما باشید)
هشدار: هر گونه اشتباهی که در فایل robots.txt سایت خود مرتکب میشوید، میتواند به سایت شما آسیب جدی وارد کند. بنابراین سعی کنید کار با دستورات و شرطهای این فایل مهم سایت را کامل فرا بگیرید. تا وب سایتتان به مشکل جدی برخورد نکند.
فایل robots.txt چیست؟
فایل robots.txt یک فایل متنی است که توسط موتورهای جستجو (و سایر سیستمها) خوانده میشود. فایل robots.txt که پروتکل محرومیت رباتها نیز نامیده میشود، دقیقاً نتیجه اجماع بین توسعهدهندگان اولیه موتورهای جستجو است. در حقیقت برای مدیران سایت این فایل برایشان استانداردی تعریف نشده است ولی موتورهای جستجوگری مانند (گوگل، بینگ، یاهو و ASK) به آن پایبند هستند و از دستوراتش اطاعت میکنند.
یک فایل robots.txt اولیه ممکن است چیزی شبیه به این باشد.
User-Agent: *
Disallow:
Sitemap: https://www.example.com/sitemap_index.xml
وظیفه فایل robots.txt چیست؟
رباتهای موتورهای جستجو با خزیدن در صفحات وب، صفحات را ایندکس و آنالیز میکنند. با خزیدن لینکها را پیدا کرده و آنها را دنبال میکنند. لینک این خزندگان را از صفحه A به صفحه B و به صفحه C و الی آخر هدایت میکنند. اما قبل از خزیدن رباتهای موتورهای جستجوگر داخل سایت، فایل robots.txt توسط دستوری که مدیر سایت بهش داده است صفحات سایت را آنالیز میکند. و صفحاتی که مجاز نیستند را اجازه ورود به رباتها نمیدهد و تنها صفحات مجاز را در اختیار رباتها میگذارد.
فایل robots.txt سایتم را کجا باید قرار دهم؟
فایل robots.txt همیشه باید در قلب و ریشه دامنه شما باشد. بنابراین اگر دامنه شما www.example.com است، خزنده باید آن را در https://www.example.com/robots.txt پیدا کند. همچنین ضروری است که فایل robots.txt در وبسایتتان robots.txt نامیده شود. حتماً به حروف کوچک و بزرگ توجه کنید، چون اگر یکی از حروف بزرگ یا کم یا اضافه باشد، مطمئناً این فایل کار نخواهد کرد.
مزایا و معایب استفاده از robots.txt
مدیریت بودجه خریدن
به طور کلی این موضوع قابل درک است که یک عنکبوت جستجو با یک مجوز از پیش تعیین شده برای تعداد صفحاتی که میخزند (با چه مقدار بازه زمانی را صرف میکند، بر اساس اقتدار / اتوریتی بالا / بازدید بالای صفحات سایت/ شهرت سایت و چقدر وبسایت را درگیر میکند، سرور چقدر کارآمد پاسخ میدهد.) سئوکاران این را بودجه خزیدن مینامند. اگر فکر میکنید وبسایت شما با بودجه خزیدن مشکل دارد، مسدود کردن خزیدن موتورهای جستجو “هدر رفتن” انرژی در بخشهای بیاهمیت سایت شما ممکن است به این معنی باشد که آنها به جای آن بر بخشهایی که اهمیت دارند تمرکز میکنند. گاهی اوقات جلوگیری از خزیدن موتورهای جستجو در بخشهای مشکلدار وبسایتتان بسیار مفید و الزامی است، بخصوص در سایتهایی که باید پاکسازی سئو زیادی انجام شود. وقتی صفحات را اصلاح کردید، میتوانید مجدداً اجازه دهید وارد شوند.
نکتهای در مورد مسدود کردن پارامترهای جستجو
یکی از مباحثی که در بهینه کردن صفحات سایت تأثیرگذار است، زمانی است که سایت شما از پارامترهای رشته پرسوجو زیادی برای فیلتر کردن یا مرتب کردن لیستها استفاده میکند. فرض کنید در سایتتان 10 پارامتر جستجو دارید که هرکدام مقادیر متفاوتی دارند که میتوانند در هر ترکیبی استفاده شوند؛ (مانند تیشرت در رنگها و اندازههای مختلف). این عمل منجر به بسیاری از URLهای معتبر احتمالی میشوند. مسدود کردن پارامترهای پرسوجو توسط خزیدن به شما کمک میکند تا اطمینان حاصل شود که موتور جستجو فقط URLهای اصلی شما را تغییر میدهد و به دام عظیمی که ایجاد کردید نمیرود.
منفی: (حذف نشدن یک صفحه از نتایج جستجو)
حتما از فایل robots.txt برای اطلاع دادن به خزنده استفاده کنید که نمیتواند در سایت شما قرار بگیرد. نمیتوانید از آن برای گفتن اینکه کدام URL در نتایج جستجو نشان داده نمیشود به موتور جستجو استفاده کنید. به عبارت دیگر، مسدود کردن آن مانع از ایندکس شدن آن نمیشود. اگر موتور جستجو لینکهای کافی به آن URL را بیابد، آن را شامل میشود. فقط نمیداند در آن صفحه چه چیزی وجود دارد. بنابراین نتیجه کار شما مانند تصویر زیر خواهد شد.
بنابراین اگر میخواهید به طور مطمئن صفحهای را از نمایش در نتایج جستجو مسدود کنید، باید از تگ ربات noindex استفاده کنید. این بدان معناست که برای یافتن تگ noindex موتور جستجو باید بتواند به آن صفحه دسترسی داشته باشد، بنابراین آن را با فایل robots.txt مسدود نکنید.
منفی: عدم انتشار از ارزشی لینک
اگر خزندگان یک موتور جستجوگر نتوانند در یک صفحه از سایت بخزد، در این صورت نمیتواند ارزش لینک را در بین لینکهای آن صفحه پخش کند. زمانیکه صفحهای را در فایل robots.txt مسدود کردهاید، یک بنبست برای رباتهای خزنده ایجاد کردهاید. هر تعداد لینکی که ممکن است به آن صفحه و از طریق آن اتفاق بیافتد، از بین میرود.
آشنایی با رباتهای گوگل
گوگل تعداد ربات خزنده (Crawler) دارد که به صورت خودکار وبسایتها را اسکن میکنند و صفحهها را با دنبال کردن لینکها از صفحهای به صفحه دیگر پیدا میکنند.
جدول زیر شامل مهمترین رباتهای گوگل است که بهتر است بشناسید:
AdSense | رباتی برای بررسی صفحهها با هدف نمایش تبلیغات مرتبط |
Googlebot Image | رباتی که تصاویر را پیدا و بررسی میکند. |
Googlebot News | رباتی برای ایندکس کردن سایتهای خبری |
Googlebot Video | ربات بررسی ویدیوها |
Googlebot | این ربات صفحات وب را کشف و ایندکس میکند. دو نوع دستکاپ (Desktop) و اِسمارتفون (Smartphone) دارد. |
هر کدام از این رباتها به صورت مداوم، صفحههای وبسایت را بررسی میکنند. شما میتوانید در صورت نیاز هرکدام از این رباتها را محدود کنید.
نحوه ایجاد فایل robots.txt
یک فایل robots.txt از یک یا چند خط که دستورالعمل تشکیل شده است که هرکدام با یک خط کاربر عامل شروع میشود. “User-agent” نام عنکبوت خاصی است که با آن میتواند داخل فایل شروع به دستور داد. شما میتوانید یک کد برای همه موتورهای جستجو، با استفاده از یک علامت عام برای عامل کاربر، یا بلوکهای خاص برای موتورهای جستجو داشته باشید. یک خزنده از موتور جستجوگر همیشه کدی را میخواند، که آن را به مسیر درستی هدایت نماید.
- به کدهای زیر توجه بکنید:
User-agent: *
Disallow: /
User-agent: Googlebot
Disallow:
User-agent: bingbot
Disallow: /not-for-bing/
دستورالعملهایی مانند Allow و Disallow نباید به حروف بزرگ و کوچک ترکیب شوند، بنابراین این شما هستید که آنها را با حروف کوچک یا بزرگ باید بنویسید. مقادیر به حروف بزرگ و کوچک حساس هستند، مثلا کلمه photo با Photo متفاوت است.
کد دستوری user-agent در فایل robots.txt
اولین دستور در هر خط کد دستورالعملها، کد دستوری user-agent است که عنکبوت خاصی را شناسایی میکند. فیلد عامل کاربر عنکبوت خاص (معمولاً طولانیتر) مطابقت دارد. برای مثال، رایجترین خزنده عنکبوتی Google دارای عامل کاربر زیر میباشد:
Mozilla/5.0 (compatible; Googlebot/2.1; +http://www.google.com/bot.html)
اگر میخواهید به این خزنده گوگل بگویید چه کاری انجام دهد، یک user-agent نسبتاً ساده توسط خط Google bot این کار را انجام دهید. اکثر موتورهای جستجو دارای چندین عنکبوت هستند. آنها از یک عنکبوت خاص برای فهرست عادی، برنامههای تبلیغاتی، تصاویر، فیلمها و غیره استفاده میکنند. خزندگان موتورهای جستجو همیشه خاصترین بخش دستورالعملهایی را که میتوانند پیدا کنند را انتخاب نمایید، فرض کنید شما سه مجموعه دستورالعمل دارید: یکی برای * ، یکی برای Google bot و دیگری برای Google bot News. اگر رباتی توسط کاربر عامل Google bot-News از دستورالعملهای Google bot-News خاصتر استفاده میکند.
رایجترین عاملهای کاربر برای عنکبوتهای موتورهای جستجو
در اینجا لیستی را تهیه کردیم از عوامل کاربر که میتوانید در فایل robots.txt خود برای مطابقت با متداولترین موتورهای جستجو استفاده کنید.
User-agent | Field | Search engine |
---|---|---|
baiduspider | General | Baidu |
baiduspider-image | Image | Baidu |
baiduspider-mobile | Mobile | Baidu |
baiduspider-news | News | Baidu |
baiduspider-video | Video | Baidu |
bingbot | General | Bing |
msnbot | General | Bing |
msnbot-media | Image & Video | Bing |
adidxbot | Ads | Bing |
Googlebot | General | |
Googlebot-Image | Images | |
Googlebot-Mobile | Mobile | |
Googlebot-News | News | |
Googlebot-Video | Video | |
Mediapartners-Google | AdSense | |
AdsBot-Google | AdWords | |
slurp | General | !Yahoo |
yandex | General | Yandex |
بخشنامه عدم اجازه
خط دوم در هر بلوک دستورالعمل، کد Disallow است. شما میتوانید یک یا چند مورد از خطوط را داشته باشید و مشخص کنید که خزنده عنکبوتی تعیین شده به کدام بخش از سایت اجازه ورود و دسترسی ندارد. یک خط غیر مجاز خالی به این معنی است که شما چیزی را غیرمجاز نمیکنید تا یک عنکبوت بتواند به تمام بخشهای سایت شما دسترسی داشته باشد.
مثال کد زیر مسدودیت موتورهای جستجو توسط فایل robots.txt را نمایش میدهد.
User-agent: *
Disallow: / User-agent: *
Disallow: /
مثال زیر به همه موتورهای جستجو اجازه میدهد تا با حذف کردن یک کاراکتر، درون کل سایت شما بخزند.
User-agent: *
Disallow:
مثال زیر هم گوگل را از خریدن دایرکتوری در سایت شما و هر چیزی که در آن است مسدود میکنند.
User-agent: googlebot
Disallow: /Photo
این بدان معنی است که تمام زیر شاخههای دایرکتوری /photo نیز عنکبوت نمیشوند. Google را از خزیدن در فهرست photo/ مسدود نمیکند، زیرا این خطوط به حروف بزرگ و کوچک حساس هستند. این دستور همچنین دسترسی Google را به URLهای حاوی photo/ مانند /photography/ مسدود میکند.
نحوه استفاده از عبارت عام/ عبارت منظم
استاندارد فایل robots.txt به طور رسمی از عبارت منظم یا حروف عام پشتیبانی نمیکند. با این حال، همه موتورهای جستجوی اصلی آن را درک میکنند. این بدان معنی است که میتوانید از خطوطی مانند این برای مسدود کردن گروههای فایل استفاده کنید:
Disallow: /*.php
Disallow: /copyrighted-images/*.jpg
در مثال بالا، * به هر نام فایلی که مطابقت دارد، گسترش مییابد. توجه داشته باشید که بقیه خط همچنان به حروف بزرگ و کوچک حساس است، بنابراین خط دوم بالا مانع از خزیدن فایلی به نام copyrighted-images/example.JPG نمیشود.
برخی از موتورهای جستجو مانند گوگل، عبارات منظم پیچیدهتری را مجاز میدانند، اما توجه داشته باشید که موتورهای جستجوگر دیگری ممکن است این منطق را درک نکنند. مفیدترین ویژگی که این مورد اضافه میکند علامت: $ است که این علامت نشان دهنده پایان URL میباشد. در خط کد زیر مثال آن را میتوانید ببینید:
Disallow: /*.php$
این بدان معنی است که index.php/ نمیتواند ایندکس شود، اما index.php?p=1/ میتواند ایندکس شود. البته این فقط در شرایط بسیار خاص مفید یا بسیار خطرناک است: رفع انسداد چیزهایی که واقعاً نمیخواستید آسان است.
دستورالعملهای خزیدن غیر استاندارد فایل robots.txt
علاوهبر دستورالعملهای user-agent و Disallow، چند دستورالعمل خزنده دیگر وجود دارد که میتوانید از آنها استفاده کنید. همه خزندههای موتور جستجو از این دستورالعملها پشتیبانی نمیکنند، بنابراین مطمئن شوید که از محدویتهای آنها اطلاع دارید.
بخشنامه اجازه
زمانی که مشخصات اصلی نبود، خیلی زود درمورد یک دستورالعمل مجاز میشود، اجراء باید کرد. که این دستور را اکثر موتورهای جستجو آن را درک میکنند و دستورات ساده و بسیار خوانا مانند مثال زیر را میدهد:
Disallow: /wp-admin/
Allow: /wp-admin/admin-ajax.php
تنها راه دیگر برای دستیابی به همان نتیجه بدون دستور مجوز، غیرمجاز کردن خاص هر فایل در پوشه wp-admin میباشد.
دستورالعمل تأخیر در خزیدن
دستور crawl-Delay یک کد دستوری غیر رسمی و استاندارد است که موتورهای جستجوگر زیادی به آن پایبند نیستند. حداقل موتور جستجوگر گوگل و یاندکس از این دستور استفاده نمیکنند، درحالی که bing استفاده میکند. توسط این دستور میتوانید خزیدن خزندگان موتورهای جستجو را به تأخیر بیاندازید.
به مثال زیر توجه کنید: به موتورهای جستجو دستور میدهد تا تعداد دفعات درخواست صفحات سایت شما را تغییر دهند.
crawl-delay: 10
هنگام استفاده از دستورالعمل تأخیر خزیدن مراقب باشید. تا تنظیم تأخیر خزیدن ده ثانیه، شما فقط به این موتورهای جستجو اجازه دسترسی به 8640 صفحه در روز را میدهید. این کار ممکن است برای یک سایت کوچک زیاد مهم و تأثیرگذار نباشد ولی در سایتهای بزرگ با تعداد صفحات زیاد تأثیرگذار است. از سوی دیگر، اگر هیچ ترافیکی از این موتورهای جستجو دریافت نمیکنید، ممکن است ایده خوبی برای صرفهجویی در پهنای باند باشد.
دستورالعمل نقشه سایت برای نقشههای سایت XML
با استفاده از دستورالعمل نقشه سایت، میتوانید به موتورهای جستجو به ویژه Bing، randex و Google بگویید که نقشه سایت XML خود را در کجا پیدا کنند. شما میتوانید توسط ابزارهای هر موتور جستجوگر از نقشه سایت XML استفاده نمایید. توصیه ما این است که حتماً از این ابزارها موتورهای جستجوگر استفاده کنید. اگر هم نمیخواهید این کار را انجام دهید، اضافه کردن موتورهای جستجوگر یک خط نقشه سایت به فایل robots.txt خود که یک جایگزین سریع و خوب است اضافه نمایید.
Sitemap: https://www.example.com/my-sitemap.xml
فایل robots.txt خود را اعتبار سنجی کنید
ابزارهای مختلفی وجود دارد که میتواند به شما در تأثیر اعتبار robots.txt کمک کند، اما زمانیکه نوبت به تأیید دستورالعملهای خزیدن میرسد، همیشه ترجیح میدهیم که به منبع اصلی مراجعه کنیم. گوگل یک ابزار تست robots.txt در کنسول جستجوی خود دارد (در منوی “نسخه قدیمی”) و ما به شدت توصیه میکنیم از آن استفاده کنید:
مطمئن شوید که تغییرات خود را قبل از اینکه آنها را به صورت زنده قرار دهید، به طور کامل آزمایش کنید! شما اولین نفری نیستید که به طور تصادفی از فایل robots.txt برای مسدود کردن کل سایتتان استفاده میکند و به فراموشی موتور جستجو میرود!
کُد را ببندید
در جولای 2019، شرکت گوگل اعلام کرد که تجزیه کننده فایل robots.txt خود را منبع باز میسازد. این بدان معناست که اگر واقعاً میخواهید حرفهای سایت خود را جلو ببرید، باید بدانید که این فایل و موتورهای جستجوگر چگونه کار میکنند. نظرات، پیشنهادات و تجربیات خود را با ما در قسمت “ارسال دیدگاه” به اِشتراک بگذارید.
وقت شما بخیر مطالب سایتتون خیلی خوب بود.
قالب فروشگاهی میخوام. قصد راهاندازی یک سایت فروشگاهی سیسمونی رو دارم، به نظرتون از چه قالبی استفاده کنم.
سلام
به قسمت من این قالبها رو برای راهاندازی سایت فروشگاهی به شما پیشنهاد میدهم.
خیلی مطلب جامع و بیانی ساده و روان بود. بابت وقتی که گذاشتید، سپاسگزارم.
وقت شما بخیر
همه چیز اوکی هست. فقط اصل کد فایل robots.txt چی هست که من تو سایتم قرار بدم؟
من نزدیک به سه ماه است که شروع به یادگیری سئو کردم. وردپرس را بلدم، به نظرتون یادگیری افزونه یوآست سئو بهتر است یا رنکمث؟؟؟
وقتتون بخیر
به نظر من هردو. اما در ابتدا رنک مث را فرا بگیرید.
چقدر خوب بود و چقدر سرعت سایتتون بالاست. لذت بردم. درود بر ردپانت