آیا تا به حال به این فکر کردهاید که چگونه میتوانید موتورهای جستجو را از دسترسی به بخشهای خاصی از وبسایت خود محدود کنید؟ یا شاید بخواهید تعیین کنید کدام بخشهای وبسایت شما باید مورد توجه بیشتر موتورهای جستجو قرار گیرد؟ پاسخ همه این سوالات در یک فایل کوچک به نام robots.txt نهفته است. در این مقاله از وب آنجل، به بررسی این فایل حیاتی و نحوه استفاده از آن برای بهینهسازی سایت خود میپردازیم.
فایل Robots.txt چیست؟
فایل robots.txt یک فایل متنی ساده است که در ریشه (Root) وبسایت قرار میگیرد و حاوی دستورالعملهایی برای موتورهای جستجو است. این فایل به روباتهای جستجو (مثل گوگلبات) میگوید که کدام بخشهای سایت شما را میتوانند کراول (Crawl) کنند و کدام بخشها را باید نادیده بگیرند.
کاربردهای فایل Robots.txt
با استفاده از فایل robots.txt میتوانید موتورهای جستجو را از دسترسی به بخشهای خاصی از وبسایت خود منع کنید. این فایل برای جلوگیری از کراول برخی از لینکها و صفحات خاص وبسایت استفاده میشود. همچنین میتوانید نکات مفیدی در خصوص چگونگی عملیات خزیدن در وبسایت خود به موتورهای جستجو ارائه دهید. به همین علت، فایل robots.txt دارای نقش بسیار مهمی در سئو سایت است.
نکات مهم در پیادهسازی فایل Robots.txt
برای استفاده صحیح از فایل robots.txt و جلوگیری از مشکلات احتمالی، بهتر است نکات زیر را مد نظر داشته باشید:
- مراقب تغییرات باشید: زمانی که قصد ایجاد تغییرات در فایل robots.txt سایت خود را دارید، کاملاً مراقب باشید. این فایل قابلیت این را دارد که قسمتهای بزرگی از سایت شما را از دسترس موتورهای جستجو خارج کند.
- محل قرارگیری فایل: فایل robots.txt باید در بخش root سایت شما قرار بگیرد.
- دامنه معتبر: فایل robots.txt تنها برای دامنه کاملی که در آن قرار دارد معتبر است. این دامنه میتواند http یا https باشد.
- تفسیر دستورالعملها: موتورهای جستجو مختلف دستورالعملهای موجود در این فایل را به شکلهای مختلفی تفسیر میکنند.
- دستورالعمل crawl-delay: تا جای امکان سعی کنید از استفاده از دستورالعمل crawl-delay در این فایل برای موتورهای جستجو خودداری کنید.
نحوه ایجاد فایل Robots.txt
برای ایجاد یک فایل robots.txt ساده، کافی است یک فایل متنی با نام robots.txt ایجاد کرده و دستورالعملهای مورد نظر خود را در آن بنویسید. سپس این فایل را در ریشه وبسایت خود (معمولاً در پوشه public_html یا www) قرار دهید.
در زیر مثالی از یک فایل robots.txt ساده آورده شده است:
1 2 3 4 |
User-agent: * Disallow: /private/ Disallow: /tmp/ Allow: /public/ |
این مثال نشان میدهد که همه روباتهای جستجو نباید به پوشههای /private/ و /tmp/ دسترسی داشته باشند، اما میتوانند به پوشه /public/ دسترسی پیدا کنند.
اصطلاحات مربوط به فایل Robots.txt
فایل robots.txt برای پیادهسازی بخشهای ممنوع سایت برای موتورهای جستجو مورد استفاده قرار میگیرد و یک استاندارد برای انجام این کار به شمار میآید. به همین علت نیز به این فایل پروتکل robots exclusion نیز گفته میشود.
اصطلاحات کلیدی در فایل Robots.txt
-
User-agent: این اصطلاح به موتور جستجو یا رباتی که باید دستورالعملها را دنبال کند اشاره دارد. برای مثال:
1 |
User-agent: Googlebot |
-
در اینجا، فقط ربات گوگل باید دستورالعملهای بعدی را دنبال کند.
-
Disallow: این دستور به رباتها میگوید که نباید به بخشهای خاصی از وبسایت دسترسی پیدا کنند. برای مثال:
1 |
Disallow: /private/ |
-
این دستور به رباتها میگوید که پوشه /private/ نباید کراول شود.
-
Allow: این دستور به رباتها میگوید که میتوانند به بخشهای خاصی از وبسایت دسترسی پیدا کنند، حتی اگر در بخشهایی که با دستور Disallow مشخص شدهاند قرار داشته باشد. برای مثال:
1 |
Allow: /public/ |
-
این دستور به رباتها اجازه میدهد که پوشه /public/ را کراول کنند.
-
Crawl-delay: این دستور به رباتها میگوید که چقدر باید بین درخواستها صبر کنند. این دستور بیشتر برای کنترل سرعت خزیدن رباتها استفاده میشود. برای مثال:
1 |
Crawl-delay: 10 |
-
این دستور به ربات میگوید که 10 ثانیه بین هر درخواست صبر کند. (البته، همانطور که قبلاً گفته شد، بهتر است از این دستور تا جای امکان استفاده نکنید.)
-
Sitemap: این دستور به رباتها میگوید که نقشه سایت (sitemap) کجا قرار دارد. نقشه سایت شامل فهرستی از تمام صفحات وبسایت شماست که میخواهید کراول شوند. برای مثال:
1 |
Sitemap: http://www.example.com/sitemap.xml |
مثال کامل از یک فایل Robots.txt
1 2 3 4 5 |
User-agent: * Disallow: /private/ Allow: /public/ Crawl-delay: 10 Sitemap: http://www.example.com/sitemap.xml |
این فایل robots.txt به همه رباتهای جستجو میگوید که:
- نباید به پوشه /private/ دسترسی داشته باشند.
- میتوانند به پوشه /public/ دسترسی پیدا کنند.
- باید 10 ثانیه بین هر درخواست صبر کنند.
- نقشه سایت در http://www.example.com/sitemap.xml قرار دارد.
چرا باید توجه ویژهای به فایل Robots.txt داشته باشیم؟
فایل robots.txt اهمیت بسیار زیادی در سئو سایت دارد. این فایل به موتورهای جستجو میگوید که چگونه میتوانند به بهترین شکل ممکن وبسایت شما را جستجو کنند. با استفاده از این فایل، شما میتوانید دسترسی موتورهای جستجو به بخشهای خاصی از سایت خود را کنترل کنید.
جلوگیری از ایندکس شدن محتوای تکراری
یکی از دلایل اصلی برای استفاده از فایل robots.txt این است که میتوانید از ایندکس شدن محتوای تکراری سایت خود جلوگیری کنید. محتوای تکراری میتواند به کاهش رتبه سایت شما در نتایج جستجو منجر شود، زیرا موتورهای جستجو محتوای مشابه را به عنوان کپی تشخیص داده و این موضوع میتواند تأثیر منفی بر سئو سایت شما بگذارد.
مدیریت منابع سرور
استفاده صحیح از فایل robots.txt میتواند به مدیریت منابع سرور شما کمک کند. با جلوگیری از دسترسی موتورهای جستجو به بخشهای غیر ضروری یا پربار سایت، میتوانید بار سرور خود را کاهش داده و عملکرد کلی سایت را بهبود بخشید.
جلوگیری از دسترسی به بخشهای حساس سایت
یکی دیگر از دلایل مهم برای استفاده از فایل robots.txt این است که میتوانید از دسترسی موتورهای جستجو به بخشهای حساس یا محرمانه سایت خود جلوگیری کنید. برای مثال، میتوانید دسترسی به پوشههای مدیریتی یا صفحات آزمایشی را مسدود کنید.
نکات مهم در استفاده از فایل Robots.txt
در زمان استفاده از فایل robots.txt باید به چند نکته مهم توجه داشته باشید:
- مراقب باشید: هرگونه تغییر نادرست در فایل robots.txt میتواند دسترسی موتورهای جستجو به بخش عظیمی از سایت شما را مسدود کند. بنابراین، هنگام ایجاد تغییرات، دقت کافی داشته باشید.
- محل قرارگیری فایل: فایل robots.txt باید در بخش root سایت شما قرار بگیرد.
- تفاوت پروتکلها: فایل robots.txt تنها برای دامنه کاملی که در آن قرار دارد معتبر است و میتواند http یا https باشد.
- تفسیر متفاوت موتورهای جستجو: موتورهای جستجوی مختلف دستورالعملهای موجود در این فایل را به شکلهای متفاوتی تفسیر میکنند.
- عدم استفاده از دستورالعمل crawl-delay: تا جای امکان از استفاده از دستورالعمل crawl-delay خودداری کنید، زیرا ممکن است تفسیر نادرست توسط موتورهای جستجو انجام شود.
با توجه به اهمیت فایل robots.txt در سئو سایت و مدیریت منابع، توجه ویژهای به تنظیمات این فایل داشته باشید تا از عملکرد بهینه سایت خود اطمینان حاصل کنید.
مثالی از فایل Robots.txt
برای بهتر جا افتادن مفهوم و کاربرد فایل robots.txt، اجازه دهید تا نگاهی به یک مثال بیندازیم. فرض کنید که شما در حال پیادهسازی یک وبسایت تجارت الکترونیک هستید و بازدیدکنندگان از سایت شما میتوانند برای جستجوی سریعتر در میان محصولات از یک فیلتر استفاده کنند.
در واقع این فیلتر همان محتوایی را تولید میکند که در صفحات دیگر وجود داشت. این کار با وجود این که برای کاربران یک قابلیت فوقالعاده است، ولی در اکثر مواقع میتواند برای موتورهای جستجو گیجکننده باشد چرا که باعث به وجود آمدن محتوای تکراری میشود. شما نمیخواهید که موتورهای جستجو این صفحات تکراری مربوط به فیلتر را ایندکس کنند و وقت خود را با این لینکهای تکراری تلف کنند.
به همین علت باید قوانینی را تنظیم کنید تا موتورهای جستجو به صفحات تولید شده توسط این فیلتر دسترسی نداشته باشند. شاید برای شما جالب باشد که بدانید جلوگیری از ایندکس شدن محتوای تکراری در سایت نیز با استفاده از همین فایل انجام میشود. استفاده از یک لینک canonical یا تگ meta robots نمیتواند از خزیدن موتورهای جستجو در این صفحات جلوگیری کند. این کارها تنها میتواند از نمایش داده شدن این صفحات توسط موتورهای جستجو در لیست جستجوی آنها جلوگیری کند.
از آنجایی که هر یک از موتورهای جستجو مدت زمان محدودی برای خزیدن در یک وبسایت را دارند، شما باید سعی کنید که این زمان را صرف صفحاتی کنید که نیاز دارید تا در لیست موتورهای جستجو نمایش داده شوند.
مثال از محتوای فایل Robots.txt
در این مثال، فرض کنید که شما میخواهید موتورهای جستجو به صفحات تولید شده توسط فیلتر محصولات دسترسی نداشته باشند. ساختار فایل robots.txt شما میتواند به صورت زیر باشد:
1 2 3 4 5 6 7 |
User-agent: * Disallow: /filter/ Disallow: /search/ Disallow: /cart/ # اجازه دسترسی به صفحه اصلی Allow: /$ |
- User-agent: * – این دستور به همه موتورهای جستجو اعمال میشود.
- Disallow: /filter/ – این خط موتورهای جستجو را از خزیدن در تمامی صفحات مربوط به فیلتر محصولات منع میکند.
- Disallow: /search/ – این خط موتورهای جستجو را از خزیدن در تمامی صفحات جستجو منع میکند.
- Disallow: /cart/ – این خط موتورهای جستجو را از خزیدن در صفحات مربوط به سبد خرید منع میکند.
- Allow: /$ – این خط به موتورهای جستجو اجازه میدهد تا به صفحه اصلی سایت دسترسی داشته باشند.
با این تنظیمات، شما میتوانید مطمئن شوید که موتورهای جستجو زمان خزیدن خود را صرف صفحات مهمتر و محتوای منحصر به فرد سایت شما میکنند و از خزیدن در صفحات تکراری جلوگیری میشود.
فایل robots.txt شبیه به چه چیزی است؟
یک مثال ساده از این فایل برای یک سایت وردپرسی به این شکل است:
1 2 |
User-agent: * Disallow: /wp-admin/ |
اجازه دهید تا ساختار فایل robots.txt را به طور کامل برای شما شرح دهیم:
-
User-agent:
- این بخش نشان میدهد که دستورالعملهای موجود در این فایل برای کدام موتورهای جستجو در نظر گرفته شدهاند. استفاده از
*
در این بخش نشان میدهد که این دستورالعملها برای تمامی موتورهای جستجو طراحی شدهاند.
- این بخش نشان میدهد که دستورالعملهای موجود در این فایل برای کدام موتورهای جستجو در نظر گرفته شدهاند. استفاده از
-
Disallow:
- این دستورالعمل نشان میدهد که کدام یک از محتواها نباید برای موتورهای جستجو نمایش داده شوند.
- /wp-admin/: این شامل مسیری است که برای موتورهای جستجو موجود در User-agent غیرقابل دسترس است.
به طور خلاصه، این فایل نشان میدهد که موتورهای جستجو از کدام بخشها باید دوری کنند. اجزای مختلف این فایل شامل موارد زیر است که در ادامه این مطلب از وب آنجل آکادمی بیشتر درباره هر یک از آنها صحبت خواهیم کرد:
-
User-agent:
- مشخص میکند که دستورالعملها برای کدام موتور جستجو است. مثال:
1 |
User-agent: * |
یا:
1 |
User-agent: Googlebot |
Disallow:
- تعیین میکند که کدام بخشهای سایت نباید خزیده شوند. مثال:
1 |
Disallow: /private-directory/ |
Allow:
- تعیین میکند که کدام بخشهای سایت با وجود دستور Disallow باید خزیده شوند. مثال:
1 |
Allow: /public-directory/ |
Sitemap:
- مشخص میکند که نقشه سایت (sitemap) کجاست. این کمک میکند تا موتورهای جستجو ساختار سایت را بهتر بفهمند. مثال:
1 |
Sitemap: http://www.example.com/sitemap.xml |
Crawl-delay:
- تعیین میکند که موتورهای جستجو باید چقدر بین درخواستهای خود به سایت فاصله بگذارند. این دستور بیشتر برای کاهش بار روی سرور استفاده میشود. مثال:
1 |
Crawl-delay: 10 |
مثال کامل از یک فایل robots.txt:
1 2 3 4 5 6 |
User-agent: * Disallow: /wp-admin/ Disallow: /private-directory/ Allow: /public-directory/ Sitemap: http://www.example.com/sitemap.xml Crawl-delay: 10 |
با این تنظیمات، شما میتوانید مطمئن شوید که موتورهای جستجو زمان خود را صرف محتوای مهمتر و منحصر به فرد سایت شما میکنند و از خزیدن در بخشهای غیرضروری جلوگیری میشود.
دستورالعمل Disallow در robots.txt
شما میتوانید به موتورهای جستجو بگویید که به فایلها، صفحات یا لینکهای خاصی از وب سایت شما دسترسی نداشته باشند. برای انجام این کار باید از بخش Disallow در فایل robots.txt استفاده کنید. دستورالعمل Disallow در واقع مسیری را تعیین میکند که نباید به آن دسترسی داشت. در صورتی که هیچ مسیری در این بخش تعریف نشده باشد، این دستورالعمل به طور کامل نادیده گرفته میشود.
مثال:
1 2 |
User-agent: * Disallow: /wp-admin/ |
در این مثال، به تمامی موتورهای جستجو گفته شده است که به مسیر /wp-admin/ دسترسی نداشته باشند.
دستورالعمل Allow در robots.txt
این دستورالعمل به موتورهای جستجو میگوید که اجازه دسترسی به مسیرهای خاصی که در بخش Disallow قرار دارند، داده شود. این دستورالعمل بیشتر زمانی استفاده میشود که بخواهید بخشهای خاصی از یک مسیر محدود شده را مجاز کنید.
مثال:
1 2 3 |
User-agent: * Disallow: /wp-admin/ Allow: /wp-admin/admin-ajax.php |
در این مثال، به موتورهای جستجو گفته شده است که به مسیر /wp-admin/ دسترسی نداشته باشند، اما اجازه دسترسی به فایل /wp-admin/admin-ajax.php داده شده است.
ترکیب Allow و Disallow
ترکیب این دو دستورالعمل میتواند به شما کمک کند تا به طور دقیق مشخص کنید کدام بخشها باید دسترسی داشته باشند و کدام بخشها نباید دسترسی داشته باشند. این ترکیب میتواند بسیار مفید باشد زمانی که میخواهید بخشهای خاصی از سایت را محدود کنید اما برخی فایلها یا صفحات را استثنا کنید.
مثال کامل:
1 2 3 4 5 6 |
User-agent: * Disallow: /private-directory/ Allow: /private-directory/public-file.html Disallow: /wp-admin/ Allow: /wp-admin/admin-ajax.php Sitemap: http://www.example.com/sitemap.xml |
در این مثال:
- موتورهای جستجو به مسیر /private-directory/ دسترسی ندارند، اما به فایل /private-directory/public-file.html دسترسی دارند.
- موتورهای جستجو به مسیر /wp-admin/ دسترسی ندارند، اما به فایل /wp-admin/admin-ajax.php دسترسی دارند.
- نقشه سایت نیز مشخص شده است.
نکات مهم:
- مراقب باشید: در زمان ایجاد تغییرات در robots.txt سایت خود کاملا مراقب باشید چرا که این فایل قابلیت این را دارد که قسمتهای بزرگی از سایت شما را از دسترس موتورهای جستجو خارج کند.
- محل قرارگیری: فایل robots.txt باید در بخش root سایت شما قرار بگیرد.
- دامنه: فایل robots.txt تنها برای دامنه کاملی که در آن قرار دارد معتبر است که این دامنه میتواند http یا https باشد.
- تفسیر موتورهای جستجو: موتورهای جستجو مختلف دستورالعملهای موجود در این فایل را به شکلهای مختلفی تفسیر میکنند.
مثالی از مغایرت دستورالعملها در robots.txt
اجازه دهید مثالی از مغایرت دستورالعملها در فایل robots.txt را بررسی کنیم:
1 2 3 |
User-agent: * Allow: /directory Disallow: *.html |
در این مثال، موتورهای جستجو نمیدانند که باید با لینکی مانند http://www.domain.com/directory.html چه کنند. در واقع، برای موتورهای جستجو مشخص نیست که آیا به صفحه مربوط به این لینک دسترسی دارند یا خیر؟
زمانی که مانند این مثال، دستورالعملها به صورت دقیق مشخص نیستند، موتورهای جستجو سعی میکنند که کمترین محدودیت را برای دسترسی به صفحات مختلف اعمال کنند. در این مورد، موتورهای جستجو به لینک گفته شده دسترسی پیدا میکنند.
تحلیل مثال:
- Allow: /directory: این دستورالعمل به موتورهای جستجو میگوید که به تمامی محتوای موجود در مسیر /directory دسترسی داشته باشند.
- *Disallow: .html: این دستورالعمل به موتورهای جستجو میگوید که به هیچ صفحهای با پسوند .html دسترسی نداشته باشند.
با وجود این مغایرت، موتورهای جستجو ترجیح میدهند که دسترسی را فراهم کنند و بنابراین به صفحه /directory.html دسترسی خواهند داشت.
نکته کلیدی:
برای جلوگیری از چنین مغایرتهایی و اطمینان از پیروی صحیح موتورهای جستجو از دستورالعملهای شما، بهتر است دستورالعملهای خود را به صورت دقیق و بدون تناقض بنویسید. در غیر این صورت، ممکن است موتورهای جستجو نتوانند به درستی دستورالعملهای شما را تفسیر کنند و نتایج ناخواستهای به وجود بیاید.
مثال بهینه:
1 2 3 |
User-agent: * Disallow: /directory/*.html Allow: /directory/ |
در این مثال بهینه، به وضوح مشخص شده است که:
- موتورهای جستجو به تمامی محتوای موجود در /directory/ دسترسی دارند.
- اما به هیچ صفحهای با پسوند .html در مسیر /directory/ دسترسی نخواهند داشت.
این شفافسازی باعث میشود تا موتورهای جستجو بتوانند به درستی دستورالعملها را تفسیر کرده و به طور صحیح عمل کنند.
یک خط جداگانه برای هر دستورالعمل در فایل robots.txt
یکی از نکات بسیار مهم در خصوص فایل robots.txt این است که برای هر دستورالعمل یک خط جداگانه را در نظر بگیرید. در غیر این صورت، موتورهای جستجو در زمان تجزیه فایل robots.txt سردرگم میشوند. به عنوان مثال، یک فایل robots.txt اشتباه به شکل زیر است:
1 |
User-agent: * Disallow: /directory-1/ Disallow: /directory-2/ Disallow: /directory-3/ |
مثال صحیح:
برای جلوگیری از سردرگمی موتورهای جستجو، هر دستورالعمل باید در یک خط جداگانه نوشته شود. به عنوان مثال، نسخه صحیح این فایل به صورت زیر است:
1 2 3 4 |
User-agent: * Disallow: /directory-1/ Disallow: /directory-2/ Disallow: /directory-3/ |
اطمینان حاصل کنید که هر دستورالعمل را به صورت مجزا و در یک خط جداگانه بنویسید تا موتورهای جستجو بتوانند به درستی فایل robots.txt شما را تجزیه و تحلیل کنند. این کار به موتورهای جستجو کمک میکند تا به درستی از دستورالعملهای شما پیروی کنند و عملکرد بهتری در خزیدن وبسایت شما داشته باشند.
استفاده از Wildcard * در فایل robots.txt
Wildcard را نه تنها میتوان برای تعریف user-agent مورد استفاده قرار داد بلکه میتوان از آن برای تطبیق لینکها نیز استفاده کرد. Wildcard امروزه توسط موتورهای جستجویی مانند گوگل، یاهو، بینگ و Ask پشتیبانی میشود.
مثال از استفاده wildcard در فایل robots.txt:
1 2 |
User-agent: * Disallow: *? |
در این مثال، هیچ یک از موتورهای جستجو اجازه دسترسی به لینکهایی که شامل علامت سؤال میباشند را ندارند. این بدان معناست که هر URL که در آن علامت ؟ وجود دارد، از دسترس موتورهای جستجو خارج خواهد شد.
کاربردهای دیگر wildcard:
استفاده از wildcard در فایل robots.txt میتواند به شما کمک کند تا به طور دقیقتر دسترسی به بخشهای خاصی از وبسایت خود را کنترل کنید. به عنوان مثال:
- بلاک کردن همه صفحات با پسوند مشخص:
1 2 |
User-agent: * Disallow: /*.pdf$ |
در این مثال، همه صفحات با پسوند .pdf برای موتورهای جستجو غیرقابل دسترس خواهند بود.
- بلاک کردن همه URLهای که شامل یک مسیر خاص هستند:
1 2 |
User-agent: * Disallow: /private/* |
در این مثال، همه URLهایی که شامل مسیر /private/ هستند، برای موتورهای جستجو غیرقابل دسترس خواهند بود.
استفاده از wildcard به شما امکان میدهد تا دستورات دقیقتر و پیچیدهتری را برای موتورهای جستجو تعریف کنید و کنترل بیشتری بر روی نحوه خزیدن و ایندکس کردن وبسایت خود داشته باشید.
استفاده از $ برای انتهای لینکها در فایل robots.txt
برای نشان دادن انتهای یک لینک، میتوانید از علامت $ در انتهای مسیر مدنظر خود استفاده کنید. این علامت به موتورهای جستجو میگوید که باید دقیقاً انتهای لینک با مسیر مشخص شده تطبیق داده شود.
مثال از استفاده $ در فایل robots.txt:
1 2 |
User-agent: * Disallow: *.php$ |
در این مثال، هیچ یک از موتورهای جستجو اجازه دسترسی به لینکهایی که با پسوند .php تمام میشوند را ندارند. لینکهایی که دارای پارامتر میباشند، مانند https://example.com/page.php?lang=fa نیز مجوز دسترسی را خواهند داشت چرا که این لینکها با .php به اتمام نرسیدهاند.
کاربردهای دیگر استفاده از $:
استفاده از $ در فایل robots.txt میتواند به شما کمک کند تا دسترسی به فایلها و مسیرهای خاصی را با دقت بیشتری کنترل کنید. به عنوان مثال:
- بلاک کردن همه صفحات با پسوند خاص:
1 2 |
User-agent: * Disallow: /*.jpg$ |
در این مثال، همه صفحاتی که با پسوند .jpg به پایان میرسند برای موتورهای جستجو غیرقابل دسترس خواهند بود.
- بلاک کردن مسیرهای خاص با دقت بیشتر:
1 2 |
User-agent: * Disallow: /private/data$ |
در این مثال، فقط مسیر /private/data که دقیقاً با data تمام میشود، برای موتورهای جستجو غیرقابل دسترس خواهد بود. مسیرهای دیگری که شامل /private/data میباشند اما با آن پایان نمییابند، مانند /private/data/more، مجوز دسترسی را خواهند داشت.
ترکیب wildcard و $:
برای ترکیب دقت و تطبیق گستردهتر، میتوانید از wildcard و $ به صورت همزمان استفاده کنید:
1 2 |
User-agent: * Disallow: /images/*.jpg$ |
در این مثال، همه فایلهای تصویری با پسوند .jpg که در پوشه /images/ قرار دارند، برای موتورهای جستجو غیرقابل دسترس خواهند بود.
استفاده از علامت $ در فایل robots.txt به شما امکان میدهد تا دقیقتر و هدفمندتر دسترسی موتورهای جستجو به بخشهای مختلف وبسایت خود را کنترل کنید.
کامنتها در فایل robots.txt
کامنتها معمولاً با استفاده از علامت # در فایل robots.txt نمایش داده میشوند و میتوانند یک خط جداگانه را به خود اختصاص داده یا بعد از یک دستورالعمل و در همان خط قرار گیرند. هر چیزی که بعد از علامت # نوشته شود در زمان اجرا نادیده گرفته میشود. در واقع، این کامنتها تنها برای کاربران نوشته میشوند تا توضیحات اضافی را ارائه دهند.
مثال 1:
1 2 3 |
# Don't allow access to the /wp-admin/ directory for all robots. User-agent: * Disallow: /wp-admin/ |
در این مثال، کامنت توضیح میدهد که دسترسی به دایرکتوری /wp-admin/ برای همه روباتها ممنوع است.
مثال 2:
1 2 |
User-agent: * # Applies to all robots Disallow: /wp-admin/ # Don't allow access to the /wp-admin/ directory. |
در این مثال، کامنتها بعد از دستورالعملها قرار گرفتهاند و توضیحات بیشتری در مورد هر دستورالعمل ارائه میدهند.
مزایای استفاده از کامنتها در فایل robots.txt
- افزایش خوانایی: کامنتها میتوانند فایل robots.txt را برای کاربران انسانی خواناتر و قابل فهمتر کنند.
- توضیحات اضافی: با استفاده از کامنتها میتوانید توضیحات اضافی در مورد دلایل استفاده از دستورالعملهای خاص ارائه دهید.
- مستندسازی: کامنتها به عنوان مستندسازی عمل میکنند و به تیم توسعه کمک میکنند تا بدانند چرا و چگونه دستورات خاصی در فایل robots.txt استفاده شدهاند.
نکات مهم
- مکان کامنتها: کامنتها میتوانند در هر جایی از فایل robots.txt قرار گیرند، به شرطی که با علامت # شروع شوند.
- اجرا نشدن کامنتها: موتورهای جستجو کامنتها را نادیده میگیرند و فقط دستورالعملهای واقعی را اجرا میکنند.
چه زمانی از فایل robots.txt استفاده کنیم؟
توصیه من به شما این است که برای بهبود سئو سایت خود همیشه از فایل robots.txt استفاده کنید. داشتن فایل robots.txt در لیست فایلهای وب سایت هیچ ضرری برای وب سایت شما ندارد و میتواند شرایط بسیار خوبی را برای شما فراهم کند تا دستورالعملهای مورد نیاز برای خزیدن رباتهای موتورهای جستجو در وب سایت خود را نگهداری کنید. این فایل به موتورهای جستجو کمک میکند تا به بهترین شکل ممکن در وب سایت شما جستجو و خزیدن کنند و نتایج بهتری را برای شما به ارمغان بیاورند.
مواردی که نیاز به استفاده از فایل robots.txt دارید
-
ممانعت از ایندکس شدن محتوای تکراری:
- زمانی که صفحات تکراری در وب سایت دارید و نمیخواهید این صفحات توسط موتورهای جستجو ایندکس شوند.
-
محدود کردن دسترسی به دایرکتوریهای خاص:
- اگر نمیخواهید موتورهای جستجو به دایرکتوریهای خاصی مانند /wp-admin/ یا /private/ دسترسی پیدا کنند، میتوانید این دایرکتوریها را با استفاده از فایل robots.txt محدود کنید.
-
بهبود سرعت خزیدن موتورهای جستجو:
- با محدود کردن دسترسی به بخشهای غیرضروری وب سایت، میتوانید منابع سرور را برای صفحات مهمتر صرفهجویی کنید و سرعت خزیدن موتورهای جستجو را بهبود ببخشید.
-
جلوگیری از ایندکس شدن صفحات پویا:
- اگر وب سایت شما شامل صفحات پویای زیادی است که از پارامترهای URL استفاده میکنند، میتوانید از فایل robots.txt برای جلوگیری از ایندکس شدن این صفحات استفاده کنید.
مثالهای کاربردی
مثال 1: جلوگیری از ایندکس شدن دایرکتوری مدیریت وردپرس
1 2 |
User-agent: * Disallow: /wp-admin/ |
مثال 2: جلوگیری از ایندکس شدن صفحات با پارامترهای URL
1 2 |
User-agent: * Disallow: /*?* |
مثال 3: محدود کردن دسترسی به دایرکتوری خاص
1 2 |
User-agent: * Disallow: /private/ |
نکات مهم برای تعریف فایل robots.txt
نوشتن فایل robots.txt به منظور بهینهسازی عملکرد موتورهای جستجو در وبسایت شما، نیازمند توجه به چند نکته مهم است. در اینجا نکات کلیدی برای تعریف فایل robots.txt را شرح میدهیم:
1. مکان و نام فایل robots.txt
- فایل robots.txt باید در ریشه (root) دامنه شما قرار بگیرد. به عنوان مثال، باید به صورت http://www.example.com/robots.txt در دسترس باشد.
2. ترتیب اولویت دستورالعملها
- موتورهای جستجو دستورالعملها را از بالا به پایین میخوانند. بنابراین، ترتیب دستورالعملها مهم است و باید با دقت نوشته شوند.
3. استفاده از تنها یک گروه از دستورالعملها برای هر ربات
- هر User-agent باید تنها یک گروه دستورالعمل داشته باشد. از تکرار گروهها برای یک User-agent خودداری کنید.
4. دقت بالا
- دقت در نوشتن مسیرها و دستورالعملها بسیار مهم است. هر خطا میتواند باعث ایجاد مشکلات در دسترسی موتورهای جستجو به وبسایت شما شود.
5. دقت به دستورالعملهایی که برای تمامی فایلها و در عین حال برای یک فایل خاص میباشند
- مطمئن شوید که دستورالعملهای خاص و عمومی در تداخل با یکدیگر نباشند. به عنوان مثال، اگر یک دایرکتوری را مسدود میکنید، اما یک فایل خاص در آن دایرکتوری باید قابل دسترس باشد، این مورد را با استفاده از Allow و Disallow به درستی تنظیم کنید.
6. نوشتن فایل robots.txt برای هر دامنه یا زیر دامنه
- هر دامنه یا زیر دامنه باید فایل robots.txt خود را داشته باشد. فایل robots.txt دامنه اصلی برای زیر دامنهها اعمال نمیشود.
مثال: نوشتن فایل robots.txt برای هر دامنه یا زیر دامنه
1 2 3 4 |
User-agent: * Disallow: /admin/ Disallow: /private/ Allow: /public/ |
توضیح:
- **User-agent: *** به این معناست که دستورالعملها برای همه موتورهای جستجو اعمال میشوند.
- Disallow: /admin/ و Disallow: /private/ دسترسی به دایرکتوریهای admin و private را مسدود میکند.
- Allow: /public/ دسترسی به دایرکتوری public را مجاز میکند.
فایل robots.txt برای زیر دامنه
زیر دامنه: blog.example.com
1 2 3 4 |
User-agent: * Disallow: /wp-admin/ Disallow: /private/ Allow: /wp-content/uploads/ |
- **User-agent: *** به این معناست که دستورالعملها برای همه موتورهای جستجو اعمال میشوند.
- Disallow: /wp-admin/ دسترسی به دایرکتوری wp-admin که معمولاً برای مدیریت سایتهای وردپرسی استفاده میشود، را مسدود میکند.
- Disallow: /private/ دسترسی به دایرکتوری private را مسدود میکند.
- Allow: /wp-content/uploads/ دسترسی به دایرکتوری uploads در wp-content را مجاز میکند.
در این مثال، دامنه اصلی example.com و زیر دامنه blog.example.com هرکدام فایل robots.txt خود را دارند. فایل robots.txt برای دامنه اصلی تنها دسترسی به دایرکتوریهای admin و private را مسدود میکند، در حالی که فایل robots.txt زیر دامنه blog.example.com دسترسی به دایرکتوریهای wp-admin و private را مسدود کرده و دسترسی به دایرکتوری uploads را مجاز میکند.
هرکدام از این فایلها به طور مستقل برای دامنهها و زیر دامنهها تنظیم شدهاند تا دسترسی موتورهای جستجو به بخشهای مختلف سایت را کنترل کنند.
هر دامنه یا زیر دامنه باید فایل robots.txt خود را داشته باشد، زیرا فایل robots.txt دامنه اصلی برای زیر دامنهها اعمال نمیشود. در اینجا دو مثال برای دامنه اصلی و زیر دامنه آن آورده شده است:
فایل robots.txt برای دامنه اصلی
دامنه اصلی: example.com
7. عدم استفاده از دستورالعملهای متناقض
- از قرار دادن دستورالعملهای متناقض که ممکن است باعث سردرگمی موتورهای جستجو شود، خودداری کنید.
8. کنترل کردن دائم این فایل
- فایل robots.txt باید به طور مرتب بررسی و کنترل شود تا مطمئن شوید که همچنان به درستی عمل میکند و نیازهای سئوی شما را برآورده میکند.
9. عدم استفاده از noindex در داخل این فایل
- استفاده از noindex در فایل robots.txt نادرست است. برای جلوگیری از ایندکس شدن صفحات، از متا تگهای noindex در داخل HTML صفحات استفاده کنید.
10. جلوگیری از UTF-8 BOM در داخل این فایل
- از استفاده از BOM (Byte Order Mark) در فایل robots.txt خودداری کنید، زیرا برخی موتورهای جستجو ممکن است در تفسیر این فایل مشکل داشته باشند.
ترتیب اولویت ها در فایل robots.txt
یکی از مهم ترین نکاتی که باید درباره فایل robots.txt بدانید این است که موتورهای جستجو به شکلهای مختلفی از این فایل استفاده میکنند. با این حال باید توجه داشت که اولین دستورالعمل همواره در ابتدا مورد بررسی قرار میگیرد. قوانین خاصی برای برخی از موتورهای جستجو وجود دارد که بهتر است اطلاعات کاملی در این زمینه داشته باشید تا بتوانید به بهترین شکل ممکن فایل robots.txt وب سایت خود را پیاده سازی کنید.
اولویت دستورالعملها در موتورهای جستجو
به عنوان مثال، در موتورهای جستجو گوگل و بینگ در صورتی که تعداد کاراکترهای استفاده شده در دستورالعمل Allow بیشتر باشد، اولویت بیشتری نسبت به دستورالعمل Disallow خواهد داشت.
مثال 1:
1 2 3 |
User-agent: * Allow: /about/company/ Disallow: /about/ |
نتیجه: در این مثال، موتورهای جستجو مانند گوگل و بینگ به تمامی پوشههای موجود در مسیر /about/ به جز مسیر /about/company/ دسترسی ندارند.
مثال 2:
1 2 3 |
User-agent: * Disallow: /about/ Allow: /about/company/ |
نتیجه: در این مثال، موتورهای جستجو به پوشه /about/ دسترسی ندارند، اما با توجه به طول کاراکترهای بیشتر دستورالعمل Allow، گوگل و بینگ به /about/company/ دسترسی خواهند داشت.
نکات کلیدی:
- اولین دستورالعمل همیشه در ابتدا مورد بررسی قرار میگیرد.
- تعداد کاراکترهای بیشتر در دستورالعمل Allow اولویت بیشتری نسبت به دستورالعمل Disallow دارد.
- ترتیب دستورالعملها و تعداد کاراکترها تأثیر مستقیم بر نحوه تفسیر موتورهای جستجو دارند.
توجه به این نکات میتواند به بهینهسازی فایل robots.txt و بهبود عملکرد سئو سایت شما کمک کند.
فایل Robots.txt برای وردپرس
فایل robots.txt زیر برای سایتهای وردپرسی بهینهسازی شده است و در آن مفروضات زیر برقرار هستند:
- شما نمیخواهید که موتورهای جستجو در بخشهای admin وبسایت شما بخزند.
- نمیخواهید که موتورهای جستجو صفحات جستجوی داخلی وبسایت شما را بخزند.
- نمیخواهید که موتورهای جستجو صفحات مربوط به تگها و نویسندهها در وبسایت شما بخزند.
- نمیخواهید که موتورهای جستجو صفحات 404 شما را بخزند.
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 |
User-agent: * Disallow: /wp-admin/ # block access to admin section Disallow: /wp-login.php # block access to admin section Disallow: /search/ # block access to internal search result pages Disallow: *?s=* # block access to internal search result pages Disallow: *?p=* # block access to pages for which permalinks fails Disallow: *&p=* # block access to pages for which permalinks fails Disallow: *&preview=* # block access to preview pages Disallow: /tag/ # block access to tag pages Disallow: /author/ # block access to author pages Disallow: /404-error/ # block access to 404 page Sitemap: https://www.example.com/sitemap_index.xml |
نکات کلیدی:
- Disallow: /wp-admin/ و Disallow: /wp-login.php: این دستورالعملها موتورهای جستجو را از خزیدن در بخشهای مدیریت سایت شما منع میکنند.
- Disallow: /search/ و Disallow: ?s=: این دستورالعملها موتورهای جستجو را از خزیدن در صفحات نتایج جستجوی داخلی سایت منع میکنند.
- Disallow: ?p= و Disallow: &p=: این دستورالعملها موتورهای جستجو را از دسترسی به صفحات با پیوندهای ناموفق منع میکنند.
- Disallow: &preview=: این دستورالعمل موتورهای جستجو را از خزیدن در صفحات پیشنمایش منع میکند.
- Disallow: /tag/ و Disallow: /author/: این دستورالعملها موتورهای جستجو را از خزیدن در صفحات تگها و نویسندگان منع میکنند.
- Disallow: /404-error/: این دستورالعمل موتورهای جستجو را از خزیدن در صفحات 404 منع میکند.
- Sitemap: لینک به نقشه سایت که به موتورهای جستجو کمک میکند تا بهتر صفحات سایت شما را پیدا و ایندکس کنند.
لطفاً توجه داشته باشید که این فایل robots.txt در بیشتر موارد به خوبی کار میکند، اما شما باید همیشه آن را تنظیم کرده و مجدداً آزمایش کنید تا مطمئن شوید که با وضعیت دقیق وبسایت شما سازگاری کاملی دارد و میتواند به بهترین شکل از این فایل robots.txt در وبسایت استفاده کند.
تعریف Robots.txt برای مجنتو
فایل robots.txt که در زیر تعریف شده برای Magento بهینهسازی شده است و میتواند نتایج جستجوهای داخلی، صفحات لاگین، شناسههای مربوط به نشستهای سایت و نتایج فیلترها را که حاوی اطلاعات مهمی هستند از دسترس موتورهای جستجو خارج کند.
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 |
User-agent: * Disallow: /catalogsearch/ Disallow: /search/ Disallow: /customer/account/login/ Disallow: /*?SID= Disallow: /*?PHPSESSID= Disallow: /*?price= Disallow: /*&price= Disallow: /*?color= Disallow: /*&color= Disallow: /*?material= Disallow: /*&material= Disallow: /*?size= Disallow: /*&size= Sitemap: https://www.example.com/sitemap_index.xml |
توضیحات دستورات:
- User-agent: *: این دستور به تمامی موتورهای جستجو اعمال میشود.
- Disallow: /catalogsearch/: جلوگیری از دسترسی موتورهای جستجو به نتایج جستجوی کاتالوگ.
- Disallow: /search/: جلوگیری از دسترسی موتورهای جستجو به نتایج جستجوی داخلی.
- Disallow: /customer/account/login/: جلوگیری از دسترسی موتورهای جستجو به صفحات لاگین مشتری.
- Disallow: /*?SID= و Disallow: /*?PHPSESSID=: جلوگیری از دسترسی موتورهای جستجو به صفحات با شناسههای نشست.
- Disallow: /*?price= و Disallow: /*&price=: جلوگیری از دسترسی موتورهای جستجو به صفحات فیلتر شده بر اساس قیمت.
- Disallow: /*?color= و Disallow: /*&color=: جلوگیری از دسترسی موتورهای جستجو به صفحات فیلتر شده بر اساس رنگ.
- Disallow: /*?material= و Disallow: /*&material=: جلوگیری از دسترسی موتورهای جستجو به صفحات فیلتر شده بر اساس جنس.
- Disallow: /*?size= و Disallow: /*&size=: جلوگیری از دسترسی موتورهای جستجو به صفحات فیلتر شده بر اساس اندازه.
- Sitemap: https://www.example.com/sitemap_index.xml: لینک به نقشه سایت که به موتورهای جستجو کمک میکند تا بهتر صفحات سایت شما را پیدا و ایندکس کنند.
نکته مهم:
لطفاً به این نکته توجه داشته باشید که این فایل robots.txt میتواند برای تمامی فروشگاههای مجنتو کار کند، اما با این حال بهتر است که شما همواره آن را تنظیم کرده و مجدداً تست کنید تا مطمئن شوید که برای وضعیت سایت شما مناسب است و میتوان از این فایل robots.txt برای سایت شما استفاده کرد.
نتیجهگیری
با توجه به توضیحات و آموزشهای فراوانی که در این مطلب در وب آنجل آکادمی در خصوص فایل robots.txt ارائه شد، احتمالاً شما نیز متوجه شدهاید که این فایل از اهمیت بسیار زیادی در موتورهای جستجو برخوردار است. به همین علت، برای بهبود سئو سایت خود نیازمند پیادهسازی و اجرای درست فایل robots.txt خواهید بود. این فایل از بخشهای مختلفی تشکیل شده است که در زمان پیادهسازی باید به تمامی این بخشها توجه داشته باشید و سعی کنید که جزئیترین نکات را نیز رعایت کنید.
فایل robots.txt در وبسایتهای بزرگی که دارای صفحات زیادی هستند از اهمیت بسیار بیشتری برخوردار است، چرا که میتواند یک راهنمای کامل برای نحوه جستجو و خزیدن در صفحات وبسایت را برای موتورهای جستجو فراهم کند. بنابراین اگر شما هم قصد راهاندازی یک وبسایت بزرگ تجاری را دارید، حتماً باید به کیفیت فایل robots.txt وبسایت خود توجه کنید و تمامی نکاتی که در این مطلب بیان شد را رعایت کنید.
در صورتی که شما نیز قصد دارید تا سئو سایت خود را به صورت کاملاً حرفهای بهینهسازی کنید، بهتر است با تمامی جنبههای مختلف فایل robots.txt آشنا شوید و از نیروهای متخصص برای پیادهسازی این فایل استفاده کنید.
برای استفاده از خدمات سئو وب آنجل تماس بگیرید
فایل robots.txt اهمیت بسیار زیادی در سئو سایت دارد. دپارتمان وب آنجل با بیش از یک دهه سابقه در این زمینه، خدمات سئوی سایت را با بالاترین کیفیت به شما ارائه می دهد.
سلام مطلب خیلی کامل بود – ممنون
یه سوال داشم – من برای غیر فعال کردنش Disallow: /wp-json این کد رو در robots.txt زدم – این درسته ؟!!
سلام! ممنون بابت نظرتون. برای غیر فعال کردن دسترسی به wp-json با استفاده از فایل robots.txt، کد زیر درسته:
Disallow: /wp-json/
اما این فقط موتورهای جستجو را از ایندکس کردن این مسیر منع میکند و دسترسی را غیرفعال نمیکند. برای غیرفعال کردن کامل، باید از تنظیمات امنیتی وردپرس یا فایل .htaccess استفاده کنید.
سلام مطلب آموزنده و کامل بود. سوالی داشتم.
زمانی که با پیج اسپید سایت رو انالیز میکنم در بخش سئو مشکل robots.txt میده. ولی تست که میکنم درسته! مشکل از چیه؟
سلام! ممنون بابت نظرتون. در خصوص مشکلی که در پیج اسپید با robots.txt دارید اما تست میکنید و مشکلی نمیبینید، این موارد را بررسی کنید:
پیکربندی نادرست یا قدیمی: برخی دستورات مانند noindex و nofollow در فایل robots.txt توسط گوگل پشتیبانی نمیشوند و باید به جای آنها از متا تگهای HTML یا هدر HTTP استفاده کنید
مسائل مربوط به حساسیت به حروف بزرگ و کوچک: فایل robots.txt به حروف بزرگ و کوچک حساس است. مثلا Disallow: /Folder مسیری با نام /folder را مسدود نمیکند
محتوای مسدود شده مهم: مسدود کردن CSS، جاوا اسکریپت و فایلهای تصویری ممکن است باعث شود موتورهای جستجو نتوانند ساختار سایت شما را به درستی درک کنند
بررسی در کنسول جستجوی گوگل: از ابزار تست robots.txt در گوگل سرچ کنسول استفاده کنید تا اطمینان حاصل کنید که فایل شما به درستی کار میکند. همچنین، گزارشات پوشش (Coverage) را بررسی کنید تا از هرگونه خطا یا هشدار مربوط به robots.txt مطلع شوید
با بررسی و اعمال این نکات، احتمالاً میتوانید مشکل را برطرف کنید. اگر همچنان مشکلی داشتید، میتوانید جزئیات بیشتری را ارسال کنید تا دقیقتر راهنمایی کنم.