robots.txt is the
filename
A filename or file name is a name used to uniquely identify a computer file in a file system. Different file systems impose different restrictions on filename lengths.
A filename may (depending on the file system) include:
* name – base ...
used for implementing the Robots Exclusion Protocol, a standard used by
website
A website (also written as a web site) is any web page whose content is identified by a common domain name and is published on at least one web server. Websites are typically dedicated to a particular topic or purpose, such as news, educatio ...
s to indicate to visiting
web crawler
Web crawler, sometimes called a spider or spiderbot and often shortened to crawler, is an Internet bot that systematically browses the World Wide Web and that is typically operated by search engines for the purpose of Web indexing (''web spider ...
s and other
web robots which portions of the website they are allowed to visit.
The standard, developed in 1994, relies on
voluntary compliance Voluntary compliance is conforming (" complying") to a rule, without facing negative consequences if not complying.
In corporations
Voluntary compliance is one of possible ways of practicing corporate social responsibility. It is seen as an alte ...
. Malicious bots can use the file as a directory of which pages to visit, though standards bodies discourage countering this with
security through obscurity. Some archival sites ignore robots.txt. The standard was used in the 1990s to mitigate
server overload. In the 2020s, websites began denying bots that collect information for
generative artificial intelligence
Generative artificial intelligence (Generative AI, GenAI, or GAI) is a subfield of artificial intelligence that uses generative models to produce text, images, videos, or other forms of data. These models Machine learning, learn the underlyin ...
.
The "robots.txt" file can be used in conjunction with
sitemaps, another robot inclusion standard for websites.
History
The standard was proposed by
Martijn Koster, when working for
Nexor in February 1994 on the ''www-talk'' mailing list, the main communication channel for WWW-related activities at the time.
Charles Stross claims to have provoked Koster to suggest robots.txt, after he wrote a badly behaved web crawler that inadvertently caused a
denial-of-service attack on Koster's server.
The standard, initially RobotsNotWanted.txt, allowed
web developer
A web developer is a programmer who develops World Wide Web applications using a client–server model. The applications typically use HTML, CSS, and JavaScript in the client, and any general-purpose programming language in the server. is used ...
s to specify which bots should not access their website or which pages bots should not access. The internet was small enough in 1994 to maintain a complete list of all bots;
server overload was a primary concern. By June 1994 it had become a
''de facto'' standard;
most complied, including those operated by search engines such as
WebCrawler,
Lycos
Lycos, Inc. (stylized as LYCOS), is a web search engine and web portal established in 1994, spun out of Carnegie Mellon University. Lycos also encompasses a network of email, web hosting, social networking, and entertainment websites. The company ...
, and
AltaVista
AltaVista was a web search engine established in 1995. It became one of the most-used early search engines, but lost ground to Google and was purchased by Yahoo! in 2003, which retained the brand, but based all AltaVista searches on its own sear ...
.
On July 1, 2019, Google announced the proposal of the Robots Exclusion Protocol as an official standard under
Internet Engineering Task Force
The Internet Engineering Task Force (IETF) is a standards organization for the Internet standard, Internet and is responsible for the technical standards that make up the Internet protocol suite (TCP/IP). It has no formal membership roster ...
. A proposed standard was published in September 2022 as RFC 9309.
Standard
When a site owner wishes to give instructions to web robots they place a text file called in the root of the web site hierarchy (e.g. ). This text file contains the instructions in a specific format (see examples below). Robots that choose to follow the instructions try to fetch this file and read the instructions before fetching any other file from the
website
A website (also written as a web site) is any web page whose content is identified by a common domain name and is published on at least one web server. Websites are typically dedicated to a particular topic or purpose, such as news, educatio ...
. If this file does not exist, web robots assume that the website owner does not wish to place any limitations on crawling the entire site.
A robots.txt file contains instructions for bots indicating which web pages they can and cannot access. Robots.txt files are particularly important for web crawlers from search engines such as Google.
A robots.txt file on a website will function as a request that specified robots ignore specified files or directories when crawling a site. This might be, for example, out of a preference for privacy from search engine results, or the belief that the content of the selected directories might be misleading or irrelevant to the categorization of the site as a whole, or out of a desire that an application only operates on certain data. Links to pages listed in robots.txt can still appear in search results if they are linked to from a page that is crawled.
A robots.txt file covers one
origin. For websites with multiple
subdomains, each subdomain must have its own robots.txt file. If had a robots.txt file but did not, the rules that would apply for would not apply to . In addition, each
URI scheme and
port
A port is a maritime facility comprising one or more wharves or loading areas, where ships load and discharge cargo and passengers. Although usually situated on a sea coast or estuary, ports can also be found far inland, such as Hamburg, Manch ...
needs its own robots.txt file; does not apply to pages under or .
Compliance
The robots.txt protocol is widely complied with by bot operators.
Search engines
Some major
search engines following this standard include Ask,
AOL,
Baidu,
Bing,
DuckDuckGo,
Kagi,
Google,
Yahoo!,
and Yandex.
Archival sites
Some web archiving projects ignore robots.txt.
Archive Team uses the file to discover more links, such as
sitemaps. Co-founder
Jason Scott said that "unchecked, and left alone, the robots.txt file ensures no mirroring or reference for items that may have general use and meaning beyond the website's context." In 2017, the
Internet Archive
The Internet Archive is an American 501(c)(3) organization, non-profit organization founded in 1996 by Brewster Kahle that runs a digital library website, archive.org. It provides free access to collections of digitized media including web ...
announced that it would stop complying with robots.txt directives.
According to ''
Digital Trends'', this followed widespread use of robots.txt to remove historical sites from search engine results, and contrasted with the nonprofit's aim to archive "snapshots" of the internet as it previously existed.
Artificial intelligence
Starting in the 2020s, web operators began using robots.txt to deny access to bots collecting training data for
generative AI. In 2023, Originality.AI found that 306 of the thousand most-visited websites blocked
OpenAI's GPTBot in their robots.txt file and 85 blocked
Google
Google LLC (, ) is an American multinational corporation and technology company focusing on online advertising, search engine technology, cloud computing, computer software, quantum computing, e-commerce, consumer electronics, and artificial ...
's Google-Extended. Many robots.txt files named GPTBot as the only bot explicitly disallowed on all pages. Denying access to GPTBot was common among news websites such as the
BBC
The British Broadcasting Corporation (BBC) is a British public service broadcaster headquartered at Broadcasting House in London, England. Originally established in 1922 as the British Broadcasting Company, it evolved into its current sta ...
and ''
The New York Times
''The New York Times'' (''NYT'') is an American daily newspaper based in New York City. ''The New York Times'' covers domestic, national, and international news, and publishes opinion pieces, investigative reports, and reviews. As one of ...
''. In 2023, blog host
Medium announced it would deny access to all artificial intelligence web crawlers as "AI companies have leached value from writers in order to spam Internet readers".
GPTBot complies with the robots.txt standard and gives advice to web operators about how to disallow it, but ''
The Verge
''The Verge'' is an American Technology journalism, technology news website headquarters, headquartered in Lower Manhattan, New York City and operated by Vox Media. The website publishes news, feature stories, guidebooks, product reviews, cons ...
''s David Pierce said this only began after "training the underlying models that made it so powerful". Also, some bots are used both for search engines and artificial intelligence, and it may be impossible to block only one of these options.
''
404 Media'' reported that companies like
Anthropic and
Perplexity.ai circumvented robots.txt by renaming or spinning up new scrapers to replace the ones that appeared on popular
blocklists.
Security
Despite the use of the terms ''allow'' and ''disallow'', the protocol is purely advisory and relies on the compliance of the
web robot; it cannot enforce any of what is stated in the file. Malicious web robots are unlikely to honor robots.txt; some may even use the robots.txt as a guide to find disallowed links and go straight to them. While this is sometimes claimed to be a security risk, this sort of ''
security through obscurity'' is discouraged by standards bodies. The
National Institute of Standards and Technology
The National Institute of Standards and Technology (NIST) is an agency of the United States Department of Commerce whose mission is to promote American innovation and industrial competitiveness. NIST's activities are organized into Outline of p ...
(NIST) in the United States specifically recommends against this practice: "System security should not depend on the secrecy of the implementation or its components." In the context of robots.txt files, security through obscurity is not recommended as a security technique.
Alternatives
Many robots also pass a special
user-agent to the web server when fetching content. A web administrator could also configure the server to automatically return failure (or
pass alternative content) when it detects a connection using one of the robots.
Some sites, such as
Google
Google LLC (, ) is an American multinational corporation and technology company focusing on online advertising, search engine technology, cloud computing, computer software, quantum computing, e-commerce, consumer electronics, and artificial ...
, host a
humans.txt
file that displays information meant for humans to read. Some sites such as
GitHub
GitHub () is a Proprietary software, proprietary developer platform that allows developers to create, store, manage, and share their code. It uses Git to provide distributed version control and GitHub itself provides access control, bug trackin ...
redirect humans.txt to an ''About'' page.
Previously, Google had a joke file hosted at
/killer-robots.txt
instructing
the Terminator not to kill the company founders
Larry Page
Lawrence Edward Page (born March 26, 1973) is an American businessman, computer engineer and computer scientist best known for co-founding Google with Sergey Brin.
Page was chief executive officer of Google from 1997 until August 2001 when ...
and
Sergey Brin.
Examples
This example tells all robots that they can visit all files because the wildcard
*
stands for all robots and the
Disallow
directive has no value, meaning no pages are disallowed. Search engine giant Google open-sourced their robots.txt parser, and recommends testing and validating rules on the robots.txt file using community-built testers such as Tame the Bots and Real Robots Txt.
User-agent: *
Disallow:
This example has the same effect, allowing all files rather than prohibiting none.
User-agent: *
Allow: /
The same result can be accomplished with an empty or missing robots.txt file.
This example tells all robots to stay out of a website:
User-agent: *
Disallow: /
This example tells all robots not to enter three directories:
User-agent: *
Disallow: /cgi-bin/
Disallow: /tmp/
Disallow: /junk/
This example tells all robots to stay away from one specific file:
User-agent: *
Disallow: /directory/file.html
All other files in the specified directory will be processed.
This example tells one specific robot to stay out of a website:
User-agent: BadBot # replace 'BadBot' with the actual user-agent of the bot
Disallow: /
This example tells two specific robots not to enter one specific directory:
User-agent: BadBot # replace 'BadBot' with the actual user-agent of the bot
User-agent: Googlebot
Disallow: /private/
Example demonstrating how comments can be used:
# Comments appear after the "#" symbol at the start of a line, or after a directive
User-agent: * # match all bots
Disallow: / # keep them out
It is also possible to list multiple robots with their own rules. The actual robot string is defined by the crawler. A few robot operators, such as
Google
Google LLC (, ) is an American multinational corporation and technology company focusing on online advertising, search engine technology, cloud computing, computer software, quantum computing, e-commerce, consumer electronics, and artificial ...
, support several user-agent strings that allow the operator to deny access to a subset of their services by using specific user-agent strings.
Example demonstrating multiple user-agents:
User-agent: googlebot # all Google services
Disallow: /private/ # disallow this directory
User-agent: googlebot-news # only the news service
Disallow: / # disallow everything
User-agent: * # any robot
Disallow: /something/ # disallow this directory
The use of the wildcard * in rules
The directive
Disallow: /something/
blocks all files and subdirectories starting with
/something/
.
In contrast using a wildcard, (if supported by the crawler), allows for more complex patterns in specifying paths and files to allow or disallow from crawling, for example
Disallow: /something/*/other
blocks URLs such as:
/something/foo/other
/something/bar/other
It would not prevent the crawling of
/something/foo/else
, as that would not match the pattern.
The wildcard
*
allows greater flexibility but may not be recognized by all crawlers, although it is part of the Robots Exclusion Protocol RFC
A wildcard at the end of a rule in effect does nothing, as that is the standard behaviour.
Nonstandard extensions
Crawl-delay directive
The crawl-delay value is supported by some crawlers to throttle their visits to the host. Since this value is not part of the standard, its interpretation is dependent on the crawler reading it. It is used when the multiple burst of visits from bots is slowing down the host. Yandex interprets the value as the number of seconds to wait between subsequent visits.
Bing defines crawl-delay as the size of a time window (from 1 to 30 seconds) during which BingBot will access a web site only once.
Google ignores this directive, but provides an interface in its
search console for webmasters, to control the
Googlebot's subsequent visits.
User-agent: bingbot
Allow: /
Crawl-delay: 10
Sitemap
Some crawlers support a
Sitemap
directive, allowing multiple
Sitemaps in the same
robots.txt in the form
Sitemap: ''full-url''
:
Sitemap: http://www.example.com/sitemap.xml
Universal "*" match
The ''Robot Exclusion Standard'' does not mention the "*" character in the
Disallow:
statement.
Meta tags and headers
In addition to root-level robots.txt files, robots exclusion directives can be applied at a more granular level through the use of
Robots meta tags and X-Robots-Tag HTTP headers. The robots meta tag cannot be used for non-HTML files such as images, text files, or PDF documents. On the other hand, the X-Robots-Tag can be added to non-HTML files by using
.htaccess and
files.
A "noindex" meta tag
A "noindex" HTTP response header
X-Robots-Tag: noindex
The X-Robots-Tag is only effective after the page has been requested and the server responds, and the robots meta tag is only effective after the page has loaded, whereas robots.txt is effective before the page is requested. Thus if a page is excluded by a robots.txt file, any robots meta tags or X-Robots-Tag headers are effectively ignored because the robot will not see them in the first place.
Maximum size of a robots.txt file
The Robots Exclusion Protocol requires crawlers to parse at least 500 kibibytes (512000 bytes) of robots.txt files, which Google maintains as a 500 kibibyte file size restriction for robots.txt files.
See also
*
ads.txt
, a standard for listing authorized ad sellers
*
security.txt
, a file to describe the process for security researchers to follow in order to report security vulnerabilities
*
eBay v. Bidder's Edge
*
Automated Content Access Protocol – A failed proposal to extend robots.txt
*
BotSeer – Now inactive search engine for robots.txt files
*
Distributed web crawling
*
Focused crawler
*
Internet Archive
The Internet Archive is an American 501(c)(3) organization, non-profit organization founded in 1996 by Brewster Kahle that runs a digital library website, archive.org. It provides free access to collections of digitized media including web ...
*
Meta elements for search engines
*
National Digital Library Program (NDLP)
*
National Digital Information Infrastructure and Preservation Program (NDIIPP)
*
nofollow
nofollow is a setting on a web page hyperlink that directs search engines not to use the link for page ranking calculations. It is specified in the page as a type of link relation; that is: <a rel="nofollow" ...>. Because search engi ...
*
noindex
*
Perma.cc
*
Sitemaps
*
Spider trap
*
Web archiving
*
Web crawler
Web crawler, sometimes called a spider or spiderbot and often shortened to crawler, is an Internet bot that systematically browses the World Wide Web and that is typically operated by search engines for the purpose of Web indexing (''web spider ...
References
Further reading
*
External links
*
{{DEFAULTSORT:Robots Exclusion Standard
Search engine optimization
Websites
Web scraping
Text files