فایل robots.txt چیست و چگونه آن را تنظیم کنیم؟
فایل Robots.txt یکی از سادهترین فایلهای یک وبسایت است، اما در عین حال یکی از سادهترین را ها برای تخریب سئو سایت است. فقط یک کاراکتر بی جا می تواند سئو شما را خراب کند و موتورهای جستجو را از دسترسی به محتوای مهم سایت شما باز دارد. به همین دلیل است که پیکربندی نادرست robots.txt بسیار رایج است؛ حتی در بین متخصصان باتجربه سئو!
بسته به اندازه وب سایت شما، استفاده نادرست از robots.txt می تواند یک اشتباه جزئی یا بسیار پرهزینه باشد. این مقاله به شما نشان می دهد که چگونه یک فایل robots.txt ایجاد کنید و از اشتباهات احتمالی جلوگیری کنید.
این مقاله از مطالب آموزش سئو مجموعه رسپینا وب است که امیدواریم مورد توجه شما قرار بگیرد.
فایل robots.txt چیست؟
Robots.txt یک فایل متنی ساده است که می توانید روی سرور خود قرار دهید تا نحوه دسترسی ربات ها به صفحات شما را کنترل کنید. این شامل قوانینی برای خزنده ها است که تعیین می کند کدام صفحات باید خزیده شوند یا نباید خزیده شوند. فایل باید در دایرکتوری ریشه وب سایت شما قرار گیرد. بنابراین، برای مثال، اگر وب سایت شما domain.com نام دارد، فایل robots.txt باید در domain.com/robots.txt باشد.
فایل چگونه robots.txt چگونه کار می کند؟
خزنده ها برنامه هایی هستند که در وب می خزند. آنها کاربردهای مختلفی دارند، اما موتورهای جستجو از آنها برای یافتن محتوای وب برای ایندکس استفاده می کنند. این فرآیند را می توان به چند مرحله تقسیم کرد:
- خزندهها دارای صفی از URLها هستند که هم وبسایتهای جدید و هم قبلاً شناخته شدهای را دارند که میخواهند بخزند.
- قبل از خزیدن یک وب سایت، خزنده ها ابتدا به دنبال فایل robots.txt در دایرکتوری ریشه وب سایت می گردند.
- اگر هیچ فایل robots.txt وجود نداشته باشد، خزنده ها آزادانه وب سایت را می خزند. با این حال، اگر یک فایل robots.txt معتبر وجود داشته باشد، خزندهها به دنبال دستورالعملها در داخل آن میگردند و بر این اساس به خزیدن وبسایت ادامه میدهند.
- اگر یک موتور جستجو نتواند صفحه را بخزد، آن صفحه نمی تواند ایندکس شود و در نتیجه در صفحات نتایج جستجو ظاهر نمی شود.
با این حال، دو نکته وجود دارد:
1. صفحهای که از خزیدن مسدود شده است ممکن است همچنان ایندکس شود
غیرمجاز کردن خزیدن در فایل robots.txt تضمین نمی کند که موتورهای جستجو صفحه را ایندکس نمی کنند. اگر اطلاعاتی در مورد محتوا در منابع دیگر بیابند و تصمیم بگیرند که محتوای مهمی است، همچنان ممکن است این کار را انجام دهند. به عنوان مثال، آنها می توانند پیوندهای منتهی به صفحه را از سایت های دیگر پیدا کنند، از انکر تکست استفاده کنند و آن را در صفحه نتایج جستجو نشان دهند.
2. نمیتوانید رباتها را مجبور کنید از قوانین موجود در robots.txt پیروی کنند
Robots.txt فقط یک دستورالعمل است، نه یک قانون اجباری. شما نمی توانید ربات ها را مجبور به اطاعت از آن کنید. اکثر خزنده ها، به ویژه آنهایی که توسط موتورهای جستجو استفاده می شوند، هیچ صفحه ای را که توسط robots.txt مسدود شده است، نمی خزند. با این حال، موتورهای جستجو تنها موتورهایی نیستند که از خزنده ها استفاده می کنند. ربات های مخرب ممکن است دستورالعمل ها را نادیده بگیرند و به هر حال به صفحات دسترسی پیدا کنند. به همین دلیل است که نباید از robots.txt به عنوان راهی برای محافظت از داده های حساس وب سایت خود در برابر خزیدن استفاده کنید. اگر باید مطمئن شوید که رباتها برخی از محتوای شما را نمیخزند، بهتر است از آن با یک رمز عبور محافظت کنید.
اهمیت استفاده از robots.txt
Robots.txt بخش ضروری وب سایت شما نیست، اما یک فایل بهینه سازی شده می تواند از بسیاری جهات برای سایت شما مفید باشد. مهمتر از همه، می تواند به شما کمک کند بودجه خزش خود را بهینه کنید. رباتهای موتور جستجو منابع محدودی دارند و تعداد URLهایی را که میتوانند در یک وبسایت مشخص بخزند محدود میکنند. بنابراین اگر بودجه خزیدن خود را در صفحات کم اهمیت هدر دهید، ممکن است صفحات با ارزش تر خزش نشود. اگر وب سایت کوچکی دارید، ممکن است این یک مشکل سطحی به نظر برسد، اما هر کسی که یک وب سایت بزرگ دارد می داند که استفاده بهینه از منابع ربات های موتور جستجو چقدر حیاتی است.
با فایل robots.txt، می توانید از خزیدن برخی صفحات، به عنوان مثال، صفحات با کیفیت پایین جلوگیری کنید. این بسیار مهم است؛ زیرا اگر صفحات قابل ایندکس با کیفیت پایین زیادی دارید، ممکن است بر کل سایت تأثیر بگذارد و ربات های موتورهای جستجو را از خزیدن صفحات با کیفیت بالا منصرف کند.
علاوه بر این، robots.txt به شما امکان می دهد مکان نقشه سایت XML خود را مشخص کنید. نقشه سایت یک فایل متنی است که آدرسهایی را که میخواهید موتورهای جستجو ایندکس کنند فهرست میکند. قرار دادن آدرس آن در فایل robots.txt یافتن آن را برای ربات های موتورهای جستجو آسان تر می کند.
چرا برخی از صفحات وبسایت باید مسدود شوند؟
دلایل مختلفی وجود دارد که صلاح می دانید تا یک سری صفحات سایت شما مسدود شود. اما عمده ترین آن ها را می توان در سه بخش بیان نمود. در ابتدا باید بیان نمود که اگر صفحه ای در سایت خود دارید که تکراری از صفحات دیگر است، در صورت تمایل ندارید تا این دو صفحه هر دو ایندکس شود و در معرض دید مخاطبان قرار گیرد. اگر ایندکس صورت گیرد به نوعی شما دارای محتوای تکراری می شوید که می تواند به سئو وبسایت شما آسیب بزند.
دلیل دوم می تواند صفحه ای از وبسایت شما باشد که علاقه ای ندارید تا کاربران به آن دسترسی داشته باشند مگر اینکه اقدام خاصی انجام دهند. به عنوان مثال یک صفحه تشکر از اقدام خاصی که مخاطب انجام داده است طراحی می کنید. تا پس از انجام دادن عملیات مورد نظر یک تشکر داشته باشید. قصد ندارید تا آن صفحه در نتایج جستجو قرار گیرد.
یک زمان دیگر بحث امنیتی می باشد و زمانی که فایل خصوصی سایت خود مانند cgi را در وبسایت قرار می دهید. در این صورت می توانید از مصرف پهنای باند خود به دلیل ربات هایی که فایل های تصویری شما را فهرست می کنند جلوگیری کنید.
در تمامی این مواردی که بیان نمودیم شما باید دستوری را در فایل robot.txt خود قرار دهید، که این موضوع نشان می دهد تا جلوگیری کند از دسترسی مربوط به موتورهای جستجو به این فایل ها و عدم نمایش به کاربران اینترنتی بر طبق نظر شما عمل کند.
برخی از صفحاتی که باید توسط robots.txt از ایندکس شدن جلوگیری شوند، موارد زیر است.
- صفحاتی که محتوای تکراری دارند ( duplicate content)
- تگ ها و برچسب هایی که باعث ایجاد محتوای تکراری و یا اضافه در سایت می شوند
- فیلتر بندی صفحات محصول که شامل فیلتر های قیمت، رنگ و … می شوند
- صفحاتی که با سرچ کردن در خود سایت ایجاد می شوند ( در صورتی که صفحات اصلی و مهم شما توسط کاربران در سایت سرچ نشود)
- تمامی صفحات ادمین و پنل سایت
- صفحه پروفایل کاربران سایت
- صفحات چت
- برخی از فایل های قالب که نیازی به دیده شدن توسط گوگل ندارند
ایجاد فایل robots.txt
برای اینکه بتوانید فایل robot.txt را ایجاد نمایید نیاز است تا یک حساب رایگان در قسمت گوگل وبمستر ایجاد نمایید. سپس نیاز است تا در قسمت پیکربندی سایت گزینه مربوط به دسترسی خزنده داشته باشید و فایل robots.txt را ایجاد کنید. شما می توانید به راحتی گزینه generate robots.txt را انتخاب کنید و یک فایل robots.txt ساده راه اندازی کنید. در این صورت شما می توانید در قسمت عمل گزینه مربوط به block را انتخاب نمایید، همچنین در قسمت user-agent مشخص می کنید.
سپس شما به سادگی دایرکتوری هایی را که می خواهید مسدود کنید، در زیر دایرکتوری ها و فایل ها تایپ کنید. پس شما در یک قسمت می توانید آدرس مربوط به صفحات سایت را وارد کنید. و در قسمت دیگر نام دایرکتوری ها و فایل ها در نهایت با زدن گزینه مربوط به افزودن این موارد برای همه ربات ها این مورد را پیاده سازی می کنید.
البته گزینه دیگری به نام allow وجود دارد که می تواند در این بخش استثنا قائل شوید و به ربات اجازه دهید به صفحه ای که با استفاده از دستور مسدود نمودید، دسترسی پیدا کند. زمانی که تمامی موارد را مشخص کردید که نیاز به مسدود سازی کدام فایل ها و … می باشد باید بر روی گزینه دانلود کلیک کنیم و فایل robots.txt را دانلود نماییم.
برای نصب فایل robots.txt می توانید به قسمت فهرست اصلی در ناحیه cnc وبسایت خود آپلود کنید. می توانید این کار را با استفاده از یک برنامه ftp نیز پیش ببرید. در روش دیگر اینکه شما می توانید توسط یک برنامه نویس فایل مورد نظر را ایجاد و نصب کنید. این فرد نشان می دهد تا کدام صفحات را مسدود و آزاد باشد.
robots.txt syntax
Robots.txt از بلوک های متنی تشکیل شده است. هر بلوک با یک رشته User-agent شروع می شود و دستورالعمل ها (قوانین) را برای یک ربات خاص گروه بندی می کند.
در اینجا نمونه ای از فایل robots.txt آمده است:
User-agent: *
Disallow: /admin/
Disallow: /users/
#specific instructions for Googlebot
User-agent: Googlebot
Allow: /wp-admin/
Disallow: /users/
#specific instructions for Bingbot
User-agent: Bingbot
Disallow: /admin/
Disallow: /users/
Disallow:/not-for-Bingbot/
Crawl-delay: 10
Sitemap: https://www.example.com/sitemap.xml
User-agent
صدها خزنده وجود دارند که ممکن است بخواهند به وب سایت شما دسترسی پیدا کنند. به همین دلیل است که ممکن است بخواهید بر اساس اهداف آنها مرزهای مختلفی برای آنها تعریف کنید. در اینجا زمانی است که User-agent ممکن است مفید باشد.
User-agent رشته ای از متن است که یک ربات خاص را شناسایی می کند. موتورهای جستجو همچنین می توانند بیش از یک User-agent داشته باشند.
User-agent یک خط مورد نیاز در هر گروه از دستورالعمل ها است. تمام دستورالعملهایی که از یک User-agent پیروی میکنند، تا زمانی که User-agent جدید مشخص نشود، به سمت ربات تعریفشده هدایت میشوند.
- google: Googlebot
- yahoo: Slurp
- bing: Bingbot
- DuckDuckGo: DuckDuckBot
دستورالعمل ها
بخشنامه ها عبارتند از:
- Disallow
- Allow
- Sitemap
- Crawl-delay
توجه: همچنین یک دستورالعمل غیر رسمی noindex وجود دارد که قرار است نشان دهد یک صفحه نباید ایندکس شود. با این حال، اکثر موتورهای جستجو، از جمله گوگل و بینگ، از آن پشتیبانی نمی کنند. اگر نمیخواهید برخی از صفحات ایندکس شوند، از تگ متا روباتهای noindex یا هدر X-Robots-Tag استفاده کنید.
Disallow
این دستورالعمل مشخص می کند که کدام صفحات نباید خزیده شوند. به طور پیشفرض، رباتهای موتور جستجو میتوانند هر صفحهای را که توسط دستورالعمل Disallow مسدود نشده است، بخزند. برای مسدود کردن دسترسی به یک صفحه خاص، باید مسیر آن را در رابطه با دایرکتوری ریشه تعریف کنید.
User-agent: Googlebot
Disallow: /users/
با اضافه کردن نماد “/” به روش زیر می توانید خزیدن در کل سایت را ممنوع کنید:
User-agent: Googlebot
/ :Disallow
Allow
شما می توانید از دستورالعمل Allow برای اجازه دادن به خزیدن یک صفحه در یک فهرست غیر مجاز استفاده کنید.
در مثال زیز، تمام صفحات داخل دایرکتوری /user/ غیر مجاز هستند به جز یکی به نام /very-important-user.html.
User-agent: Googlebot
Disallow: /users/
Allow: /users/very-important-user.html
نقشه سایت
دستورالعمل نقشه سایت مکان سایت مپ شما را مشخص می کند. می توانید آن را در ابتدا یا انتهای فایل خود اضافه کنید و بیش از یک نقشه سایت تعریف کنید.
برخلاف مسیرهای تعریف شده در دستورالعمل های دیگر، همیشه یک URL کامل از نقشه سایت خود، از جمله پروتکل HTTP/HTTPS یا نسخه www/non-www اضافه کنید.
دستورالعمل نقشه سایت مورد نیاز نیست، اما به شدت توصیه می شود. حتی اگر نقشه سایت خود را در Google Search Console یا Bing Webmaster Tools ارسال کرده اید، همیشه ایده خوبی است که آن را به فایل robots.txt خود اضافه کنید تا به همه ربات های موتور جستجو کمک کنید سریعتر آن را پیدا کنند.
Crawl-delay
ربات های موتور جستجو می توانند بسیاری از صفحات شما را در مدت زمان کوتاهی بخزند. هر خزیدن، بخشی از منبع سرور شما استفاده می کند.
اگر یک وب سایت بزرگ با صفحات زیاد دارید یا باز کردن هر صفحه به منابع سرور زیادی نیاز دارد، ممکن است سرور شما نتواند به همه درخواست ها رسیدگی کند. در نتیجه، بیش از حد بارگذاری می شود و کاربران و موتورهای جستجو ممکن است به طور موقت دسترسی به سایت شما را از دست بدهند. اینجاست که دستورالعمل Crawl-Delay ممکن است مفید باشد و روند خزیدن را کند کند.
مقدار دستور Crawl-Delay بر حسب ثانیه تعریف می شود. می توانید آن را بین 1 تا 30 ثانیه تنظیم کنید.
کامنت robots.txt
میتوانید با افزودن # hash در ابتدای یک خط یا بعد از دستور، نظرات خود را در فایل robots.txt اضافه کنید. موتورهای جستجو هر چیزی را که از # در همان خط پیروی می کند نادیده می گیرند.
کامنت برای انسان ها منظور شده است تا توضیح دهند که یک بخش خاص به چه معناست. همیشه ایده خوبی است که آنها را اضافه کنید زیرا به شما امکان می دهند دفعه بعد که فایل را باز می کنید سریعتر بفهمید چه اتفاقی می افتد.
#Blocks access to the blog section
User-agent: Googlebot
Disallow: /blog/
User-agent: Bingbot
Disallow: /users/ #blocks access to users section
Wildcards
Wildcards کاراکترهای خاصی هستند که می توانند به عنوان مکان نگهدار برای سایر نمادها در متن کار کنند و بنابراین فرآیند ایجاد فایل robots.txt را ساده می کنند. آنها عبارتند از:
*
$
ستاره می تواند جایگزین هر رشته ای شود.
* :User-agent
در مثال بالا، ستاره در خط User-agent تمام ربات های موتورهای جستجو را مشخص می کند. بنابراین، هر دستورالعملی که از آن پیروی می کند، تمام خزنده ها را هدف قرار می دهد.
علامت دلار نشان دهنده عنصر خاصی است که با انتهای URL مطابقت دارد.
چند نکته مهم
- فایل های جاوا اسکریپت یا CSS خود را با استفاده از robots.txt مسدود نکنید. اگر ربات ها نتوانند به این منابع دسترسی داشته باشند، ممکن است محتوای شما را به درستی نمیبینند.
- اطمینان حاصل کنید که آدرس نقشه سایت خود اضافه را کنید تا به همه ربات های موتور جستجو کمک کنید آن را به راحتی پیدا کنند.
- صفحاتی که در این فایل از ایندکس ان ها جلوگیری می کنید را در سایت مپ قرار ندهید.
- تفسیر نحو robots.txt ممکن است بسته به موتور جستجو متفاوت باشد. اگر مطمئن نیستید، همیشه نحوه برخورد یک ربات موتور جستجو با یک دستورالعمل خاص را بررسی کنید.
- هنگام استفاده از حروف عامیانه مراقب باشید. اگر از آنها سوء استفاده کنید، ممکن است به اشتباه دسترسی به کل بخش سایت خود را مسدود کنید.
- از robots.txt برای مسدود کردن محتوای خصوصی خود استفاده نکنید. اگر می خواهید صفحه خود را ایمن کنید، بهتر است از آن با رمز عبور محافظت کنید. علاوه بر این، فایل robots.txt برای عموم قابل دسترسی است و شما میتوانید مکان محتوای خصوصی خود را به رباتهای خطرناک فاش کنید.
- عدم دسترسی خزنده ها به سایت شما باعث حذف آن از صفحه نتایج جستجو نمی شود. اگر پیوندهای زیادی با انکر تکست توصیفی وجود داشته باشد که به صفحه شما اشاره می کند، همچنان می توان آن را ایندکس کرد. اگر می خواهید از آن جلوگیری کنید، باید به جای آن از Meta Robots Tag یا هدر X-Robots-Tag استفاده کنید.
کلام آخر
اگر صفحات و فایل هایی که به سایت خود اضافه می کنید ولی قصد ندارید که موتورهای جستجو آن را فهرست بندی کنند و یا در دسترس کاربران باشد، نیاز است تا فایل مربوط به robots.txt را به روزرسانی کنید. این امر باعث می شود تا امنیت وبسایت شما و بهترین نتایج ممکن را رقم می زند.
به طور خلاصه می توان بیان نمود که فایل robot.txt به عنوان یک دستورالعمل برای روبات ها است. که در مورد خزیدن در بحث صفحات وبسایت بیان می دارد. شما می توانید در مورد خزیدن و یا نادیده گرفتن برخی فایل و صفحات توسط ربات تنظیماتی داشته باشید.
برخی اوقات محتواها غیرمفید می باشد و قصد ندارید آن ها در دسترس مخاطبان و یا موتورجستجو قرار دهید بنابراین می توانید از این طریق کار خود را صورت دهید.
اما برای اینکه بتوانید میزان تسلط شما بیشتر باشد و خواسته های مربوط به سئو خود را در آن پیاده سازی نمایید به یک متخصص نیاز دارید. شرکت رسپینا وب، این موضوع از جمله خدمات خود قرار داده است. می تواند به شما کمک کند تا در این بخش اشتباهی صورت نگیرد. شما که فعالیت وبسایتی و یا دیجیتالی خود را به رسپینا وب می سپارید تمامی این بخش ها دیده می شود. نکات به روز برای موفقیت را در نظر می گیرند.