فایل روبوت robots.txt چیست و چگونه این فایل را بسازیم و بهترین و مناسب ترین فایل روبوت برای وردپرس و جوملا چیست، پاسخ به همه این پرسشها را میتوانید در این مقاله از سایت سئوراز مطالعه نمایید. همچنین در این مقاله ۸ مثال کاربردی درباره فایل روبوت (ربات) گفته شده است.
سرفصلهای پست
فایل robots.txt یک فایل متنی است که بهوسیله آن خطمشی برای ربات موتورهای جستجو تعیین میکنیم که چه آدرسهایی را خزش و ایندکس کنند و چه آدرسهایی را خزش و ایندکس نکنند. توجه داشته باشید که ماهیت خزش با ایندکس فرق دارد، یک ربات باید در ابتدا خزشی را صورت بدهد و سپس تصمیم میگیرد که آن را در دیتابیس موتورهای جستجو ذخیره کند یا نه. اگر ذخیره شود عمل ایندکس رخداده است. ما در این مقاله از سایت سئوراز به نحوه ایجاد و ساخت فایل robots.txt میپردازیم و شما با خواندن این مقاله صرف نظر از اینکه چه نوع CMS (وردپرس، جوملا و …) دارید، میتوانید این فایل را ایجاد و مدیریت کنید.
موتورهای جستجو با خزیدن در میان صفحات طراحی سایت شما، آنها را ایندکس میکند و با دنبال کردن لینکها وارد صفحات یا ساخت سایتهای دیگر میشوند. هر ربات استانداردی قبل از خزیدن صفحهای از یک دامنه، ابتدا فایل robots.txt را میخواند و بر اساس دستورات موجود در این فایل، اجازه خزیدن را پیدا میکند تا بتواند ایندکس را انجام دهد. پس باید دقت داشته باشید که چه صفحاتی را برای خزیدن منع میکنید چراکه اگر بهاشتباه صفحات مهم خود را مخصوصاً صفحات فرود یا همان لندینگ پیج را از طریق این فایل برای رباتها مسدود کنید ضربه بدی به سئو سایت و درنتیجه تجارت آنلاین خود وارد میکنید. (اهمیت و نحوه ساختن صفحات فرود یا لندینگ پیج را میتوانید به همراه مثال در مقاله جامع صفحه فرود چیست بخوانید)
فایل robots.txt نیز برای رباتها نوشته میشود ولی جالب آن است که بدانید چنین فایلی برای انسانها هم داریم، فایلی با نام humans.txt که ماهیت آنیک پیام برای کاربران و بازدیدکنندگان سایت شما است که اصولاً به زبان انگلیسی نوشته میشود.
نمونه فایل robots.txt و فایل humans.txt برای سئو سایت گوگل:
https://www.google.com/humans.txt
https://www.google.com/robots.txt
بعد از ساخت فایل robots.txt با فرمت ASCII یا UTF-8 باید این فایل حتماً در آدرس http://domain.com/robots.txt مورد دسترسی رباتها قرار گیرد. حال دو نکته درباره این موضوع:
چند مثال برای درک بهتر مکان صحیح فایل robots.txt
چند مثال برای درک بهتر مکان صحیح فایل robots.txt
آدرس فایل robots.txt | معتبر بودن فایل در آدرسهای | معتبر نبودن فایل در آدرسهای | توضیحات بیشتر |
http://example.com/robots.txt | https://seoraz.com/ https://seoraz.com/blog/file | http://service.seoraz.com/ https://seoraz.com:8181/ | برای دامنههایی که با پورت باز میشوند و همینطور زیر دامنه ها آدرس فایل robots.txt متعبر نیست و فقط برای همان دامنه و تمام فولدرهای آن معتبر است. |
http://www.example.com/robots.txt | https://www.seoraz.com/ | https://seoraz.com/ http://service.www.seoraz.com/ http://www.service.seoraz.com/ | هر زیر دامنه و همینطور دیگر ورژنهای زیر دامنه باید یک فایل robots.txt داشته باشد و همینطور دیگر ورژنهای دامنه اصلی مگر ریدایرکت اصولی صورت گیرد. |
http://example.com/blog/robots.txt | چنین آدرس فایلی اصلا توسط رباتها خزش نمیشود. |
اگر در دامنه خود به آدرس http://domain.com/robots.txt مراجعه کرده باشید و خطایی را مشاهده کنید به معنی نداشتن این فایل در سایت شما میباشد. کافی است به کنترل پنل خود رفته حال اگر کنترلپنل سیپنل باشد محیطی شبیه عکس زیر دارد. در ریشه سایت یک فایل ساده ایجاد کرده و فرمت و نام آن را robots.txt درج کنید.
در مقاله Create a robots.txt file گوگل هم به نحوه ساختن و پرداختن چند مثال اشاره کرده است، در ادامه به تعریف سه کیورد میپردازیم.
User-agent : نام ربات موردنظر را جلوی این عبارت مینویسیم که البته حساس به حروف کوچک و بزرگ نیست ( به عبارت دیگر non case sensitive است). با استفاده از کیورد user-agent میتوانید ربات خاصی را هدف گرفته یا بهطورکلی، دستوری را خطاب به همه آنها درج کنید. گاهی بعضی از موتورهای جستجو رباتهای مختلفی نیز دارند همانند موتور جستجوی گوگل که برای تصاویر، اخبار و موارد دیگر ربات خاص خود را دارد. در ادامه مثالهای متنوعی خواهیم زد تا بهتر به این امر پی ببرید.
لیست رباتهای معروف در عکس زیر:
اگر قصد دارید اطلاعات بیشتری درباره رباتهای گوگل کسب کنید این مقاله موجود در سایت گوگل را مطالعه فرمایید.
Disallow : مقابل این کیبورد دایرکتوری را درج میکنید که قصد ندارید ربات آن را ایندکس کند. بعد از عبارت User-agent میتوانید در هرچند بار که لازم باشد از Disallow استفاده نمایید. به این نکته مهم توجه کنید که ربات موتورهای جستجو به حروف کوچک و بزرگ در دایرکتوریها حساس هستند. در ادامه مثالهای متنوعی خواهیم زد تا بهتر به این امر پی ببرید.
Allow : برعکس دستور Disallow است هرچند دستور Allow غیررسمی است ولی توسط اکثر رباتهای معروف شناختهشده است.
مثال زیر در خط اول شامل همه ربات موتورهای جستجو میشود چراکه با علامت ستاره درجشده است و خط دوم با / درج شده و شامل کل آدرسهای یک دامنه میشود، بنابراین دستور زیر به این معنی است که هیچیک از موتورهای جستجو مجاز به خزیدن سایت شما نباشند.
دستور زیر برعکس دستور بالا میگویید همه رباتهای موتورهای جستجو به کلیه آدرسهای سایت دسترسی دارند.
دستور زیر به این معناست که فقط ربات گوگل دسترسی به پوشه blog را ندارد و این شامل همه زیرپوشههای blog هم میشود یعنی هم شامل آدرس seoraz.com/blog میشود و هم شامل آدرسهای بهمانند seoraz.com/blog/example نیز میشود. در این شرایط بقیه رباتها بهجز گوگل دسترسی به این دایرکتوری رادارند.
همانطور که گفتیم موتورهای جستجو ممکن است تعداد رباتهای زیادی برای موارد خاص داشته باشند برای همین اولویت هم برای آنان مهم است. درصورتیکه در فایل robots.txt دستوراتی را درج کرده باشید که چند بلاک مختلف آنها برای یک ربات (خزنده) صادق باشد، ربات موتور جستجو همیشه دستوری را که بهطور واضحتر به آن ربات خاص اشاره میکند انتخاب کرده و دستورات همان بخش را اجرا خواهد کرد. مثلاً فرض کنید اگر فایل robots.txt همانند دستور زیر یک بلاک مخصوص Googlebot و یک بلاک مخصوص Googlebot-Video وجود داشته باشد. در این حالت اگر ربات عکس گوگل (Googlebot-Image) وارد طراحی سایت (طراحی سایت شرکتی، طراحی سایت فروشگاهی) شما شود، در میان این بلاکها از اولی پیروی خواهد کرد و اگر ربات ویدیو گوگل (Googlebot-Video) وارد سایت شود، از بلاک دومی پیروی خواهد کرد و دستورات بلاک اولی را نادیده گرفته چراکه بلاک دومی برای آن در اولویت است.
شما میتوانید از عبارات منظم (Regular Expression) هم برای استفاده در دستورات فایل robots.txt استفاده کنید هرچند به شکل رسمی این عبارات منظم در این فایل تعریفنشده است ولی اکثر رباتهای معروف در دنیا از عبارات منظم نیز پشتیبانی میکنند. مثلاً در دستور نیز اشارهشده که کلیه رباتها به فایلها با پسوند pdf که در فولدر (دایرکتوری) test وجود دارند، غیرمجاز است و نباید دسترسی داشته باشند.
حال قصد داریم کمی درباره وردپرس حرف بزنیم و یک فایل robots txt برای وردپرس به شکل بهینه شده و مناسب ایجاد کنیم. دستور زیر که در بسیاری از سایتهای وردپرس استفاده میشود به این معناست که تمام رباتها به پوشه ادمین wp-admin دسترسی نداشته باشند ولی به فایل admin-ajax.php که در این پوشه هست دسترسی پیدا کنند. البته بودن چنین دستوراتی در فایل robots.txt ضرری هم ندارد هر چند ربات توانایی وارد شدن به محیط ادمین وردپرس را ندارد ولی خطا در کدنویسی هم از سمت گوگل و هم از سمت ما طبیعتا امکانپذیر است. اگر توجه کرده باشید ما در این مقال یک بار از کیورد User-agent استفاده کردیم و سپس ۲ خط دستور وارد کردیم، شما میتوانید به تعداد دلخواه دستورات لازم را در هر خط وارد نمایید.
یکی دیگر از دستورات رایج و اشتباه از نگاه یک متخصص سئو در فایل robots.txt وردپرس که در بسیاری از سایتهای معروف ایرانی استفاده میشود کدهای زیر میباشند. بنده شخصاً در هیچیک از سایتهای معتبر خارجی که دارای سیستم مدیریت محتوا وردپرس هستند چنین کدهایی را پیدا نکردم. عدم دسترسی به wp-includes که در آن یک سری فایلهای مهم مثل جی کوئری است باعث میشود سایت به آن شکلی که باید برای موتور جستجو نمایش دهد خروجی نگیرد. سایتهای مثل یوآست، نیل پتل، searchengineland و دهها سایت معروف وردپرس که در مبحث سئو صاحبنظرهای جهانی هستند از چنین دستوراتی که باعث عدم دسرسی به فایلهای wp-includes میشود استفاده نمیکنند حتی سایت یوآست در این مقاله اشارهکرده چنین دستوراتی اشتباه است و باعث مسدود شدن رباتها به بعضی فایلها میشود که برای سئو سایت خوشایند نیست.
دستور زیر وقتی کاربرد دارد که شما در آدرسهای خود کاراکتری مانند ? را داشته باشید چراکه گاهی به دلیل مشکلات فنی در سایت، مقاله شما ممکن است با آدرسهای مختلف و با مقادیر متفاوت انتشار پیدا کند. به همین منظور دستور زیر را به شکل موقت درج میکنید تا رباتها آدرسهای را کاراکتر علامت سؤال را ایندکس نکنند.
اگر به دنبال مثال های بیشتری هستید مقاله Robots.txt Specifications گوگل هم میتواند برای شما مفید باشد.
در نهایت بعد از ساختن فایل robots.txt نوبت به تست و صحت کارکرد آن میرسد. گوگل در قسمتی از سرچ کنسول خود شرایط رایگانی برای تست فایل robotx.txt فراهم کرده است. به این منظور وارد سرچ کنسول (وبمسترتولز) شوید.
در منوهای موجود سرچ کنسول “Crawl” را انتخاب کنید.
سپس زیرمنوی “robots.txt Tester.” را انتخاب کرده تا ابزار تست این فایل را مشاهده کنید.
در سمت راست دستوراتی را مشاهده میکنید که در فایل robots.txt درج کرده بودید. این نشان دهنده این است که شما به درستی این فایل را ایجاد کردهاید و مکان آن صحیح است.
اگر قصد دارید مطمئن شوید که آیا ربات به آدرسی دسترسی دارد یا نه، میتوانید در قسمت “Enter a URL to test if it is blocked” آدرس را وارد کنید و نوع ربات گوگل را هم مشخص نمایید و دکمه تست را بزنید
اگر با پیغام “ALLOWED” مواجه شدید به معنای آن است که ربات گوگل به آن دایرکتوری دسترسی دارد در غیر این صورت با پیغام “BLOCKED” روبهرو میشوید که بنی بر آن است که ربات دسترسی به آن آدرس (دایرکتوری) را ندارد.
اطلاعات بیشتر درباره تست فایل robots.txt در سایت گوگل مشاهده کنید.
امیدوار هستم فرآیند ساخت و نحوه ایجاد صحیح این فایل را در سایت خود فرا گرفته باشید و جدا از اینکه آیا وردپرس ، جوملا و یا هر CMS دیگری دارید میتوانید به راحتی robots.txt بسازید، هر چند ما مثال برای ایجاد فایل robots.txt برای وردپرس و دیگر سی ام اس ها مثل جوملا را هم زدیم.