Google Search Central

راهنمای جامع سئو برای موتورهای جستجو

خانه> خزیدن و نمایه‌سازی> robots.txt> گوگل چگونه robots.txt را تفسیر می‌کند

چگونه Google ربات ها را تفسیر می کند.مشخصات txt

گوگل خودکار است خزنده ها پشتیبانی می کنند پروتکل حذف روبات ها (REP). این بدان معنی است که قبل از خزیدن یک سایت، خزنده های گوگل سایت را دانلود و تجزیه می کنند. فایل robots.txt برای استخراج اطلاعات در مورد قسمت هایی از سایت که ممکن است خزیده شود. REP برای خزنده‌های Google که توسط کاربران کنترل می‌شوند (به عنوان مثال، فید) قابل اجرا نیست اشتراک ها)، یا خزنده هایی که برای افزایش ایمنی کاربر استفاده می شوند (به عنوان مثال، بدافزار). تحلیل و بررسی).

این صفحه تفسیر گوگل از REP را شرح می دهد. برای اصل استاندارد، بررسی کنید RFC 9309.

اگر نمی خواهید خزنده ها به بخش های سایت شما دسترسی داشته باشند، می توانید یک فایل 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 میزبانی می شود.

جدول زیر شامل نمونه‌هایی از آدرس‌های اینترنتی robots.txt و مسیرهای URL است که برای آنها معتبر هستند. ستون یک شامل URL یک فایل robots.txt است و ستون دو شامل دامنه‌هایی است که فایل robots.txt برای آنها اعمال می‌شود و نمی‌خواهد.

نمونه‌های URL Robots.txt
https://example.com/robots.txt

این حالت کلی است. برای سایر زیر دامنه‌ها، پروتکل‌ها یا پورت‌ها معتبر نیست شماره. برای همه فایل‌ها در همه زیرشاخه‌های روی یک میزبان، پروتکل، معتبر است، و شماره پورت

معتبر برای:
  • https://example.com/
  • https://example.com/folder/file
معتبر نیست برای:
  • https://other.example.com/
  • http://example.com/
  • https://example.com:8181/
https://www.example.com/robots.txt

robots.txt در یک زیر دامنه فقط برای آن زیر دامنه معتبر است.

معتبر برای: https://www.example.com/

معتبر نیست برای:

  • https://example.com/
  • https://shop.www.example.com/
  • https://www.shop.example.com/
https://example.com/folder/robots.txt فایل robots.txt معتبر نیست. خزنده ها فایل های robots.txt را در زیر شاخه ها بررسی نمی کنند.
https://www.exämple.com/robots.txt

IDN ها معادل نسخه های کد کد آنها هستند. همچنین ببینید RFC 3492.

معتبر برای:
  • https://www.exämple.com/
  • https://xn--exmple-cua.com/

معتبر نیست برای: https://www.example.com/

ftp://example.com/robots.txt

معتبر برای: ftp://example.com/

معتبر نیست برای: https://example.com/

https://212.96.82.21/robots.txt

یک robots.txt با یک آدرس IP به عنوان نام میزبان فقط برای خزیدن آن معتبر است آدرس IP به عنوان نام میزبان. این به طور خودکار برای همه وب سایت های میزبانی شده در آن معتبر نیست آدرس IP (اگرچه ممکن است فایل robots.txt به اشتراک گذاشته شود، در این صورت همچنین تحت نام میزبان مشترک در دسترس خواهد بود).

معتبر برای: https://212.96.82.21/

برای: https://example.com/ معتبر نیست (حتی اگر در 212.96.82.21 میزبانی شود)

https://example.com:443/robots.txt

شماره‌های پورت استاندارد (80 برای HTTP، 443 برای HTTPS، 21 برای FTP) معادل نام های میزبان پیش فرض آنها است.

معتبر برای:

  • https://example.com:443/
  • https://example.com/

معتبر نیست برای: https://example.com:444/

https://example.com:8181/robots.txt

فایل های Robots.txt روی شماره پورت های غیر استاندارد فقط برای محتوای ساخته شده معتبر هستند از طریق آن شماره های پورت در دسترس است.

معتبر برای: https://example.com:8181/

معتبر نیست برای: https://example.com/

هنگام درخواست فایل robots.txt، کد وضعیت HTTP پاسخ سرور بر نحوه عملکرد آن تأثیر می گذارد. فایل robots.txt توسط خزنده های Google استفاده خواهد شد. جدول زیر به طور خلاصه نحوه انجام آن را نشان می دهد Googlebot فایل‌های robots.txt را برای کدهای وضعیت HTTP مختلف درمان می‌کند.

