Fachforum "IT-Sicherheit"

Suchmaschinen

Prof. Jürgen Plate

Suchmaschinen

Das größte Problem bei der Suche nach Informationen im Internet sind Datenbestände unterschiedlichster Art und Herkunft. sie liegen auf zahlreichen Servern, wobei jeder Server weitgehend autark ist, also keiner zentralen Verwaltung unterworfen ist. Folglich gibt es kein zentrales Inhaltsverzeichnis. Abhilfe schaffen hier die sogenannten 'Suchmaschinen' (search engines).

Jeder Suchmaschine liegt eine eigene Datenbank zugrunde, in der Informationen zu den einzelnen Seiten gespeichert sind. Ein Datensatz besteht dabei im wesentlichen aus der URL, dem Titel der Seite und den für die Seite charakteristischen Stichwörtern. Nach diesen Stichwörtern läßt sich suchen. Als Ergebnis liefert die Software der Engine eine Liste mit Links, die zu den jeweiligen Seiten führen.

Schon wegen der Größe des Internet (etwa 100 - 200 Millionen Web-Seiten) müssen Suchmaschinen Beachtliches leisten. Abfragen müssen ohne größere Verzögerung beantwortet werden, wobei die Systeme auch simultanen Suchanfragen von mehreren tausend Clients gewachsen sein sollten. Zudem muß der Datenbestand ständig aktualisiert werden. Viele Webseiten werden mehrmals überarbeitet und geändert, und neue Sites entstehen fast schneller, als man sie erfassen kann. Von Hand läßt sich diese Datenflut nicht durchsuchen.

Daher basieren alle Suchmaschinen auf Programmen und Datenbanken deren wichtigste Grundlage sogenannte 'Spider' (zu deutsch 'Spinnen') sind. Dies sind Programme, welche die WWW-Angebote im Internet kontinuierlich durchsuchen. Ein Spider startet mit der Homepage eines Servers und verfolgt nacheinander alle Links. Trifft ein Spider auf eine neue oder geänderte Seite, wird aus dieser Seite eine Liste mit Schlüsselwörtern generiert und die Datenbank der Suchmaschine aktualisiert. Ebenso werden Verweise auf gelöschte Seiten aus der Datenbank getilgt. Das Einzige was ein Anbieter von WWW-Seiten einmalig machen muß, ist die Anmeldung seines Servers bei den verschiedenen Suchmaschinen. Obgleich die Scangeschwindigkeit einer Engine immens ist (Altavista untersucht 6 Millionen Seiten pro Tag), ändert sich das Web viel zu schnell, als daß man neue Seiten unmittelbar erfassen könnte. Das Intervall zwischen zwei 'Besuchen' eines Servers liegt zwischen 2 und 4 Wochen. Dabei wird aber auch die Änderungs-Historie der Homepages berücksichtigt. Seiten, die sich häufig ändern, werden von vielen Spidern auch öfter untersucht. Einige wenige Suchmaschinen setzen überhaupt keine Spider ein. Hier melden sich die Benutzer entweder manuell an, oder die Seiten werden redaktionell erfaßt. Bei derartigen Systemen ist der Seienbestand entsprechend kleiner, das Angebot aber besser kategorisiert. Andere Suchmaschinen erfassen die Daten zwar per Spider, bieten aber ein zusätzliches, redaktionell betreutes Verzeichnis an.

Trotz des gewaltigen Umfangs der Datenbanken von bis zu 55 Millionen Seiten präsentiert sich das Suchergebnis in der Regel nach wenigen Sekunden. Diese hohe Suchgeschwindigkeit ist teilweise durch die extrem leistungsfähige Hardware der Suchsysteme begründet. AltaVista setzt zum Beispiel 16 AlphaServer 8400 5/300 ein, die mit 64 Bit Wortbreite arbeiten und jeweils mit 6 Gigabyte Arbeitsspeicher ausgestattet sind. Das zweite Standbein bildet eine leistungsfähige Datenbanksoftware, welche die gewünschen Informatioen in wenigen Sekunden liefert. Der Datenbankindex ist baumartig strukturert, so daß nur ein kleiner Teil des Datenbestandes durchsucht werden muß.

Der Nachteil der automatischen Erfassung liegt darin, daß auch Stichwörter in einem unsinnigen Zusammenhang erfaßt werden. Lediglich 'Allerweltswörter, zum Beispiel Füllwörter, Artikel und Pronomen, werden ausgefiltert. Nur wenige Suchmaschinen besitzen in dieser Beziehung etwas Intelligenz. Excite berücksichtigt immerhin auch synonyme Wörter. So werden beim Suchbegriff 'Senioren' auch Seiten gefunden, die den Text 'ältere Menschen' enthalten. Oft wird die Trefferqualität nach der Häufigkeit eines Suchbegriffs in einem Text beurteilt, was oft dazu führt, daß die wirklich interessanten Quellen auf einem hinterne Platz landen (Beispiel: Suchen Sie mal nach dem Begriff 'JPEG', um Informationen über dieses Datenspeicherungsformat zu erhalten.)

Autoren von HTML-Seiten können aber auch selbst dazu beitragen, die Qualität der Kategorisierung zu erhöhen. Der Weg führt dabei über die sogenannten Meta-Tags, mit denen sich Stichwörter definieren lassen. Die meisten Suchmaschinen werten Meta-Tags aus, weil sich Web-Seiten damit leichter kategorisieren lassen. Dabei gibt es zwei relevante Attribute: name und content. Mit

