Da in der robots.txt häufig Applikationsinterne Pfade stehen, die der Webmaster vor den Suchmaschinen „verstecken“ möchte, kann das teils von security auditoren bemängelt werden.
In diesem Fall hat man die Möglichkeit mittels dem X-Robots-Tag die ensprechenden Anweisungen für die Crawler der Suchmaschinen auch im HTTP Header der betreffenden URLs auszugeben.
Inhalt
apache
In der apache Konfiguration des VirtualHosts legt man dazu Einträge in der folgenden Form an:
<LocationMatch "/(typo3|typo3conf|typo3temp|error_path)/">
Header set X-Robots-Tag "Disallow"
</LocationMatch>
<LocationMatch "/.*_noindex.*.jpg">
Header set X-Robots-Tag "noindex, noarchive, nosnippet"
</LocationMatch>
Testen kann man das mit curl:
curl -s -D- https://www.example.com/typo3temp/ |grep 'X-Robots-Tag'
X-Robots-Tag: Disallow
curl -s -D- https://www.example.com/test_noindex.irgendwas.jpg |grep 'X-Robots-Tag'
X-Robots-Tag: noindex, noarchive, nosnippet
curl -s -D- https://www.example.com/ |grep 'X-Robots-Tag'
:~$
# Oder intern direkt auf dem Webserver:
apache@server:~$ curl -s -D- --header "Host: www.example.com" http://127.0.0.1/typo3conf/ |grep 'X-Robots-Tag'
X-Robots-Tag: Disallow
Der Artikel ist leider etwas verwirrend.
> robots.txt im HTTP Header
Die Datei „robots.txt“ und der HTTP Header „x-robots“ sind zwei unterschiedliche Baustellen:
– In der Datei „robots.txt“ kann man bspw. durch „Disallow“ dem Crawler verbieten, Inhalt aufzurufen.
– Durch den HTTP Header „X-Robots-Tag: noindex“ kann man dem Crawler verbieten, Inhalte zu indexieren.
> Header set X-Robots-Tag „Disallow“
Demnach ist ein HTTP Header „X-Robots-Tag: Disallow“ nicht vorgesehen, siehe:
https://developers.google.com/search/docs/advanced/robots/robots_meta_tag#directives