فایل روبوت 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 برای وردپرس و دیگر سی ام اس ها مثل جوملا را هم زدیم.
توی این مقاله کوتاه ولی خیلی مهم قصد داریم تفاوت و فرق متاتگ Robots با فایل Robots.txt به شما بگیم تا بتونید در موقعیتهای مختلف بهترین رو انتخاب کنید. ولی پیشنهاد میشه قبل خواندن این مقاله حتما مقاله robots.txt چیست و متاتگ robots به خوبی بخونید. همراه سئوراز باشید.
robots.txt را مشاهده کرده و دستورات آن را پیروی میکند. طبیعتاً اولویت فایل robots.txt نیز از متاتگ robots بیشتر است.robots.txt به شکل یک فایل واقعی در چنین آدرسهایی www.domain.com/robots.txt قرار دارند. ولی متاتگ robots به شکل تگ و قبل از head نیز وجود دارند همانند مثال پایین.robots.txt شما میتوانید صفحات بسیاری را برای رباتها و موتورهای جستجو مسدود کنید ولی اگر قصد داشته باشید با متاتگ robots چنین عملی را انجام دهید باید در تکتک آن صفحات نیز متاتگ را درج کنید.robots.txt شما میتوانید سایت مپ سایت را به رباتها و موتورهای جستجو معرفی کنید ولی با متاتگ امکانپذیر نیست.robots.txt نیز دارد.robots.txt به ربات میگوییم خزش نکند ولی گاهی ایندکس میشود درحالی که برای ایندکس نشدن بهتر است از متاتگ robots هم استفاده کنید.[gap] [icon type=”vector” icon=”momizat-icon-question” align=”right” size=”32″ icon_color=”#ffbd23″ hover_animation=”border_increase” ]سؤال: آیا مشکلی در سئو پیش میآید اگر از هر دو متد یعنی متاتگ Robots با فایل robots.txt برای جلوگیری از ایندکس شدن یکصفحهای از طراحی سایت استفاده کنیم؟
قطعاً خیر، گوگل هم متنی درباره این موضوع نوشته است و اشاره میکند که:
ربات گوگل محتوایی که از طریق
robots.txtمسدود شده باشد را خزش یا ایندکس نمیکند ولی ممکن است ما لینک آن محتوا را در مکانی دیگر از وب پیدا کنیم و درنتیجه محتوای موجود در آن آدرس در دسترس عموم قرار بگیرد و در نتایج جستجوی گوگل ظاهر شود. شما میتوانید برای جلوگیری از این عمل که محتوا در نتایج گوگل نمایش ندهد از متدهای دیگر برای مسدود کردن آدرسها استفاده کنید. بهعنوانمثال دایرکتوری آن آدرس را از طریق سرور خود رمزگذاری کنید یا از متاتگ robotx با دستور noindex استفاده کنید.
توضیحات بیشتر درباره اینکه robots.txt چیست و نحوه استفاده از آن را میتوانید به لینک اشارهشده مراجعه نمایید.
سرفصلهای پست
ما در این مقاله بسیار مفید قصد داریم درباره متا تگ robots که به شکل متا تگ روبوت هم خوانده میشود توضیحات مهم و کاربری به شما ارائه بدیم، حتما مقاله زیر را با دقت بخوانید.
هرروز در دنیای سئو روشهای مختلفی برای بهینه سازی و افزایش رتبه سایت در موتورهای جستجو مخصوصاً گوگل استفاده میشود ولی یکی از روشهای قدیمی که تأثیر خوبی بر دید موتورهای جستجو دارند، استفاده بهینه از متاتگها در صفحات طراحی سایت است. یکی از مهمترین متاتگ ها در سئو سایت، متاتگ robots میباشد. با استفاده از متاتگ robots شما میتوانید یک سری از دستورات مهم را به موتورهای جستجو بفهمانید و گاهی برای ارجاع این دستورات باید برای هر موتور جستجو یک متاتگ اختصاصی درج کنید. متاتگ robots جزو سئو داخلی سایت محسوب میشود چرا که تغییرات و اعمال آن بر روی صفحات سایت به شکل کامل در دست مدیر و یا مهندس سئو آن طراحی سایت (طراحی سایت شرکتی، طراحی سایت فروشگاهی،قیمت طراحی سایت) میباشد.
با متاتگ robots شما میتوانید به رباتهای موتورهای جستجو اطلاع بدید که این صفحه یا سایت را ایندکس نکن یا لینکهای این صفحه یا سایت را دنبال نکن، البته دستورات بیشتری میتوان از طریق این متاتگ مورداستفاده قرارداد که در ادامه مقاله به جزئیات آنها میپردازیم.
مثال از یک متاتگ robots
در این نوع متاتگ اصولاً دو نوع اتریبیوت مهم داریم. اتریبیوت اول که name نام دارد که اکثر مواقع مقدار robots را میگیرد مگر برای یک ربات خاص که در ادامه بیشتر توضیح میدهیم. اتریبیوت Content هم مقادیر مختلفی برای دادن دستور به رباتهای موتورهای جستجو میگیرد که این مقادیر (دستورات) به شرح زیر است.
با دستور noindex به رباتهای موتورهای جستجو این ابلاغ را میکنیم که این صفحه خزش یا ایندکس نشود. توجه داشته باشید که اگر آگاهی کامل از ایندکس نشدن صفحات خوددارید از دستور noindex استفاده کنید مثلاً اگر محتوای تکراری دارید و موارد دیگر. در غیر این صورت استفاده نشود بهتر است.
دستور index به معنی اجازه دسترسی برای ایندکس کردن رادارند. برعکس دستور noindex عمل میکند.
دستور nofollow شبیه اتریبیوت rel=”nofollow” در تگها a هستند که به این نوع لینکها، لینکهای نوفالو میگویند. حال دستور nofollow در متاتگ یک صفحه به آن معناست که هیچیک از لینکها را رباتهای موتورهای جستجو دنبال نکنند ولی لینک نوفالو صرفاً برای یک لینک بهکار برده میشود.
به موتورهای جستجو اعلام میکند که لینکهای موجود در صفحه را دنبال کند برعکس دستور nofollow است.
این دستور معادل دستورات noindex و nofollow است به این معنی که سایت را ایندکس و لینکهایش را دنبال نکن. شما میتوانید برای چنین کاری یا از دو دستور noindex, nofollow استفاده کنید یا از دستور none. هرچند به شکل کلی توصیه نمیشود ولی با آگاهی کامل از این دستورات استفاده کنید.
اسپایدرهای موتورهای جستجو (همان رباتها) با این دستور اجازه دسترسی به عکسهای صفحات را نخواهند داشت. البته اگر عکسی در جای دیگر لینک شده باشد موتور جستجو میتواند آن را ایندکس کند.
مخصوص ربات گوگل است و اجازه نمیدهد تا ربات گوگل در SERP ترجمهای انجام دهد.
دستور noarchive برای این است که موتورهای جستجو نسخهای از صفحات شمارا در کش خود قرار ندهند
همان کار دستور noarchive را میکند ولی دستور nocache فقط برای موتور جستجوی MSN/Live اعمال میشود.
اگر قصد دارید توضیحات نوشته یا همان تگ Description را در نتایج جستجو نمایش ندهید میتوانید از دستور nosnippet برای آن صفحه استفاده کنید.
کار این دستور عدم نمایش توضیحات سایت ما که در سایتهای دایرکتوری مثل dmoz وجود دارند را در نتایج جستجو است. به این معنی که سایت dmoz از هر سایتی یک سری اطلاعات جمعآوری میکند و ممکن است موتورهای جستجو در نتایج از آن اطلاعات در زیر لینکهای سایت ما استفاده کنند. هرچند دیگر سایت dmoz فعالیتی انجام نمیدهد. به سایتهای دایرکتوری اصولا ODP گفته میشود.
همانند دستور noodp است ولی به دایرکتوری سایت یاهو اشاره میکند. این دستور میگوید که هیچ موتورجستجویی از توضیحات سایت من که در دایرکتوری یاهو است در نتایج استفاده نکند. هر چند دایرکتوری یاهو خیلی وقت است دیگر فعالیت نمیکند و منسوخ شده است.
دستوراتی که توسط رباتهای موتورهای جستجوی زیر پشتیبانی میشود را با عبارت “بله” به همراه منبع مشخص کردهایم.
[gap]
برای درک بهتر ۴ سناریوی مختلف که ممکن است بیشتر از بقیه دستورات به کار رود را پیادهسازی کردهایم و در ادامه میتوانید با مشاهده این مثالها و درک آنها، به شکل صحیح از دستورات در صفحات خود استفاده نمایید.
اگر تمام صفحات دستور index و follow را داشته باشد. عکس کاملا گویا میباشد.
اگر تمام صفحات دستور noindex و follow را داشته باشد. ربات مثلا صفحه B را ایندکس نمیکند ولی آن صفحه را میخزد و به دنبال لینکهای آن میرود.
اگر تمام صفحات دستور index و nofollow را داشته باشد. در اینجا صفحه B ایندکس میشود و در نتایج موتور جستجو نمایان میشود ولی لینکهای صفحه B دنبال نمیشوند ولی همانطور که مشاهده میکنید صفحه E ایندکس شده است چرا که ممکن است از طریق سایت دیگر یا از طریق صفحهای از سایت شما ربات به آن دسترسی داشته باشد.
اگر تمام صفحات دستور noindex و nofollow را داشته باشد. عکس کاملا گویا میباشد.
| GOOGLEBOT | |
| SLURP | Yahoo! |
| MSNBOT | MSN / Live |
| TEOMA | Ask |
به عنوان مثال:
شما به کمک افزونه Yoast سئو در وردپرس میتوانید برای کل سایت و یا هر صفحه تنظیمات متاتگ robots را تغییر دهید. اگر در هنگام درج پست به قسمت پایین مربوط به افزونه یوآست توجه کرده باشید در قسمت تنظیمات میتوانید تغییرات لازم را اعمال کنید.
تنظیمات بالا صرفا فقط برای یک صفحه از سایت اعمال میشود برای تغییر تنظیمات کلی متاتگ robots توسط این افزونه به قسمت عنوانها & متاها رفته و در سربرگهای گونههای فرسته، طبقهبندی، بایگانیها و دیگر میتوانید تنظیمات روبات متا را index یا noindex کنید.
جهت اطلاع: