Suchmaschinen analysieren im weltweiten Netz die Dokumenten-Inhalte. Die Suchmaschinen-Optimierung (SEO = Serach-engine-optimization) strebt eine günstige Reihenfolge der Ergebnisse an und versucht ein günstiges Ranking von Websites zu erreichen.
Für die Netzerkundung verwenden Suchmaschinen-Betreiber Web-Robots, die auch unter den Begriffen Web-Wanderers, Crawlers, Spiders bekannt sind. Suchrobots, wie z.B. Googlebot, Googlebot-Mobile, Googlebot-Image untersuchen mehr oder minder alle Domains und IP-Adressen.
Ein Robot besucht zunächst das Stammverzeichnis der Domain und liest dort i.a. zunächst die robots.txt, index.htm, sitemap.htm-Dateien. Fehlen diese Dateien, so ist die Untersuchung dieser Domain i.a. beendet. ( siehe de.wikipedia: Robots_Exclusion_Standard , Sitemaps , de.wikipedia: Webcrawler , Suchmaschinenoptimierung (SEO) ).
Es gibt prüfende, filternde, downloadende Robots. Es gibt seriöse und unseriöse Robots. Typische Fragestellungen zu robots sind:
Wie werden mithilfe einer robots.txt-Datei Dokumente und Verzeichnisse für Robots gesperrt? Ein Robot besucht zunächst das Stammverzeichnis der Domain, liest die robots.txt-Datei und interpretiert diese. Alle seriösen robots beachten die robots.txt-Datei. Deshalb kann mit Hilfe der robots.txt-Datei das Schnüffeln von seriösen Robots eingeengt werden.
Beispiel: de.wikipedia.org verwendet robots.txt .
Beispiel: für eine robots.txt-Datei
User-agent: * Disallow: /
so wird der Spider-Zugriff auf die gesamte Website die untersagt. Nachfolgend ein Beispiel für eine robots.txt-Datei:
# === Aktivieren, falls Site in Bearbeitung: # User-agent: * # Disallow: / Sitemap: http://mydomain/sitemap.xml User-agent: * Disallow: /temp User-agent: * Disallow: /privat/* User-agent: * Disallow: /*.gif$ User-agent: * Disallow: /*.jpg$ User-agent: * Disallow: /*.png$ User-agent: * Disallow: /*.js$ User-agent: Googlebot-Image Disallow: / User-agent: Mediapartners-Google* Disallow: / User-agent: UbiCrawler Disallow: / User-agent: MSIECrawler Disallow: / User-agent: SiteSnagger Disallow: / User-agent: WebStripper Disallow: / User-agent: WebCopier Disallow: / User-agent: Fetch Disallow: / User-agent: Offline Explorer Disallow: / User-agent: Teleport Disallow: / User-agent: TeleportPro Disallow: / User-agent: WebZIP Disallow: / User-agent: linko Disallow: / User-agent: HTTrack Disallow: / User-agent: Microsoft.URL.Control Disallow: / User-agent: Xenu Disallow: / User-agent: larbin Disallow: / User-agent: libwww Disallow: / User-agent: ZyBORG Disallow: / User-agent: Download Ninja Disallow: / User-agent: wget Disallow: / User-agent: grub-client Disallow: / User-agent: k2spider Disallow: / User-agent: NPBot Disallow: / User-agent: WebReaper Disallow: / # ende von robots.txt
Bemerkungen:
Bei "User-agent: *" bedeutet das Wildcard-Zeichen * "alle Webcrawler".
Disallow: /temp untersagt den Spider-Zugriff auf alle Dateien und Verzeichnisse, die mit temp beginnen.
Disallow: /private.htm untersagt den Spider-Zugriff auf private.htm
Disallow: /privat/* untersagt den Spider-Zugriff auf das privat.
Disallow: /*.gif$ untersagt den Spider-Zugriff auf alle gif-Dateien.
User-agent: Googlebot-Image
Disallow: /
User-agent: Mediapartners-Google*
Disallow: /
untersagen dem Googlebot-Image-Spider den Zugriff auf Bilder und verbieten dem Google-Werbung-Spider-Zugriff.
Eine sitemap.xml kommt in das HTML-Root-Verzeichnis des Servers. Hier ein Beispiel für eine einfache sitemap.xml:
<?xml version="1.0" encoding="UTF-8"?> <urlset xmlns="http://www.sitemaps.org/schemas/sitemap/0.9" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:schemaLocation="http://www.sitemaps.org/schemas/sitemap/0.9 http://www.sitemaps.org/schemas/sitemap/0.9/sitemap.xsd"> <url> <loc>http://www.cilie.org/</loc> </url> <url> <loc>http://www.cilie.org/mmk/index.htm</loc> </url> <url> <loc>http://www.cilie.org/mmk/m.htm</loc> <lastmod>2013-10-12T19:48:10+00:00</lastmod> </url> </urlset>
Die Anzahl der verwendeten Internet Media Types (nach IANA, 2010) geben einen Hinweis auf die Bedeutung und Unterschiede zwischen statischen Webseiten und dynamischen Content (es gibt etwa 100 Application Media Types, etwa 100 Audio Media Types, etwa 50 Image Media Types, etwa 20 Message Media Types, etwa 15 Model Media Types, etwa 15 Multipart Media Types, etwa 50 Text Media Types, etwa 70 Video Media Types). Die recht weit gehenden W3C-Empfehlungen (Semantisches Web, RDF-Schema, Description Framework Schema) bedürfen einerseits eines hinreichenden Verständnisses der Seitenersteller und konnten andererseits bisher (2011) noch nicht vollständig von den "großen" Suchmaschinenbetreibern umgesetzt werden ... (siehe z.B. de.wikipedia Bild: User Interface & applications , Semantisches Web , Resource Description Framework . RDF Schema )
In einfachen Fällen reicht eine index.htm-Seite aus, die in das Domain-Stammverzeichnis kommt und die für eine Weiterleitung z.B. wie nachfolgend nach mmk/index.htm macht. Soll z.B. vom leeren Stammverzeichnis der Domain nach ./mmk/index.htm weiter geleitet werden, so kann die folgende Datei index.htm in das Stammverzeichnis der Domain gestellt werden. Zur Weiterleitung hat diese Datei im Header ein Meta-Tag für die Weiterleitung. Auch der ECMAcript-Code bewirkt die Weiterleitung und falls beim Browser kein ECMAScript aktiviert wurde, so würde auch ein Klick auf das a-Tag eine Weiterleitung bewirken.
<!DOCTYPE html> <html lang="en"> <head> <meta charset="utf-8"> <title> index.htm im Stammverzeichnis der Domain</title> <meta http-equiv="refresh" content="0; URL=./mmk/index.htm" /> <!-- auskommentierte ECMAScript-Alternative: script> var url = window.location.toString().split('/'), pfad="mmk/index.htm"; void(url.pop()); url = url.join('/')+'/'+pfad; self.location.replace(url); </script --> </head> <body> <noscript></noscript> <a href="./mmk/index.htm" target="_self"> weiterleitung zu ./mmk/index.htm </a> </body> </html>
Es gibt weitere Weiterleitungsmöglichkeiten. Bei Appache-Servern gibt es Datei-Einträge in .htaccess, die Weiterleitungen bewirken. PHP kann einen header-Aufruf die Weiterleitungen bewirken.