ROBOTS: Difference between revisions

From NikkiWiki
Jump to navigation Jump to search
No edit summary
No edit summary
 
(23 intermediate revisions by the same user not shown)
Line 1: Line 1:
[[image:Exciting Comics 3.jpg|thumb|[Image.]&ensp; The Robots Exclusion Protocol will not prevent bad bots from accessing your website. <ref><code>[[commons:category:robots in art]]</code></ref>]]
[[image:Exciting Comics 3.jpg|thumb|[Image.]&ensp; The Robots Exclusion Protocol will not prevent bad bots from accessing your website. <ref><code>[[commons:category:robots in art]]</code></ref>]]


One of the first files you should add to your website is "<code>/robots.txt</code>". <ref><code>https://www.robotstxt.org/</code></ref>&ensp; This is a plaintext file for the [https://www.robotstxt.org/ Robots Exclusion Protocol] (ROBOTS language). <ref><code>https://www.robotstxt.org/robotstxt.html</code></ref>&ensp; What the "<code>/robots.txt</code>" file does is instruct which webdirectories should be accessed or avoided by web bots.
One of the first files you should add to your website is "<code>/robots.txt</code>". <ref><code>https://www.rfc-editor.org/rfc/rfc9309</code></ref> <ref><code>https://www.robotstxt.org/</code></ref>&ensp; This is a plaintext file for the Robots Exclusion Protocol (ROBOTS language, Internet Society Request for Comments [RFC] 9309). <ref><code>https://www.robotstxt.org/robotstxt.html</code></ref>&ensp; What the "<code>/robots.txt</code>" file does is instruct which webdirectories should be accessed or avoided by web bots.


An important thing to remember is that no bot is <em>required</em> to follow the [[wikipedia:Robots Exclusion Protocol|Robots Exclusion Protocol]]. <ref><code>https://www.robotstxt.org/faq/prevent.html</code></ref> <ref><code>https://www.robotstxt.org/faq/blockjustbad.html</code></ref> <ref><code>https://www.robotstxt.org/faq/legal.html</code></ref>&ensp; The protocol only affects the behavior of compliant or well-behaved bots and anyone can program a bot to ignore the Robots Exclusion Protocol.&ensp; As such, you should <em>not</em> use the Robots Exclusion Protocol to try to hide sensitive directories, especially since publicly listing the directories in "<code>/robots.txt</code>" simply gives malicious bots an easy way to find the very directories you don't want them to visit. <ref><code>https://www.robotstxt.org/faq/nosecurity.html</code></ref>&ensp; On Apache HTTP (Hypertext Transfer Protocol) Server, you should use "<code>/.htaccess</code>" (hypertext access) instead to hide directories from public access.
An important thing to remember is that no bot is <em>required</em> to follow the Robots Exclusion Protocol. <ref><code>https://www.robotstxt.org/faq/prevent.html</code></ref> <ref><code>https://www.robotstxt.org/faq/blockjustbad.html</code></ref> <ref><code>https://www.robotstxt.org/faq/legal.html</code></ref>&ensp; The protocol only affects the behavior of compliant or well-behaved bots and anyone can program a bot to ignore the Robots Exclusion Protocol.&ensp; As such, you should <em>not</em> use the Robots Exclusion Protocol to try to hide sensitive directories, especially since publicly listing the directories in "<code>/robots.txt</code>" simply gives malicious bots an easy way to find the very directories you don't want them to visit. <ref><code>https://www.robotstxt.org/faq/nosecurity.html</code></ref>&ensp; On Apache HTTP (Hypertext Transfer Protocol) Server, you should use "<code>/.htaccess</code>" (hypertext access) instead to hide directories from public access.
 
== documentation ==
 
