Hướng dẫn về Robots.txt
Điều gì robots.txt thực ra làm — điều này controls crawling, không lập chỉ mục — plus đó chính xác syntax, cách Google xử lý điều này dưới đó hood, và đó mistakes đó break các trang.
Ngôn ngữ
1 tín hiệu bằng chứng trên trang này
- Công cụ trực tuyến liên quanrobots.txt Tester
Robots.txt là một đơn giản-text file tại đó root of mỗi host đó tells các crawler mà URLs they có thể và có thể không yêu cầu. Đó một điều để nhận right: điều này controls crawling, không lập chỉ mục. MỘT disallowed URL có thể vẫn là được lập chỉ mục không có một snippet nếu đây là linked từ elsewhere — để giữ một trang out of đó chỉ mục bạn dùng noindex, và đó trang không được là blocked trong robots.txt hoặc Google không bao giờ sees đó noindex. Google hỗ trợ chỉ người dùng-agent, cho phép, disallow, và sitemap (noindex, nofollow, và crawl-delay đã là dropped Sept 1, 2019). Điều này lives tại /robots.txt, là scoped để một host+giao thức+port, caps tại 500 KiB, caches ~24h, và một 4xx có nghĩa là không restrictions trong khi một 5xx có thể stall crawling site-wide. không block render-cốt yếu CSS/JS, và không rely on điều này để hide bất cứ điều gì — đó file là công khai.
Tóm tắt — Robots.txt là text file tại root của bạn trang web đó tells các crawler mà các URL họ’re được phép để yêu cầu. một điều mọi người nhận sai: nó controls crawling, không lập chỉ mục. Blocking trang làm không xóa nó từ Google — blocked trang có thể vẫn hiển thị lên trong tìm kiếm (chỉ không có mô tả). nếu bạn muốn trang out của Google, đó khác tool (
noindex), và bạn phải không block nó trong robots.txt hoặc Google không bao giờ sees instruction.
Điều gì robots.txt file là
Khi công cụ tìm kiếm wants để crawl của bạn trang web, đầu tiên điều nó looks cho là
file tại https://yourdomain.com/robots.txt. đó file là list của instructions
telling các crawler mà parts của bạn trang web họ có thể và có thể không yêu cầu. nó chỉ
đơn giản text, và Bạn có thể đọc bất kỳ trang web robots.txt by typing /robots.txt sau khi
domain.
minimal một looks như điều này:
Evidence for this claim Cloudflare Radar summarizes which AI user-agent names were observed in robots.txt files during the 28 days ending 2026-07-30. Scope: A dated Cloudflare Radar context chart describing observed robots.txt patterns; it is not a recommendation or a site-specific policy measurement. Confidence: high · Verified: Cloudflare Radar: AI user agents found in robots.txtThe chart summarizes which AI user-agent names Cloudflare observed in robots.txt files during the selected four-week period.
User-agent: *
Disallow: /admin/
Sitemap: https://yourdomain.com/sitemap.xmlđó nói: để mỗi crawler (*), không yêu cầu bất cứ điều gì dưới /admin/, và by
way, ở đây nơi my sitemap là.
một điều để understand: blocking ≠ removing
Đây là single phần lớn phổ biến mistake trong tất cả SEO, so I’ll chẳng hạn nó loudly: robots.txt dừng trang từ là được crawl, không từ là được lập chỉ mục. Evidence for this claim A robots.txt rule controls crawling rather than guaranteeing removal from Google Search; a URL can still appear when Google cannot crawl it. Scope: Google Search crawler behavior. Other crawlers can interpret robots.txt differently. Confidence: high · Verified: Google: Introduction to robots.txt
những điều đó sound như giống nhau điều. họ không phải. Crawling là engine fetching và reading của bạn trang. lập chỉ mục là engine deciding để store nó và hiển thị nó trong kết quả. Robots.txt chỉ chặn đầu tiên step.
So nếu bạn block trang trong robots.txt, Google sẽ không fetch nó — nhưng nếu khác các trang link để đó URL, Google có thể vẫn chỉ mục URL itself và hiển thị nó trong tìm kiếm. nó chỉ hiển thị lên as bare link với không mô tả underneath, vì Google là không bao giờ được phép để đọc trang để ghi một.
Nếu của bạn thực tế goal là “get this page out of Google,” (bản dịch) «nhận này trang out of Google,» robots.txt là đó sai tool.
Bạn muốn noindex (một meta tag on đó trang hoặc an HTTP header). Và ở đây đó
trap: một noindex chỉ hoạt động nếu Google có thể crawl đó trang để see điều này. Nếu bạn
block đó trang trong robots.txt và thêm một noindex, Google không bao giờ crawl điều này, không bao giờ
sees đó noindex, và đó trang có thể linger trong đó chỉ mục anyway. Pick một job:
block crawling hoặc block lập chỉ mục, không cả hai on đó giống nhau URL.
right tool cho mỗi job
- “Don’t waste crawling on this.” (bản dịch) «không waste crawling on này.» →
robots.txtDisallow. - “Keep this out of Google’s index.” (bản dịch) «Giữ này out of Google chỉ mục.» →
noindex(và không block điều này). - “Nobody should be able to see this at all.” (bản dịch) «Không ai nên là able để see này tại all.» → password protection / login.
Robots.txt là công khai — anyone có thể đọc điều này — so listing
/secret/trong điều này chỉ tells đó world đó folder tồn tại.
một vài rules đó trip mọi người lên
- Một file theo host.
https://example.com,https://www.example.com, vàhttps://blog.example.commỗi cần của họ own robots.txt. họ không share. - nó lives tại root. nó có để là tại
/robots.txt, all lowercase. file trong subfolder làm không có gì. - không block của bạn CSS và JavaScript. Google cần những điều đó files để see của bạn trang way khách truy cập làm. Blocking them có thể hurt bạn.
Muốn đầy đủ syntax reference — wildcards, Allow/Disallow matching rules,
Cách Google xử lý 404 so với máy chủ lỗi on của bạn robots.txt, crawl-delay, và Cách
để manage AI các crawler — chuyển để Nâng cao tab.
Tóm tắt — Robots.txt là đơn giản-text file tại root của mỗi host (
/robots.txt, lowercase) đó implements Robots Exclusion Giao thức (RFC 9309). nó controls crawling, không lập chỉ mục — disallowed URL có thể vẫn là được lập chỉ mục không có snippet nếu linked elsewhere; để deindex sử dụngnoindexon trang Đó là không blocked. Google hỗ trợ chỉuser-agent,allow,disallow, vàsitemap;noindex/nofollow/crawl-delaylà dropped Sept 1, 2019. Phạm vi là một host+giao thức+port. Matching dùng phần lớn-cụ thể (longest) rule, least-restrictive on ties;*và$là wildcards; paths là case-sensitive. Google caps file tại 500 KiB, caches ~24h, xử lý 4xx (except 429) as không-restrictions, và on 5xx stalls crawling cho ~12h sau đó falls lại để cuối cùng good copy cho ~30 days. không block render-cốt yếu CSS/JS, và không treat nó as access control — file là công khai.
Điều gì nó là và nơi nó lives
Robots.txt implements đó Robots Exclusion Giao thức, đã tạo by Martijn Koster trong 1994 và finally standardized trong 2022 as RFC 9309 — co-authored by Google Gary Illyes, Henner Zeller, Lizzi Sassman, và Koster himself. Đó tiêu chuẩn own wording: “This document specifies and extends the ‘Robots Exclusion Protocol’ method originally defined by Martijn Koster in 1994 for service owners to control how content served by their services may be accessed, if at all, by automatic clients known as crawlers.” (bản dịch) «Này document specifies và extends đó ‘Robots Exclusion Giao thức’ phương thức originally được định nghĩa by Martijn Koster trong 1994 cho service owners để control cách nội dung phân phối by của họ services có thể là accessed, nếu tại all, by tự động clients known as các crawler.»
một vài facts đó catch mọi người out:
- Điều này phải được tại đó root, lowercase. RFC 9309 là rõ ràng: “The rules MUST be accessible in a file named ‘/robots.txt’ (all lowercase) in the top-level path of the service.” (bản dịch) «Đó rules Phải được accessible trong một file named ‘/robots.txt’ (all lowercase) trong đó top-cấp độ path of đó service.» Google adds đó URL itself là case-sensitive, như bất kỳ URL.
- Phạm vi là một host + giao thức + port. Google: “The rules listed in the
robots.txt file apply only to the host, protocol, and port number where the
robots.txt file is hosted.” (bản dịch) «Đó rules listed trong đó robots.txt file apply chỉ để đó host, giao thức, và port number nơi đó robots.txt file là hosted.» So
https://example.com,https://www.example.com,https://blog.example.com, vàhttp://example.commỗi cần của họ own file. Subdomains và các giao thức không share một. - Supported các giao thức cho Google là HTTP, HTTPS, và FTP.
misconception đó defines điều này topic: crawling so với lập chỉ mục
nếu bạn take một điều từ điều này trang, take điều này: robots.txt controls crawling, không lập chỉ mục. Blocking URL không phải giống nhau as removing nó từ Google. Evidence for this claim A robots.txt rule controls crawling rather than guaranteeing removal from Google Search; a URL can still appear when Google cannot crawl it. Scope: Google Search crawler behavior. Other crawlers can interpret robots.txt differently. Confidence: high · Verified: Google: Introduction to robots.txt
Google own intro doc says điều này plainly: robots.txt “is not a mechanism for keeping
a web page out of Google. To keep a web page out of Google, block indexing with
noindex or password-protect the page.” (bản dịch) «không phải một mechanism cho giữ một web trang out of Google. Để giữ một web trang out of Google, block lập chỉ mục với hoặc password-bảo vệ đó trang.» Và on điều gì thực ra happens để một blocked
URL: “While Google won’t crawl or index the content blocked by a robots.txt file,
we might still find and index a disallowed URL if it is linked from other places on
the web.” (bản dịch) «Trong khi Google sẽ không crawl hoặc chỉ mục đó nội dung blocked by một robots.txt file, we có thể vẫn tìm và chỉ mục một disallowed URL nếu điều này là linked từ other places on đó web.» Đó kết quả là đó familiar snippet-ít hơn listing: “its URL can still
appear in search results, but the search result won’t have a description.” (bản dịch) «của nó URL có thể vẫn xuất hiện trong kết quả tìm kiếm, nhưng đó tìm kiếm kết quả sẽ không có một mô tả.»
Đó spec restates đó giống nhau nuance cho đó disallow rule itself: “Google can’t
index the content of pages which are disallowed for crawling, but it may still
index the URL and show it in search results without a snippet.” (bản dịch) «Google không thể chỉ mục đó nội dung of các trang mà là disallowed cho crawling, nhưng điều này có thể vẫn chỉ mục đó URL và cho thấy điều này trong kết quả tìm kiếm không có một snippet.»
Vì sao bạn phải không block trang bạn muốn để noindex
Này là đó trap đó âm thầm breaks deindexing efforts. MỘT noindex chỉ hoạt động nếu
Google có thể crawl đó trang để đọc điều này. Google block-lập chỉ mục doc spells out đó
dependency: “For the noindex rule to be effective, the page or resource must not
be blocked by a robots.txt file, and it has to be otherwise accessible to the
crawler. If the page is blocked by a robots.txt file or the crawler can’t access
the page, the crawler will never see the noindex rule, and the page can still
appear in search results, for example if other pages link to it.” (bản dịch) «Cho đó rule để là effective, đó trang hoặc tài nguyên không được là blocked by một robots.txt file, và điều này có để là nếu không accessible để đó crawler. Nếu đó trang là blocked by một robots.txt file hoặc đó crawler không thể access đó trang, đó crawler sẽ không bao giờ see đó rule, và đó trang có thể vẫn xuất hiện trong kết quả tìm kiếm, ví dụ nếu other các trang link để điều này.» Evidence for this claim Google must be able to crawl a URL to see a noindex rule; blocking the URL in robots.txt can prevent the rule from being observed. Scope: Google Search indexing controls for HTML meta robots and X-Robots-Tag rules. Confidence: high · Verified: Google: Block indexing with noindex
So nếu của bạn goal là để nhận trang out của chỉ mục, John Mueller hướng dẫn là sạch nhất way để remember nó: Khi bạn muốn để unindex các trang, bạn nên không block Google với robots.txt, nhưng rather sử dụng noindex.
lived proof: I blocked hai của chúng ta own cao-xếp hạng các trang
I không có để argue này từ theory. Trong my thử nghiệm blocking hai cao-xếp hạng Ahrefs các trang, I có chủ ý blocked them trong robots.txt và tracked điều gì happened. Đó các trang stayed được lập chỉ mục và kept xếp hạng — they đã không vanish. Điều gì we lost đã là đó freshness Google nhận từ re-crawling: “We lost a position here or there and all of the featured snippets for the pages.” (bản dịch) «We lost một position ở đây hoặc ở đó và all of đó featured snippets cho đó các trang.» Traffic dropped, nhưng ít hơn I dự kiến: “Both pages lost some traffic. But it didn’t result in much change to our traffic estimate like I was expecting.” (bản dịch) «Cả hai các trang lost some traffic. Nhưng điều này đã không kết quả trong nhiều thay đổi để của chúng ta traffic estimate như I đã là expecting.»
My takeaway từ đó dữ liệu: “Accidentally blocking pages (that Google already ranks) from being crawled using robots.txt probably isn’t going to have much impact on your rankings, and they will likely still show in the search results.” (bản dịch) «Accidentally blocking các trang (đó Google đã ranks) từ đang được crawl dùng robots.txt probably không going để có nhiều impact on của bạn thứ hạng, và they sẽ có khả năng vẫn cho thấy trong đó kết quả tìm kiếm.» Và đó blunt version: “Don’t block pages you want indexed. It hurts. Not as bad as you might think it does—but it still hurts.” (bản dịch) «không block các trang bạn muốn được lập chỉ mục. Điều này hurts. Không as bad as bạn có thể think điều này làm—nhưng điều này vẫn hurts.»
Đó flip side là reassurance: khi Search Console flags “Indexed, though blocked by robots.txt” (bản dịch) «Được lập chỉ mục, though Bị chặn bởi robots.txt» cho một utility URL — cart, filter, parameter junk — đây là thường một non-vấn đề. As Mueller put điều này về thêm-để-cart URLs, blocking them là fine, và ngay cả khi they nhận “được lập chỉ mục,” đây là khó có khả năng they’ll là shown trong tìm kiếm trừ khi ai đó chạy một very cụ thể query cho những URLs, mà real người dùng không làm. Distinguish đó scary-sounding warning từ an thực tế vấn đề: điều này chỉ matters nếu đó blocked URL là một trang bạn thực ra wanted được crawl và được lập chỉ mục.
syntax ( reference)
robots.txt là đặt của groups. mỗi group bắt đầu với một hoặc nhiều hơn
User-agent lines naming mà crawler(s) nó áp dụng để, followed by rules cho
them.
User-agent: *
Disallow: /cart/
Disallow: /search
Allow: /search/help
User-agent: Googlebot
Disallow: /no-google/
Sitemap: https://example.com/sitemap.xmlNgười dùng-agent và groups. MỘT crawler obeys chính xác một group — đó một với đó hầu hết cụ thể người dùng-agent đó matches điều này — và bỏ qua đó rest. Google: “Google’s crawlers determine the correct group of rules by finding in the robots.txt file the group with the most specific user agent that matches the crawler’s user agent. Other groups are ignored.” (bản dịch) «Google các crawler determine đó correct group of rules by finding trong đó robots.txt file đó group với đó hầu hết cụ thể người dùng agent đó matches đó crawler người dùng agent. Other groups là đã bỏ qua.» Và: “Only one group is valid for a particular crawler.” (bản dịch) «Chỉ một group là hợp lệ cho một particular crawler.» (Bing behaves cùng cách — hơn on đó dưới.)
Đó cũng có nghĩa là một cụ thể group không nhận topped lên với đó wildcard group
rules — đây là dùng on của nó own, không đã hợp nhất với User-agent: *. Google spec là
rõ ràng đó “user agent specific groups and global groups (*) are not
combined.” (bản dịch) «người dùng agent cụ thể groups và global groups ( ) không phải combined.» So nếu bạn ghi một User-agent: googlebot-news group, điều này có để là
self-contained: bất cứ điều gì bạn vẫn muốn điều này để obey từ đó * group có để là
repeated bên trong điều này, hoặc Googlebot-News đơn giản sẽ không see những rules tại all.
Disallow và Cho phép. Disallow lists paths một crawler không được yêu cầu;
Allow carves exceptions lại out. Đó disallow rule “specifies paths that must
not be accessed by the crawlers identified by the user-agent line the disallow rule
is grouped with.” (bản dịch) «specifies paths đó không được là accessed by đó các crawler identified by người dùng-agent line đó disallow rule là grouped với.» Đó allow rule “specifies paths that may be accessed by the
designated crawlers. When no path is specified, the rule is ignored.” (bản dịch) «specifies paths đó có thể là accessed by đó designated các crawler. Khi không path là specified, đó rule là đã bỏ qua.»
Đó matching rule (hầu hết các hướng dẫn nhận này sai). Khi hai rules conflict, đó
hầu hết cụ thể một wins, và “most specific” (bản dịch) «hầu hết cụ thể» có nghĩa là longest path: “When
matching robots.txt rules to URLs, crawlers use the most specific rule based on the
length of the rule path. In case of conflicting rules, including those with
wildcards, Google uses the least restrictive rule.” (bản dịch) «Khi matching robots.txt rules để URLs, các crawler dùng đó hầu hết cụ thể rule dựa trên đó length of đó rule path. Trong case of conflicting rules, including những với wildcards, Google dùng đó least restrictive rule.» So on một genuine tie, đó
least restrictive rule wins — Allow beats Disallow. RFC 9309 frames điều này as
đó “Longest Match” (bản dịch) «Longest Match»: “The following example shows that in the case of two rules,
the longest one is used for matching.” (bản dịch) «Đó sau ví dụ cho thấy đó trong đó case of hai rules, đó longest một được dùng cho matching.» Evidence for this claim Google resolves matching robots.txt rules by path specificity and uses the least restrictive rule when equally specific rules conflict. Scope: Google crawler interpretation of robots.txt rules; other crawlers may implement different extensions. Confidence: high · Verified: Google: Robots.txt interpretation
Worked ví dụ:
User-agent: *
Allow: /folder/page
Disallow: /folder/URL /folder/page matches cả hai rules. Allow: /folder/page (12 chars) là
lâu hơn Disallow: /folder/ (8 chars), so lâu hơn, nhiều hơn cụ thể Cho phép wins
và trang là crawlable.
Wildcards * và $. Google: “* designates 0 or more instances of any
valid character. $ designates the end of the URL.” (bản dịch) «designates 0 hoặc hơn instances of bất kỳ hợp lệ character. designates đó end of đó URL.» So Disallow: /*.pdf$ chặn
mỗi URL ending trong .pdf, và Disallow: /*? chặn mỗi URL containing một query
string. Matching là prefix-based: Disallow: /fish matches /fish, /fish.html,
và /fish/salmon.html, nhưng không /Fish (case-sensitive) hoặc /catfish (đây là một
prefix, không một substring).
Case sensitivity (đó subtle một). Trường và người dùng-agent names là
case-insensitive; path các giá trị là case-sensitive. Google: “Both the
user-agent field name and its value are case-insensitive,” (bản dịch) «Cả hai đó trường name và của nó giá trị là case-insensitive,» nhưng “The field name
(disallow) is case-insensitive, but its value is case-sensitive,” (bản dịch) «Đó trường name ( ) là case-insensitive, nhưng của nó giá trị là case-sensitive,» và “The path
value must start with / to designate the root and the value is case-sensitive.” (bản dịch) «Đó path giá trị phải bắt đầu với để designate đó root và đó giá trị là case-sensitive.»
So Disallow: /Folder/ không block /folder/.
Sitemap. Sitemap: directive takes đầy đủ absolute URL và là independent
của groups — nó có thể sit anywhere trong file.
Comments. Bất cứ điều gì sau # là đã bỏ qua: “To include comments, precede your
comment with the # character.” (bản dịch) «Để bao gồm comments, precede của bạn comment với đó character.»
noindex, nofollow, và crawl-delay không phải robots.txt directives
Này là một persistent myth. As of September 1, 2019, Google retired hỗ trợ cho
unsupported, undocumented rules — including noindex, nofollow, và
crawl-delay. Google announcement focused on rules unsupported by đó internet
draft, such as crawl-delay, nofollow, và noindex, noting they đã là không bao giờ
được ghi lại by Google, và đã nói Google đã là retiring all code đó xử lý
unsupported và unpublished rules (such as noindex) on đó date. Đó supported
trường list là ngắn, và đó spec calls out đó exclusion trực tiếp: Google hỗ trợ
user-agent, allow, disallow, và sitemap, và “other fields such as
crawl-delay aren’t supported.” (bản dịch) «other các trường such as không supported.»
nếu bạn relied on noindex trong robots.txt, alternatives là noindex meta tag
hoặc X-Robots-Tag header, 404/410 các mã trạng thái, password protection, Disallow,
hoặc Search Console removal tool.
Cách Google xử lý robots.txt dưới hood
- Size limit: 500 KiB. “Google enforces a robots.txt file size limit of 500 kibibytes (KiB). Content which is after the maximum file size is ignored.” (bản dịch) «Google enforces một robots.txt file size limit of 500 kibibytes (KiB). Nội dung mà là sau đó maximum file size là đã bỏ qua.» RFC 9309 aligns: “The parsing limit MUST be at least 500 kibibytes [KiB].” (bản dịch) «Đó phân tích cú pháp limit Phải được ít nhất 500 kibibytes [KiB].»
- Bộ nhớ đệm: ~24 hours. “Google generally caches the contents of robots.txt file for up to 24 hours, but may cache it longer in situations where refreshing the cached version isn’t possible.” (bản dịch) «Google generally caches đó nội dung of robots.txt file cho lên để 24 hours, nhưng có thể bộ nhớ đệm điều này lâu hơn trong situations nơi refreshing đó được lưu đệm version không có thể.» So một thay đổi không nhất thiết picked lên instantly. Evidence for this claim Google generally caches robots.txt for up to 24 hours and changes crawling behavior according to the HTTP status returned for the file. Scope: Google crawler handling of robots.txt fetches, including documented 4xx, 5xx, and redirect behavior. Confidence: high · Verified: Google: Robots.txt file handling
- Các mã trạng thái quan trọng site-wide. Này là đó part hầu hết các hướng dẫn skip:
- 4xx (except 429) → không restrictions. “Google’s crawlers treat all 4xx
errors, except 429, as if a valid robots.txt file didn’t exist. This means that
Google assumes that there are no crawl restrictions.” (bản dịch) «Google các crawler treat all 4xx các lỗi, except 429, as nếu một hợp lệ robots.txt file đã không exist. Này có nghĩa là đó Google assumes đó có không crawl restrictions.» MỘT 404 on
/robots.txtcó nghĩa là “crawl everything.” (bản dịch) «crawl mọi thứ.» (không dùng 401/403 để throttle crawling.) - 5xx / unreachable → dangerous. “For the first 12 hours, Google stops
crawling the site but keeps trying to fetch the robots.txt file. If Google can’t
fetch a new version, for the next 30 days Google will use the last good version,
while still trying to fetch a new version.” (bản dịch) «Cho đó đầu tiên 12 hours, Google dừng crawling đó site nhưng giữ trying để fetch đó robots.txt file. Nếu Google không thể fetch một new version, cho đó tiếp theo 30 days Google sẽ dùng đó cuối cùng good version, trong khi vẫn trying để fetch một new version.» So một máy chủ lỗi on
/robots.txtcó thể effectively disallow của bạn toàn bộ site cho đó đầu tiên ~12 hours, thì chạy on đó cuối cùng được lưu đệm copy cho ~30 days. MỘT persistently erroring robots.txt là một site-wide crawl risk. Và nếu đây là vẫn hỏng sau những 30 days: “If the errors are still not fixed after 30 days: If the site is generally available to Google, Google will behave as if there is no robots.txt file (but still keep checking for a new version).” (bản dịch) «Nếu đó các lỗi là vẫn không fixed sau 30 days: Nếu đó site là generally khả dụng để Google, Google sẽ behave as nếu có không robots.txt file (nhưng vẫn giữ kiểm tra cho một new version).» Nói cách khác, một robots.txt đó không bao giờ recovers không stay disallowed forever — Google eventually falls lại để crawling với không restrictions, đó giống nhau as một 404. - 3xx → Google follows ít nhất five chuyển hướng hops, thì xử lý điều này as một 404.
- 4xx (except 429) → không restrictions. “Google’s crawlers treat all 4xx
errors, except 429, as if a valid robots.txt file didn’t exist. This means that
Google assumes that there are no crawl restrictions.” (bản dịch) «Google các crawler treat all 4xx các lỗi, except 429, as nếu một hợp lệ robots.txt file đã không exist. Này có nghĩa là đó Google assumes đó có không crawl restrictions.» MỘT 404 on
robots.txt trong Bing, Yandex, và beyond
grouping và syntax là essentially shared, nhưng hai divergences quan trọng:
- crawl-delay. Google bỏ qua điều này, Bing vẫn honors điều này, và Yandex dropped điều này trong 2018 — Yandex own tài liệu trạng thái đó “From February 22, 2018, Yandex doesn’t take into account the Crawl-delay directive,” (bản dịch) «Từ February 22, 2018, Yandex không take vào account đó Crawl-delay directive,» pointing bạn để đó site tốc độ crawl setting trong Yandex Quản trị viên web thay vì. Bing là rõ ràng đó “The robots.txt file is the only valid place to set a crawl-delay directive for MSNBot,” (bản dịch) «Đó robots.txt file là đó chỉ hợp lệ place để set một crawl-delay directive cho MSNBot,» và đó directive “accepts only positive, whole numbers as values… the higher the value, the more throttled down the crawl rate will be.” (bản dịch) «accepts chỉ positive, toàn bộ numbers as các giá trị… đó cao hơn đó giá trị, đó hơn throttled xuống đó tốc độ crawl sẽ là.» Note Bing xử lý đó giá trị as một relative throttle, không theo nghĩa đen N seconds.
- Đó bingbot-section gotcha. Chỉ như Google “only one group per crawler” (bản dịch) «chỉ một group theo crawler»
rule, nếu bạn tạo một
User-agent: bingbotsection, Bing áp dụng chỉ đó section và bỏ qua đóUser-agent: *defaults (crawl-delay excepted). So một bingbot-cụ thể group phải repeat mỗi directive bạn vẫn muốn enforced. - Amazon bộ nhớ đệm và failure behavior. Amazon says của nó các crawler có thể dùng một robots.txt copy được lưu đệm trong đó trước đó 30 days. Nếu they không thể fetch đó file, they behave as though điều này không exist. MỘT checker có thể báo cáo đó copy điều này fetched, nhưng điều này không thể prove mà được lưu đệm version Amazon dùng—hoặc đó Amazon observed đó giống nhau failure as đó checker. Evidence for this claim Amazon says its crawlers may use a robots.txt copy cached within the previous 30 days and behave as though the file does not exist when they cannot fetch it. Scope: Amazon crawler behavior only; a checker result cannot establish which cached copy Amazon used or whether Amazon observed the same fetch failure. Confidence: high · Verified: Amazon: Amazonbot
Managing AI các crawler với robots.txt
Robots.txt là hiện tại main lever cho managing AI các crawler, và họ obey giống nhau group/người dùng-agent syntax. catch: những điều này là tách biệt tokens, so blocking một không block others.
- OpenAI chạy several distinct bots, và đó controls cho mỗi là
independent — allowing một không cho phép đó others, và blocking một không
block đó others.
GPTBotcrawl nội dung cho training OpenAI’s models;OAI-SearchBotsurfaces các trang trong ChatGPT’s tìm kiếm features;OAI-AdsBotkiểm tra đó safety of các trang được gửi as quảng cáo (của nó dữ liệu không dùng cho training). Block training vớiUser-agent: GPTBot/Disallow: /— đó alone sẽ không dừng đó tìm kiếm hoặc quảng cáo bots.ChatGPT-Userlà khác nhau again: điều này fires cho actions một person triggers bên trong ChatGPT hoặc một Custom GPT, không tự động crawling, và OpenAI says “robots.txt rules may not apply” (bản dịch) «robots.txt rules có thể không apply» để điều này — so không count on mộtDisallowđể giữ điều này out. Nếu bạn làm thay đổi điều gìOAI-SearchBotcó thể crawl, OpenAI notes điều này có thể take về 24 hours cho đó cập nhật để reach của họ tìm kiếm các hệ thống. - Google-Extended controls Gemini/Vertex training và là tách biệt từ Googlebot.
- Others worth naming:
CCBot(Phổ biến Crawl),ClaudeBot(Anthropic),PerplexityBot, vàBytespider.
hard caveat: compliance là voluntary. Robots.txt các yêu cầu; nó không enforce. Well-behaved các crawler obey nó; scrapers có thể và làm bỏ qua nó. nếu bạn truly cần để giữ điều gì đó away từ bot, đó authentication/blocking vấn đề, không robots.txt một.
phổ biến mistakes (và các cách sửa)
** file là 200, nhưng nó không phải thực ra usable robots file.** Status alone là
không đủ. Capture phản hồi Content-Type và đầu tiên bytes: CDN/custom-lỗi
template có thể trả về HTML tại /robots.txt với 200, mà phải là warning rather
hơn “cho phép all” truyền. Google documents robots.txt as UTF-8 đơn giản text và có thể
bỏ qua không hợp lệ characters. single UTF-8 BOM tại beginning là tolerated, nhưng
thứ hai BOM, BOM trong middle, UTF-16 bytes, NULs, hoặc invisible/control characters
có thể alter đầu tiên token hoặc invalidate line. hiển thị byte offset và affected
line; không silently normalize file trước khi telling người dùng Điều gì crawler
đã nhận. Apply Google effective 500 KiB phân tích cú pháp limit
trước khi calculating cho phép/disallow kết quả, trong khi vẫn reporting discarded tail.
- Blocking một trang bạn cũng muốn deindexed. Block + noindex có nghĩa là Google không bao giờ crawl điều này để see đó noindex. Dùng noindex không có đó block.
- Dùng robots.txt để deindex. Sai tool hoàn toàn — đó là noindex job.
- Blocking render-cốt yếu CSS/JS. Google cần những assets để see đó trang as
một người dùng làm; Google own sample robots.txt explicitly re-cho phép
.css/.jsso Googlebot có thể crawl them. - Trying để hide sensitive dữ liệu. RFC 9309 là blunt: “The Robots Exclusion
Protocol is not a substitute for valid content security measures. Listing paths
in the robots.txt file exposes them publicly and thus makes the paths
discoverable.” (bản dịch) «Đó Robots Exclusion Giao thức không phải một substitute cho hợp lệ nội dung security measures. Listing paths trong đó robots.txt file exposes them publicly và thus làm đó paths discoverable.» Disallowing
/secret-admin/theo nghĩa đen advertises điều này. Dùng auth. - MỘT stray
Disallow: /. Này chặn đó entire site cho đó named crawler — đó classic staging leftover đó takes một site out of Google. - Ignoring đó phản hồi code on
/robots.txt. MỘT 5xx có thể stall crawling site-wide; treat đó file availability as production-cốt yếu.
cho rộng hơn pipeline điều này sits bên trong — phát hiện, crawl scheduler, kết xuất, và Cách crawling differs từ lập chỉ mục — see crawling hub. sibling topics (ngân sách crawl, và Cách Google xử lý sitemaps) mỗi go deeper on một piece của điều này.
AI summary
condensed take on Nâng cao version:
- Robots.txt = một đơn giản-text file tại đó root of mỗi host (
/robots.txt, lowercase) implementing đó Robots Exclusion Giao thức (RFC 9309, 2022; origin 1994). Đó URL là case-sensitive. - Điều này controls crawling, không lập chỉ mục. Này là đó #1 myth. MỘT disallowed URL có thể
vẫn là được lập chỉ mục — shown as một bare URL với không mô tả — nếu đây là linked từ
elsewhere. Để giữ một trang out of đó chỉ mục, dùng
noindex, và đó trang phải không là blocked trong robots.txt hoặc Google không bao giờ crawl điều này để see đó noindex. - Patrick thử nghiệm proved điều này: blocking hai cao-xếp hạng các trang đã không deindex them — they kept xếp hạng nhưng lost featured snippets và các mô tả. “Don’t block pages you want indexed. It hurts.” (bản dịch) «không block các trang bạn muốn được lập chỉ mục. Điều này hurts.»
- Right tool cho mỗi job: robots.txt = crawl control;
noindex= chỉ mục control; password/auth = secrecy (robots.txt là công khai). - Supported các trường:
user-agent,allow,disallow,sitemap. Không supported by Google:noindex,nofollow,crawl-delay(retired Sept 1, 2019). - Phạm vi là một host + giao thức + port — mỗi subdomain/giao thức cần của nó own file.
- Matching: hầu hết-cụ thể (longest path) rule wins; least-restrictive (Cho phép)
on ties. Wildcards
*và$; path các giá trị là case-sensitive. MỘT cụ thể group không đã hợp nhất với đó*group — điều này stands alone. - Dưới đó hood: 500 KiB size limit; ~24h bộ nhớ đệm; 4xx (except 429) → không restrictions; 5xx/unreachable → ~12h crawl dừng, thì cuối cùng good copy cho ~30 days, thì không restrictions nếu vẫn hỏng; 3xx → follows ≥5 hops thì xử lý as 404.
- Other engines: Bing honors
crawl-delay; Google bỏ qua điều này và Yandex đã dừng honoring điều này trong February 2018 (dùng Yandex Quản trị viên web tốc độ crawl setting). MỘTbingbotsection làm Bing bỏ qua đó*defaults. - AI các crawler (GPTBot, OAI-SearchBot, OAI-AdsBot, ChatGPT-Người dùng,
Google-Extended, CCBot, ClaudeBot, PerplexityBot, Bytespider) là tách biệt
tokens với independent controls — block một, đó others vẫn crawl.
ChatGPT-Userlà người dùng-triggered, không tự động, so robots.txt có thể không apply để điều này tại all; compliance từ các crawler generally là voluntary. - không block render-cốt yếu CSS/JS, không dùng điều này để hide sensitive dữ liệu (đây là
công khai), và watch cho một stray
Disallow: /.
Tài liệu chính thức
Chính-nguồn tài liệu từ các công cụ tìm kiếm và tiêu chuẩn itself.
- Introduction để robots.txt — Người mới bắt đầu doc, including crawl-so với-chỉ mục caveat. Bắt đầu ở đây.
- Tạo và submit robots.txt file / Cách Google interprets robots.txt đặc tả — đầy đủ reference: supported các trường, grouping, matching, wildcards, size limit, bộ nhớ đệm, và status-code xử lý.
- Block Tìm kiếm lập chỉ mục với noindex — Vì sao
noindextrang phải không là blocked trong robots.txt. - note on unsupported rules trong robots.txt (July 2019) — announcement đó
noindex,nofollow, vàcrawl-delayhỗ trợ ends Sept 1, 2019.
** tiêu chuẩn**
- RFC 9309 — Robots Exclusion Giao thức — IETF tiêu chuẩn (Koster, Illyes, Zeller, Sassman; Sept 2022), including
/robots.txtlocation requirement, longest-match rule, 500 KiB phân tích cú pháp limit, và security-considerations note.
Bing / Microsoft
- Bingbot hướng dẫn — hiện tại Bing Quản trị viên web hướng dẫn documents
crawl-delaycác giá trị từ 1–20 seconds. - Cách Tạo robots.txt File (Bing Quản trị viên web Tools help) — Bing robots.txt hướng dẫn và tester.
Quotes từ nguồn
On—record statements từ Google, Bing, và RFC. mỗi link là deep link đó jumps để quoted passage on nguồn trang.
Google — crawling, không lập chỉ mục
- “This is used mainly to avoid overloading your site with requests; it is not a mechanism for keeping a web page out of Google. To keep a web page out of Google, block indexing with
noindexor password-protect the page.” (bản dịch) «Này là dùng mainly để tránh overloading trang web của bạn với các yêu cầu; điều này không phải một mechanism cho giữ một web trang out of Google. Để giữ một web trang out of Google, block lập chỉ mục với hoặc password-bảo vệ đó trang.» — Google Search Central tài liệu. Nhảy đến trích dẫn - “While Google won’t crawl or index the content blocked by a robots.txt file, we might still find and index a disallowed URL if it is linked from other places on the web.” (bản dịch) «Trong khi Google sẽ không crawl hoặc chỉ mục đó nội dung blocked by một robots.txt file, we có thể vẫn tìm và chỉ mục một disallowed URL nếu điều này là linked từ other places on đó web.» Nhảy đến trích dẫn
- “If your web page is blocked with a robots.txt file, its URL can still appear in search results, but the search result won’t have a description.” (bản dịch) «Nếu của bạn web trang là blocked với một robots.txt file, của nó URL có thể vẫn xuất hiện trong kết quả tìm kiếm, nhưng đó tìm kiếm kết quả sẽ không có một mô tả.» Nhảy đến trích dẫn
Google — Vì sao noindex trang phải stay crawlable
- “For the
noindexrule to be effective, the page or resource must not be blocked by a robots.txt file, and it has to be otherwise accessible to the crawler. If the page is blocked by a robots.txt file or the crawler can’t access the page, the crawler will never see thenoindexrule, and the page can still appear in search results, for example if other pages link to it.” (bản dịch) «Cho đó rule để là effective, đó trang hoặc tài nguyên không được là blocked by một robots.txt file, và điều này có để là nếu không accessible để đó crawler. Nếu đó trang là blocked by một robots.txt file hoặc đó crawler không thể access đó trang, đó crawler sẽ không bao giờ see đó rule, và đó trang có thể vẫn xuất hiện trong kết quả tìm kiếm, ví dụ nếu other các trang link để điều này.» — Google Search Central tài liệu. Nhảy đến trích dẫn
Google — location, phạm vi, và spec
- “The rules listed in the robots.txt file apply only to the host, protocol, and port number where the robots.txt file is hosted.” (bản dịch) «Đó rules listed trong đó robots.txt file apply chỉ để đó host, giao thức, và port number nơi đó robots.txt file là hosted.» Nhảy đến trích dẫn
- “Google can’t index the content of pages which are disallowed for crawling, but it may still index the URL and show it in search results without a snippet.” (bản dịch) «Google không thể chỉ mục đó nội dung of các trang mà là disallowed cho crawling, nhưng điều này có thể vẫn chỉ mục đó URL và cho thấy điều này trong kết quả tìm kiếm không có một snippet.» Nhảy đến trích dẫn
- “When matching robots.txt rules to URLs, crawlers use the most specific rule based on the length of the rule path. In case of conflicting rules, including those with wildcards, Google uses the least restrictive rule.” (bản dịch) «Khi matching robots.txt rules để URLs, các crawler dùng đó hầu hết cụ thể rule dựa trên đó length of đó rule path. Trong case of conflicting rules, including những với wildcards, Google dùng đó least restrictive rule.» Nhảy đến trích dẫn
- “
*designates 0 or more instances of any valid character.$designates the end of the URL.” (bản dịch) «designates 0 hoặc hơn instances of bất kỳ hợp lệ character. designates đó end of đó URL.» Nhảy đến trích dẫn - “The field name (
disallow) is case-insensitive, but its value is case-sensitive.” (bản dịch) «Đó trường name ( ) là case-insensitive, nhưng của nó giá trị là case-sensitive.» Nhảy đến trích dẫn
Google — size, bộ nhớ đệm, và các mã trạng thái
- “Google enforces a robots.txt file size limit of 500 kibibytes (KiB). Content which is after the maximum file size is ignored.” (bản dịch) «Google enforces một robots.txt file size limit of 500 kibibytes (KiB). Nội dung mà là sau đó maximum file size là đã bỏ qua.» Nhảy đến trích dẫn
- “Google generally caches the contents of robots.txt file for up to 24 hours, but may cache it longer in situations where refreshing the cached version isn’t possible.” (bản dịch) «Google generally caches đó nội dung of robots.txt file cho lên để 24 hours, nhưng có thể bộ nhớ đệm điều này lâu hơn trong situations nơi refreshing đó được lưu đệm version không có thể.» Nhảy đến trích dẫn
- “Google’s crawlers treat all 4xx errors, except 429, as if a valid robots.txt file didn’t exist. This means that Google assumes that there are no crawl restrictions.” (bản dịch) «Google các crawler treat all 4xx các lỗi, except 429, as nếu một hợp lệ robots.txt file đã không exist. Này có nghĩa là đó Google assumes đó có không crawl restrictions.» Nhảy đến trích dẫn
- “For the first 12 hours, Google stops crawling the site but keeps trying to fetch the robots.txt file. If Google can’t fetch a new version, for the next 30 days Google will use the last good version, while still trying to fetch a new version.” (bản dịch) «Cho đó đầu tiên 12 hours, Google dừng crawling đó site nhưng giữ trying để fetch đó robots.txt file. Nếu Google không thể fetch một new version, cho đó tiếp theo 30 days Google sẽ dùng đó cuối cùng good version, trong khi vẫn trying để fetch một new version.» Nhảy đến trích dẫn
- “If the errors are still not fixed after 30 days: If the site is generally available to Google, Google will behave as if there is no robots.txt file (but still keep checking for a new version).” (bản dịch) «Nếu đó các lỗi là vẫn không fixed sau 30 days: Nếu đó site là generally khả dụng để Google, Google sẽ behave as nếu có không robots.txt file (nhưng vẫn giữ kiểm tra cho một new version).» Nhảy đến trích dẫn
- “User agent specific groups and global groups (
*) are not combined.” (bản dịch) «Người dùng agent cụ thể groups và global groups ( ) không phải combined.» Nhảy đến trích dẫn
RFC 9309 — tiêu chuẩn
- “This document specifies and extends the ‘Robots Exclusion Protocol’ method originally defined by Martijn Koster in 1994 for service owners to control how content served by their services may be accessed, if at all, by automatic clients known as crawlers.” (bản dịch) «Này document specifies và extends đó ‘Robots Exclusion Giao thức’ phương thức originally được định nghĩa by Martijn Koster trong 1994 cho service owners để control cách nội dung phân phối by của họ services có thể là accessed, nếu tại all, by tự động clients known as các crawler.» — RFC 9309 (Koster, Illyes, Zeller, Sassman). Nhảy đến trích dẫn
- “The rules MUST be accessible in a file named ‘/robots.txt’ (all lowercase) in the top-level path of the service.” (bản dịch) «Đó rules Phải được accessible trong một file named ‘/robots.txt’ (all lowercase) trong đó top-cấp độ path of đó service.» Nhảy đến trích dẫn
- “The Robots Exclusion Protocol is not a substitute for valid content security measures. Listing paths in the robots.txt file exposes them publicly and thus makes the paths discoverable.” (bản dịch) «Đó Robots Exclusion Giao thức không phải một substitute cho hợp lệ nội dung security measures. Listing paths trong đó robots.txt file exposes them publicly và thus làm đó paths discoverable.» Nhảy đến trích dẫn
Bing — crawl-delay
- Bingbot hướng dẫn documents
crawl-delayrange của 1–20 seconds. Đây là Bing-cụ thể hướng dẫn, không extension đó Google xử lý.
Patrick Stox — blocking thử nghiệm (my own Ahrefs thử nghiệm, reviewed by Joshua Hardwick)
- “We lost a position here or there and all of the featured snippets for the pages.” (bản dịch) «We lost một position ở đây hoặc ở đó và all of đó featured snippets cho đó các trang.» Nhảy đến trích dẫn
- “Both pages lost some traffic. But it didn’t result in much change to our traffic estimate like I was expecting.” (bản dịch) «Cả hai các trang lost some traffic. Nhưng điều này đã không kết quả trong nhiều thay đổi để của chúng ta traffic estimate như I đã là expecting.» Nhảy đến trích dẫn
- “Don’t block pages you want indexed. It hurts. Not as bad as you might think it does—but it still hurts.” (bản dịch) «không block các trang bạn muốn được lập chỉ mục. Điều này hurts. Không as bad as bạn có thể think điều này làm—nhưng điều này vẫn hurts.» Nhảy đến trích dẫn
Robots.txt — syntax bảng tra nhanh
Directives (Google-supported)
| Directive | Điều gì nó làm | Ví dụ |
|---|---|---|
User-agent: | Bắt đầu group; names crawler(s) nó áp dụng để. | User-agent: Googlebot |
Disallow: | Paths crawler phải không yêu cầu. | Disallow: /cart/ |
Allow: | Carves exception lại out của Disallow. | Allow: /cart/help |
Sitemap: | Absolute URL của sitemap (group-independent). | Sitemap: https://x.com/sitemap.xml |
Special characters
| Token | Meaning |
|---|---|
* | Trong path: 0+ của bất kỳ character. As người dùng-agent: all các crawler. |
$ | Anchors end của URL. Disallow: /*.pdf$ chặn các URL ending trong .pdf. |
# | Comment — mọi thứ sau khi nó on line là đã bỏ qua. |
/ | Path các giá trị phải bắt đầu với /. Disallow: / chặn toàn bộ trang web. |
Matching rules
- phần lớn-cụ thể (longest path) rule wins.
- On tie, least-restrictive wins —
AllowbeatsDisallow. - Path các giá trị là case-sensitive (
/Folder/≠/folder/); trường và người dùng-agent names là case-insensitive. - crawler obeys chính xác một group — phần lớn cụ thể người dùng-agent match.
không supported by Google (retired Sept 1, 2019): noindex, nofollow,
crawl-delay. Bing vẫn honors crawl-delay (as relative throttle, không
literal seconds); Yandex đã dừng honoring nó on Feb 22, 2018 — đặt tốc độ crawl
trong Yandex Quản trị viên web thay vì.
Dưới hood (Google)
- Size limit: 500 KiB (rest đã bỏ qua). bộ nhớ đệm: ~24h.
- 4xx (except 429) → không restrictions. 5xx/unreachable → ~12h crawl dừng, sau đó cuối cùng good copy ~30 days, sau đó không restrictions nếu vẫn hỏng. 3xx → ≥5 hops sau đó được xem như 404.
- cụ thể
User-agentgroup là không bao giờ đã hợp nhất với*group.
Phổ biến recipes
# Block a folder for everyone
User-agent: *
Disallow: /admin/
# Block all PDFs
User-agent: *
Disallow: /*.pdf$
# Block AI training crawler (won't stop search bots)
User-agent: GPTBot
Disallow: /
# Point to the sitemap
Sitemap: https://example.com/sitemap.xml Robots.txt audit checklist
- Đó file tồn tại chính xác
https://yourdomain.com/robots.txt(root, lowercase) và trả về một200. - Mỗi host và giao thức có của nó own file (
www, non-www, subdomains,httpso vớihttps). - Không stray
Disallow: /blocking đó toàn bộ site (đó classic staging leftover). - Bạn là không blocking bất kỳ trang bạn cũng muốn để
noindex(Google phải crawl điều này để see đó noindex). - Bạn là không dùng robots.txt để deindex các trang — đó là
noindex’s job. - Render-cốt yếu CSS/JS là không blocked.
- Không
noindex,nofollow, hoặccrawl-delaylines aimed tại Google (unsupported since Sept 1, 2019). - Không sensitive paths listed — đó file là công khai và advertises whatever điều này names; dùng authentication thay vì.
- Wildcard rules (
*,$) tested so với real URLs; remember path các giá trị là case-sensitive. - Nếu bạn có một
User-agent: bingbot(hoặc bất kỳ bot-cụ thể) section, điều này repeats mỗi directive bạn vẫn muốn enforced — bot-cụ thể groups bỏ qua đó*defaults. -
Sitemap:directive present với an absolute URL. - File là dưới 500 KiB.
- Validated trong đó Search Console robots.txt báo cáo; spot-checked bất kỳ “Indexed, though blocked by robots.txt” (bản dịch) «Được lập chỉ mục, though Bị chặn bởi robots.txt» URLs để xác nhận họ là genuinely junk và không các trang bạn wanted được crawl.
mental models
1. Crawl control, không chỉ mục control. Robots.txt chỉ governs liệu crawler có thể fetch URL. nó nói không có gì về liệu URL nhận được lập chỉ mục. Internalize điều này và phần lớn robots.txt mistakes disappear. Blocking URL ≠ removing nó từ Google.
2. Hầu hết-cụ thể rule wins; least-restrictive breaks ties.
Khi hai rules touch đó giống nhau URL, đó một với đó lâu hơn path wins. On một genuine
tie, Allow beats Disallow. Này single rule giải thích nearly mỗi “why is this
URL crawlable / blocked?” (bản dịch) «vì sao là này URL crawlable / blocked?» head-scratcher.
3. Block so với noindex — cây quyết định.
- Muốn nó out của chỉ mục? →
noindex, và hãy đảm bảo nó không blocked trong robots.txt (so Google có thể crawl nó để see noindex). - Muốn để dừng wasting crawl on nó nhưng không care nếu bare URL hiển thị? →
Disallowtrong robots.txt. - Muốn nó genuinely riêng tư? → authentication. Robots.txt là công khai và không bao giờ hides bất cứ điều gì.
không bao giờ block và noindex giống nhau URL — họ cancel out, và trang có thể linger trong chỉ mục.
4. Đó file availability là production-cốt yếu.
Đó HTTP phản hồi code on /robots.txt có site-wide consequences: một 4xx có nghĩa là “no
restrictions,” (bản dịch) «không restrictions,» nhưng một 5xx có thể dừng Google crawling của bạn toàn bộ site cho ~12 hours.
Treat /robots.txt như bất kỳ other cốt yếu endpoint.
Fetch và audit robots.txt trên hosts
Robots.txt là scoped theo host+giao thức+port, so nó easy để forget một variant tồn tại. điều này pulls mỗi variant của domain và flags bất kỳ đó lỗi hoặc 404.
macOS / Linux
for url in "https://example.com/robots.txt" "https://www.example.com/robots.txt" "http://example.com/robots.txt"; do
code=$(curl -s -o /dev/null -w "%{http_code}" "$url")
echo "$code $url"
doneWindows (PowerShell)
$urls = "https://example.com/robots.txt","https://www.example.com/robots.txt","http://example.com/robots.txt"
foreach ($u in $urls) {
$r = Invoke-WebRequest -Uri $u -UseBasicParsing -SkipHttpErrorCheck
Write-Host "$($r.StatusCode) $u"
}200 on mỗi line là Điều gì bạn muốn. 4xx có nghĩ là Google xử lý đó
host+giao thức as unrestricted (fine nếu intentional); 5xx là dangerous
một — nó có thể stall crawling cho đó host.
Regex để pull mỗi Disallow/Cho phép path
hữu ích cho diffing robots.txt trước khi/sau khi edit, hoặc scripting kiểm tra so với list của các URL bạn care về.
import re
robots_txt = open("robots.txt").read()
# Captures the directive (Disallow/Allow) and its path value
pattern = re.compile(r'^(Disallow|Allow):\s*(\S*)', re.IGNORECASE | re.MULTILINE)
for directive, path in pattern.findall(robots_txt):
print(f"{directive}: {path or '(empty — matches nothing)'}")(Disallow|Allow)— captures mà directive fired.\s*(\S*)— captures đó path giá trị, allowing cho an emptyDisallow:(mà Google xử lý as “disallow nothing” (bản dịch) «disallow không có gì»).re.IGNORECASE— trường names là case-insensitive mặc dù path các giá trị không (không lowercase đó paths themselves khi bạn extend này).
Chrome DevTools Console snippet
Paste vào Console panel (F12 → Console) on bất kỳ trang để fetch và print đó host robots.txt không có leaving tab:
fetch(new URL('/robots.txt', location.origin))
.then(r => r.text())
.then(t => console.log(t))
.catch(e => console.error('No robots.txt or fetch blocked:', e));Bookmarklet: jump để hiện tại trang web robots.txt
Save as bookmark với điều này as URL (drag nó để của bạn bookmarks bar, hoặc thêm nó manually và paste code vào “URL” trường), sau đó nhấp nó on bất kỳ trang:
javascript:(function(){var u=new URL('/robots.txt',location.origin).href;location.href=u;})(); Tools cho kiểm thử và validating robots.txt
- Google Search Console — robots.txt báo cáo (Settings) — Google hiện tại surface cho seeing đó robots.txt Google fetched, của nó status, và bất kỳ phân tích cú pháp các vấn đề. (Đó old standalone robots.txt tester đã là retired; kiểm thử hiện tại lives trong này báo cáo.)
- GSC URL Inspection — xác nhận liệu một cụ thể URL là blocked từ crawling và cách Google hiện tại sees điều này.
- GSC “Indexed, though blocked by robots.txt” (bản dịch) «Được lập chỉ mục, though Bị chặn bởi robots.txt» (Các trang báo cáo) — surfaces URLs Google được lập chỉ mục despite đó block, so bạn có thể decide mà là real các vấn đề.
- Bing Quản trị viên web Tools — robots.txt tester / hướng dẫn — Bing tương đương cho validating của bạn file so với bingbot.
- Ahrefs Site Audit / Screaming Frog SEO Spider — crawl của bạn own site để see mà URLs là blocked, surface accidentally-disallowed các trang, và kiểm thử đó của bạn rules match đó URLs bạn intend.
- Bất kỳ trình duyệt — đó simplest kiểm tra of all: load
yourdomain.com/robots.txtvà đọc điều này. Remember mọi người khác có thể làm đó giống nhau.
Incident: bạn shipped Disallow: / để production
Đây là kinh điển staging leftover — robots.txt được xây dựng để block staging
environment nhận deployed để trực tiếp trang web, và User-agent: * / Disallow: /
chặn toàn bộ điều. Ở đây ordered recovery.
Step 1 — xác nhận blast radius.
Fetch https://yourdomain.com/robots.txt hiện tại (trình duyệt hoặc curl -I). nếu
bạn see bare Disallow: / dưới User-agent: * với không hẹp hơn Allow:
carving bất cứ điều gì lại out, mỗi crawler đó respects robots.txt là hiện tại
blocked từ của bạn đểàn bộ trang web. Continue để Step 2.
Step 2 — khắc phục file và xác nhận deploy.
Replace nó với dự kiến rules (hoặc minimal User-agent: * / Allow: / nếu
bạn’re không sure Điều gì belongs) và deploy. Re-fetch trực tiếp URL — không trust
của bạn deploy dashboard, trust thực tế phản hồi. nếu nó vẫn hiển thị old
Disallow: /, bạn có bộ nhớ đệm/CDN vấn đề, không code vấn đề — purge
bộ nhớ đệm cho đó một path trước khi moving on.
Step 3 — kiểm tra cách dài đó site đã là blocked. Google caches robots.txt cho lên để ~24 hours, so một cách sửa đó chỉ went trực tiếp sẽ không là picked lên instantly. Open Search Console’s robots.txt báo cáo để see khi Google cuối cùng fetched đó file và liệu đây là đã seen đó corrected version. Nếu điều này hasn’t tuy vậy, yêu cầu điều này là re-fetched không một manual option — bạn chờ, hoặc dùng URL Inspection on của bạn hầu hết quan trọng các trang và dùng “Request Indexing” (bản dịch) «Yêu cầu Lập chỉ mục» khi đó file là confirmed fixed.
Step 4 — kiểm tra cho thực tế damage.
- Nếu đó block lasted hours, expect little để không visible impact — Google không drop các trang từ đó chỉ mục chỉ vì một crawl đã là blocked.
- Nếu điều này lasted days để weeks, kiểm tra Search Console’s Các trang báo cáo cho một jump trong “Blocked by robots.txt” (bản dịch) «Bị chặn bởi robots.txt» và kiểm tra xem previously-được lập chỉ mục các trang moved để đó status. My own thử nghiệm blocking hai cao-xếp hạng các trang được tìm thấy they stayed được lập chỉ mục và mostly kept xếp hạng, nhưng lost freshness các tín hiệu và featured snippets — đó damage compounds với time blocked, không instantly.
- Nếu bạn see thứ hạng/impressions thực ra falling trong Search Console’s Performance báo cáo cho đó blocked window, đó là của bạn xác nhận đó incident đã có real impact, không chỉ một scare.
Step 5 — verify khắc phục took, không chỉ assume nó. Chạy cụ thể paths bạn care về qua Robots.txt Tester so với corrected file. nếu bất kỳ come lại blocked, bạn’re không đã xong — go lại để Step 2.
Concrete mistakes để tránh
Blocking trang trong robots.txt đó bạn cũng muốn noindexed.
Vì sao nó sai: noindex chỉ hoạt động nếu crawler có thể đọc trang để see
nó. Block trang và Google không bao giờ crawl nó, không bao giờ sees noindex, và
trang có thể linger trong chỉ mục nếu bất cứ điều gì links để nó. Làm thay vì: leave
trang crawlable và put noindex on trang itself (meta tag hoặc
X-Robots-Tag header).
Dùng robots.txt as của bạn deindexing tool.
Vì sao đây là sai: robots.txt controls crawling, không lập chỉ mục. Google own tài liệu
là rõ ràng đó điều này “is not a mechanism for keeping a web page out of
Google.” (bản dịch) «không phải một mechanism cho giữ một web trang out of Google.» MỘT disallowed URL có thể vẫn cho thấy lên trong kết quả, chỉ không có một
mô tả. Làm thay vì: dùng noindex (trang không blocked) để thực ra xóa một
trang từ đó chỉ mục.
Blocking render-cốt yếu CSS hoặc JavaScript.
Vì sao nó sai: Google renders của bạn các trang với thực trình duyệt để see them
way người dùng làm. Block assets đó xây dựng layout hoặc inject nội dung và
Google có thể see hỏng hoặc trang rỗng. Làm thay vì: leave /assets/,
/static/, hoặc wherever của bạn CSS/JS lives crawlable — Google own sample
robots.txt explicitly re-cho phép những điều này.
Listing sensitive paths trong robots.txt để “hide” them.
Vì sao đây là sai: đó file là công khai — anyone có thể đọc điều này — so Disallow: /admin-panel/ chỉ tells đó world đó folder tồn tại. RFC 9309 là blunt đó giao thức “is not a substitute for valid content security measures.” (bản dịch) «không phải một substitute cho hợp lệ nội dung security measures.» Làm
thay vì: dùng authentication hoặc một password wall cho bất cứ điều gì đó thực ra
cần để stay riêng tư.
Trailing-slash confusion trong Disallow path.
Vì sao nó sai: Disallow: /folder (không trailing slash) chặn /folder,
/folder/, /folder-name/, và /folder.html — bất cứ điều gì đó bắt đầu với
đó string, vì matching là prefix-based, không directory-based. Làm
thay vì: thêm trailing slash (Disallow: /folder/) Khi bạn chỉ có nghĩa là
directory, và kiểm thử chính xác prefix behavior so với của bạn thực các URL trước khi
shipping.
Assuming rules là case-insensitive.
Vì sao nó sai: trường names là case-insensitive nhưng path các giá trị là
case-sensitive — Disallow: /Folder/ làm không có gì để /folder/. Làm thay vì:
match chính xác case của bạn các URL thực ra sử dụng, và không assume rule “nên”
hoạt động vì nó đọc correctly để human.
phổ biến các vấn đề
”I blocked this page, but it’s still showing up in Google” (bản dịch) «I blocked này trang, nhưng đây là vẫn cho thấy lên trong Google»
- Symptom: URL vẫn xuất hiện trong kết quả tìm kiếm (thường với không mô tả) mặc dù nó disallowed trong robots.txt.
- có khả năng nguyên nhân: URL là linked từ elsewhere on web (hoặc của bạn own trang web), so Google được lập chỉ mục bare URL không có bao giờ crawling của nó nội dung. Blocking crawling là không bao giờ going để xóa nó — đó không Điều gì robots.txt làm.
- khắc phục: nếu bạn muốn nó đã biến mất, thêm
noindexđể trang và hãy đảm bảo nó không blocked trong robots.txt (temporarily cho phép crawling nếu nó hiện tại là). xác nhận khắc phục với URL Inspection trong Search Console sau khi Google có re-được crawl nó.
”Search Console says ‘Indexed, though blocked by robots.txt’” (bản dịch) «Search Console says ‘Được lập chỉ mục, though Bị chặn bởi robots.txt’»
- Symptom: đó Các trang báo cáo trong GSC flags này chính xác status cho một hoặc hơn URLs.
- Có khả năng nguyên nhân: thường harmless — đây là phổ biến cho utility URLs (cart, filtered/faceted variants, session parameters) đó đã nhận linked nơi nào đó và được lập chỉ mục as một bare URL despite đó block.
- Cách sửa: kiểm tra xem đó flagged URLs là các trang bạn thực ra wanted được lập chỉ mục. Nếu họ là junk parameter URLs, này status là dự kiến và không worth chasing. Nếu một trang bạn care về cho thấy lên ở đây, đó là đó “blocked + noindex” (bản dịch) «blocked + noindex» trap — go crawlable + noindex thay vì.
”I edited robots.txt, but the change doesn’t seem to be live” (bản dịch) «I edited robots.txt, nhưng đó thay đổi không seem để là trực tiếp»
- Symptom: bạn deployed khắc phục, nhưng tool hoặc Google vẫn seems để là reading old rules.
- có khả năng nguyên nhân: Google caches robots.txt cho lên để ~24 hours, so thay đổi không phải picked lên instantly. Riêng, CDN hoặc reverse proxy trong front của bạn trang web có thể là serving stale được lưu đệm copy của file itself.
- khắc phục: đầu tiên xác nhận trực tiếp file thực ra changed — fetch
yourdomain.com/robots.txttrực tiếp (không qua bộ nhớ đệm) hoặc chạy nó qua Robots.txt Tester. nếu trực tiếp file là đúng, delay là Google bộ nhớ đệm và chỉ cần time; kiểm tra robots.txt báo cáo trong Search Console để see Khi nó cuối cùng fetched.
”The tester says a path is allowed, but Google still isn’t crawling it” (bản dịch) «Đó tester says một path là được phép, nhưng Google vẫn không crawling điều này»
- Symptom: robots.txt rõ ràng permits URL, nhưng máy chủ nhật ký hoặc Tìm kiếm Console hiển thị không gần đây crawl activity cho nó.
- có khả năng nguyên nhân: robots.txt allowing URL không phải crawl bảo đảm — nó cần thiết nhưng chư đủ. trang có thể là orphaned (không có gì links để nó), bị thiếu từ sitemap, hoặc đơn giản thấp priority trong Google crawl scheduling.
- khắc phục: xác nhận trang là discoverable (liên kết nội bộ, sitemap inclusion) thay vì re-kiểm tra robots.txt again — file không phải bottleneck ở đây.
”My Disallow rule doesn’t seem to match the URLs I expect” (bản dịch) «My Disallow rule không seem để match đó URLs I expect»
- Symptom: rule đó looks đúng không phải blocking (hoặc là blocking cũng nhiều của) các URL bạn dự kiến.
- có khả năng nguyên nhân: case sensitivity (
/Folder/≠/folder/) hoặc prefix matching catching nhiều hơn dự kiến (Disallow: /foldercũng matches/folder-name/). - khắc phục: re-kiểm tra chính xác case của bạn trực tiếp các URL, và thêm trailing slash nếu bạn meant chỉ directory. Kiểm thử cụ thể paths trong Robots.txt Tester trước khi trusting rule.
”Bing stopped following my default rules after I added a bingbot section” (bản dịch) «Bing đã dừng sau my default rules sau I đã thêm một bingbot section»
- Symptom: rules dưới
User-agent: *đó được sử dụng để apply để Bing seem để là đã bỏ qua sau khi bạn đã thêmUser-agent: bingbotgroup. - có khả năng nguyên nhân: Bing (như Google) áp dụng chỉ phần lớn cụ thể matching
group để crawler.
bingbot-cụ thể group làm Bing bỏ qua*defaults hoàn toàn (crawl-delay excepted). - khắc phục: repeat mỗi directive bạn vẫn muốn enforced bên trong
bingbotgroup — nó có để là self-contained.
Validation các kiểm thử
Chạy những điều này sau khi bạn edit robots.txt, trước khi bạn cân nhắc thay đổi đã xong.
Kiểm thử 1: file itself là trực tiếp và đúng
- Kiểm thử để chạy:
curl -I https://yourdomain.com/robots.txt(hoặc open URL trong trình duyệt), và riêng chạy nó qua Robots.txt Tester. - Dự kiến kết quả:
HTTP/1.1 200và tester hiển thị chính xác rules bạn dự kiến để ship. - thất bại interpretation: non-200 status có nghĩ là file không phải reachable as dự kiến (kiểm tra deploy/routing); đúng-looking rules đó không match Điều gì bạn edited thường có nghĩa là bộ nhớ đệm (CDN hoặc Google ~24h bộ nhớ đệm) là serving stale copy.
- Monitoring window: immediate cho mã trạng thái và nội dung; cho phép lên để ~24 hours trước khi assuming Google có picked lên thay đổi.
- Rollback trigger: file 404s hoặc 5xxs unexpectedly, hoặc hiển thị rules bạn đã không intend để ship.
Kiểm thử 2: cụ thể path bạn changed behaves as dự kiến
- Kiểm thử để chạy: paste chính xác URL bạn meant để cho phép hoặc block vào Robots.txt Tester và kiểm tra verdict cho Googlebot (và Bingbot nếu relevant).
- Dự kiến kết quả: tool các báo cáo “được phép” cho path bạn meant để open lên, hoặc “blocked” cho path bạn meant để close off.
- thất bại interpretation: opposite verdict thường có nghĩ là
lâu hơn/nhiều hơn-cụ thể rule elsewhere trong file là overriding một bạn
chỉ đã thêm — kiểm tra cho competing
Allow/Disallowon ngắn hơn hoặc overlapping path. - Monitoring window: immediate — Đây là rules-matching kiểm tra, không trực tiếp-crawl kiểm tra.
- Rollback trigger: tested path trả về sai verdict sau khi bạn’ve confirmed trực tiếp file matches Điều gì bạn edited.
Kiểm thử 3: trang bạn unblocked thực ra nhận được crawl
- Kiểm thử để chạy: Search Console URL Inspection on đó cụ thể URL, looking tại “Crawl allowed?” (bản dịch) «Crawl được phép?» và đó cuối cùng crawl date.
- Dự kiến kết quả: “Crawl allowed: Yes,” (bản dịch) «Crawl được phép: Có,» và một crawl date sau của bạn robots.txt thay đổi.
- Failure interpretation: “Crawl allowed: No” (bản dịch) «Crawl được phép: Không» sau khi bạn believe bạn unblocked điều này có nghĩa là Google là vẫn reading được lưu đệm rules, hoặc một sản phẩm khác rule trong đó file vẫn matches đó path. Không new crawl date tuy vậy không nhất thiết có nghĩa là failure — Google có thể không có gotten để điều này tuy vậy.
- Monitoring window: 2–4 weeks cho Google để thực ra re-crawl và reflect đó thay đổi, lâu hơn on lớn hoặc thấp-priority các trang.
- Rollback trigger: “Crawl allowed” (bản dịch) «Crawl được phép» flips lại để “Không” on một sau đó kiểm tra với không robots.txt thay đổi on của bạn end — investigate một CDN/bộ nhớ đệm vấn đề.
Kiểm thử 4: bạn đã không accidentally block điều gì đó khác
- Kiểm thử để chạy: crawl trang web của bạn với Ahrefs Site Audit hoặc Screaming Frog SEO Spider sau đó thay đổi và so sánh đó “blocked by robots.txt” (bản dịch) «Bị chặn bởi robots.txt» URL list trước so với. sau.
- Dự kiến kết quả: chỉ đó URLs bạn dự kiến để newly block hoặc unblock moved giữa lists — không có gì khác changed.
- Failure interpretation: an unexpected trang cho thấy lên as newly blocked thường có nghĩa là một wildcard hoặc prefix rule khớp hơn broadly hơn dự kiến.
- Monitoring window: immediate — chạy này crawl right sau deploying.
- Rollback trigger: bất kỳ trang bạn rely on cho lưu lượng tự nhiên xuất hiện newly blocked.
Ready-để-copy prompts
Paste của bạn thực tế robots.txt nội dung (và, cho thứ hai prompt, list của các URL bạn care về) sau khi mỗi prompt.
Audit robots.txt file cho conflicts và risky rules
I'm going to paste a robots.txt file. Read it as a technical SEO would and
flag:
1. Any Disallow rule that conflicts with an Allow rule on the same or an
overlapping path (tell me which one wins under longest-match rules).
2. Any bare "Disallow: /" under a User-agent group — that blocks everything
for that crawler.
3. Any rule that would block commonly render-critical paths (CSS, JS, fonts,
images used for layout).
4. Any use of noindex, nofollow, or crawl-delay under a Google-facing
User-agent — these are not supported by Google.
5. Anything that looks like it's trying to hide a sensitive path (remember
this file is public).
Here is the file:
<paste robots.txt content>kiểm tra liệu cụ thể các URL là safely crawlable và indexable
I want the following URLs to be crawlable AND indexable by Google. Given this
robots.txt file, tell me for each URL whether it would be blocked from
crawling, and separately remind me that robots.txt says nothing about
indexing — a URL can be blocked from crawling but still indexed if it's
linked elsewhere, and a URL can be crawlable but still noindexed via a meta
tag or header this file can't show you.
Robots.txt:
<paste robots.txt content>
URLs:
<paste list of URLs> các tài nguyên worth của bạn time
My related writing
- Story của Blocking 2 Cao-Xếp hạng các trang với Robots.txt — my own thử nghiệm: I có chủ ý blocked hai cao-xếp hạng Ahrefs các trang và tracked Điều gì thực ra happened để thứ hạng và traffic. proof đó blocking ≠ deindexing.
- Người mới bắt đầu Hướng dẫn để kỹ thuật SEO — nơi robots.txt fits trong crawl/chỉ mục foundation.
- Enterprise SEO Strategies — managing robots.txt tại quy mô trên các trang web lớn.
My speaking
- Cách Tìm kiếm Hoạt động (SlideShare) — my walkthrough of crawl → render → chỉ mục, đó pipeline robots.txt gates tại đó crawl step. (Standing disclaimer áp dụng: “This is my understanding of systems… not going to be 100% complete or accurate.” (bản dịch) «Này là my understanding of các hệ thống… không going để là 100% hoàn tất hoặc chính xác.»)
Từ others
- Robots.txt và SEO: Mọi thứ Bạn Cần để Know — đó canonical Ahrefs hướng dẫn, by Joshua Hardwick (không me) — một thorough syntax-và-recipes reference.
- Khi Unindexing Các trang Từ Google Search Dùng Noindex, Không Robots.txt — Công cụ tìm kiếm Roundtable coverage of John Mueller hướng dẫn: không block với robots.txt khi bạn muốn các trang out of đó chỉ mục, dùng noindex thay vì.
- Google Giải thích Vì sao URLs Bị chặn bởi robots.txt Có thể Vẫn Là Được lập chỉ mục — Search Engine Journal coverage of Mueller “thêm-để-cart” ví dụ: blocked URLs có thể vẫn là được lập chỉ mục, và “Indexed, though blocked by robots.txt” (bản dịch) «Được lập chỉ mục, though Bị chặn bởi robots.txt» là thường harmless cho utility các trang.
- Robots.txt Tip từ Bing: Bao gồm All Relevant Directives Nếu Bạn Có một Bingbot Section — Search Engine Land on đó bingbot-section gotcha: một Bingbot-cụ thể group làm Bing bỏ qua đó wildcard defaults, so bạn phải repeat mỗi directive bạn vẫn muốn enforced.
- Overview of OpenAI Các crawler (GPTBot, OAI-SearchBot, ChatGPT-Người dùng) — OpenAI’s chính thức list of của họ crawler người dùng-agent tokens, với robots.txt các ví dụ cho blocking training so với. tìm kiếm so với. người dùng-triggered fetches riêng.
- r/TechSEO — đó community cho crawl/chỉ mục và “Indexed, though blocked by robots.txt” (bản dịch) «Được lập chỉ mục, though Bị chặn bởi robots.txt» gỡ lỗi.
Tự kiểm tra: Robots.txt
Five nhanh các câu hỏi on Điều gì robots.txt controls (và Điều gì nó không). Pick câu trả lời cho mỗi, sau đó kiểm tra.
Nhật ký thay đổi
Đã cập nhật 8 thg 8, 2026.
Tóm tắt biên tập và chi tiết thay đổi đã ghi nhận.Chi tiết thay đổi
-
Ghi chú thay đổi chi tiết hiện chỉ có bằng tiếng Anh.
Không thể so sánh đầy đủ — không có bản lưu trước đó cho lần sửa đổi này.
Đã cập nhật 30 thg 7, 2026.
Tóm tắt biên tập và chi tiết thay đổi đã ghi nhận.Chi tiết thay đổi
-
Ghi chú thay đổi chi tiết hiện chỉ có bằng tiếng Anh.
Không thể so sánh đầy đủ — không có bản lưu trước đó cho lần sửa đổi này.
Đã cập nhật 19 thg 7, 2026.
Tóm tắt biên tập và chi tiết thay đổi đã ghi nhận.Chi tiết thay đổi
-
Ghi chú thay đổi chi tiết hiện chỉ có bằng tiếng Anh.
Không thể so sánh đầy đủ — không có bản lưu trước đó cho lần sửa đổi này.
Đã cập nhật 18 thg 7, 2026.
Tóm tắt biên tập và chi tiết thay đổi đã ghi nhận.Chi tiết thay đổi
-
Ghi chú thay đổi chi tiết hiện chỉ có bằng tiếng Anh.
-
Ghi chú thay đổi chi tiết hiện chỉ có bằng tiếng Anh.
-
Ghi chú thay đổi chi tiết hiện chỉ có bằng tiếng Anh.
-
Ghi chú thay đổi chi tiết hiện chỉ có bằng tiếng Anh.
-
Ghi chú thay đổi chi tiết hiện chỉ có bằng tiếng Anh.
Không thể so sánh đầy đủ — không có bản lưu trước đó cho lần sửa đổi này.
Who's been ignoring my robots.txt?
This is live data from this site, not an illustration. My robots.txt
disallows /api/trap/, and the only link to it is invisible to
humans — so a compliant crawler will never request it. Every user-agent
below fetched it anyway. (Humans poking at it with curl show
up too; the user-agent usually gives them away.)