Sönke Tesch: dynamische 'robots.txt' mit PHP

Beitrag lesen

robots.txt ist nicht dafür gedacht, Seiten ein- oder auszutragen, sondern dafür, Seiten nicht eintragen zu lassen.

http://www.google.de/intl/de/remove.html da steht das google und ein paar andere Spider das zumindest mit dem disallow so machen!

Äh, ja, sicher, das ist ja auch klar :) Wenn eine Adresse in deren Index drin ist, wird sie natürlich beim nächsten Durchlauf gegen die robots.txt-Liste geprüft und dann bei Disallow rausgeschmissen.

Das ist aber kein "Austragen" im eigentlichen Sinne, sondern einfach nur ein Aktualisieren des Indexes. Aber das erreichst Du auch, indem Du beim Abrufen einer nicht mehr existierenden Seite einen 404-Fehler zurückschickst (der für Leser durchaus wie normale Seite mit dem Text "Dieses Haus ist bereits verkauft" aussehen kann!).
Insofern ist der Weg über die robots.txt unnötig, dort würde ich mich auf die Grundstruktur beschränken.

Unter "Austragen" verstehe ich mehr oder weniger eine echte Meldung von Dir an die Suchmaschine, sobald eine Seite aus dem Programm genommen wird (also bei Eintreten des "Ereignisses").
Der Vorgang den Du Dir vorstellst, fällt bei mir unter Suchmaschinen-Routine - alle paar Wochen vorbeischauen, eventuell robots.txt abholen und die Seiten durchwühlen.

Finde keinen vernünftiegn Link zu allow, abr so wie ich das verstanden habe, werden die Seiten, die da drauf stehen automatisch indiziert, oder nicht?

Nein. Oder zumindest: Das ist wie bereits gesagt a) nicht Sinn und Zweck von Allow und b) entspricht auch nicht unbedingt der Arbeitsweise von Suchmaschinen und somit kann man sich auch nicht darauf verlassen..

[..], weil der sinnvolle Weg der Benutzung dieser Datei "1. URL von irgendwo einlesen, 2. Prüfen, ob URL laut robots.txt verboten/erlaubt ist" lautet, nicht andersrum.

..und da steht's sogar noch :) Erst Adressen sammeln, dann gegen robots.txt abgleichen.

Wie oben geschrieben, normalerweise mache ich sowas auch nicht, aber ich kann definitiv keine feste frei zugängliche Liste mit allen Links machen! Außerdem wäre die viel zu Lang. Nur nochmal zur erklärung, es handelt sich hier um mein eines Projekt(http://www.meinhausonline.de), jede da eingetragene Immobilie bekommt ein eigenes "Verzeichnis"(mit mod_rewrite vorgegaukelt :-), hat dann "darin" 5 Seiten, halt Übersicht, Bilder, Kontakt, Druckversion...(wird gerade noch alles erweitert),

Mmh, Immobilienanzeigen. Also wenn ich malwieder ein Haus kaufe, dann frage ich Google immer nach "Haus Verkauf Kleinkleckersdorf", d.h. ich suche nach einem zu verkaufenden Haus in einer Region.

Davon ausgehend würde ich sagen, daß Du Deine Hausadressen der Region entsprechend aufbaust, zum Beispiel "meinhausonline.de/schleswig-holstein/steinburg/kellinghusen/21/" und das dann in (jeweils bei Abruf aus der Datenbank generierte) Verzeichnisse einsetzt.

Damit hast Du alle Angebote direkt aus der Seitenstruktur heraus für Suchmaschinen erreichbar, Du hast die Regionen in den Adressen drin (könnte Pluspunkte bringen), Du hast die Regionen in einem immer erreichbaren (und damit indizierbaren) Verzeichnis drin und Du kannst den Lesern auch noch eine Alternative zur Suchfunktion anbieten.
Ich finde es eine gute Idee, sich auf Zeitungen als Quelle zu konzentrieren, aber wenn der Interessent schonmal da ist (oder über eine Suchmaschine hereingestolpert kommt), sollte man ihm auch die Möglichkeit geben, ausgiebig zu stöbern.

Ich persönlich bin mit Suchfunktionen nie so recht glücklich, weil man da immer irgendwie doch die passenden Stichworte oder Daten parat haben muß - solange man aber nicht weiß, was man exakt haben will und einem somit die exakten Daten fehlen, gehen einem auch grundsätzlich Sachen durch die Lappen.
Anders ausgedrückt: Man muß gewissermaßen vorher schon wissen, was man eigentlich erst durch die Suche rausfinden will.

Über ein Verzeichnis findet man oft noch einige interessante Dinge mehr, weil man da über viele Kriterien hinweg gleichzeitig und deutlich "unschärfer" suchen kann als es eine Maschine je könnte (stöbern eben). Gerade bei Häusern könnte ich mir beispielsweise vorstellen, daß man mehr Wert legt auf das Aussehen als auf technische Daten. Aber woher soll die Suchfunktion wissen, was mir gefällt?

Oder könnte ich automatisch immer eine Seite eintragen, die alle Links enthält, und dann in der Seite <meta name="robots" content="noindex">?

Wäre eine andere Möglichkeit, halte ich aber für bei weitem nicht so sinnvoll wie das automatisches Verzeichnis, das ich eben beschrieben habe.

Und die Austragungen dann halt mit Disallows in der robots.txt, oder?

Nein, unnötig, wie oben geschrieben. Schreib stattdessen eine nette Fehlerseite, die bei Aufruf der veralteten Adresse einen 410-Fehler zurückliefert (RFC 2616, Absatz 10.4.11, http://www.w3.org/Protocols/rfc2616/rfc2616-sec10.html#sec10.4.11) und für menschliche Existenzen noch einen netten Text à la "Dieses Objekt hat bereits einen neuen Besitzer glücklich gemacht" enthält :)

In PHP wäre das etwas in der Richtung

<?php
  header("HTTP/1.0 410 Gone");
  ?>
  <html><body>
  Dieses Objekt..

Davon abgesehen würde ich mich bei den Seiten etwas mehr an Standards halten, lass mal http://validator.w3.org drüberlaufen.
Und die Angebotsseiten schreien zum Beispiel geradezu nach einer Umsetzung mit HTML 4 Strict. Tabellenlayout ist da wirklich absolut unnötig, der Dateiinhalt wird einfacher, strukturierter und logischer (=besser indizierbar), die Datenmenge kleiner und eine Suchmaschine muß sich nicht durch soviel Tralala wühlen. Dinge wie Überschriften (<h1> bis <h6>) sehen die im Gegensatz zu <td>-Wüsten besonders gern, hast Du aber leider überhaupt nicht benutzt.

Gruß,
  soenk.e