رسیدگی به خطاها و کدهای وضعیت HTTP
2xx (success) کدهای وضعیت HTTP که نشان دهنده موفقیت هستند، از خزنده‌های Google می‌خواهند robots.txt را پردازش کنند. فایلی که توسط سرور ارائه شده است.
3xx (redirection)

گوگل حداقل پنج تغییر مسیر را طبق تعریف شده دنبال می کند RFC 1945 و سپس متوقف می شود و آن را به عنوان 404 برای robots.txt در نظر می گیرد. این نیز برای هر کدام صدق می کند آدرس‌های اینترنتی غیرمجاز در زنجیره تغییر مسیر، زیرا خزنده نمی‌تواند قوانین را به دلیل تغییر مسیرها

Google از تغییر مسیرهای منطقی در فایل‌های robots.txt (فریم‌ها، جاوا اسکریپت یا تغییر مسیرهای نوع تازه سازی متا).

4xx (client errors)

خزنده های Google با تمام خطاهای 4xx به جز 429 برخورد می کنند، به گونه ای که فایل robots.txt معتبر وجود نداشت. این بدان معنی است که گوگل فرض می کند که هیچ خزیدن وجود ندارد محدودیت های.

5xx (server errors)

از آنجایی که سرور نمی تواند پاسخ قطعی به درخواست robots.txt گوگل بدهد، گوگل به طور موقت خطاهای سرور 5xx و 429 را تفسیر می کند که انگار سایت کاملا غیر مجاز است Google سعی خواهد کرد تا فایل robots.txt را تا زمانی که آن را خزیده باشد کد وضعیت HTTP بدون خطای سرور را دریافت می کند. A503 (service unavailable) خطا منجر به تلاش مجدد نسبتاً مکرر می شود. اگر robots.txt برای بیش از 30 روز دیگر، گوگل از آخرین نسخه کش شده robots.txt استفاده خواهد کرد. اگر در دسترس نیست، گوگل فرض می کند که هیچ محدودیتی برای خزیدن وجود ندارد.

اگر نیاز به تعلیق موقت خزیدن دارید، توصیه می کنیم a 503 کد وضعیت HTTP برای هر URL در سایت.

اگر بتوانیم تشخیص دهیم که یک سایت برای بازگشت به درستی پیکربندی نشده است 5xx به جای یک کد وضعیت 404 برای صفحات از دست رفته، ما به آنها رسیدگی می کنیم خطای 5xx از آن سایت به صورت 404. به عنوان مثال، اگر پیام خطا در صفحه ای که کد وضعیت 5xx را برمی گرداند، "صفحه نیست پیدا شد، ما کد وضعیت را به صورت 404 (not found) تفسیر می کنیم.

سایر خطاها فایل 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 مشخص می کند که کدام قوانین خزنده اعمال می شود. دیدن خزنده‌های Google و رشته‌های عامل کاربر برای یک لیست جامع از رشته های user-agent که می توانید در فایل robots.txt خود استفاده کنید.

مقدار خط user-agent به حروف بزرگ و کوچک حساس نیست.

قانون disallow مسیرهایی را مشخص می کند که خزنده ها نباید به آنها دسترسی داشته باشند. با خط user-agent مشخص می شود، قانون disallow با آن گروه بندی می شود. خزنده ها قانون بدون مسیر را نادیده می گیرند.

Google نمی‌تواند محتوای صفحاتی را که برای خزیدن مجاز نیستند فهرست‌بندی کند، اما ممکن است همچنان URL را ایندکس کرده و بدون قطعه در نتایج جستجو نشان می دهد. یاد بگیرید که چگونه مسدود کردن نمایه سازی.

مقدار قانون disallow به حروف کوچک و بزرگ حساس است.

استفاده:

disallow: [path]

قانون allow مسیرهایی را مشخص می کند که ممکن است توسط تعیین شده به آنها دسترسی داشته باشد خزنده ها هنگامی که هیچ مسیری مشخص نشده است، قانون نادیده گرفته می شود.

مقدار قانون allow به حروف کوچک و بزرگ حساس است.

استفاده:

allow: [path]

گوگل، بینگ و سایر موتورهای جستجوی اصلی از فیلد 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: 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: /

Google از مقدار مسیر در قوانین allow و disallow به عنوان یک مبنایی برای تعیین اینکه آیا یک قانون برای یک URL خاص در یک سایت اعمال می شود یا خیر. این کار توسط مقایسه قانون با مؤلفه مسیر URL که خزنده سعی در واکشی آن دارد. کاراکترهای ASCII غیر 7 بیتی در یک مسیر ممکن است به عنوان کاراکترهای UTF-8 یا به صورت درصد فرار گنجانده شوند. نویسه های رمزگذاری شده UTF-8 در هر RFC 3986.

