فایل robots.txt و نحوه ساخت آن
فایل روبوت robots.txt چیست و چگونه این فایل را بسازیم و بهترین و مناسب ترین فایل روبوت برای وردپرس و جوملا چیست، پاسخ به همه این پرسشها را میتوانید در این مقاله از سایت سئوراز مطالعه نمایید. همچنین در این مقاله ۸ مثال کاربردی درباره فایل روبوت (ربات) گفته شده است.
سرفصلهای پست
- 1 فایل robots.txt چیست
- 2 فایل robots.txt باید در چه آدرسی قرار دهیم؟
- 3 نحوه ساخت فایل robots.txt
- 4 نمونه دستورات در فایل Robots.txt
- 4.1 مثال یک
- 4.2 مثال دو
- 4.3 مثال سه
- 4.4 مثال چهار
- 4.5 مثال پنج
- 4.6 مثال شش
- 4.7 مثال هفت
- 4.8 مثال هشت
- 5 تست فایل robots.txt در سرچ کنسل گوگل
- 6 چند نکته پایانی درباره فایل 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 نام این فایل به حروف کوچک و بزرگ حساس است. به عنوان مثال آدرسهای زیر کاملا با هم فرق دارند. و فقط اولی آدرس درست و صحیح میباشد.
seoraz.com/robots.txt seoraz.com/robotS.txt seoraz.com/robots.TXT seoraz.com/Robotx.txt seoraz.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 | چنین آدرس فایلی اصلا توسط رباتها خزش نمیشود. |
نحوه ساخت فایل 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 غیررسمی است ولی توسط اکثر رباتهای معروف شناختهشده است.
نمونه دستورات در فایل Robots.txt
مثال یک
مثال زیر در خط اول شامل همه ربات موتورهای جستجو میشود چراکه با علامت ستاره درجشده است و خط دوم با / درج شده و شامل کل آدرسهای یک دامنه میشود، بنابراین دستور زیر به این معنی است که هیچیک از موتورهای جستجو مجاز به خزیدن سایت شما نباشند.
User-agent: * Disallow: /
مثال دو
دستور زیر برعکس دستور بالا میگویید همه رباتهای موتورهای جستجو به کلیه آدرسهای سایت دسترسی دارند.
User-agent: * Disallow:
مثال سه
دستور زیر به این معناست که فقط ربات گوگل دسترسی به پوشه blog را ندارد و این شامل همه زیرپوشههای blog هم میشود یعنی هم شامل آدرس seoraz.com/blog میشود و هم شامل آدرسهای بهمانند seoraz.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 URL to 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 برای وردپرس و دیگر سی ام اس ها مثل جوملا را هم زدیم.
مطلب قبلی : لینک نوفالو (nofollow) چیست و تاثیر آن در سئو
نوشته فایل robots.txt و نحوه ساخت آن اولین بار در طراحی سایت سئوراز. پدیدار شد.