فایل روبوت robots.txt چیست و چگونه این فایل را بسازیم و بهترین و مناسب ترین فایل روبوت برای وردپرس و جوملا چیست، پاسخ به همه این پرسشها را میتوانید در این مقاله از سایت میزفا مطالعه نمایید. همچنین در این مقاله ۸ مثال کاربردی درباره فایل روبوت (ربات) گفته شده است.
سرفصلهای پست [ مخفی کردن]
فایل 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 باید در چه آدرسی قرار دهیم؟
بعد از ساخت فایل robots.txt با فرمت ASCIIیا UTF-8 باید این فایل حتماً در آدرس http://domain.com/robots.txt مورد دسترسی رباتها قرار گیرد. حال دو نکته درباره این موضوع:
- اگر ربات خزنده قصد داشته باشد به زیر دامنههای ما سر بزند باید برای هر زیردامنه یک فایل robots.txt جداگانه ایجاد کنیم.
- اگر سایت شما هم با www و هم بدون www باز میشود باید فایل robots.txt را در هر دو حالت یکسان تنظیم کنید همین موضوع برای http و https هم صدق میکند ولی به این نکته توجه داشته باشید که اگر سایت به این شکل در دسترس باشد باعث ایجاد محتوای تکراری میشود که برای
سئو داخلیسایت بهشدت ضرر است و یکی از دلایل
پنالتی شدن سایت در گوگلمیباشد، چراکه تمام دامنههای زیر از نگاه گوگل یک سایت مجزا محسوب میشود. ولی درباره این فایل بدانید که اگر دامنههای زیر شما جداگانه باز میشود گوگل برای خواندن فایل robots.txt دامنه http را اولویت قرار میدهد.
http://www.site.com https://www.site.com http://site.com https://site.com
- ممکن است شما قصد داشته باشید آدرسی از صفحات را ربات خزش کند و لینکهای آن صفحات را بررسی کند ولی در نتایج آن صفحه را نمایش ندهد در این صورت شما نمیتوانید از این فایل برای چنین عملی استفاده کنید و بهتر است از متاتگ ربات برای این موضوع استفاده کنید. اگر قصد دارید این روش را به شکل بهینه انجام دهید مقاله متاتگ robotsما را حتماً بخوانید تا به نکات جالبی درباره این متاتگ دست پیدا کنید.
- نکته مهم دیگر اینکه حتما فایل robots.txt باید با حروف کوچک نوشته شود و همانند
URLنام این فایل به حروف کوچک و بزرگ حساس است. به عنوان مثال آدرسهای زیر کاملا با هم فرق دارند. و فقط اولی آدرس درست و صحیح میباشد.
mizfa.com/robots.txt mizfa.com/robotS.txt mizfa.com/robots.TXT mizfa.com/Robotx.txt mizfa.com/ROBOTS.txt
چند مثال برای درک بهتر مکان صحیح فایل robots.txt
آدرس فایل robots.txt | معتبر بودن فایل در آدرسهای | معتبر نبودن فایل در آدرسهای | توضیحات بیشتر |
http://example.com/robots.txt | http://mizfa.com/
http://mizfa.com/blog/file |
http://mizfa.academy/
https://mizfa.com/ http://mizfa.com:8181/ |
برای دامنههایی که با پورت باز میشوند و همینطور زیر دامنهها آدرس فایل robots.txt متعبر نیست
و فقط برای همان دامنه و تمام فولدرهای آن معتبر است. |
http://www.example.com/robots.txt | http://www.mizfa.com/ | http://mizfa.com/
http://service.www.mizfa.com/ http://www.mizfa.academy/ |
هر زیر دامنه و همینطور دیگر ورژنهای زیر دامنه باید یک فایل robots.txt داشته باشد و همینطور دیگر ورژنهای دامنه اصلی مگر ریدایرکت اصولی صورت گیرد. |
http://example.com/blog/robots.txt | چنین آدرس فایلی اصلا توسط رباتها خزش نمیشود. |
نحوه ساخت فایل robots.txt
اگر در دامنه خود به آدرس http://domain.com/robots.txt مراجعه کرده باشید و خطایی را مشاهده کنید به معنی نداشتن این فایل در سایت شما میباشد. کافی است به کنترل پنل خود رفته حال اگر کنترلپنل سیپنل باشد محیطی شبیه عکس زیر دارد. در ریشه سایت یک فایل ساده ایجاد کرده و فرمت و نام آن را robots.txt درج کنید.
![ساخت robots.txt در سی پنل ساخت robots.txt در سی پنل](https://mizfa.com/blog/wp-content/uploads/2017/06/cpanel-root.jpg)
در مقاله Create a robots.txt fileگوگل هم به نحوه ساختن و پرداختن چند مثال اشاره کرده است، در ادامه به تعریف سه کیورد میپردازیم.
User-agent: نام ربات موردنظر را جلوی این عبارت مینویسیم که البته حساس به حروف کوچک و بزرگ نیست ( به عبارت دیگر non case sensitive است). با استفاده از کیورد user-agent میتوانید ربات خاصی را هدف گرفته یا بهطورکلی، دستوری را خطاب به همه آنها درج کنید. گاهی بعضی از موتورهای جستجو رباتهای مختلفی نیز دارند همانند موتور جستجوی گوگل که برای تصاویر، اخبار و موارد دیگر ربات خاص خود را دارد. در ادامه مثالهای متنوعی خواهیم زد تا بهتر به این امر پی ببرید.
لیست رباتهای معروف در عکس زیر:
![لیست رباتهای معروف لیست رباتهای معروف](https://mizfa.com/blog/wp-content/uploads/2017/06/user-agents-search-engines.jpg)
اگر قصد دارید اطلاعات بیشتری درباره رباتهای گوگل کسب کنید این مقالهموجود در سایت گوگل را مطالعه فرمایید.
Disallow: مقابل این کیبورد دایرکتوری را درج میکنید که قصد ندارید ربات آن را ایندکس کند. بعد از عبارت User-agent میتوانید در هرچند بار که لازم باشد از Disallow استفاده نمایید. به این نکته مهم توجه کنید که ربات موتورهای جستجو به حروف کوچک و بزرگ در دایرکتوریها حساس هستند. در ادامه مثالهای متنوعی خواهیم زد تا بهتر به این امر پی ببرید.
Allow :برعکس دستور Disallow است هرچند دستور Allow غیررسمیاست ولی توسط اکثر رباتهای معروف شناختهشده است.
نمونه دستورات در فایل Robots.txt
مثال یک
مثال زیر در خط اول شامل همه ربات موتورهای جستجو میشود چراکه با علامت ستاره درجشده است و خط دوم با / درج شده و شامل کل آدرسهای یک دامنه میشود، بنابراین دستور زیر به این معنی است که هیچیک از موتورهای جستجو مجاز به خزیدن سایت شما نباشند.
User-agent: * Disallow: /
مثال دو
دستور زیر برعکس دستور بالا میگویید همه رباتهای موتورهای جستجو به کلیه آدرسهای سایت دسترسی دارند.
User-agent: * Disallow:
![خلاصه تصویری از دو مثال بالا مثال از فایل robots.txt](https://mizfa.com/blog/wp-content/uploads/2017/06/robots-allow-all.png)
مثال سه
دستور زیر به این معناست که فقط ربات گوگل دسترسی به پوشه blog را ندارد و این شامل همه زیرپوشههای blog هم میشود یعنی هم شامل آدرس mizfa.com/blog میشود و هم شامل آدرسهای بهمانند mizfa.com/blog/example نیز میشود. در این شرایط بقیه رباتها بهجز گوگل دسترسی به این دایرکتوری رادارند.
User-agent: googlebot Disallow: /blog
مثال چهار
همانطور که گفتیم موتورهای جستجو ممکن است تعداد رباتهای زیادی برای موارد خاص داشته باشند برای همین اولویت هم برای آنان مهم است. درصورتیکه در فایل robots.txt دستوراتی را درج کرده باشید که چند بلاک مختلف آنها برای یک ربات (خزنده) صادق باشد، ربات موتور جستجو همیشه دستوری را که بهطور واضحتر به آن ربات خاص اشاره میکند انتخاب کرده و دستورات همان بخش را اجرا خواهد کرد. مثلاً فرض کنید اگر فایل robots.txt همانند دستور زیر یک بلاک مخصوص Googlebot و یک بلاک مخصوص Googlebot-Video وجود داشته باشد. در این حالت اگر ربات عکس گوگل (Googlebot-Image) وارد سایت شما شود، در میان این بلاکها از اولی پیروی خواهد کرد و اگر ربات ویدیو گوگل (Googlebot-Video) وارد سایت شود، از بلاک دومیپیروی خواهد کرد و دستورات بلاک اولی را نادیده گرفته چراکه بلاک دومیبرای آن در اولویت است.
User-agent: Googlebot Disallow: /Photo User-agent: Googlebot-Video Allow: /blog
مثال پنج
شما میتوانید از عبارات منظم (Regular Expression) هم برای استفاده در دستورات فایل robots.txt استفاده کنید هرچند به شکل رسمیاین عبارات منظم در این فایل تعریفنشده است ولی اکثر رباتهای معروف در دنیا از عبارات منظم نیز پشتیبانی میکنند. مثلاً در دستور نیز اشارهشده که کلیه رباتها به فایلها با پسوند pdf که در فولدر (دایرکتوری) test وجود دارند، غیرمجاز است و نباید دسترسی داشته باشند.
User-agent: * Disallow: /test/*.pdf
مثال شش
حال قصد داریم کمیدرباره وردپرس حرف بزنیم و یک فایل robots txt برای وردپرس به شکل بهینه شده و مناسب ایجاد کنیم. دستور زیر که در بسیاری از سایتهای وردپرس استفاده میشود به این معناست که تمام رباتها به پوشه ادمین wp-admin دسترسی نداشته باشند ولی به فایل admin-ajax.php که در این پوشه هست دسترسی پیدا کنند. البته بودن چنین دستوراتی در فایل robots.txt ضرری هم ندارد هر چند ربات توانایی وارد شدن به محیط ادمین وردپرس را ندارد ولی خطا در کدنویسی هم از سمت گوگل و هم از سمت ما طبیعتا امکانپذیر است. اگر توجه کرده باشید ما در این مقال یک بار از کیورد User-agent استفاده کردیم و سپس ۲ خط دستور وارد کردیم، شما میتوانید به تعداد دلخواه دستورات لازم را در هر خط وارد نمایید.
User-agent: * Disallow: /wp-admin/ Allow: /wp-admin/admin-ajax.php
مثال هفت
یکی دیگر از دستورات رایج و اشتباه از نگاه یک متخصص سئودر فایل robots.txt وردپرس که در بسیاری از سایتهای معروف ایرانی استفاده میشود کدهای زیر میباشند. بنده شخصاً در هیچیک از سایتهای معتبر خارجی که دارای سیستم مدیریت محتوا وردپرس هستند چنین کدهایی را پیدا نکردم. عدم دسترسی به wp-includes که در آن یک سری فایلهای مهم مثل جی کوئری است باعث میشود سایت به آن شکلی که باید برای موتور جستجو نمایش دهد خروجی نگیرد. سایتهای مثل یوآست، نیل پتل، searchenginelandو دهها سایت معروف وردپرس که در مبحث سئو صاحبنظرهای جهانی هستند از چنین دستوراتی که باعث عدم دسرسی به فایلهای wp-includes میشود استفاده نمیکنند حتی سایت یوآست در این مقالهاشارهکرده چنین دستوراتی اشتباه است و باعث مسدود شدن رباتها به بعضی فایلها میشود که برای سئو سایت خوشایند نیست.
User-agent: * Disallow: /wp-admin/ Disallow: /wp-includes/
مثال هشت
دستور زیر وقتی کاربرد دارد که شما در آدرسهای خود کاراکتری مانند ? را داشته باشید چراکه گاهی به دلیل مشکلات فنی در سایت، مقاله شما ممکن است با آدرسهای مختلف و با مقادیر متفاوت انتشار پیدا کند. به همین منظور دستور زیر را به شکل موقت درج میکنید تا رباتها آدرسهای را کاراکتر علامت سؤال را ایندکس نکنند.
User-agent: * Disallow: /*?*
اگر به دنبال مثالهای بیشتری هستید مقاله Robots.txt Specifications گوگلهم میتواند برای شما مفید باشد.
تست فایل robots.txt در سرچ کنسل گوگل
در نهایت بعد از ساختن فایل robots.txt نوبت به تست و صحت کارکرد آن میرسد. گوگل در قسمتی از سرچ کنسول خود شرایط رایگانی برای تست فایل robotx.txt فراهم کرده است. به این منظور وارد سرچ کنسول (وبمسترتولز) شوید. ( اگر به دنبال یادگیری حرفهای سرچ کنسول هستید حتما سری به آموزش سرچ کنسولوبسایت میزفا بزنید)
در منوهای موجود سرچ کنسول “Crawl” را انتخاب کنید.
سپس زیرمنوی “robots.txt Tester.” را انتخاب کرده تا ابزار تست این فایل را مشاهده کنید.
در سمت راست دستوراتی را مشاهده میکنید که در فایل robots.txt درج کرده بودید. این نشان دهنده این است که شما به درستی این فایل را ایجاد کردهاید و مکان آن صحیح است.
اگر قصد دارید مطمئن شوید که آیا ربات به آدرسی دسترسی دارد یا نه، میتوانید در قسمت “Enter a URLto test if it is blocked” آدرس را وارد کنید و نوع ربات گوگل را هم مشخص نمایید و دکمه تست را بزنید
اگر با پیغام “ALLOWED” مواجه شدید به معنای آن است که ربات گوگل به آن دایرکتوری دسترسی دارد در غیر این صورت با پیغام “BLOCKED” روبهرو میشوید که بنی بر آن است که ربات دسترسی به آن آدرس (دایرکتوری) را ندارد.
اطلاعات بیشتر درباره تست فایل robots.txt در سایت گوگلمشاهده کنید.
چند نکته پایانی درباره فایل robots.txt
- رباتهای خزنده و یا بعضی رباتهای موتورهای جستجو ممکن است به دستورات موجود در فایل robots.txt که درجشده را نادیده بگیرند. مخصوصاً رباتهای اسپم یا مالور (malware robots) که برای آسیبپذیری، سایتها را بدون توجه به این مسائل اسکن میکنند. و به دنبال ایمیل کاربران یا موارد دیگر هستند.
- ممکن است متدهای فایل robots.txt را با متاتگ robots به اشتباه بگیرید برای همین پیشنهاد میشود که حتما مقاله کوتاه و مفید تفاوت فایل robots.txt با متاتگ robotsرا بخوانید.
- موتورهای جستجو محتوای فایل robots.txt را کش میکنند اما معمولا محتوای کش شده را روزی حداقل یک بار به روز رسانی میکنند با این حال شما اگر تمایل دارید بعد از تغییرات در این فایل، موتورهای جستجو سریعتر کش را آپدیت کنند فایل خود را در این آدرسگوگل ارسال کنید.
امیدوار هستم فرآیند ساخت و نحوه ایجاد صحیح این فایل را در سایت خود فرا گرفته باشید و جدا از اینکه آیا وردپرس ، جوملا و یا هر CMSدیگری دارید میتوانید به راحتی robots.txt بسازید، هر چند ما مثال برای ایجاد فایل robots.txt برای وردپرس و دیگر سی ام اسها مثل جوملا را هم زدیم.
راستی اگر شما هم تجربهی درباره نحوه کارکرد و ساخت فایل robots.txt دارید خوشحال میشیم در نظرات به اشتراک بگذارید 🙂