گوگل، بینگ، و سایر موتورهای جستجوی اصلی از شکل محدودی از کارت های عام پشتیبانی می کنند. مقادیر مسیر این کاراکترهای wildcard عبارتند از:

  • *0 یا بیشتر از هر کاراکتر معتبر را مشخص می کند.
  • $انتهای URL را مشخص می کند.

جدول زیر نشان می‌دهد که چگونه کاراکترهای مختلف حروف عام بر تجزیه تأثیر می‌گذارند:

منطبقات مسیر نمونه
/ با ریشه و هر URL سطح پایین‌تر مطابقت دارد.
/* معادل /. علامت عام آخر نادیده گرفته می شود.
/$ فقط با ریشه مطابقت دارد. هر URL سطح پایین تر برای خزیدن مجاز است.
/fish

با هر مسیری که با /fish شروع می شود مطابقت دارد. توجه داشته باشید که تطبیق به حروف کوچک و بزرگ حساس است.

مسابقات:

  • /fish
  • /fish.html
  • /fish/salmon.html
  • /fishheads
  • /fishheads/yummy.html
  • /fish.php?id=anything

مطابقت ندارد:

  • /Fish.asp
  • /catfish
  • /?id=fish
  • /desert/fish
/fish*

معادل /fish. علامت عام آخر نادیده گرفته می شود.

مسابقات:

  • /fish
  • /fish.html
  • /fish/salmon.html
  • /fishheads
  • /fishheads/yummy.html
  • /fish.php?id=anything

مطابقت ندارد:

  • /Fish.asp
  • /catfish
  • /?id=fish
  • /desert/fish
/fish/

با هر چیزی در پوشه /fish/ مطابقت دارد.

مسابقات:

  • /fish/
  • /fish/?id=anything
  • /fish/salmon.htm

مطابقت ندارد:

  • /fish
  • /fish.html
  • /animals/fish/
  • /Fish/Salmon.asp
/*.php

با هر مسیری که حاوی .php است مطابقت دارد.

مسابقات:

  • /index.php
  • /filename.php
  • /folder/filename.php
  • /folder/filename.php?parameters
  • /folder/any.php.file.html
  • /filename.php/

مطابقت ندارد:

  • /(حتی اگر به /index.php نگاشت شود)
  • /windows.PHP
/*.php$

با هر مسیری که با .php ختم می شود مطابقت دارد.

مسابقات:

  • /filename.php
  • /folder/filename.php

مطابقت ندارد:

  • /filename.php?parameters
  • /filename.php/
  • /filename.php5
  • /windows.PHP
/fish*.php

با هر مسیری که شامل /fish و .php باشد، به ترتیب مطابقت دارد.

مسابقات:

  • /fish.php
  • /fishheads/catfish.php?parameters

مطابقت ندارد: /Fish.PHP

هنگام تطبیق قوانین robots.txt با URL ها، خزنده ها از خاص ترین قانون بر اساس آن استفاده می کنند طول مسیر قانون در صورت وجود قوانین متناقض، از جمله مواردی که دارای حروف عام هستند، Google استفاده می‌کند حداقل قاعده محدود کننده

مثال‌های زیر نشان می‌دهند که خزنده‌های Google کدام قانون را در URL مشخص اعمال می‌کنند.

موقعیت های نمونه
https://example.com/page
allow: /p
disallow: /

قانون قابل اجرا: allow: /p، زیرا خاص‌تر است.

https://example.com/folder/page
allow: /folder
disallow: /folder

قانون قابل اجرا: allow: /folder، زیرا در صورت قوانین متضاد، گوگل از کمترین قاعده محدود کننده استفاده می کند.

https://example.com/page.htm
allow: /page
disallow: /*.htm

قانون قابل اجرا: disallow: /*.htm، زیرا مسیر قانون طولانی‌تر است و با کاراکترهای بیشتری در URL مطابقت دارد، بنابراین خاص‌تر است.

https://example.com/page.php5
allow: /page
disallow: /*.ph

قانون قابل اجرا: allow: /page، زیرا در صورت قوانین متضاد، گوگل از کمترین قاعده محدود کننده استفاده می کند.

https://example.com/
allow: /$
disallow: /

قانون قابل اجرا: allow: /$، زیرا خاص‌تر است.

https://example.com/page.htm
allow: /$
disallow: /

قانون قابل اجرا: disallow: /، زیرا قانون allow فقط در URL ریشه اعمال می شود.

منبع اطلاعات این صفحه راهنمای رسمی گوگل برای اصول سئو، صفحه می‌باشد. این محتوا توسط گوگل تهیه شده و تحت مجوز Creative Commons Attribution 4.0 منتشر شده است و با همین مجوز توسط من ترجمه و منتشر می‌شود.
Last updated UTC.
Last updated in Google UTC.