* [https://www.rfc-editor.org/rfc/rfc9309 Internet Society RFC 9309: Robots Exclusion Protocol]
* [https://www.robotstxt.org/ <code>robotstxt.org</code>: The Web Robots Pages]
* [https://developers.google.com/search/docs/crawling-indexing/robots/ Google Developers: Introduction to <code>robots.txt</code>]
* [[wikipedia:robots.txt|<code>robots.txt</code> (Wikipedia)]]
 
== editor ==
 
{{webtext editor}}
 
== directory ==


"<code>robots.txt</code>" will only work from the root webdirectory ("<code>/</code>"). <ref><code>https://www.robotstxt.org/faq/shared.html</code></ref>
"<code>robots.txt</code>" will only work from the root webdirectory ("<code>/</code>"). <ref><code>https://www.robotstxt.org/faq/shared.html</code></ref>
== comments ==


Comments are added to the Robots Exclusion Protocol with a hash ("<code>#</code>") at the beginning of a new line.
Comments are added to the Robots Exclusion Protocol with a hash ("<code>#</code>") at the beginning of a new line.


As with all webtext files, you should use an advanced text editor such as [https://www.notepad-plus-plus.org/ Notepad-Plus-Plus] (not Microsoft Windows Notepad).&ensp; Files should be saved with [https://www.npp-user-manual.org/docs/preferences/#new-document Unix line endings and UTF-8 (Unicode Transformation Format Eight-Bit) character encoding]. <ref><code>https://www.notepad-plus-plus.org/</code></ref>
<highlight lang="robots">
# A comment.
</highlight>


== examples ==
== examples ==
Line 46: Line 63:
== SITEMAP ==
== SITEMAP ==


[https://www.sitemaps.org/ SITEMAP] is an extension of the Robots Exclusion Protocol to allow listing a sitemap in the "<code>/robots.txt</code>" file.&ensp; Having a precompiled list of links for the website available makes the bot's job to crawl and index the site a lot easier and more efficient.&ensp; Since the first thing a good bot does when accessing a website is to check for a "<code>/robots.txt</code>" file, it is best to have the link to the sitemap listed directly in the "<code>/robots.txt</code>" file so the bot doesn't have to guess whether or not the website has a sitemap available (which could be either "<code>/sitemap.txt</code>" or "<code>/sitemap.xml</code>").&ensp; The following "<code>/robots.txt</code>" provides an example of a public website with a sitemap.&ensp; Note that unlike the other ROBOTS instructions, the sitemap should be provided with a full URL (uniform resource locator) and not with a relative link.
<u>[[SITEMAP#ROBOTS|SITEMAP]]</u> is an extension of the Robots Exclusion Protocol to allow listing a [https://www.sitemaps.org/ sitemap] in the "<code>/robots.txt</code>" file. <ref><u><code>[[SITEMAP#ROBOTS]]</code></u></ref> <ref><code>https://www.sitemaps.org/</code></ref> <ref><code>https://www.sitemaps.org/protocol.html</code></ref> <ref><code>https://developers.google.com/search/docs/crawling-indexing/robots/create-robots-txt/</code></ref>&ensp; Having a precompiled list of links for the website available makes the bot's job to crawl and index the site a lot easier and more efficient.&ensp; Since the first thing a good bot does when accessing a website is to check for a "<code>/robots.txt</code>" file, it is best to have the link to the sitemap listed directly in the "<code>/robots.txt</code>" file so the bot doesn't have to guess whether or not the website has a sitemap available (which could be either "<code>/sitemap.txt</code>" or "<code>/sitemap.xml</code>").&ensp; The following "<code>/robots.txt</code>" provides an example of a public website with a sitemap.&ensp; Note that unlike the other ROBOTS instructions, the sitemap should be provided with a full URL (uniform resource locator) and not with a relative link.


<code><highlight lang="robots">
<code><highlight lang="robots">
Line 56: Line 73:
== SECURITY ==
== SECURITY ==


Additional protocols such as [https://www.securitytxt.org/ SECURITY] and [https://humanstxt.org/ HUMANS] can also be added to the Robots Exclusion Protocol but these are not officially supported so should be commented out to avoid confusing bots while still allowing nonbot users to find the relevant files.&ensp; The example below shows "<code>/robots.txt</code>" for a public website that includes additional protocols for SITEMAP, SECURITY, and HUMANS.
Additional protocols such as <u>[[SECURITY]]</u> and <u>[[HUMANS]]</u> can also be added to the Robots Exclusion Protocol but these are not officially supported so should be commented out to avoid confusing bots while still allowing nonbot users to find the relevant files.&ensp; The example below shows "<code>/robots.txt</code>" for a public website that includes additional protocols for SITEMAP, SECURITY, and HUMANS.


<code><highlight lang="robots">
<code><highlight lang="robots">
Line 68: Line 85:
== Nicole Sharp's Website ==
== Nicole Sharp's Website ==


Below is the Robots Exclusion Protocol of "<u><code>[https://www.nicolesharp.net/robots.txt nicolesharp.net/robots.txt]</code></u>" showing hidden directories ("<code>/sandbox/</code>" and "<code>/testbox/</code>") for webdevelopment plus additional protocols and comments, including a comment line to provide <u>[[attribution]]</u> to the author of the file (<u>[[Nicole Sharp]]</u>).
Below is the Robots Exclusion Protocol of "<u class="plainlinks"><code>[https://www.nicolesharp.net/robots.txt nicolesharp.net/robots.txt]</code></u>" showing hidden directories ("<code>/sandbox/</code>" and "<code>/testbox/</code>") for webdevelopment plus additional protocols and comments, including a comment line to provide <u>[[attribution]]</u> to the author of the file (<u>[[Nicole Sharp]]</u>).


<code><highlight lang="robots">
<code><highlight lang="robots">
Line 82: Line 99:
# https://www.nicolesharp.net/
# https://www.nicolesharp.net/
</highlight></code>
</highlight></code>
== MediaWiki ==
[[mw:Main Page|Wikimedia MediaWiki]] automatically applies different META ROBOTS instructions in the HEAD element to different pages, so you should not add any custom ROBOTS instructions via [[mw:HeadScript|HeadScript]].
To get webcrawlers to follow links on MediaWiki, add the following to "<code>[[mw:$wgNoFollowLinks|LocalSettings.php]]</code>". <ref><code>[[mw:$wgNoFollowLinks]]</code></ref>
<code><syntaxhighlight lang="php">
$wgNoFollowLinks = false;
# https://www.mediawiki.org/wiki/$wgNoFollowLinks
</syntaxhighlight></code>


== see also ==
== see also ==


* <u><code>https://www.nicolesharp.net/robots.txt</code></u>
* <u class="plainlinks"><code>https://www.nicolesharp.net/robots.txt</code></u>
* <code>https://www.rfc-editor.org/rfc/rfc9309</code>
* <code>https://www.robotstxt.org/</code>
* <code>https://www.robotstxt.org/</code>
* <code>https://www.sitemaps.org/</code>
* <code>https://developers.google.com/search/docs/crawling-indexing/robots/</code>
* <code>https://www.securitytxt.org/</code>
* <code>[[wikipedia:ROBOTS]]</code>
* <code>https://humanstxt.org/</code>
* <u><code>[[SITEMAP]]</code></u>
* <u><code>[[SECURITY]]</code></u>
* <u><code>[[HUMANS]]</code></u>


== references ==
== references ==

Latest revision as of 2023-09-13T15:13:06

[Image.]  The Robots Exclusion Protocol will not prevent bad bots from accessing your website. [1]

One of the first files you should add to your website is "/robots.txt". [2] [3]  This is a plaintext file for the Robots Exclusion Protocol (ROBOTS language, Internet Society Request for Comments [RFC] 9309). [4]  What the "/robots.txt" file does is instruct which webdirectories should be accessed or avoided by web bots.

An important thing to remember is that no bot is required to follow the Robots Exclusion Protocol. [5] [6] [7]  The protocol only affects the behavior of compliant or well-behaved bots and anyone can program a bot to ignore the Robots Exclusion Protocol.  As such, you should not use the Robots Exclusion Protocol to try to hide sensitive directories, especially since publicly listing the directories in "/robots.txt" simply gives malicious bots an easy way to find the very directories you don't want them to visit. [8]  On Apache HTTP (Hypertext Transfer Protocol) Server, you should use "/.htaccess" (hypertext access) instead to hide directories from public access.

documentation

editor

As with all webtext files, you should use an advanced text editor such as Notepad-Plus-Plus (not Microsoft Windows Notepad). [9]  Files should be saved with Unix line endings and UTF-8 (Unicode Transformation Format Eight-Bit) character encoding.

directory

"robots.txt" will only work from the root webdirectory ("/"). [10]

comments

Comments are added to the Robots Exclusion Protocol with a hash ("#") at the beginning of a new line.

# A comment.

examples

public

For a public website, you want to allow access to all bots in order to get the site crawled and indexed by as many search engines as possible.  The following "/robots.txt" allows all bots access to all files and directories (minus anything excluded by "/.htaccess").

User-agent: *
Disallow:
# All bots can crawl/index all files and directories.

private

Websites and webdirectories that are not publicly indexed on search engines are referred to as the "deep web" or "deepnet" (not to be confused with the "dark web" or "darknet"). [11] [12]  For example, you may want to create a mirror of your website for testing purposes but don't want the development website publicly indexed since it will create duplicate or misleading results on search engines.  The following "/robots.txt" creates a "deepnet" website that instructs all bots compliant with the Robots Exclusion Protocol to not crawl or index any part of the site.

User-agent: *
Disallow: /
# No compliant bots will crawl/index any files or directories.

hybrid

The following "/robots.txt" excludes two webdirectories ("/sandbox/" and "/testbox/") from crawling/indexing but permits access to all other files and directories on the site.

User-agent: *
Disallow: /sandbox/
Disallow: /testbox/
# Compliant bots will crawl/index all files and directories except for "/sandbox/" and "/testbox/" (exclusion is applied recursively to all subdirectories of "sandbox" and "testbox").

SITEMAP

SITEMAP is an extension of the Robots Exclusion Protocol to allow listing a sitemap in the "/robots.txt" file. [13] [14] [15] [16]  Having a precompiled list of links for the website available makes the bot's job to crawl and index the site a lot easier and more efficient.  Since the first thing a good bot does when accessing a website is to check for a "/robots.txt" file, it is best to have the link to the sitemap listed directly in the "/robots.txt" file so the bot doesn't have to guess whether or not the website has a sitemap available (which could be either "/sitemap.txt" or "/sitemap.xml").  The following "/robots.txt" provides an example of a public website with a sitemap.  Note that unlike the other ROBOTS instructions, the sitemap should be provided with a full URL (uniform resource locator) and not with a relative link.

User-agent: *
Disallow:
Sitemap: https://www.example.net/sitemap.xml

SECURITY

Additional protocols such as SECURITY and HUMANS can also be added to the Robots Exclusion Protocol but these are not officially supported so should be commented out to avoid confusing bots while still allowing nonbot users to find the relevant files.  The example below shows "/robots.txt" for a public website that includes additional protocols for SITEMAP, SECURITY, and HUMANS.

User-agent: *
Disallow:
Sitemap: https://www.example.net/sitemap.txt
# Security: https://www.example.net/.well-known/security.txt
# Humans: https://www.example.net/humans.txt

Nicole Sharp's Website

Below is the Robots Exclusion Protocol of "nicolesharp.net/robots.txt" showing hidden directories ("/sandbox/" and "/testbox/") for webdevelopment plus additional protocols and comments, including a comment line to provide attribution to the author of the file (Nicole Sharp).

User-agent: *
Disallow: /sandbox/
Disallow: /testbox/
Sitemap: https://www.nicolesharp.net/sitemap.txt
# Security: https://www.nicolesharp.net/security.txt
# Humans: https://www.nicolesharp.net/humans.txt

# Robots Exclusion Protocol for Nicole Sharp's Website.
# 2023-09-04 Nicole Sharp
# https://www.nicolesharp.net/

MediaWiki

Wikimedia MediaWiki automatically applies different META ROBOTS instructions in the HEAD element to different pages, so you should not add any custom ROBOTS instructions via HeadScript.

To get webcrawlers to follow links on MediaWiki, add the following to "LocalSettings.php". [17]

$wgNoFollowLinks = false;
# https://www.mediawiki.org/wiki/$wgNoFollowLinks

see also

references

  1. commons:category:robots in art
  2. https://www.rfc-editor.org/rfc/rfc9309
  3. https://www.robotstxt.org/
  4. https://www.robotstxt.org/robotstxt.html
  5. https://www.robotstxt.org/faq/prevent.html
  6. https://www.robotstxt.org/faq/blockjustbad.html
  7. https://www.robotstxt.org/faq/legal.html
  8. https://www.robotstxt.org/faq/nosecurity.html
  9. https://www.notepad-plus-plus.org/
  10. https://www.robotstxt.org/faq/shared.html
  11. wikipedia:deep web
  12. wikipedia:dark web
  13. SITEMAP#ROBOTS
  14. https://www.sitemaps.org/
  15. https://www.sitemaps.org/protocol.html
  16. https://developers.google.com/search/docs/crawling-indexing/robots/create-robots-txt/
  17. mw:$wgNoFollowLinks

keywords

bots, development, HUMANS, humans.txt, indexing, ROBOTS, robots.txt, SECURITY, security.txt, searchbots, SITEMAP, sitemap.txt, TXT, web, webcrawlers, webcrawling, webdevelopment, WWW