یکی از پیکربندیهای مهم در بهینه سازی برای موتور جستجو (SEO) تنظیمات فایل robots.txt است. این فایل یک قرارداد بین تمامی موتورهای جستجوگر است تا مدیران وبسایتها بتوانند محدوده دسترسی را برای موتورهای جستجو مشخص کنند. برای مثال یک وبسایت امنیتی و یا دولتی را در نظر بگیرید که نباید لینکهای آن در موتورهای جستجو نمایش داده شود و فقط اعضای سازمان قادر به استفاده از آن میباشند. از طرفی بخشهای مدیریت ادمین در وبسایتها جایی است که نباید کاربران عادی وارد آن شوند و نباید موتورهای جستجو نیز این بخش را در بانک دادههای خود لیست (Index) کنند. بنابراین میتوان به کمک فایل robots.txt برای موتورهای جستجو مشخص کرد که مسیرهای کنترلپنل را لیست نکند و فقط در میان محتوا و محصولات وبسایت اجازه خزیدن داشته باشد. در این مقاله با فایل robots.txt آشنا میشویم و نحوه استفاده آن را بررسی میکنیم.
فایل robots.txt چیست؟
فایل robots.txt یک فایل متنی ساده است که در مسیر ریشه وبسایت شما قرار میگیرد و به موتورهای جستجو مانند گوگل، بینگ و یاهو میگوید که کدام صفحات وبسایت شما را باید بررسی و فهرست کنند و به کدام صفحات اجازه دسترسی ندارند. در واقع این فایل یک پروتکل "استاندارد استثنا کردن رباتها" برای همه موتورهای جستجو است که محدودیت خزیدن رباتهای خزنده "Crawler" را مشخص میکند. در اصطلاح فنی به این فایل "standard used to advise web crawlers and scrapers not to index a web" نیز گفته و پروتکل آن با عنوان "REP" یا "Robots Exclusion Protocol" یا "Robots exclusion standard" شناخته میشود.
زمانی که موتورهای جستجو یک وبسایت را کشف میکنند، قبل از هر چیز به دنبال این فایل هستند. در صورتی که این فایل در مسیر ریشه هاست وجود نداشته باشد، به این معنی است که موتورهای جستجو هیچ محدودیتی برای خزیدن در مسیرهای وبسایت "page or site" ندارند و به خود اجازه میدهند تا به تمامی قسمتهای وبسایت نفوذ کنند.
بدون پیکربندی فایل robots.txt ، امکان ایندکس شدن صفحات غیرضروری و یا حساس وبسایت نیز وجود دارد که باعث به دلیل نبود محتوای مناسب در این مسیرها، موتورهای جستجو آنها را به عنوان پوئن منفی برای وبسایت در نظر میگیرند. این فایل در تمامی وبسایتها وجود دارد و روش دسترسی آن توسط موتورهای جستجو اینگونه است که نام فایل robots.txt را به آدرس اصلی دامنه اضافه میکنند. برای مثال آدرس example.com را در نظر بگیرید؛ اگر نام فایل robots.txt را به انتهای آن اضافه کنید، به آدرس example.com/robots.txt خواهید رسید.
ساخت فایل robots.txt
دو روش ساده برای ایجاد فایل robots.txt وجود دارد. روش اول ساختن فایل درون هاست است و روش دوم ساختن آن در کامپیوتر و سپس آپلود در هاست است. در ادامه هر دو روش را بررسی خواهیم کرد:
روش اول : ساخت فایل robots.txt در هاست
برای ساختن فایل robots.txt کافی است به ابزار "File Manager" در کنترلپنل را باز کنید و به مسیر ریشه "public_html" مراجعه کنید. سپس از منوی بالای صفحه بر روی دکمه "+ File" کلیک کنید. سپس در کادری که باز میشود، در فیلد "New File Name" نام فایل robots.txt را وارد کنید و در نهایت بر روی دکمه "Create New File" کلیک کنید. فایل robots.txt اینجاد شد و در لیست فایلهای دایرکتوری "public_html" نمایش داده میشود. حالا بر روی آن راست کلیک کنید و از میان گزینههای منوی راست کلیک، گزینه "Edit" را کلیک کنید تا صفحه ویرایشگر متنی برای آن باز شود. حالا میتوانید کدها و مقادیر فایل robots.txt را در آن وارد کنید و در آخر بر روی دکمه "Save" کلیک کنید تا این فایل ذخیره شود.
دوم : ساخت فایل در کامپیوتر و آپلود آن در هاست
در این روش ابتدا با برنامه Notepad یک فایل متنی ساده با نام robots.txt در کامیپوتر خود ایجاد میکنید، و سپس آن را توسط برنامه FTPZilla و یا ابزار "File Manager" در کنترلپنل آپلود میکنید. اگرچه استفاده از این دو روش فرق زیادی با هم ندارند، اما گاهی لازم است بررسی بیشتری بر روی فایل robots.txt انجام شود و نیاز است که با تمرکز و زمان بیشتر، این فایل را مسیردهی کرد. در کل استفاده از هر کدام از این روشها بستگی به شرایط شما دارد و زیاد مسئله چالش برانگیزی نیست.
آشنایی با مقادیر فایل robots.txt
با اینکه این فایل مهم است اما دستورات آن به انگشتان دست هم نمیرسند و با مطالعه همین مقاله میتوانید با انواع دستورات در فایل robots.txt آشنا شوید. البته استفاده اشتباه از همین چند خط، نیز خطرناک است و ممکن است به وضعیت SEO آسیب بزند. بنابراین برای برسی مقادیر در این فایل وقت بگذارید که البته بیش از یک ساعت طوب نمیکشد. در ادامه دستورات این فایل را بررسی خواهیم کرد :
User-agent
با عبارت User-agent میتوانید مشخص کنید که کدام یک از موتورهای جستجو اجازه دسترسی به محتوای وبسایت شما را دارند. برای مثال اگر بخواهید فقط گوگل اجازه دسترسی و خزیدن در مطالب شما را داشته باشد، باید عبارت Googlebot را جلوی آن قرار بدهید. برای مثال User-agent: Googlebot
اما اگر میخواهید همه موتورهای جستجو به مطالب شما دسترسی داشته باشند، از کاراکتر ستاره * جلوی آن استفاده کنید. برای مثال User-agent: *
Allow و Disallow
در این فایل برای ایجاد اجازه دسترسی از عبارت Allow و برای محدود کردن دسترسی از عبارت Disallow استفاده میشود و سپس مسیرهای مورد نظر به آنها افزوده میشود. برای مسیردهی نیازی به وارد کردن آدرس دامنه نیست و کافی است مسیر دایرکتوریها را از ریشه هاست و یا آدرس دهی rooting را استفاده کنید. برای مثال خط Disallow: /wp-admin/ به معنی این است که موتورهای جستجو با دیدن عبارت Disallow اجازه بررسی مسیر wp-admin را ندارد. به این نکته نیز توجه داشته باشید که استفاده از عبارت Disallow با مقدار / باعث میشود تا تمامی محتوای وبسایت شما برای موتورهای جستجو از دسترس خارج شوند. بنابراین مراقب کدهای خود باشید و نوشتن کدها را مانند نمونه زیر، بدون هدف و با خطا رها نکنید.
Disallow: /
به این نکته توجه داشته باشید که مسیرها در یک وبسایت میتوانند منطقی "Logical" و یا اصلی "Primary" باشند. مسیرهای منطقی یا "Logical" ، مسیرهایی هستند که به کمک پیکربندی در فایل .htaccess معرفی میشوند. این مسیرها در هاست وجود ندارند و به عنوان یک پارامتر به فایل index.php ارسال میشوند تا صفحات مد نظر بر اساس آنها به کاربر نمایش داده شود. اما مسیرهای واقعی و اصلی "Primary" ، دایرکتوری های واقعی در هاست هستند که به کمک ابزار "File Manager" قابل دسترس میباشند.
در فایل robots.txt فرقی ندارد که مسیردهی شما منطقی است و یا دایرکتوری؛ زیرا عملکرد هر دو مسیر برای کاربران و موتورهای جستجو مانند هم است. با این تفاوت که در مسیرهای واقعی در صورت اجرا نشدن فایل "index.php" لیست فایلهای درون آن نمایش داده شود. اما در مسیر منطقی، صفحهای که قبلاً در سیستم مدیریت محتوا CMS تعریف شده است، نمایش داده میشود. همچنین اگر مسیردهی در صفحه منطقی اشتباه باشد، با صفحه 404 روبرو خواهیم شد.
مسیرهای استثنا در مقدار Disallow
فرض کنید فصد دارید یک پوشه را بطور کامل با مقدار Disallow محدود کنید، اما یک یا چند مسیر شامل فایل یا دایرکتوری درون این مسیر وجود دارد که نباید محدود شوند. برای مثال شما در مسیر photos هزاران تصویر دارید که نمیخواهید موتورهای جستجو این تصاویر را ایندکس کنند، بنابراین با دستور Disallow : /photos این مسیر را برای رباتهای خزنده محدود میکنید. اما چند تصویر درون همین مسیر است که بهتر است برای سئو شدن سایت ایندکس شوند؛ با این حال چون در این مسیر قرار دارند، از دید موتورهای جستجو پنهان هستند. در این حالت میتوانید پس از دستور Disallow بلافاصله از دستور Allow استفاده کنید و مسیر تصاویر عمومی را برای رباتهای خزنده مشخص کنید. در مثال زیر میتوانید با ساختار مسیرهای استثنا در مقدار Disallow آشنا شوید :
Disallow : /photos
Allow : /photos/logo.png
در وردپرس نیز این ساختار برای فایل کتابخانه ajax در مسیر wp-admin کاربرد دارد :
Disallow: /wp-admin/
Allow: /wp-admin/admin-ajax.php
Sitemap
عبارت Sitemap، برای تنظیم آدرس فایل یا صفحهی نقشه سایت است که با کمک آن موتورهای جستجو، مستقیم به صفحات معتبر در وبسایت شما دسترسی خواهند داشت. محتوای سایت مپ چیست؟ را حتما مطالعه کنید تا با ساختار آن آشنا شوید. نقشه سایت کمک میکند صفحاتی که ربات خزنده نتوانسته آنها را پیدا کند هم قابل ردیابی شوند. نقشه سایت در CMS های پیشرفته و افزونههای وردپرس مرتبط با سئو مانند Yoast SEO و Rank Math، بصورت خودکار ایجاد میشود. نام فایل نقشه سایت نیز مانند فایل ربات، همیشه "sitemap.xml" است و با اضافه کردن به آدرس اصلی، میتوان به آن دسترسی داشت. بنابراین اگر از وجود فایل sitemap.xml در وبسایت خود مطمئن هستید، عبارت Sitemap را نیز میتوانید به انتهای فایل robots.txt اضافه کنید و آدرس نقشه سایت را در آن تنظیم کنید. برای مثال آدرس example.com را در نظر بگیرید؛ اگر نام فایل sitemap.xml را به انتهای آن اضافه کنید، به آدرس example.com/sitemap.xml خواهید رسید. مانند خط زیر:
Sitemap: https://example.com/sitemap.xml
crawl-delay
با دستور crawl-delay میتوان مشخص کرد که مرور صفحات توسط رباتهای خزندهی موتورهای جستجو، با چه فاصله زمانی انجام شود. این دستور در گذشته مهم بود، زیرا موتورهای جستجو تازه شروع به کار کرده بودند و در ابتدا حالتی مشابه حمله DDOS را برای وبسایتها بوجود میآوردند. اگرچه امروزه موتورهای جستجو به گونهای در محتوای سایتهای میخرند که مشکلی برای پهنای باند پیش نیاید و حتی نیازی به وجود این پارامتر نیست، اما با این حال اگر بخواهید فاصله زمانی مرور صفحات را توسط خزنده بیشتر کنید، این دستور میتواند به شما کمک کند. شما میتوانید مقدار زمان وقفه در خزش ربات جستجوگر را بر مبنای ثانیه تنظیم کنید. برای مثال 10 ثانیه:
crawl-delay: 10
پیکربندی فایل robots.txt برای وردپرس
بطور معمول میتوانید با کد زیر براحتی فایل robots.txt را تنظیم کنید:
User-agent: *
Disallow: /wp-admin/
Disallow: /wp-includes/
Disallow: /trackback/
Disallow: /wp-content/uploads/
Disallow: /wp-content/
Allow: /wp-admin/admin-ajax.php
Allow: /wp-includes/js/
Allow: /wp-includes/images/
Sitemap: https://example.com/sitemap.xml
در صورتی که میخواهید بخش ورود و ثبت نام پیشفرض وردپرس را نیز پنهان کنید، کدهای زیر را نیز اضافه کنید:
Disallow: /wp-login.php
Disallow: /wp-register.php
جلوگیری از خطای Cannibalization
خطای کنیبالیزیشن زمانی رخ میدهد که دو صفحه در وبسایت مشابه هم باشند و یا با یک کلمه کلید مشترک سئو شده باشند، در صورتی که هر کدام با اهداف متفاوت ایجاد شده است؛ اما موتورهای جستجو مجبور باشند به هردوی آنها رتبه دهند. در این حالت موتور جستجو که یکی از این دو صفحه را تکراری تشخیص داده، به آن صفحه تکراری امتیاز منفی میدهد و همین باعث کاهش رتبه وبسایت میشود. در این شرایط بهترین کار این است که این صفحات مشابه را تشخیص دهیم و دسترسی آنها را در فایل robots.txt برای موتورهای جستجو محدود کنیم.
قرار دادن robots.txt در سرچ کنسول گوگل
موتور جستجوی گوگل ابزارهای زیادی برای بهینه سازی و مانیتور کردن وضعیت سئو در اختیار کاربران قرار داده است. گوگل سرچ کنسول یکی از ابزارهای مهم و مطرح در این زمینه است که امکان مانیتور کردن و عیبیابی بخشهای مختلف وبسایت را فراهم کرده است. معرفی فایل robots.txt باعث میشود تا محدوده جستجو و مانیتور در ابزار سرچ کنسول، مشخص شود و از مانیتور کردن و ایجاد ارورهای غیرضروری در مسیرهای ممنوعه، جلوگیری شود. برای این منظور مراحل زیر را دنبال کنید:
1. روش دستی:
-
وارد پنل گوگل سرچ کنسول شوید.
-
از منوی سمت چپ، "Property" مورد نظر خود را انتخاب کنید.
-
در منوی سمت چپ، به بخش "Index" و سپس "Robots.txt" بروید.
-
در این بخش، آدرس فایل robots.txt سایت خود را در کادر "URL" مشاهده خواهید کرد.
-
اگر فایل robots.txt شما قبلاً توسط گوگل شناخته شده باشد، در این بخش اطلاعاتی مانند تعداد URL های بلاک شده و مجاز به نمایش در میآید.
-
اگر فایل robots.txt شما توسط گوگل شناخته نشده باشد، میتوانید با کلیک بر روی دکمه "Submit" آن را به گوگل معرفی کنید.
2. روش آپلود فایل:
-
وارد پنل گوگل سرچ کنسول شوید.
-
از منوی سمت چپ، "Property" مورد نظر خود را انتخاب کنید.
-
در منوی سمت چپ، به بخش "Index" و سپس "Robots.txt" بروید.
-
در این بخش، بر روی دکمه "Upload robots.txt file" کلیک کنید.
-
فایل robots.txt خود را از کامپیوتر خود انتخاب و آپلود کنید.
-
پس از آپلود فایل، گوگل آن را بررسی و اطلاعات مربوط به آن را در این بخش نمایش میدهد.
راهنمای استفاده از ابزار robots.txt Tester
ابزار robots.txt Tester به شما نشان میدهد که رباتهای خزنده، چه صفحاتی از سایت شما را میتواند خزش کند و چه صفحاتی را نمیتوانند. در واقع شما با این ابزار میتوانید سلامت فایل robots.txt را بررسی کنید. در صورتی که خطوط راهنما در این فایل مشکلی داشته باشند، با پیام خطا در این ابزار، میتوانید خطاها را پیدا کنید. اگرچه وجود خطا در فایل robots.txt بعید بنظر میرسد، اما گاهی امکان دارد خطاها به دلیل غلط املایی رخ دهد که با کمک این ابزار میتوان این خطاهای سهوی را کشف و رفع کرد.
-
وارد پنل گوگل سرچ کنسول شوید.
-
از منوی سمت چپ، "Property" مورد نظر خود را انتخاب کنید.
-
در منوی سمت چپ، به بخش "Index" و سپس "Robots.txt Tester" بروید.
-
در این بخش، آدرس URL مورد نظر خود را در کادر "URL" وارد کنید.
-
از منوی کشویی "User-agent" ربات مورد نظر خود را انتخاب کنید.
-
بر روی دکمه "Test" کلیک کنید.
پنهان کردن بخش ادمین از کاربران و موتورهای جستجو
این نکته را نیز درنظر داشته باشید که همانطور که محتوای این فایل برای موتورهای جستجو قابل استفاده است، برای کاربران عادی هم قابل دیدن است. بنابراین اگر میخواهید پنل ادمین از دید کاربران نیز پنهان بماند، بهتر است مسیر کنترلپنل را با برنامه نویسی یا افزونههای امنیتی مانند AIO Security تغییر دهید. به این شکل هم مسیر کنترلپنل اصلی بطور کامل مسدود میشود و هم مسیر جدید برای CMS قابل درک خواهد بود. این ویژگی بصورت پیشفرض در لاراول و فریمورکهایی که معماری MVC و قابلیت Rooting را پشتیبانی میکنند، بصورت پیشفرض وجود دارد برنامه نویسی از همان ابتدا میتواند خود مسیر پنل مدیریت را مشخص کند.
برای مثال در افزونه AIO Security در منوی "WP Security" و زیر منوی "Brute Force"، در زبانه "Rename Login Page"، میتوانید با فعال کردن گزینه "Enable Rename Login Page Feature" و وارد کردن یک مسیر دلخواد در بخش "Login Page URL"، مسیر پنل مدیریت را از "wp-admin" به مسیر دلخواه خود تغییر دهید تا مسیر "wp-admin" کاملاً از کار بیوفتد و مسیر جدید شما جایگزین شود. ویژگی جایگزین کردن مسیر پنل ادمین این است که مسیر جدید بصورت برنامه نویسی شده برای وردپرس قابل درک است؛ بنابراین نه کاربران و نه موتورهای جستجو قادر به کشف مسیر جدید پنل مدیریت وردپرس نخواهند بود و نیازی هم نیست که این مسیر منطقی را در فایل robots.txt قرار دهید.
جلوگیری از بررسی صفحات توسط رباتهای خزنده با مقدار noindex
اگرچه با لیست کردن مسیرها در فایل robots.txt میتوان محدودیتهای رباتهای خزنده را مشخص کرد، اما موتورهای جستجوی پیشرفتهای مانند گوگل و بینگ، به مقدار Disallow اهمیت نمیدهند، زیرا زمانی که الگوریتم محتوای خوشهای بر روی صفحات اجرا میشود و صفحات با لینک های انکر تکست به هم مرتبط میشوند، رباتهای خزنده نمیتوانند همزمان لینکها را با دستورات فایل robots.txt مطابقت بدهند. از این رو گوگل اعلام کرد که برای جلوگیری از ایندکس شدن صفحات، باید از مقدار noindex در تگ head استفاده شود. اگرچه بعضی از موتورهای جستجو هنوز هم از مقدار Disallow استفاده میکنند. حتی خود گوگل هم هنوز از دستور Disallow در سرویسهای خود استفاده میکند. از این رو بهتر است از هر دو متود برای این منظور استفاده شود.
پلاگین مدیریت فایل robots.txt در وردپرس
اگر نمیخواهید برای مدیریت مسیرها، دائماً وارد ابزار File Manager در کنترلپنل شوید، یک راه این است که افزونه مدیریت فایل robots.txt را در وردپرس نصب کنید تا همیشه در دسترس و جلوی شما باشد. برای این منظور میتوانید افزونه WP Robots Txt را نصب کنید که یک ویرایشگر ساده برای ویرایش فایل robots.txt در اختیار شما قرار میدهد.
سخن پایانی
شاید با خود بگویی فایل robots.txt که بیشتر از 10 یا 12 خط نیست؛ چرا باید این همه نکته در مورد آن وجود داشته باشد؟! پاسخ این است که ایجاد این فایل، یک امر ضروری برای هر وبسایتی است. زیرا با محدود کردن دسترسی موتورهای جستجو، باعث الک شدن و خالص شدن محتوا برای جستجو و بازدید کاربران و بهبود SEO میشود. قبل از آپلود یا معرفی فایل robots.txt، حتماً از صحت عملکرد آن اطمینان حاصل کنید. برای این کار میتوانید از ابزار "robots.txt Tester" در گوگل سرچ کنسول استفاده کنید. همچنین توجه داشته باشید که پس از معرفی فایل robots.txt به گوگل، ممکن است چند روز طول بکشد تا گوگل تغییرات را اعمال کند؛ بنابراین صبور باشید.