چگونه Google ربات ها را تفسیر می کند.مشخصات txt
گوگل خودکار است خزنده ها پشتیبانی می کنند پروتکل حذف روبات ها (REP). این بدان معنی است که قبل از خزیدن یک سایت، خزنده های گوگل سایت را دانلود و تجزیه می کنند. فایل robots.txt برای استخراج اطلاعات در مورد قسمت هایی از سایت که ممکن است خزیده شود. REP برای خزندههای Google که توسط کاربران کنترل میشوند (به عنوان مثال، فید) قابل اجرا نیست اشتراک ها)، یا خزنده هایی که برای افزایش ایمنی کاربر استفاده می شوند (به عنوان مثال، بدافزار). تحلیل و بررسی).
این صفحه تفسیر گوگل از REP را شرح می دهد. برای اصل استاندارد، بررسی کنید RFC 9309.
ربات چیست.فایل txt
اگر نمی خواهید خزنده ها به بخش های سایت شما دسترسی داشته باشند، می توانید یک فایل robots.txt ایجاد کنید. با قوانین مناسب یک فایل robots.txt یک فایل متنی ساده است که حاوی قوانینی است که در مورد آن وجود دارد خزنده ها ممکن است به کدام بخش از سایت دسترسی داشته باشند. به عنوان مثال، فایل robots.txt برای example.com ممکن است شبیه به این باشد:
# This robots.txt file controls crawling of URLs under https://example.com. # All crawlers are disallowed to crawl files in the "includes" directory, such # as .css, .js, but Google needs them for rendering, so Googlebot is allowed # to crawl them. User-agent: * Disallow: /includes/ User-agent: Googlebot Allow: /includes/ Sitemap: https://example.com/sitemap.xml
اگر با robots.txt تازه کار هستید، از ما شروع کنید معرفی robots.txt. همچنین می توانید پیدا کنید نکاتی برای ایجاد فایل robots.txt.
محل فایل و محدوده اعتبار
شما باید فایل robots.txt را در دایرکتوری سطح بالای یک سایت، در یک سایت پشتیبانی شده قرار دهید
پروتکل URL فایل robots.txt (مانند سایر URL ها) به حروف کوچک و بزرگ حساس است. در صورت
جستجوی گوگل، پروتکل های پشتیبانی شده HTTP، HTTPS و FTP هستند. در HTTP و HTTPS، خزنده ها
واکشی فایل robots.txt با یک درخواست غیرشرطی HTTP GET
. در FTP،
خزنده ها از یک فرمان استاندارد RETR (RETRIEVE)
با استفاده از ورود ناشناس استفاده می کنند.
قوانین فهرست شده در فایل robots.txt فقط برای میزبان، پروتکل و شماره پورت اعمال می شود جایی که فایل robots.txt میزبانی می شود.
نمونه هایی از URL های معتبر robots.txt
جدول زیر شامل نمونههایی از آدرسهای اینترنتی robots.txt و مسیرهای URL است که برای آنها معتبر هستند. ستون یک شامل URL یک فایل robots.txt است و ستون دو شامل دامنههایی است که فایل robots.txt برای آنها اعمال میشود و نمیخواهد.
نمونههای URL Robots.txt | |
---|---|
https:/ |
این حالت کلی است. برای سایر زیر دامنهها، پروتکلها یا پورتها معتبر نیست شماره. برای همه فایلها در همه زیرشاخههای روی یک میزبان، پروتکل، معتبر است، و شماره پورت معتبر برای:
|
https:/ |
robots.txt در یک زیر دامنه فقط برای آن زیر دامنه معتبر است.
معتبر برای:
معتبر نیست برای:
|
https:/ |
فایل robots.txt معتبر نیست. خزنده ها فایل های robots.txt را در زیر شاخه ها بررسی نمی کنند. |
https:/ |
IDN ها معادل نسخه های کد کد آنها هستند. همچنین ببینید RFC 3492. معتبر برای:
معتبر نیست برای:
|
ftp:/ |
معتبر برای:
معتبر نیست برای:
|
https:/ |
یک robots.txt با یک آدرس IP به عنوان نام میزبان فقط برای خزیدن آن معتبر است آدرس IP به عنوان نام میزبان. این به طور خودکار برای همه وب سایت های میزبانی شده در آن معتبر نیست آدرس IP (اگرچه ممکن است فایل robots.txt به اشتراک گذاشته شود، در این صورت همچنین تحت نام میزبان مشترک در دسترس خواهد بود).
معتبر برای:
برای:
|
https:/ |
شمارههای پورت استاندارد ( معتبر برای:
معتبر نیست برای:
|
https:/ |
فایل های Robots.txt روی شماره پورت های غیر استاندارد فقط برای محتوای ساخته شده معتبر هستند از طریق آن شماره های پورت در دسترس است.
معتبر برای:
معتبر نیست برای:
|
رسیدگی به خطاها و کدهای وضعیت HTTP
هنگام درخواست فایل robots.txt، کد وضعیت HTTP پاسخ سرور بر نحوه عملکرد آن تأثیر می گذارد. فایل robots.txt توسط خزنده های Google استفاده خواهد شد. جدول زیر به طور خلاصه نحوه انجام آن را نشان می دهد Googlebot فایلهای robots.txt را برای کدهای وضعیت HTTP مختلف درمان میکند.
رسیدگی به خطاها و کدهای وضعیت HTTP | |
---|---|
2xx (success) |
کدهای وضعیت HTTP که نشان دهنده موفقیت هستند، از خزندههای Google میخواهند robots.txt را پردازش کنند. فایلی که توسط سرور ارائه شده است. |
3xx (redirection) |
گوگل حداقل پنج تغییر مسیر را طبق تعریف شده دنبال می کند
RFC 1945 و سپس
متوقف می شود و آن را به عنوان Google از تغییر مسیرهای منطقی در فایلهای robots.txt (فریمها، جاوا اسکریپت یا تغییر مسیرهای نوع تازه سازی متا). |
4xx (client errors) |
خزنده های Google با تمام خطاهای |
5xx (server errors) |
از آنجایی که سرور نمی تواند پاسخ قطعی به درخواست robots.txt گوگل بدهد،
گوگل به طور موقت خطاهای سرور
اگر نیاز به تعلیق موقت خزیدن دارید، توصیه می کنیم a
اگر بتوانیم تشخیص دهیم که یک سایت برای بازگشت به درستی پیکربندی نشده است
|
سایر خطاها | فایل robots.txt که به دلیل مشکلات DNS یا شبکه قابل واکشی نیست، مانند مهلت زمانی، پاسخ های نامعتبر، بازنشانی یا قطع شدن اتصالات، و خطاهای تکه تکه HTTP، به عنوان یک خطای سرور در نظر گرفته می شود. |
ذخیره سازی
گوگل به طور کلی محتویات فایل robots.txt را حداکثر تا 24 ساعت در حافظه پنهان نگه می دارد، اما ممکن است آن را کش کند.
در شرایطی که بهروزرسانی نسخه ذخیرهشده در حافظه پنهان امکانپذیر نیست (مثلاً به دلیل
وقفه های زمانی یا 5xx
خطاها). پاسخ ذخیره شده در حافظه پنهان ممکن است توسط خزنده های مختلف به اشتراک گذاشته شود.
Google ممکن است طول عمر حافظه پنهان را بر اساس افزایش یا کاهش دهد
کنترل حافظه پنهان حداکثر سن
هدرهای HTTP
فرمت فایل
فایل robots.txt باید a باشد
UTF-8 متن ساده کدگذاری شده
فایل و خطوط باید با CR
، CR/LF
یا
LF
.
گوگل خطوط نامعتبر را در فایلهای robots.txt از جمله یونیکد نادیده میگیرد علامت ترتیب بایت (BOM) در ابتدای فایل robots.txt، و فقط از خطوط معتبر استفاده کنید. به عنوان مثال، اگر محتوای دانلود شده به جای قوانین robots.txt HTML است، گوگل سعی خواهد کرد محتوا را تجزیه کند و قوانین را استخراج کنید و هر چیز دیگری را نادیده بگیرید.
به طور مشابه، اگر رمزگذاری کاراکتر فایل robots.txt UTF-8 نباشد، ممکن است Google نادیده بگیرد. کاراکترهایی که بخشی از محدوده UTF-8 نیستند، به طور بالقوه قوانین robots.txt را ارائه می دهند بی اعتبار.
گوگل در حال حاضر محدودیت اندازه فایل robots.txt را 500 اعمال می کند کیبی بایت (KiB). محتوا که پس از نادیده گرفتن حداکثر اندازه فایل است. می توانید اندازه robots.txt را کاهش دهید فایل را با ادغام قوانینی که منجر به ایجاد یک فایل robots.txt بزرگ می شود. برای به عنوان مثال، مطالب حذف شده را در یک فهرست جداگانه قرار دهید.
نحو
خطوط معتبر robots.txt از یک فیلد، یک کولون و یک مقدار تشکیل شده است. فضاها اختیاری هستند، اما
برای بهبود خوانایی توصیه می شود. فاصله در ابتدا و انتهای خط است
نادیده گرفته شده است. برای اضافه کردن نظرات، قبل از نظر خود نویسه #
را قرار دهید. نگه داشتن در
توجه داشته باشید که همه چیز بعد از کاراکتر #
نادیده گرفته می شود. قالب کلی است
<field>:<value><#optional-comment>
.
گوگل از فیلدهای زیر پشتیبانی می کند:
user-agent
: مشخص می کند که قوانین روی کدام خزنده اعمال می شود.allow
: یک مسیر URL که ممکن است خزیده شود.disallow
: یک مسیر URL که ممکن است خزیده نشود.sitemap
: URL کامل نقشه سایت.
فیلدهای allow
و disallow
نیز قوانین نامیده می شوند.
بخشنامه ها). این قوانین همیشه در قالب مشخص می شوند
rule: [path]
که در آن [path]
اختیاری است. به طور پیش فرض، هیچ وجود ندارد
محدودیت های خزیدن برای خزنده های تعیین شده خزنده ها قوانین را بدون الف نادیده می گیرند
[path]
.
مقدار [path]
، در صورت مشخص شدن، نسبت به ریشه وب سایت از کجاست
فایل robots.txt واکشی شد (با استفاده از همان پروتکل، شماره پورت، میزبان و نام دامنه).
برای تعیین ریشه، مقدار مسیر باید با /
شروع شود و مقدار آن است
حساس به حروف کوچک و بزرگ بیشتر بدانید
تطبیق URL بر اساس مقادیر مسیر.
user-agent
خط user-agent
مشخص می کند که کدام قوانین خزنده اعمال می شود. دیدن
خزندههای Google و رشتههای عامل کاربر
برای یک لیست جامع از رشته های user-agent که می توانید در فایل robots.txt خود استفاده کنید.
مقدار خط user-agent
به حروف بزرگ و کوچک حساس نیست.
disallow
قانون disallow
مسیرهایی را مشخص می کند که خزنده ها نباید به آنها دسترسی داشته باشند.
با خط user-agent
مشخص می شود، قانون disallow
با آن گروه بندی می شود.
خزنده ها قانون بدون مسیر را نادیده می گیرند.
Google نمیتواند محتوای صفحاتی را که برای خزیدن مجاز نیستند فهرستبندی کند، اما ممکن است همچنان URL را ایندکس کرده و بدون قطعه در نتایج جستجو نشان می دهد. یاد بگیرید که چگونه مسدود کردن نمایه سازی.
مقدار قانون disallow
به حروف کوچک و بزرگ حساس است.
استفاده:
disallow: [path]
allow
قانون allow
مسیرهایی را مشخص می کند که ممکن است توسط تعیین شده به آنها دسترسی داشته باشد
خزنده ها هنگامی که هیچ مسیری مشخص نشده است، قانون نادیده گرفته می شود.
مقدار قانون allow
به حروف کوچک و بزرگ حساس است.
استفاده:
allow: [path]
sitemap
گوگل، بینگ و سایر موتورهای جستجوی اصلی از فیلد sitemap
پشتیبانی می کنند
robots.txt، همانطور که توسط sitemaps.org تعریف شده است.
مقدار فیلد sitemap
به حروف کوچک و بزرگ حساس است.
استفاده:
sitemap: [absoluteURL]
خط [absoluteURL]
به محل نقشه سایت یا فایل فهرست نقشه سایت اشاره می کند.
باید یک URL کاملا واجد شرایط، شامل پروتکل و میزبان باشد و لازم نیست
URL-کدگذاری شده است. URL نباید در همان میزبانی باشد که فایل robots.txt است. تو می توانی
چندین فیلد sitemap
را مشخص کنید. فیلد نقشه سایت به هیچ چیز خاصی وابسته نیست
عامل کاربر و ممکن است توسط همه خزنده ها دنبال شود، مشروط بر اینکه برای خزیدن مجاز نباشد.
مثلا:
user-agent: otherbot disallow: /kale sitemap: https://example.com/sitemap.xml sitemap: https://cdn.example.org/other-sitemap.xml sitemap: https://ja.example.org/テスト-サイトマップ.xml
گروه بندی خطوط و قوانین
شما می توانید قوانینی را که برای چندین عامل کاربر اعمال می شود با تکرار گروه بندی کنید
user-agent
خطوط برای هر خزنده.
مثلا:
user-agent: a disallow: /c user-agent: b disallow: /d user-agent: e user-agent: f disallow: /g user-agent: h
در این مثال چهار گروه قانون متمایز وجود دارد:
- یک گروه برای عامل کاربر "a".
- یک گروه برای عامل کاربر "b".
- یک گروه برای هر دو "e» و "f" عوامل کاربر
- یک گروه برای عامل کاربر "h".
برای توضیحات فنی یک گروه، نگاه کنید بخش 2.1 از REP.
ترتیب تقدم برای عوامل کاربر
فقط یک گروه برای یک خزنده خاص معتبر است. خزنده های گوگل درست را تعیین می کنند
گروهی از قوانین با پیدا کردن گروهی با خاص ترین عامل کاربر در فایل robots.txt
که با عامل کاربر خزنده مطابقت دارد. گروه های دیگر نادیده گرفته می شوند. همه متن های غیر منطبق است
نادیده گرفته شد (برای مثال، هر دو googlebot/1.2
و googlebot*
هستند
معادل googlebot
). ترتیب گروه ها در فایل robots.txt است
غیر مرتبط.
اگر بیش از یک گروه خاص برای یک عامل کاربر اعلام شده باشد، همه قوانین از طرف
گروه های قابل اعمال برای عامل کاربر خاص به صورت داخلی در یک گروه واحد ترکیب می شوند. کاربر
گروه های خاص عامل و گروه های جهانی (*
) با هم ترکیب نمی شوند.
مثال ها
تطبیق فیلدهای user-agent
user-agent: googlebot-news (group 1) user-agent: * (group 2) user-agent: googlebot (group 3)
به این ترتیب خزنده ها گروه مربوطه را انتخاب می کنند:
گروه دنبال شده در هر خزنده | |
---|---|
اخبار Googlebot |
googlebot-news از گروه 1 پیروی می کند، زیرا گروه 1 خاص ترین گروه است.
|
Googlebot (وب) | googlebot گروه 3 را دنبال می کند. |
Googlebot Storebot |
Storebot-Google از گروه 2 پیروی می کند، زیرا هیچ چیز خاصی وجود ندارد
گروه
Storebot-Google .
|
Googlebot News (هنگام خزیدن تصاویر) |
هنگام خزیدن تصاویر، googlebot-news گروه 1 را دنبال می کند.
googlebot-news تصاویر Google Images را نمیخزد، بنابراین فقط
گروه 1 را دنبال می کند.
|
ربات دیگر (وب) | سایر خزنده های گوگل گروه 2 را دنبال می کنند. |
ربات دیگر (اخبار) |
سایر خزندههای Google که محتوای خبری را میخزند، اما آنها را شناسایی نمیکنند
googlebot-news گروه 2 را دنبال کنید. حتی اگر ورودی مربوط به آن وجود داشته باشد
خزنده، فقط در صورتی معتبر است که به طور خاص مطابقت داشته باشد.
|
گروه بندی قوانین
اگر چندین گروه در فایل robots.txt وجود داشته باشد که مربوط به یک عامل کاربر خاص است، خزنده های Google به صورت داخلی گروه ها را ادغام می کنند. مثلا:
user-agent: googlebot-news disallow: /fish user-agent: * disallow: /carrots user-agent: googlebot-news disallow: /shrimp
خزنده ها به طور داخلی قوانین را بر اساس عامل کاربر گروه بندی می کنند، به عنوان مثال:
user-agent: googlebot-news disallow: /fish disallow: /shrimp user-agent: * disallow: /carrots
قوانینی غیر از allow
، disallow
و user-agent
هستند
توسط تجزیه کننده robots.txt نادیده گرفته شد. این به این معنی است که قطعه robots.txt زیر درمان می شود
به عنوان یک گروه، و بنابراین هر دو user-agent
a
و b
هستند
تحت تأثیر قانون disallow: /
:
user-agent: a sitemap: https://example.com/sitemap.xml user-agent: b disallow: /
هنگامی که خزنده ها قوانین robots.txt را پردازش می کنند، خط sitemap
را نادیده می گیرند.
برای مثال، خزندهها قطعه قبلی robots.txt را به این ترتیب درک میکنند:
user-agent: a user-agent: b disallow: /
مطابقت URL بر اساس مقادیر مسیر
Google از مقدار مسیر در قوانین allow
و disallow
به عنوان یک
مبنایی برای تعیین اینکه آیا یک قانون برای یک URL خاص در یک سایت اعمال می شود یا خیر. این کار توسط
مقایسه قانون با مؤلفه مسیر URL که خزنده سعی در واکشی آن دارد.
کاراکترهای ASCII غیر 7 بیتی در یک مسیر ممکن است به عنوان کاراکترهای UTF-8 یا به صورت درصد فرار گنجانده شوند.
نویسه های رمزگذاری شده UTF-8 در هر
RFC 3986.
گوگل، بینگ، و سایر موتورهای جستجوی اصلی از شکل محدودی از کارت های عام پشتیبانی می کنند. مقادیر مسیر این کاراکترهای wildcard عبارتند از:
*
0 یا بیشتر از هر کاراکتر معتبر را مشخص می کند.$
انتهای URL را مشخص می کند.
جدول زیر نشان میدهد که چگونه کاراکترهای مختلف حروف عام بر تجزیه تأثیر میگذارند:
منطبقات مسیر نمونه | |
---|---|
/ |
با ریشه و هر URL سطح پایینتر مطابقت دارد. |
/ |
معادل / . علامت عام آخر نادیده گرفته می شود. |
/ |
فقط با ریشه مطابقت دارد. هر URL سطح پایین تر برای خزیدن مجاز است. |
/ |
با هر مسیری که با مسابقات:
مطابقت ندارد:
|
/ |
معادل مسابقات:
مطابقت ندارد:
|
/ |
با هر چیزی در پوشه مسابقات:
مطابقت ندارد:
|
/ |
با هر مسیری که حاوی مسابقات:
مطابقت ندارد:
|
/ |
با هر مسیری که با مسابقات:
مطابقت ندارد:
|
/ |
با هر مسیری که شامل مسابقات:
مطابقت ندارد:
|
ترتیب تقدم برای قوانین
هنگام تطبیق قوانین robots.txt با URL ها، خزنده ها از خاص ترین قانون بر اساس آن استفاده می کنند طول مسیر قانون در صورت وجود قوانین متناقض، از جمله مواردی که دارای حروف عام هستند، Google استفاده میکند حداقل قاعده محدود کننده
مثالهای زیر نشان میدهند که خزندههای Google کدام قانون را در URL مشخص اعمال میکنند.
موقعیت های نمونه | |
---|---|
https:/ |
allow: /p disallow: /
قانون قابل اجرا: |
https:/ |
allow: /folder disallow: /folder
قانون قابل اجرا: |
https:/ |
allow: /page disallow: /*.htm
قانون قابل اجرا: |
https:/ |
allow: /page disallow: /*.ph
قانون قابل اجرا: |
https:/ |
allow: /$ disallow: /
قانون قابل اجرا: |
https:/ |
allow: /$ disallow: /
قانون قابل اجرا: |