robots.txt یک فایل بسیار مهم میباشد که با کمک آن میتوانید وضعیت ایندکس شدن سایت را مدیریت کنید. یعنی برای موتورهای جستجوگر از جمله گوگل، مشخص کنید به کدامیک از بخشهای سایت دسترسی داشته باشند یا دسترسی نداشته باشند.
فقط این موضوع را در نظر بگیرید که کوچکترین اشتباه در فایل robots.txt موجب میشود که سئو (SEO) سایت به صورت جدی آسیب ببیند. بنابراین پیشنهاد میکنیم که این مقاله آموزشی از وبلاگ ابزار وردپرس را تا انتها مطالعه کنید تا اطلاعات مورد نیاز را بدست بیاورید. سپس میتوانید تغییرات دلخواه خود را در فایل Robots.txt را اعمال کنید.
فایل robots.txt چیست
robots.txt یک فایل متنی میباشد که توسط موتورهای جستجوگر از جمله گوگل، مورد بررسی قرار میگیرد. البته فایل robots.txt با نام Robots Exclusion Protocol یا پروتکل REX نیز شناخته میشود که نتیجه توافقات بین توسعهدهندگان اولیه موتورهای جستجوگر میباشد. البته این پروتکل توسط هیچ سازمانی تایید نشده است؛ اما با این حال تمام موتورهای جستجوگر نسبت به آن حساس میباشند و اهمیت زیادی برای آن قائل هستند.
robots.txt چگونه کار میکند
همانطور که میدانید، رباتهای موتورهای جستجوگر، صفحات سایت را مورد بررسی قرار میدهند (اصطلاحا میخزند) و براساس معیارها و الگوریتمهای مختلف، آنها را فهرست میکنند. اما قبل از اینکه گوگل و سایر موتورهای جستجوگر شروع به خزیدن سایتها کنند، ابتدا فایل robots.txt را بررسی میکنند. چرا که ممکن است یک وبسایت مشخص کرده باشد که برخی صفحات ایندکس نشوند.
فایل robots.txt در کجا قرار میگیرد
این فایل دقیقا در پوشه اصلی هاست یعنی Public_HTML قرار میگیرد. در واقع موتورهای جستجوگر باید با آدرس زیر بتوانند به فایل robots.txt دسترسی داشته باشند.
YourDomain.com/robots.txt
فراموش نکنید که اگر نام فایل را به صورت اشتباه بنویسید، توسط موتورهای جستجوگر مورد بررسی قرار نخواهد گرفت و این موضوع میتواند برای سئو سایت به شدت خطرناک باشد.
مزایای فایل robots.txt
حالا وقت آن است که مزایای فایل robots.txt را برای شما توضیح دهیم.
مدیریت بودجه خزش
تمام موتورهای جستجوگر از جمله گوگل، رباتهای محدودی دارند که صفحات وب را ایندکس میکنند. بنابراین نمیتوانند هر روز تمام سایتها و صفحات موجود در سطح وب را مورد بررسی قرار دهند و ایندکس کنند. حالا با توجه به اینکه تعداد رباتها محدود است، موتورهای جستجوگر باید برای هر سایت یک بودجه خزش در نظر بگیرند. بودجه خزش (Crawl Budget) در واقع میزان زمان و انرژی است که رباتهای موتورهای جستجوگر برای یک سایت صرف میکنند.
البته این میزان برای هر سایت متفاوت است. برای مثال هرچه یک سایت از اعتبار بالاتری برخوردار باشد، قطعا گوگل و سایر موتورهای جستجوگر برای آن بودجه خزش بیشتری در نظر میگیرند. همچنین هرچه یک سایت از اعتبار پایینتری برخوردار باشد، به همان نسبت قطعا بودجه خزش کمتری برای آن در نظر گرفته میشود.
اکنون با توجه به توضیحات داده شده، اگر فکر میکنید که سایت شما با کمبود بودجه خزش مواجه است، میتوانید با کمک فایل robots.txt مشخص کنید که چه بخشهایی از سایت شما ایندکس شود و چه بخشهایی ایندکس نشود. اینگونه میزان زمان و انرژی خزندههای گوگل را از بین نمیبرید و میتوانند قسمتهای مهم سایت را ایندکس کنند.
حذف URL Parameters برای بهوبد بودجه خزش
یکی از مواردی که تاثیر زیادی بر بودجه خزش میگذارد، URL Parameters یا همان پارامترهای URL میباشد. جالب است بدانید که این پارامترها انواع مختلفی دارند و در تمام سایتها وجود دارند. برای مثال در سایتهای فروشگاهی، معمولا در زمان فیلتر کردن محصولات مختلف، این پارامترها ایجاد میشوند و میتوانید مشاهده کنید.
برای درک بهتر URL Parameters پیشنهاد میکنیم به URL زیر دقت کنید که نتیجه اعمال چند فیلتر روی محصولات در یک سایت فروشگاهی میباشد.
https://www.YourDomain.com/search/category/?attribute[A2291][0]=19813&attribute[A2291][1]=19817&pageno=1&last_filter=2291&last_value=19817&sortby=4
همانطور که در URL بالا مشاهده میکنید، کاراکترهایی اضافه شده است که در واقع همان پارامترهای مربوط به URL میباشند. حالا در این مقاله قصد نداریم که URL Parameters را به صورت کامل توضیح دهیم و صرفا در حد آشنایی شما کاربران عزیز میباشد.
فقط باید به این نکته توجه داشته باشید که هیچ نیازی به ایندکس شدن این موارد نیست و میتوانید از ایندکس کردن این پارامترها توسط گوگل جلوگیری کنید. در واقع اگر شما اجازه دهید که گوگل و سایر موتورهای جستجوگر این پارامترها را ایندکس کنند، ممکن است بخش عظیمی از بودجه خزش مصرف شود و به صفحات اصلی و مهم نرسد.
معایب فایل robots.txt
تاکنون به خوبی با مزایای فایل robots.txt آشنا شدید؛ حالا قصد داریم به سراغ معایب این فایل برویم.
حذف نشدن صفحات از نتایج جستجو
زمانی که شما بخشی از سایت را در فایل robots.txt مشخص میکنید که توسط موتورهای جستجوگر ایندکس نشود، بازهم احتمال دارد که یک صفحه از همان بخشی که مشخص کردهاید در نتایج جستجو نمایش داده شود. شاید این موضوع شاید کمی عجیب باشد، اما نکتهای مهم در رابطه با فایل robots.txt است که اکثر سئوکارها از آن بیخبر هستند.
بنابراین اگر میخواهید به صورت 100 درصد مطمئن شوید که یک صفحه از سایت در نتایج جستجو (SERP) نمایش داده نمیشود، نباید آن را در فایل robots.txt مشخص کنید، بلکه باید به سراغ همان صفحه بروید و به صورت مستقیم از تگ noindex استفاده کنید.
دلیل این موضوع هم به وضوح مشخص است. در واقع فایل robots.txt مشخص میکند که موتورهای جستجوگر به بخشی از سایت دسترسی نداشته باشند؛ اما تگ noindex به آنها اختصاص نمیدهد. حالا کافی است که یک صفحه از همان بخش که در فایل robots.txt مشخص کردهاید، قبلا ایندکس شده باشد، یا حتی از صفحه دیگری لینک دریافت کرده باشد؛ در این صورت بازهم ایندکس خواهد شد.
نادیده گرفتن لینکهای داخلی
هرگاه که یک بخش از سایت را در فایل robots.txt مشخص میکنید که موتورهای جستجوگر به آن دسترسی نداشته باشند، هر لینکی که در آن صفحات وجود داشته باشد، بیارزش خواهد شد. چرا که دسترسی موتورهای جستجوگر را به کلی مسدود کردهاید و نمیتوانند به آن صفحه دسترسی داشته باشند. بنابراین تمام لینکهای بخشهایی که در فایل robots.txt مشخص کردهاید، ارزشی نخواهند داشت و توسط موتورهای جستجوگر نادیده گرفته میشوند.
ساختار و سینتکسهای robots.txt
اگر تاکنون محتوای داخل فایل robots.txt را مشاهده کرده باشید، متوجه میشوید که ساختار بسیار سادهای دارد. در قسمت زیر اطلاعات یک فایل robots.txt را برای نمونه قرار دادهایم که میتواند مشاهده کنید.
User-agent: * Disallow: / User-agent: Googlebot Disallow: User-agent: bingbot Disallow: /not-for-bing/
همانطور که مشاهده میکنید تمام بلوکهای دو خطی، با یک عبارت به نام “User-agent” شروع شدهاند. حالا منظور از این عبارت، موتورهای جستجوگر میباشند. در واقع با عبارت “User-agent” موتورهای جستجوگر را صدا میزنیم. حالا صدا زدن موتورهای جستجوگر چند حالت مختلف دارد که در ادامه بیشتر توضیح میدهیم.
فراخوانی موتورهای جستجوگر در فایل robots.txt
اگر بخواهیم یک دستور در فایل robots.txt بنویسیم که تمام موتورهای جستجوگر از آن پیروی کنند؛ باید به صورت زیر باشد.
User-agent: *
زمانی که در مقابل عبارت “User-agent” علامت * قرار میدهیم، به این معنی است که تمام موتورهای جستجوگر باید به این دستور توجه کنند و از آن پیروی کنند. اما اگر بخواهیم یک موتور جستجوگر خاص را مثل گوگل یا بینگ فراخوانی کنیم، دستور ما باید به صورت زیر باشد.
User-agent: Googlebot
همانطور که مشاهده میکنید برای فراخوانی یک موتور جستجو، باید نام آن را به همراه کلمه bot بنویسید. برای مثال در قسمت بالا ما قصد داشتیم که موتور جستجوگر گوگل را فراخوانی کنیم؛ به همین دلیل در مقابل “User-agent”، عبارت “Googlebot” را نوشتیم. با انجام این کار، نشان میدهیم که دستور نوشته شده فقط برای موتور جستجوی گوگل است.
دستور Disallow
تاکنون به خوبی با دستور “User-agent” آشنا شدید و حالا قصد داریم به سراغ دستور بعدی برویم. همانطور که در مثال اول گفته شد، هر بلوک در فایل robots.txt معمولا از دو خط تشکیل شده است. در خط اول با کمک دستور User-agent موتور جستجوگر را مشخص میکنیم. اما در خط دوم، با دستور Allow یا Disallow مشخص میکنیم که موتور جستجوگر به چه بخشهایی از سایت دسترسی داشته باشد یا دسترسی نداشته باشد.
دستور Disallow بیشترین کاربرد را دارد و ممکن است در یک خط یا در چند خط مشخص کنیم که موتور جستجوگر به چه بخشهایی از سایت دسترسی نداشته باشد. البته اگر جلوی عبارت Disallow خالی باشد، به این معنا است که هیچ بخشی از سایت محدود نشده است و موتور جستجوگر به تمام بخشهای سایت دسترسی دارد.
برای مثال با دستورات زیر در فایل robots.txt هیچ اتفاقی برای سایت رخ نمیدهد و در واقع به موتورهای جستجوگر گفته شده است که تمام قسمتهای سایت را مورد بررسی قرار دهید.
User-agent: * Disallow:
حالا اگر مثل قسمت زیر یک کاراکتر به دستورات بالا اضافه کنیم، در واقع به موتورهای جستجو دستور دادهایم که سایت را مورد بررسی قرار ندهد.
User-agent: * Disallow: /
حالا اگر بخواهید یک بخش از سایت را به صورت کلی برای موتورهای جستجوگر محدود کنید، باید به صورت زیر عمل کنید. در واقع دستوری که ما نوشتهایم، جهت جلوگیری از ایندکس شدن تصاویر است. فقط توجه داشته باشید که با دستور زیر، تمام زیر شاخههای دایرکتوری Photo برای موتورهای جستجوگر مسدود میشوند و ایندکس نخواهند شد.
User-agent: googlebot Disallow: /Photo
دستور Allow
علاوهبر دستور User-agent و Disallow یک دستور دیگر با نام Allow وجود دارد. البته این دستور استاندارد نیست و توسط همه موتورهای جستجوگر خوانده نمیشود. بنابراین پیشنهاد میکنیم تا حد امکان از این دستور استفاده نکنید. صرفا در همین بدانید که دستور Allow برخلاف Disallow به موتورهای جستجوگر اجازه میدهد که به بخشی از سایت دسترسی داشته باشند.
برای مثال ممکن است توسط دستور Disallow، دسترسی موتورهای جستجوگر را به پوشه wp-admin قطع کرده باشید؛ اما بخواهید دسترسی به یکی از فایلهای موجود در پوشه wp-admin را آزاد کنید. در چنین مواقعی از دستور Allow استفاده میشود. پیشنهاد میکنیم برای درک بهتر این موضوع، به دستورهای زیر توجه کنید.
Disallow: /wp-admin/ Allow: /wp-admin/admin-ajax.php
همانطور که مشاهده میکنید، ابتدا به کمک دستور Disallow دسترسی را به فایل wp-admin محدود میکنیم؛ ولی در ادامه با استفاده از دستور Allow، دسترسی به فایل مورد نظر را آزاد میکنیم.
نکته مهم: استفاده از حروف کوچک و بزرگ در دستورات اصلی مثل User-agent یا Allow و Disallow تفاوتی ندارد؛ اما برای مشخص کردن بخشهای مختلف سایت (مثل یک دایرکتوری مشخص)، حروف کوچک و بزرگ متفاوت هستند و نباید به صورت اشتباه بنویسید.
دستور Host
افراد بسیار کمی هستند که با دستور Host آشنا باشند؛ چرا که این دستور صرفا توسط موتور جستجوگر یاندکس (Yandex) پشتیبانی میشود. یعنی سایر موتورهای جستجوگر از جمله گوگل و بینگ، از دستور Host پشتیبانی نمیکنند. البته ناگفته نماند که این دستور از اهمیت زیادی برخوردار نیست.
با استفاده از دستور Host میتوانید مشخص کنید که آدرس سایت همراه با www باشد یا بدون www باشد. برای درک بهتر این موضوع پیشنهاد میکنیم به مثال زیر دقت کنید.
host: YourDomain.com
همانطور که مشاهده میکنید، در قسمت بالا تعیین کردهایم که آدرس سایت بدون www نمایش داده شود؛ حالا اگر کسی بخواهد آدرس سایت را همراه با www نشان دهد، میتواند به صورت زیر عمل کند.
host: www.YourDomain.com
البته همانطور که پیش از این گفتیم، پیشنهاد میکنیم از این دستور استفاده نکنید. چرا که استاندارد نیست و توسط موتورهای جستجوگر مهم از جمله گوگل، شناسایی نمیشود. حتی با کمک این دستور شما نمیتوانید HTTP یا HTTPS را مشخص کنید و این یک ویژگی منفی است.
دستور crawl-delay
این دستور مشخص میکند که موتورهای جستجوگر چه مقدار باید صبر کنند تا یک صفحه به صورت کامل بارگذاری شود و شروع به خزیدن کنند. برای استفاده از دستور crawl-delay به مثال زیر توجه کنید.
crawl-delay: 10
در واقع عددی که مقابل crawl-delay نوشته میشود، نشان میدهد که خزندههای موتورهای جستجو چند ثانیه باید صبر کنند. البته crawl-delay هم جزء دستورات غیراستاندارد محسوب میشود و توسط همه موتورهای جستجوگر خوانده نمیشود. بنابراین تا جایی که ممکن است از این دستور استفاده نکنید.
این دستور صرفا توسط یاندکس و بینگ شناسایی میشود؛ یعنی گوگل نمیتواند آن را شناسایی کند. اما برای اینکه بتوانید یک تاخیر برای خزندههای گوگل هم در نظر بگیرید، باید از طریق گوگل سرچ کنسول اقدام کنید و از طریق فایل robots.txt امکان پذیر نیست.
دستور sitemap
با استفاده از دستور sitemap میتوانید آدرس نقشه سایت را برای موتورهای جستجوگر مشخص کنید. البته بهتر است که با استفاده از ابزارهای وبمستر مثل گوگل سرچ کنسول چنین کاری را انجام دهید؛ اما برای کسانی که قصد ندارند با کمک ابزارهای وبمستر چنین کاری انجام دهند، میتوانند از دستور sitemap در فایل robots.txt استفاده کنند.
برای اینکه از دستور sitemap استفاده کنید، باید مشابه مثال زیر پیش بروید.
Sitemap: https://YourDomain.com/my-sitemap.xml
به همین راحتی میتوانید با دستور sitemap مشخص کنید که نقشه سایت در کجا قرار دارد.
اعتبارسنجی فایل robots.txt
ابزارهای مختلفی وجود دارند که با استفاده از آنها میتوانید فایل robots.txt را اعتبارسنجی کنید و مطمئن شوید که هیچ مشکلی ندارد. ولی پیشنهاد ما این است که از ابزار موتور جستجوگر گوگل استفاده کنید. برای اینکه بتوانید از ابزار گوگل استفاده کنید، کافی است به آدرس زیر بروید.
https://support.google.com/webmasters/answer/6062598?hl=en
سپس روی دکمه Open robots.txt Tester کلیک کنید. با انجام این کار به صفحه اعتبارسنجی فایل robots.txt منتقل میشوید.
نتیجهگیری کلی
همانطور که متوجه شدید، فایل Robots.txt بسیار مفید و کاربردی است. اما دستورهای زیادی دارد که استاندارد نیستند و توسط همه موتورهای جستجوگر پشتیبانی نمیشوند. بنابراین باید در استفاده از این دستورات هم دقت زیادی کرد. در کل اصلیترین دستوری که باید از آنها استفاده کنید به شرح زیر است.
- User-agent: برای فراخوانی موتورهای جستجوگر مثل گوگل
- Disallow: برای محدود کردن دسترسی موتورهای جستجوگر
امیدواریم این مقاله آموزشی مورد پسند شما کاربران عزیز قرار گرفته باشد؛ اگر سوال یا مشکلی در رابطه با فایل robots.txt داشتید، در بخش دیدگاهها مطرح کنید تا کارشناسان و متخصصین ما به شما کمک کنند.
Views 0
