رایجترین مشکلات robots.txt و تأثیری که میتوانند بر وبسایت شما و جستجوی شما داشته باشند و نحوه رفع آنها را کشف کنید.
Robots.txt یک ابزار مفید و قدرتمند برای راهنمایی خزندههای موتورهای جستجو در مورد نحوه ایندکس کردن وبسایت شماست. مدیریت این فایل یکی از اجزای کلیدی سئوی فنی خوب به شمار میرود.
البته این فایل قدرت مطلق ندارد و همانطور که گوگل اشاره میکند، «ابزاری برای مخفی کردن یک صفحه وب از نتایج جستجوی گوگل نیست». با این حال، میتواند به جلوگیری از overload شدن سایت یا سرور شما توسط درخواستهای خزندهها کمک کند.
اگر روی سایت خود این محدودیت دسترسی برای خزندهها را اعمال کردهاید، باید مطمئن شوید که به درستی استفاده میشود. این موضوع به خصوص زمانی اهمیت پیدا میکند که از URLهای پویا یا روشهای دیگری استفاده میکنید که به صورت تئوری تعداد بینهایتی صفحه تولید میکنند.
در این راهنما، به برخی از رایجترین مشکلات مربوط به فایل robots.txt، تأثیر آنها بر وبسایت و سئوی شما، و همچنین نحوه رفع این مشکلات در صورت بروز آنها خواهیم پرداخت.
اما قبل از آن، اجازه دهید نگاهی کوتاه به robots.txt و جایگزینهای آن بیندازیم.
robots.txt از یک فایل متنی ساده استفاده میکند و در فهرست اصلی وبسایت شما قرار میگیرد. این فایل باید در بالاترین سطح فهرست سایت شما قرار گیرد. اگر آن را در یک زیر فهرست قرار دهید، موتورهای جستجو به سادگی آن را نادیده میگیرند.
با وجود قدرت زیاد، robots.txt اغلب یک سند نسبتاً ساده است و یک فایل robots.txt اساسی را میتوان در چند ثانیه با استفاده از ویرایشگری مانند Notepad ایجاد کرد. میتوانید با آنها سرگرم شوید و پیامهای بیشتری را برای یافتن کاربران اضافه کنید.
عکس
پدیگری نیز برای دستیابی به برخی از اهداف مشابهی وجود دارد که robots.txt معمولاً برای آنها استفاده میشود.
صفحات فردی میتوانند شامل یک تگ متا با نام robots درون کد صفحه خود باشند.
شما همچنین میتوانید از هدر HTTP به نام X-Robots-Tag برای تأثیرگذاری روی چگونگی نمایش محتوا (و اینکه آیا اصلاً نمایش داده شود) در نتایج جستجو استفاده کنید.
قابلیتهای robots.txt چیست؟
robots.txt میتواند بر روی انواع مختلفی از محتوا نتایج متفاوتی داشته باشد:
میتوان دسترسی خزندهها به صفحات وب را مسدود کرد.
این صفحات ممکن است همچنان در نتایج جستجو ظاهر شوند، اما توضیح متنی نخواهند داشت. محتوای غیر HTML موجود در صفحه نیز توسط خزندهها بررسی نخواهد شد.
میتوان نمایش فایلهای رسانهای در نتایج جستجوی گوگل را مسدود کرد.
این شامل تصاویر، ویدئوها و فایلهای صوتی میشود.
اگر فایل عمومی باشد، همچنان به صورت آنلاین “وجود” خواهد داشت و قابل مشاهده و لینک دادن است، اما این محتوای خصوصی در جستجوی گوگل نمایش داده نمیشود.
میتوان دسترسی خزندهها به فایلهای منابعی مانند اسکریپتهای خارجی کماهمیت را مسدود کرد.
با این حال، این به این معنی است که اگر گوگل صفحهای را crawl کند که برای بارگذاری به آن resource نیاز داشته باشد، ربات Googlebot نسخهای از صفحه را “خواهد دید” که انگار آن resource وجود ندارد که میتواند بر روی ایندکس شدن صفحه تأثیر بگذارد.
شما نمیتوانید از robots.txt برای مسدود کردن کامل نمایش یک صفحه وب در نتایج جستجوی گوگل استفاده کنید. برای رسیدن به این هدف، باید از یک روش جایگزین مانند اضافه کردن تگ متا noindex به بخش head صفحه استفاده کنید.
اشتباهات robots.txt چقدر خطرناک هستند؟
یک اشتباه در robots.txt میتواند عواقب ناخواستهای داشته باشد، اما این معمولاً فاجعه نیست. خبر خوب این است که با اصلاح فایل robots.txt خود، میتوانید به سرعت و (معمولاً) به طور کامل از هر گونه خطایی بازیابی کنید.
راهنمای گوگل به توسعه دهندگان وب در مورد اشتباهات robots.txt چنین میگوید:
“خزندههای وب عموماً بسیار انعطافپذیر هستند و معمولاً اشتباهات جزئی در فایل robots.txt را نادیده میگیرند. به طور کلی، بدترین اتفاقی که ممکن است بیفتد این است که دستورات نادرست [یا] پشتیبانینشده نادیده گرفته شوند.
با این حال، به خاطر داشته باشید که گوگل هنگام تفسیر یک فایل robots.txt نمیتواند ذهن بخواند؛ ما باید فایلی را که دریافت کردهایم تفسیر کنیم. به گفتة گوگل، اگر از وجود مشکلات در فایل robots.txt خود آگاه هستید، معمولاً رفع آنها آسان است.”
۸ اشتباه متداول در Robots.txt:
- عدم قرارگیری فایل Robots.txt در دایرکتوری اصلی.
- استفاده نامناسب از Wildcards.
- استفاده از Noindex در Robots.txt.
- بلاک کردن اسکریپتها و استایلشیتها.
- عدم وجود URL نقشه سایت.
- دسترسی به وبسایتهای توسعه.
- استفاده از URL های مطلق.
- عناصر منسوخ و پشتیبانی نشده.
اگر وبسایت شما در نتایج جستجو عجیب و غریب عمل میکند، فایل robots.txt یک مکان مناسب برای جستجوی هرگونه اشتباهات، خطا و قوانین بیش از حد است. بیایید به جزئیات هر یک از اشتباهات بالا نگاهی بیندازیم و ببینیم چگونه مطمئن شویم که یک فایل robots.txt معتبر دارید.
1- عدم قرارگیری فایل Robots.txt در دایرکتوری اصلی
رباتهای جستجو تنها در صورتی میتوانند این فایل را کشف کنند که در پوشه اصلی شما باشد. به همین دلیل باید فقط یک خط اسلش (/) بین .com (یا دامنه معادل) و نام فایل ‘robots.txt’ در URL فایل robots.txt شما باشد.
اگر یک زیرپوشه در آنجا وجود داشته باشد، فایل robots.txt شما احتمالاً برای رباتهای جستجو قابل مشاهده نیست و وبسایت شما احتمالاً به گونهای رفتار میکند که انگار هیچ فایل robots.txt وجود ندارد.
برای رفع این مشکل، فایل robots.txt خود را به فهرست ریشه (root directory) منتقل کنید. این کار نیازمند دسترسی root به سرور شما است.
برخی از سیستمهای مدیریت محتوا به طور پیشفرض فایلها را در زیرپوشه “media” (یا مشابه آن) آپلود میکنند، بنابراین برای قرار دادن فایل robots.txt در مکان مناسب، ممکن است نیاز به دور زدن این موضوع داشته باشید.
2- استفاده نادرست از کاراکترهای wildcard
robots.txt از دو کاراکتر wildcard پشتیبانی میکند:
- ستاره (*) – نشاندهنده هر نمونه از یک کاراکتر معتبر، مانند جوکر در یک دسته کارت.
- علامت دلار ($) – نشاندهنده انتهای یک URL است و به شما امکان میدهد قوانین را فقط برای قسمت نهایی URL، مانند پسوند نوع فایل، اعمال کنید.
یک رویکرد مینیمالیستی برای استفاده از کاراکترهای جایگزین (wildcard) معقول است، زیرا آنها پتانسیل اعمال محدودیت بر بخش بسیار وسیعتری از وب سایت شما را دارند. همچنین، نسبتاً آسان است که با قرار دادن نادرست یک علامت ستاره، دسترسی رباتها را به کل وبسایت خود مسدود کنید.
قوانین کاراکتر جایگزین خود را با استفاده از یک ابزار تست robots.txt آزمایش کنید تا مطمئن شوید که آنها طبق انتظار عمل میکنند. در استفاده از کاراکتر جایگزین محتاط باشید تا از مسدود کردن یا مجاز کردن بیش از حد به طور تصادفی جلوگیری کنید.
3- عدم فهرست بندی در robots.txt
این مورد در وبسایتهایی که بیش از چند سال قدمت دارند، رایجتر است.
از ۱ سپتامبر ۲۰۱۹، گوگل دیگر از قوانین عدم فهرست بندی در فایلهای robots.txt پیروی نمیکند.
اگر فایل robots.txt شما قبل از آن تاریخ ایجاد شده باشد یا حاوی دستورالعملهای عدم فهرست بندی باشد، به احتمال زیاد آن صفحات در نتایج جستجوی گوگل فهرست بندی میشوند.
راه حل این مشکل اجرای یک روش “noindex” جایگزین است. یک گزینه تگ متای robots است که میتوانید آن را به بخش head هر صفحهای که میخواهید از فهرستشدن توسط گوگل جلوگیری کنید، اضافه کنید.
4- اسکریپتها و استایلشیتهای مسدود شده
شاید مسدود کردن دسترسی خزنده به جاوا اسکریپتهای خارجی و Cascading Style Sheets (CSS) منطقی به نظر برسد. با این حال، به خاطر داشته باشید که Googlebot برای «دیدن» صحیح صفحات HTML و PHP شما نیاز به دسترسی به فایلهای CSS و JS دارد.
اگر صفحات شما در نتایج گوگل رفتار عجیبی دارند یا به نظر میرسد گوگل آنها را به درستی نمیبیند، بررسی کنید که آیا دسترسی خزنده به فایلهای خارجی مورد نیاز را مسدود کردهاید یا خیر.
یک راهحل ساده برای این مشکل حذف خطی از فایل robots.txt شما است که دسترسی را مسدود میکند.
یا اگر فایلهایی دارید که نیاز به مسدود کردن دارند، یک استثنا وارد کنید که دسترسی به CSS و JavaScript مورد نیاز را بازیابی میکند.
5- عدم وجود URL نقشه سایت XML
این مورد بیشتر در مورد سئو (SEO) است تا هر چیز دیگری. میتوانید URL نقشه سایت XML خود را در فایل robots.txt خود قرار دهید.
از آنجایی که این اولین جایی است که Googlebot هنگام خزیدن وب سایت شما به آن نگاه میکند، این کار به خزنده این امکان را میدهد که از ساختار و صفحات اصلی سایت شما مطلع شود.
در حالی که این به طور کلی یک خطا نیست – زیرا حذف نقشه سایت نباید عملکرد اصلی و ظاهر وب سایت شما را در نتایج جستجو به طور منفی تحت تأثیر قرار دهد – اما اگر میخواهید به تلاشهای سئوی خود رونق دهید، همچنان ارزش افزودن URL نقشه سایت خود به robots.txt را دارد.
6- دسترسی به سایتهای توسعهای
مسدود کردن خزندهها از وبسایت زنده شما ممنوع است، اما اجازه دادن به آنها برای خزیدن و فهرستبندی صفحاتی که هنوز در حال توسعه هستند نیز همینطور است. بهترین روش این است که دستورالعمل disallow را به فایل robots.txt یک وب سایت در حال ساخت اضافه کنید تا عموم مردم تا زمان تکمیل آن را نبینند.
به طور مشابه، حذف دستورالعمل disallow هنگام راهاندازی یک وبسایت کامل ضروری است. فراموش کردن حذف این خط از robots.txt یکی از رایجترین اشتباهات توسعهدهندگان وب است و میتواند باعث شود کل وبسایت شما به درستی خزیده و فهرستبندی نشود. اگر به نظر میرسد سایت توسعهای شما ترافیک واقعی دریافت میکند، یا وبسایت راهاندازیشدن اخیر شما عملکرد خوبی در جستجو ندارد، به دنبال یک قانون disallow کلی برای user-agent در فایل robots.txt خود باشید:
User-Agent: *
Disallow: /
اگر این را میبینید در حالی که نباید (یا زمانی که باید نمیبینید)، تغییرات لازم را در فایل robots.txt خود اعمال کنید و اطمینان حاصل کنید که ظاهر جستجوی وبسایت شما به طور متناسب بهروز شده است.
7- استفاده از URLهای مطلق
در حالی که استفاده از URLهای مطلق در مواردی مانند کنونیکال و hreflang بهترین روش است، برای URLها در robots.txt، برعکس عمل میکند. استفاده از مسیرهای نسبی در فایل robots.txt روش توصیه شده برای نشان دادن اینکه کدام بخشهای سایت نباید توسط خزندهها قابل دسترسی باشند، است.
این موضوع در مستندات robots.txt گوگل توضیح داده شده است که بیان میکند:
هنگامی که از یک URL مطلق استفاده میکنید، هیچ تضمینی وجود ندارد که خزندهها آن را به صورت دلخواه تفسیر کنند و قانون disallow/allow رعایت شود.
8_ عناصر منسوخ شده و پشتیبانی نشده
در حالی که دستورالعملهای فایلهای robots.txt در طول سالها چندان تغییر نکردهاند، دو عنصری که اغلب گنجانده میشوند عبارتاند از:
- تأخیر خزیدن (Crawl-delay)
- عدم فهرست بندی (Noindex)
در حالی که بینگ از تأخیر خزیدن پشتیبانی میکند، گوگل اینطور نیست، اما اغلب توسط مدیران وب مشخص میشود. قبلاً میتوانستید تنظیمات خزیدن را در کنسول جستجوی گوگل تنظیم کنید، اما این ویژگی در اواخر سال ۲۰۲۳ حذف شد.
گوگل در جولای ۲۰۱۹ اعلام کرد که دیگر از دستورالعمل عدم فهرست بندی (noindex) در فایلهای robots.txt پشتیبانی نمیکند. قبل از این تاریخ، مدیران وب میتوانستند از دستورالعمل عدم فهرست بندی در فایل robots.txt خود استفاده کنند.
این یک رویه به طور گسترده پشتیبانی شده یا استاندارد نبود و روش ترجیحی برای عدم فهرست بندی استفاده از رباتهای درون صفحهای یا اقدامات x-robots در سطح صفحه بود.
چگونه از خطای robots.txt بازیابی کنیم؟
اگر اشتباهی در robots.txt باعث تأثیرات ناخواسته روی نمایش وبسایت شما در نتایج جستجو شده است، اولین قدم اصلاح robots.txt و اطمینان از اعمال شدن قوانین جدید است. برخی ابزارهای سئو برای خزیدن وبسایت وجود دارند که به شما کمک میکنند تا مجبور نباشید منتظر خزیدن مجدد سایت توسط موتورهای جستجو شوید.
زمانی که مطمئن شدید robots.txt به درستی کار میکند، میتوانید برای خزیدن مجدد سایت خود در اسرع وقت اقدام کنید. پلتفرمهایی مانند کنسول جستجوی گوگل و ابزار وبمسترهای بینگ میتوانند در این زمینه کمککننده باشند. یک نقشه سایت بهروز شده ارسال کنید و درخواست خزیدن مجدد برای هر صفحهای که به اشتباه از فهرست خارج شده است، بدهید.
متأسفانه، شما تابع برنامه گوگل بوت هستید و هیچ تضمینی وجود ندارد که صفحات حذفشده چقدر طول میکشد تا دوباره در فهرست جستجوی گوگل ظاهر شوند. تنها کاری که میتوانید انجام دهید این است که برای به حداقل رساندن این زمان، اقدامات صحیح را انجام دهید و همچنان بررسی کنید تا گوگل بوت، robots.txt اصلاح شده را اعمال کند.
سخن نهایی
در مورد خطاهای robots.txt، پیشگیری همیشه بهتر از درمان است. در یک وب سایت بزرگ با درآمد بالا، یک کاراکتر جایگزین (wildcard) گمراه کننده که کل وب سایت شما را از گوگل حذف میکند، میتواند تأثیر مستقیمی بر درآمد داشته باشد.
ویرایشهای robots.txt باید با دقت توسط توسعهدهندگان با تجربه انجام شود، دو مرتبه بررسی شود و در صورت لزوم مورد تأیید فرد دیگری قرار گیرد. در صورت امکان، قبل از اعمال تغییرات بر روی سرور واقعی، در یک ویرایشگر سندباکس (send box) آزمایش کنید تا از ایجاد ناخواسته مشکلات در دسترس بودن وب سایت جلوگیری شود.
به خاطر داشته باشید، زمانی که بدترین اتفاق رخ میدهد، وحشت نکنید، مشکل را تشخیص دهید، تعمیرات لازم را در robots.txt انجام دهید و نقشه سایت خود را برای خزیدن مجدد ارسال کنید.
منابع: https://www.searchenginejournal.com/common-robots-txt-issues/437484/