SEO ( robots.txt, sitemap.xml )

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.

Wozu dient robots.txt?

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) ).

Seriöse und unseriöse Robots

Es gibt prüfende, filternde, downloadende Robots. Es gibt seriöse und unseriöse Robots. Typische Fragestellungen zu robots sind:


Wie sieht eine robots.txt aus? Beispiele

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.


Wie sieht eine sitemap.xml aus? Beispiel

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>

Semantisches Web, Resource Description Framework

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 )


Weiterleitung bei leerem Domain-Stammverzeichnis

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.