فایل robots.txt چیست
فایل robots.txt یک فایل متنی است که بهوسیله آن خطمشی برای ربات موتورهای جستجو تعیین میکنیم که چه آدرسهایی را خزش و ایندکس کنند و چه آدرسهایی را خزش و ایندکس نکنند. توجه داشته باشید که ماهیت خزش با ایندکس فرق دارد. یک ربات باید در ابتدا خزشی را صورت بدهد و سپس تصمیم میگیرد که آن را در دیتابیس موتورهای جستجو ذخیره کند یا نه. اگر ذخیره شود عمل ایندکس رخداده است. ما در این مقاله از سایت میزفا به نحوه ایجاد و ساخت فایل robots.txt میپردازیم و شما با خواندن این مقاله صرف نظر از اینکه چه نوع CMS (وردپرس، جوملا و …) دارید، میتوانید این فایل را ایجاد و مدیریت کنید.
موتورهای جستجو با خزیدن در میان صفحات سایت شما، آنها را ایندکس میکند و با دنبال کردن لینکها وارد صفحات یا سایتهای دیگر میشوند. هر ربات استانداردی قبل از خزیدن صفحهای از یک دامنه، ابتدا فایل robots.txt را میخواند و بر اساس دستورات موجود در این فایل، اجازه خزیدن را پیدا میکند تا بتواند ایندکس را انجام دهد. پس باید دقت داشته باشید که چه صفحاتی را برای خزیدن منع میکنید چراکه اگر بهاشتباه صفحات مهم خود را مخصوصاً صفحات فرود یا همان لندینگ پیج را از طریق این فایل برای رباتها مسدود کنید ضربه بدی به سئو سایت و درنتیجه تجارت آنلاین خود وارد میکنید. (اهمیت و نحوه ساختن صفحات فرود یا لندینگ پیج را میتوانید به همراه مثال در مقاله جامع صفحه فرود چیست بخوانید)
فایل robots.txt مختص رباتها است اما جالب است بدانید که چنین فایلی برای انسانها هم نوشته میشود. این فایل humans.txt نام دارد و حاوی پیامی برای کاربران و بازدیدکنندگان سایت شما است و اصولاً به زبان انگلیسی نوشته میشود.
نمونه فایل robots.txt و فایل humans.txt برای سایت گوگل:
https://www.google.com/robots.txt
https://www.google.com/humans.txt
فایل robots.txt یا متاتگ روبات
اگر میخواهید آدرسی از صفحات و لینکهای آن توسط روبات بررسی شود اما در نتایج جستجو نمایش داده نشود، درنتیجه باید بجای فایل robots.txt از متاتگ ربات استفاده کنید. اگر قصد دارید این روش را به شکل بهینه انجام دهید مقاله متاتگ robots ما را حتماً بخوانید تا به نکات جالبی درباره این متاتگ دست پیدا کنید.
فایل robots.txt باید در چه آدرسی قرار دهیم؟
بعد از ساخت فایل robots.txt با فرمت ASCII یا UTF-8 این فایل حتماً در آدرس http://domain.com/robots.txt مورد دسترسی رباتها قرار گیرد (بجای domain.com نام دامنه سایت خود را قرار دهید). حال دو نکته درباره این موضوع:
اگر ربات خزنده قصد داشته باشد به زیر دامنههای ما سر بزند باید برای هر زیردامنه یک فایل 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.txt حتما باید با حروف کوچک نوشته شود. این فایل همانند URL نام این فایل نسبت به حروف بزرگ و کوچک حساس است. به عنوان مثال آدرسهای زیر کاملا با هم فرق دارند و فقط اولین آدرس صحیح میباشد.
mizfa.com/robots.txt
mizfa.com/robotS.txt
mizfa.com/robots.TXT
mizfa.com/Robotx.txt
mizfa.com/ROBOTS.txt.
نحوه ساخت فایل robots.txt
اگر بعد از مراجعه به آدرس http://domain.com/robots.txt خطایی مشاهده کردید یعنی سایت شما فایل robots.txt را ندارد. برای ساخت robots.txt کافی است به کنترل پنل هاست سایت مراجعه کنید، حال اگر کنترلپنل هاست از نوع سیپنل باشد محیطی شبیه عکس زیر دارد.
ساخت robots.txt در سی پنل
در ریشه یا روت سایت یک فایل ساده ایجاد کرده و فرمت و نام آن را robots.txt درج کنید. گوگل در مقاله Create a robots.txt file به آموزش ساخت فایل robots.txt اشاره کرده است و ما هم در ادامه این مقاله به نمونه دستورات در فایل Robots.txt اشاره خواهیم کرد اما قبل از هرچیز بهتر است ابتدا به تعریف سه کلمهی کلیدی بپردازیم تا شما نیز بهتر با ان ها آشنا شوید فراموش نکنید که میتوانید نظراتخود را با در میان بگذارید .
User-agent : نام ربات موردنظر را جلوی این عبارت مینویسیم که البته حساس به حروف کوچک و بزرگ نیست ( به عبارت دیگر non case sensitive است). با استفاده از کیورد user-agent میتوانید ربات خاصی را هدف گرفته یا بهطورکلی، دستوری را خطاب به همه آنها درج کنید. گاهی بعضی از موتورهای جستجو رباتهای مختلفی نیز دارند همانند موتور جستجوی گوگل که برای تصاویر، اخبار و موارد دیگر ربات خاص خود را دارد. در ادامه مثالهای متنوعی خواهیم زد تا بهتر به این امر پی ببرید.
لیست رباتهای معروف موتورهای جستجو در عکس زیر:
لیست رباتهای معروف
اگر قصد دارید اطلاعات بیشتری درباره رباتهای گوگل کسب کنید این مقاله سایت گوگل را مطالعه فرمایید.
Disallow : مقابل این کیبورد، دایرکتوریای را درج میکنید که قصد ندارید توسط ربات ایندکس شود. بعد از عبارت User-agent میتوانید در هرچند بار که لازم باشد از Disallow استفاده نمایید. به این نکته مهم توجه کنید که ربات موتورهای جستجو به حروف کوچک و بزرگ در دایرکتوریها حساس هستند. در ادامه مثالهای متنوعی خواهیم زد تا بهتر به این امر پی ببرید.
Allow : برعکس دستور Disallow است هرچند دستور Allow غیررسمی است ولی توسط اکثر رباتهای معروف شناختهشده است.
نمونه دستورات در فایل Robots.txt
قبل از هرچیز بدانید که:
* به همه اشاره دارد، مثلاً همهی رباتها یا همهی کاراکترها. در مثالهای زیر به خوبی متوجه کاربرد * میشوید.
/ به تنهایی به معنی همهی آدرسها است.
$ به پایان مسیر یک URL اشاره میکند.
مثال یک – عدم دسترسی به کل سایت
در نتیجه در خط اول مثال زیر با درج * همه ربات های موتورهای جستجو را خطاب قرار میدهیم و در خط دوم با درج / به عدم خزش و ایندکس تمام آدرس های دامنه اشاره میکنیم. بنابراین دستور زیر یعنی: هیچیک از موتورهای جستجو مجاز به خزیدن سایت شما نباشند.
User-agent: *
Disallow: /
مثال دو – دسترسی به کل سایت
دستور زیر برعکس دستور بالا میگویید همه رباتهای موتورهای جستجو به کلیه آدرسهای سایت دسترسی دارند.
User-agent: *
Disallow:
خلاصه تصویری از دو مثال بالا
مثال سه – عدم دسترسی به دایرکتوری خاص
دستور زیر به این معناست که ربات گوگل به پوشه 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
شما میتوانید از عبارات منظم (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/
نکته: در مثال فوق disallow کردن /wp-includes/ را به عنوان اشتباه رایج معرفی کردهایم، نه /wp-admin/. درج /wp-admin/ در فایل robots.txt وردپرس یک روش پیشفرض است و ترجیح دادیم در هرمثال آن را قرار دهیم. (البته Disallow کردن /wp-admin/ نسخهای نیست که بشود برای همه وبسایتها پیچید و کاملاً بستگی به سایت دارد)
مثال هشت – عدم دسترسی به آدرسی با کاراکتر خاص
دستور زیر وقتی کاربرد دارد که شما در آدرسهای خود کاراکتری مانند ? را داشته باشید چراکه گاهی به دلیل مشکلات فنی در سایت، مقاله شما ممکن است با آدرسهای مختلف و با مقادیر متفاوت انتشار پیدا کند. به همین منظور دستور زیر را به شکل موقت درج میکنید تا رباتها آدرسهای دارای کاراکتر علامت سؤال را ایندکس نکنند.
User-agent: *
Disallow: /*?
در مثال پایین با درج $ تأکید میکنیم که اگر در انتهای آدرسی علامت سوال (?) بود، آن آدرس باید Disallow شود. در نتیجه مثال پایین یعنی هیچ رباتی اجازهی خزش آدرسهایی که با ? تمام میشوند را ندارند. در این شرایط آدرسهایی که با ? به اتمام نمیرسند در نظر گرفته نمیشوند.
User-agent: *
Disallow: /*?$
اگر به دنبال مثال های بیشتری هستید مقاله Robots.txt Specifications گوگل هم میتواند برای شما مفید باشد.
تست فایل robots.txt در سرچ کنسول گوگل
در نهایت بعد از ساختن فایل robots.txt نوبت به تست و صحت کارکرد آن میرسد.
آپدیت 2020: توجه داشته باشید در ورژن جدید سرچ کنسول امکان تست فایل robots.txt وجود ندارد. برای تست این فایل از این لینک وارد شوید. اگر با خطایی مواجه شدید URL سایت (مثلا http://mizfa.com) را در سرچ کنسول به عنوان property جدید اضافه کنید و مجدد آزمایش کنید.
گوگل در قسمتی از سرچ کنسول خود شرایط رایگانی برای تست فایل 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 را کَش میکنند اما معمولا محتوای کش شده را روزی حداقل یک بار به روز رسانی میکنند. با این حال شما اگر تمایل دارید بعد از تغییرات در این فایل، موتورهای جستجو سریعتر کش را آپدیت کنند فایل خود را در این آدرس گوگل ارسال کنید. صحبت از Cache شد، آیا میدانستید که کش کردن سایت تأثیرات فوقالعادهای روی سرعت وبسایتهایی با ترافیک بالا دارد؟ راه و چاهش در مقاله بهترین افزونه کش وردپرس!
خب امیدوارم از آموزش ساخت فایل robots.txt و نکات پیرو آن استفاده کردهباشید و صرف نظر از اینکه از وردپرس، جوملا یا هر CMS دیگری استفاده میکنید بتوانید براحتی robots.txt بسازید. هرچند برای ایجاد فایل robots.txt برای وردپرس و دیگر سی ام اس ها مثل جوملا مثالهایی ارائه دادیم؛ اما فراموش نکنید که امکان ندارد یک فایل را به عنوان بهترین فایل robots.txt مناسب وردپرس یا CMSهای دیگر درنظر گرفت و برای همهی سایتها از همان یک فایل استفاده کرد.
:: بازدید از این مطلب : 136
|
امتیاز مطلب : 0
|
تعداد امتیازدهندگان : 0
|
مجموع امتیاز : 0