|
Datenbankinhalt für Suchmaschinen aufbereiten
von Wolfgang
Arnberger
Sie haben eine Datenbankanwendung geschrieben und keiner
weiß, welche Daten bei Ihnen zu finden sind. Suchmaschinen
gehen natürlich nicht so weit, daß sie Abfragen
an die Datenbank senden. Somit bleibt der Inhalt Ihrer Tabelle
für Suchmaschinen unsichtbar.
Folgendes Script kann dieses Problem in vielen Fällen
lösen. Der Inhalt einer Abfrage wird einfach in eine
HTML-Datei ausgegeben, die dann von Suchmaschinen durchsucht
werden kann.
<? // HTML Tags definieren $kopf="<HTML><HEAD><TITLE></TITLE></HEAD><BODY>"; // Datenbank abfragen $result=mysql_query("select * from TABELLE order by XY"); // Verbindung zur HTML Datei herstellen bzw. Datei erzeugen $fp=fopen("inhalt.html","w"); // Kopfdaten fputs($fp,$kopf);
while($row = mysql_fetch_array($result)) { // Abfrageergebnis zu einer Textzeile formen $data=$row["FELD1"].", ".$row["FELD2"].", ".$row["..."]."<BR>"; // Textzeile fputs($fp,$data); }
// HTML-Tags schließen $ende="</BODY></HTML>"; fputs($fp,$ende); // Datei schließen fclose($fp); ?>
Mit fopen("inhalt.html","w") wird die
Datei inhalt.html geöffnet bzw. erzeugt, falls sie nicht
vorhanden ist. Zuerst muß das HTML-Gerüst in die
Datei geschrieben werden. Das geschieht mit fputs($fp,$kopf).
In der while-Schleife wird das Ergebnis der Datenbankabfrage
zu einer Textzeile ungeformt und ebenfalls in die HTML-Datei
geschrieben. Sind alle Datensätze abgearbeitet, wird
die Schleife beendet und der HTML-Code durch $ende abgeschlossen.
Datei schließen - fertig.
Wenn man Frames benützt, kann man im NOFRAME-Bereich
einen Link zur Datei inhalt.html legen, dem die Suchmaschinen
problemlos folgen können.
Das Script läßt sich noch dahingehend erweitern,
daß man für jeden Datensatz eine eigene HTML-Datei
erzeugt.
<? // Kopf der HTML Datei definieren // Text festlegen, der angezeigt werden soll. $kopf="<html><head><title>Inhalt</title> <meta name=\"robots\" content=\"index\"></head><body>\n <a href=\"http://www.URL_Homepage.de/index.html\">Startseite</a>\n Bei <a href=\"http://www.URL_Homepage.de\">www.URL_Homepage.de</a> finden Sie .... ";
include("connect.php3");
$result=mysql_query("select * from TABELLE order by XY where ...");
// Erzeugt die Datei "inhalt.html" in "subdir" $fp=fopen("subdir/inhalt.html","w"); // HTML-Kopf fputs($fp,$kopf);
while($row=mysql_fetch_array($result)) { $ID=$row["ID"]; // Erzeuge einen Dateinamen aus der ID mit der Erweiterung HTML $datei=$ID.".html"; $pfad="subdir/$ID".".html"; // Erzeugt eine Zeile mit Daten aus der Tabelle $data="<a href=\"$datei\">$row[\"feld1\"].", ".$row[\"feld2\"]</a><BR>"; // Schreibt die Zeile als Link in die Datei fputs($fp,$data);
// erzeugt eine weitere HTML-Datei $fp1=fopen($pfad,"w"); $kopf1="<html><head><title></title> <meta name=\"robots\" content=\"index\"> </head><body>\n";
fputs($fp1,$kopf1); // Erzeugt den Text, der angezeigt werden soll $data1="<a href=\"http://www.URL_Homepage.de/index.html\"> Zur Startseite</a>\n\n Bei <a href=\"http://www.URL_Homepage.de\">www.URL_Homepage.de</a> finden Sie ...\n\n".$row["feld1"].", ".$row["feld2"]."<br>";
// schreibt die Daten in die Datei fputs($fp1,$data1); fclose($fp1); }
// Wenn alle Zeilen abgearbeitet wurden, wird das Dateiende erzeugt ... $ende="<br>Copyright ...<a href=\"mailto:blabla@nirgends.com\">BlaBla</a> </body></html>"; fputs($fp,$ende); // ... und die Datei geschlossen fclose($fp); // Damit man sieht, wann das Script fertig ist: echo "Fertig"; ?>
Damit haben Suchmaschinen reichlich Futter und finden viele
Dateien und Links, die sie indexieren können.
|