احتمالا درک اینکه فایل robots.txt چیست در نگاه اول کمی دشوار به نظر برسد؛ اما برای کسی که با ابزارهای سئو آشنایی مختصری داشته باشد فهم این مبحث به مراتب آسانتر خواهد بود.
به زبان ساده robots.txt یک فایل با چند خط کد مشخص است که به منظور کنترل خزش رباتها ساخته شده است.
رباتهای گوگل وقتی وارد سایت شما میشوند معمولا شروع میکنند از یک کنار تمام صفحات سایت شما را کرال میکنند؛ اما بعضی از صفحات نیازی به کرال شدن ندارند و اگر جلوی خزیدن رباتها گرفته نشود باعث میشود بودجه خزش سایت کاهش پیدا کند و صفحات ارجح دیرتر ایندکس شوند. با ما همراه باشید تا در ادامه با دستورات این فایل آشنا شویم و طریقه نوشتن آنها را فرا بگیریم.
اگر برای کسب و کار آنلاین خود نیاز به خدمات سئو داشتید میتوانید روی خدمات ما در آژانس دیجیتال مارکتینگ DM house حساب کنید.
صفر تا صد آنچه باید در مورد فایل robots.txt بدانید
فایل robots.txt فایلی است که به رباتهای موجود در موتورهای جستوجو که شبانهروز در حال خزش و کرال هستند دستور میدهد که به کدام صفحه بروند و برای کدام صفحات خود را خسته نکنند. این فایل در واقع یک فایل متنی است که باید توسط وبمسترها و سئوکاران پر شود. برای ساماندهی وضعیت خزیده شدن سایت به واسطه رباتها، ایندکس کردن صفحات و دسترسی به آن، بر اساس پروتکل Robots Exclusion Protocol برای کاربران، استانداردهایی مشخص شده است که تنظیمات فایل robots.txt و لینکهای فالو و نوفالو قسمتی از این پروتکل را در بر میگیرند.
آشنایی با دستورات فایل robots.txt
در ابتدا و قبل از بیان انواع دستورات قابل ارائه برای رباتهای موتورهای جستجو بهتر است با انواع علائم دستوری قابل استفاده در این فایل آشنا شوید:
*: به کلیه رباتها و کاراکترها اشاره دارد و نشان میدهد که دستورالعملها برای همه رباتها در نظر گرفته شده است.
/ : استفاده از / به تنهایی به معنی تمامی آدرسهاست.
$ : به اتمام مسیر یک URL اشاره دارد. برای درک بهتر کاربرد این علامت به مثال زیر توجه کنید:
* :User-agent
$Disallow: /*.pdf
در مثال بالا شما به موتورهای جستجو دستور میدهید که تمامی urlهایی که انتهای آنها به pdf ختم میشوند را مسدود کنند.
# : کامنتها بعد از یک # قرار میگیرند و میتوانند در ابتدای یک خط یا بعد از یک دستورالعمل بیایند. رباتهای موتورهای جستجو عبارتی که بعد از # قرار میگیره را به طور کامل نادیده میگیرند. (این کامنتها فقط مخصوص انسانهاست.)
User-agent: * #Applies to all robots
Disallow: /wp-admin/ # Don’t allow access to the /wp-admin/ directory
غیر از علائم دستوری ذکر شده عبارتهایی هم وجود دارند که درک مفهوم آنها برای ایجاد یک دستور در فایل robots.txt لازم و ضروری است که این مفاهیم عبارتند از:
User-agent: نشون میدهد که دستورالعملهای ذکر شده برای کدوم یکی از موتورهای جستجو در نظر گرفته شده. برای تعیین دسترسی هر نوع از رباتها باید نام ربات مورد نظر را مثل مثال زیر در مقابل این عبارت قرار بدهید.
User-agent: googlebot
با توجه به علائم دستوری ذکر شده در بالا میتونید برای خطاب قرار دادن کلیه رباتها از * استفاده کنید.
* :User-agent
Disallow: این دستور تعیین کننده مسیرهای غیر مجاز برای خزندههاست. مثلا اگر نمیخواین خزندههای گوگل پیشخوان وردپرس شما را کرال کنند میتوانید دستور را اینطوری تنظیم کنید:
* :User-agent
/Disallow: /wp-admin
شما میتونید به هر مقدار که نیاز است، از دستور Disallow پس از User-agent استفاده کنید. به این نکته هم توجه داشته باشید که خزندهها نسبت به استفاده شما از حروف کوچک یا بزرگ در دستور Disallow حساس هستند و باید عبارات را عینا مشابه آنچه در URL شما قرار دارند استفاده کنید.
همچنین استفاده از علامت دستوری / در مقابل دستور Disallow به منزله منع رباتهای خزنده از خزیدن در کل وب سایت هست.
* :User-agent
/ :Disallow
گاهی اوقات پیش میاد که لازم است قسمتی از سایت را مسدود کنید. در اینطور موارد باید طبق دستور زیر عمل کنید:
* :User-agent
/Disallow: /admin
این موضوع در مورد فایلها هم صدق میکند. ممکنه فایل خاصی وجود داشته باشد که نخواهید در نتایج جستجوی Google نشون داده بشود. برای مسدود کردن این فایلها باید از دستور زیر استفاده کنید:
* :User-agent
Disallow: /admin.html
طبق مثال بالا، این دستور به ربات اجازه میدهد تا تمام وب سایت به جز فایل admin.html را بخزد.
Allow: دستور Allow برای مقابله با دستورالعمل Disallow استفاده میشود.. دستورالعمل Allow توسط Google و Bing پشتیبانی میشه. با استفاده از دستورالعملهای Allow میتوانید به رباتهای موتورهای جستجو بگویید که میتوانند به یک فایل یا صفحه خاص در یک فهرست دسترسی داشته باشند. دستورالعمل Allow مسیری را دنبال میکند که میشود به آن دسترسی داشت. اگه مسیری تعریف نشده باشد، دستورالعمل نادیده گرفته میشود.
/Disallow: /wp-admin
Allow: /wp-admin/admin-ajax.php
همچنین برای بستن پارامترها (معیارهای قیمت، رنگ، مواد، اندازه و…) در فایل robots.txt میتوانید از یک دستور کلی مطابق دستور زیر استفاده کنید:
*؟*/ :Disallow
اما پیشنهاد میشود به جای استفاده از یک دستور کلی، برای بستن هر پارامتر از دستور مشخص و جداگانه استفاده کنید. برای مثال برای بستن پارامتر قیمت باید مطابق دستور زیر عمل کنید:
=Disallow: /*?*price
برای بستن سایر پارامترها هم باید مطابق همین دستور پیش برید.
=Disallow: /*?*color
=Disallow: /*?*siz
=Disallow: /*?*material
بخش دیگهای که باید به فایل robots.txt اضافه کنید، سایت مپ یا همون نقشه سایتتان هست. وقتی که یک ربات از سایت شما بازدید میکند، باید همه پیوندهای موجود در صفحه را پیدا کند. نقشه سایت تمام URLهای ایندکس سایت شما را فهرست میکند. با افزودن نقشه سایتتان به robots.txt، پیدا کردن لینکهای سایت خودتون را برای یک ربات آسانتر میکنید. برای افزودن نقشه سایت به فایل robots.txt به شکل زیر عمل کنید:
* :User-agent
/Disallow: /wp-admin
Sitemap: https://www.example.com/sitemap_index.xml
مجموع همه این علائم و عبارات دستوری، یک فایل robots.txt را تشکیل میدهد که با استفاده از این علائم میتونید خزندههای موتورهای جستجو را از خزیدن در قسمتهایی از وب سایت منع کرده و یا آنها را ملزم به خزیدن در بخشهایی از سایت کنید.
به جز علائم دستوری که به آن اشاره شد عبارتهایی هستند که برای درک بهتر ایجاد دستور در یک نمونه فایل robot.txt باید بهخوبی آنها را فراگرفت. این مفاهیم و دستورات عبارتاند از:
sitemap
بخش حائز اهمیتی که باید به فایل robots.txt اضافه شود سایت مپ است. سایت مپ در واقع همان نقشه سایت شما است که تمام URLهای ایندکس سایت را برای رباتهای گوگل فهرست میکند. وقتی که نقشه سایتتان را وارد فایل robots.txt میکنید به رباتها کمک میکنید تا دسترسی کاملی به لینکهای سایت شما داشته باشند. دستور اضافه کردن سایت مپ به فایل robots.txt به قرار زیر است:
* :User-agent
/Disallow: /wp-admin
Sitemap: https://www.example.com/sitemap_index.xml
مواردی که به آن اشاره شد برای ساختن فایلهای robots.txt ضروری است. شما میتوانید با توجه به نیاز خود در این فایل و دستوراتی که گفته شد صفحاتی را disallow و allow کنید. در ادامه اسامی رباتهای شاخص موتورهای جستوجو را تماشاگر هستید:
user-agent
دستور user-agent در واقع مدل رباتی را که باید از دستورات پیروی کند؛ تعیین میکند. این دستور نمیتواند بهصورت مستقل پیاده سازی شود و باید در کنار سه دستور دیگر یعنی دستور disallow، دستور allow و دستور crawl-delay مورد استفاده قرار بگیرد؛ بهعنوان مثال در صورتی که قصد داشته باشید برای رباتهای گوگل یک دستور مشخص کنید باید عنوان رباتهای گوگل (googlebot) را پس از این دستور بنویسید: User-agent: googlebot و اگر میخواهید دستور را برای همه رباتها صادر کنید همانطور که پیش از این به آن اشاره شد باید از علامت ستاره در برابر user-agent: استفاده کنید: User-agent: * googlebot.
disallow
در دستور قبل نام رباتها را مشخص کردیم حالا پس از تعیین رباتها نوبت آن رسیده تا دستور کلی را صادر کنیم. دستور disallow یعنی اجازه ندادن. شما به وسیله این دستور میتوانید از خزش رباتها در بعضی از صفحات جلوگیری کنید؛ یعنی اجازه دسترسی به صفحات مدنظر خود را از رباتها سلب کنید؛ به عنوان مثال اگر میخواهید اجازه ورود به صفحه پیشخوان وردپرس را به خزندههای گوگل ندهید باید دستور زیر را پیاده سازی کنید:
* :User-agent
/Disallow: /wp-admin
شما میتوانید از این دستور برای صفحات متعددی استفاده کنید؛ اما نکتهای که باید به آن توجه داشته باشید این است که خزندههای گوگل نسبت به حروف بزرگ و کوچک حساس هستند و باید در دستور Disallow عین عباراتی که در URL وجود دارد پیاده سازی شود.
allow
allow به معنی اجازه دادن و دسترسی دادن است. این دستور دقیقا نقطه مقابل دستور Disallow است و مسیر را برای خرش رباتهای گوگل آماده میکنند. از آنجایی که رباتها به طور پیشفرض پس از برخورد با سایت شروع به خزیدن میکنند نوشتن این دستور خیلی ضروری نیست؛ اما بعضی از وبمستران به عنوان تاکید بیشتر بر روی صفحات مهم سایت از این دستور استفاده میکنند. طریقه نوشتن این دستور کاملا شبیه به دستور disallow است.
crawl-delay
وقتی رباتها وارد سایت میشوند معمولا سرعت سایت تا حدودی کاهش پیدا میکند، به این ترتیب معمولا از این دستور استفاده میشود تا سرعت لود صفحات کاهش پیدا نکند. برای نوشتن این دستور کافی است عددی را به عنوان ثانیه روبروی این دستور بنویسید و به رباتها این دستور را بدهید که باید بعد از مقدار ثانیهای که تعیین کرده وارد سایت شده و شروع به خزیدن کنند. این دستور روی رباتهای گوگل بیتاثیر است.
تنظیم دستور در فایل robots.txt برای سایتهای وردپرسی
اگه وب سایت شما جزو وب سایتهای وردپرسی است، برای تنظیم یک دستور بهینه مثل مثال زیر عمل میکنیم:
* :User-agent
/Disallow: /wp-admin
Allow: /wp-admin/admin-ajax.php
Sitemap: https://www.example.com/sitemap_index.xml
این دستور که در اکثر سایتهای وردپرسی از آن استفاده میشود به این معنیه که تمامی رباتها اجازه ورود به مسیر wp-admin و ایندکس آن را ندارند؛ به جز یک بخش که آن هم فایل admin-ajax.php است که در پوشه wp-admin قرار دارد.
در ادامه مطلب تصویری را مشاهده میکنید که در آن لیستی از اسامی رباتهای معروف موتورهای جستجوگر نمایش داده شده.
چند نکته مهم درباره فایل robots.txt
در اینجا تعدادی از نکات مهم هنگام ایجاد یک فایل robots.txt آورده شده است:
فایلهای جاوا اسکریپت یا CSS خود را با استفاده از robots.txt نباید مسدود کنید. درصورتی که رباتهای گوگل نتوانند به این منابع دسترسی داشته باشند؛ ممکن است محتوا را بهدرستی رویت نکنند.
اطمینان حاصل کنید که آدرس نقشه سایت (sitemap) خود را اضافه کرده باشید؛ تا همه رباتهای موتور جستوجو بتوانند بهراحتی sitemap شما را پیدا کنند.
صفحاتی که در این فایل از ایندکس آنها جلوگیری میکنید را در سایت مپ قرار ندهید.
تفسیر نحوه عملکرد فایل robots.txt ممکن است بسته به موتور جستوجو متفاوت باشد. اگر مطمئن نیستید، همیشه نحوه برخورد یک ربات موتور جستوجو با یک دستورالعمل خاص را بررسی کنید.
از robots.txt برای مسدود کردن محتوای خصوصی خود استفاده نکنید. اگر میخواهید صفحه خود را ایمن کنید، بهتر است از آن با رمز عبور محافظت کنید؛ علاوه بر این فایل robots.txt برای عموم قابل دسترسی است و شما میتوانید مکان محتوای خصوصی خود را به رباتهای خطرناک فاش نکنید.
عدم دسترسی خزندهها به سایت شما باعث حذف آن از صفحه نتایج جستجو نمیشود. اگر پیوندهای زیادی با انکر تکست توصیفی وجود داشته باشد که به صفحه شما اشاره می کند، همچنان می توان آن را ایندکس کرد. اگر میخواهید از آن جلوگیری کنید، باید به جای آن از Meta Robots Tag یا هدر X-Robots-Tag استفاده کنید.
چرا باید از فایل robots.txt استفاده کنیم؟
رباتهای گوگل به طور معمول لینکهایی که در صفحات قرار دادهایم را دنبال میکنند؛ بهطوری که اگر از یک سایت به سایتی دیگر لینک داده باشید رباتهایی که مشغول کرال سایت شما هستند آن لینک را دنبال میکنند و اگر سایت جدید مجهز به فایل robots.txt بود طبق دستوراتی که در آن فایل هست عمل میکنند و اگر سایت بدون فایل robots.txt باشد، تمام صفحات سایت مذکور را کرال میکند. استفاده از فایل robots.txt بنا به مواردی که در ادامه به آن اشاره میشود به درد سایت شما خواهد خورد:
زمانی که صفحه تکراری روی سایت داشته باشید میتوانید با دستور disallow در این فایل اجازه ندهید رباتها صفحه تکراری را کرال کنند و از نرخ خزش بکاهند.
با استفاده از این فایل میتوانید بخشی از سایت را مانند صفحات عقد قرارداد یا پیشخوان را در دسترس کاربران قرار ندهید.
اجازه ایندکس کردن فایلهایی مانند تصاویر و فایلهای PDF را به رباتها ندهید.
برای رباتها زمان تاخیر در کرال کردن مشخص کنید تا زمانی که ترافیک در سایت زیاد میشود سرعت لود سایت پایین نیاید.
چگونه با robots.txt از ایندکس شدن صفحات جلوگیری کنیم؟
با کمک فایل robots.txt میتوان از ایندکس شدن صفحاتی مانند دسته بندیها، تگها و صفحات خاص جلوگیری کرد. برخی از صفحاتی که باید توسط فایل robots.txt از ایندکس شدن جلوگیری شوند شامل:
- صفحاتی که محتوای تکراری دارند. (duplicate content)
- تگها و برچسبهایی که باعث ایجاد محتوای تکراری و یا اضافه در سایت میشوند.
- فیلتر بندی صفحات محصول که شامل فیلترهای قیمت، رنگ و … میشوند.
- صفحاتی که با سرچ کردن در خود سایت ایجاد میشوند. (در صورتی که صفحات اصلی و مهم شما توسط کاربران در سایت سرچ نشود)
- تمامی صفحات ادمین و پنل سایت
- صفحه پروفایل کاربران سایت
- صفحات چت
- برخی از فایلهای قالب که نیازی به دیده شدن توسط گوگل ندارند.
تست فایل robots.txt چگونه است؟
برای اطمینان از وجود فایل robots.txt در هاست خود میتوانید در ادامه دامنه سایت عبارت robots.txt را وارد کنید و شروع به جستجوی آن کنید؛ به این صورت:
www.YourDomain.com/robots.txt
در این روند اگر با خطایی مواجه شدید این احتمال وجود دارد که سایت شما از فایل robots.txt برخوردار نیست یا در روند نوشتن دستورات اشتباهی انجام دادهاید؛ به این منظور برای اطمینان از عملکرد درست تنظیمات در فایل، میتوانید به سرچ کنسول سایت مراجعه کنید و URL مورد نظر خود را مطابق تصویر زیر از بخش Choose a verified property انتخاب کنید و وارد صفحه تست فایل شوید.
در صفحهای که در سرچ کنسول باز میشود محتوای فایل robots.txt برای شما نمایش داده میشود؛ در این مرحله باید مطابق تصویر زیر URL صفحه و ربات مربوطه را انتخاب کنید و بر روی دکمه TEST کلیک کنید. اگر نتیجه مثبت بود دکمه TEST به ALLOWED سبز میشود و در صورتی که مسدود باشد دکمه BLOCK قرمز میشود.
بهینهسازی فایل robots.txt برای سئو
استفاده از فایل robots.txt در بهینه سازی سئو ممکن است سبب تغییراتی شود، به این منظور بهتر است با تمام چم و خم سئو آشنا باشید تا بتوانید در این مواقع بر چالشها چیره شوید.
این موارد عبارتند از:
فایلهایی که دستور disallow به آنها داده شده به طور کامل خزیده نمیشوند؛ یعنی علاوه بر خود صفحه تمام لینکهایی که داخل یک فایل disallow قرار دارد نوفالو میشوند؛ پس اگر میخواهید لینکهای داخل یک صفحه فالو باقی بمانند باید از یک روش دیگر اقدام به disallow کردن صفحه کنید.
اگر از دستور disallow برای نشان ندادن اطلاعات خصوصی کاربران استفاده کردهاید بهتر است بدانید کار بیهودهای است؛ چرا که امکان این وجود دارد که از صفحاتی دیگر به صفحه مذکور لینک داده باشید و رباتهای خزنده به نحوی به صفحه disallow شده بروند و آن را ایندکس کنند.
اطلاعات فایل robots.txt سایت شما برای یک روز در کش در موتورهای جستجو ذخیره میمانند؛ از این رو اگر محتوای فایل را تغییر دادهاید و میخواهید موتورهای جستجو به سرعت از این تغییرات باخبر شوند بهتر است فایل را دوباره در سرچ کنسول گوگل بارگذاری کنید.
محل قرارگیری فایل robots.txt کجاست؟
اگر قصد دارید فایل robot.txt یک سایت را بررسی کنید، به راحتی امکان پذیر است. تنها کافیست پس از آدرس URL سایت خود عبارت robot.txt را وارد کنید مانند dmhouse.agency/robot.txt. با انجام این کار فایل ربات در مرورگر شما به نمایش در خواهد آمد. با این کار میتوانید فایل robot.txt سایر سایتها را مشاهده کنید و از آنها برای سایت خودتان استفاده کنید.
محل قرارگیری این فایل در بخش root سایت است. برای دسترسی به این قسمت میتوانید با اکانت هاست وب سایت وارد شوید در قسمت مدیریت فایل، robot.txt را پیدا کنید. در این مرحله شما آزادید که این فایل را ویرایش کنید و هر دستور جدیدی که مد نظر دارید را به آن بیفزایید و ذخیره کنید.
گاهی اوقات ممکن است در پیدا کردن فایل robot.txt در قسمت root با مشکل مواجه شوید. دلیل این اتفاق این است که برخی سیستمهای مدیریت محتوا (CMS) این فایل را به صورت مجازی ایجاد میکنند. برای رفع این مشکل میبایست فایل جدیدی ایجاد کنید تا همیشه به آن دسترسی داشته باشید.
ساخت و آپلود کردن فایل robot.txt در سایت
برخی تصور میکنند که برای ساخت فایلهای ربات باید نرم افزار خاصی داشته باشند؛ اما این چنین نیست و تنها با یک ویرایشگر ساده متن مانند notepad این کار امکان پذیر است. برای شروع یک فایل txt ایجاد کنید، و نام آن را robot.txt بگذارید. در نظر داشته باشید که فرمت فایل باید UTF-8 باشد. شما میتوانید مواردی که در فایل ربات سایر سایتها مشاهده کردید را به این فایل اضافه کنید.
بارگذاری این فایل باید در صفحه اصلی یا root وبسایت انجام شود. در پوشهای با نام htdocs یا www. اینگونه این فایل مستقیم بعد از نام دامنه شما به نمایش در خواهد آمد.
قرار دادن این فایل در یک پوشه یا دایرکتوری کاملا اشتباه است. تفاوتی میان سرورهای میزبان سایت وجود ندارد تنها کافیست این فایل را در پوشه اصلی بارگذاری کنید.
نتیجهگیری
اگر فایل Robots.txt خود را به درستی تنظیم کنید، می توانید فرآیند ایندکسینگ سایت خود را بهبود ببخشید. زمانیکه موتورهای جستوجو بهصورت بهینهتر بودجه خزش شما را مصرف کنند، تغییرات محتوایی شما سریعتر توسط گوگل دیده میشود. همچنین ایجاد فایل Robots.txt کار چندان دشواری نیست. این تنظیم یک بار است که میتوانید با توجه به نیاز خود آن را سفارشی کنید.