<META name="description" content="Aussagekräftige Inhaltsangabe">

gibt man der Seite eine kurze Beschreibung. Mit name="keywords" wird das Attribut als Liste von Stichwörtern interpretiert. Der Meta-Tag lautet somit:

<META name="keywords" content="Stichwort1,Stichwort2,Stichwort3,...">

In der Pionierzeit der Suchmaschinen gab es teilweise völlig indiskutable Ergebnisse. Zwei Funktionen bieten - neben anderen - brauchbare Ergebnisse:

Daneben bieten die Suchsysteme auch generelle themantische Einschränkungen, auf eine bestimmte Sprache oder die Beschränkung auf bestimmte Domains (z. B. Suche nur in .de-Domains). Der Weisheit letzter Schluß ist jedoch noch nicht gefunden.

Es lohnt sich übrigens, mehrere Suchmaschinen einzusetzen. Da sich diese in Seiten- und Funktionsumfang erheblich voneinander unterscheiden, landen Sie auch bei einer präzisen Anfrage oft erst bei der zweiten oder dritten Suchmaschine einen Treffer.

Meta-Tags

Um in Suchmaschinen bei entsprechender Anfrage gefunden zu werden, ist es unbedingt notwendig META-TAGS in Ihre Seiten einzubauen. In diesen Tags können Sie relevante Schlüsselwörter und eine Beschreibung zu Ihrer Homepage angeben.

Setzen Sie diese nach den abschließenden </TITLE>-Tag und vor den abschließenden </HEAD>-Tag.

Für Ihre Schlüsselwörter geben Sie beispielsweise folgenden Tag an:
<META NAME="keywords" CONTENT="Keyword1, Keyword2, ...">

Tragen Sie bis zu 10 Schlüsselwörter in diesen Tag ein. Beachten Sie, daß wiederholte Nennungen von manchen Suchmaschinen zur Nichtbeachtung des jeweiligen Wortes führen.

Ihre Seitenbeschreibung geben Sie folgendermaßen an:
<META NAME="description" CONTENT="Bitte hier Ihre Seitenbeschreibung eingeben.">
Achten Sie auch darauf, daß auch der TITLE-Tag möglichst viele aussagekräftige Ausdrücke beinhalten sollte.

Besonders wichtig sind META-TAGS für die Leitseite, wenn Sie keinen Text auf dieser Seite haben (z. B. bei Verwendung von Imagemaps oder Frames) - aber eigentlich sollte gerade die Leitseite auch mit einem Textbrowser lesbar sein.

Wichtig sind, neben den oben erwähnten, die folgende META-Tags:

keywords
Unter welchen Begriffen soll man die Seite finden?
<META NAME="keywords" CONTENT="Keyword1, Keyword2, ...">

description
Beschreibung der Webseite oder des Anbieters der Seite
<META NAME="description" CONTENT="Beschreibung der Seite/Firma">

author
Wer schrieb die Webseite? <META NAME="author" CONTENT="Josef Meier">

rating
Damit die Seite nicht under den "Red Light District" kommt ;-)
<META NAME="rating" CONTENT="General">

robots
Robots (Spider) von welchen Sites dürfen denn die Seite abscannen?
<META NAME="robots" CONTENT="ALL">

revisit
Wann soll der Spider denn wieder nachschauen?
<META NAME="revisit-after" CONTENT="31 days">

Content-Type
Was für ein Zeichensatz (charset) Wird verwendet? (latein, japanisch, etc.)
<META HTTP-EQUIV="Content-Type" CONTENT="text/html; charset=iso-8859-1">

Die Datei robots.txt

Wieviele Betreiber einer Internetpräsentation haben sich beim Studium Ihrer Serverlogbücher bestimmt schon gefragt, warum in regelmäßigen Abständen eine Datei namens robots.txt abgerufen wird.

Wen interessiert diese Datei? Die Datei wird von Suchmachinen gesucht die Spider oder Crawler benutzen. Suchmaschinen die, nachdem Ihr Server einmal angemeldet, in regelmauml;szlig;igen Abständen Ihren Server aufsuchen und nach eventüllen Veränderungen und neün Seiten und Verzeichnissen auf Ihrem Server suchen.

Der 'robots exclusion standard' ist ein Quasistandard, der entwickelt wurde, um dem Serverbetreiber die Möglichkeit zu geben, ausgewählte Bereiche des Servers für die Spider der Suchmaschinen zu sperren. Durch Eintragungen in der Datei robots.txt können Sie also Verzeichnisse angeben, die nicht in Suchmaschinen automatisch aufgenommen werden sollen.

Wie ist robots.txt aufgebaut?

# Bemerkung
User-agent: *
Disallow:/test

#
Hinter diesen Zeichen können Sie Bemerkungen hinterlassen, die jedoch vom Spider ignoriert werden. Wenn Sie einem bestimmten Spider etwas mitteilen möchten, so kouml;nnen Sie in der User-agent-Zeile eine Bemerkung hinterlassen.

User-agent:
* Ein Stern bedeutet, daß die Angaben für alle Spider gelten.

Disallow:/Verzeichnis
In diese Zeile tragen Sie die Verzeichnisse ein, die nicht aufgesucht werden sollen (Im obigen Beispiel das Verzeichnis test).

Wichtig ist, daß sie die Datei in Ihrem Server-Hauptverzeichnis hinterlegen und nicht in dem betreffenden Unterverzeichnis. Wenn Sie keine robots.txt-Datei auf Ihrem Server hinterlegt haben, werden alle Verzeichnisse von den Spidern besucht.