Datenbankinhalt für Suchmaschinen aufbereiten

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.

<?php
// 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&szlig;en
$ende="</BODY></HTML>";
fputs($fp,$ende);
// Datei schlie&szlig;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.

<?php
// 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>nn
  Bei 
<a href="http://www.URL_Homepage.de">www.URL_Homepage.de</a>
  
finden Sie ...nn".$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.

Erfahrungen


Hallo,

also man sollte hier mal das ändern:

[php]
$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>
[/php]

Das ist zu 100% nicht richtig!

[php]
$kopf="<html><head><title>Inhalt</title>
<meta name="robots" content="index"></head><body>
<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>
[/php]
Geschrieben von Nico_Schubert Am 27.08.2009 14:49:09

Hier Kannst Du einen Kommentar verfassen


Bitte gib mindestens 10 Zeichen ein.
Wird geladen... Bitte warte.
* Pflichtangabe

Verwandte Beiträge

Wird geladen... Bitte warte.
Wird geladen... Bitte warte.

Tutorial veröffentlichen

Tutorial veröffentlichen

Teile Dein Wissen mit anderen Entwicklern weltweit

Du bist Profi in deinem Bereich und möchtest dein Wissen teilen, dann melde dich jetzt an und teile es mit unserer PHP-Community

mehr erfahren

Tutorial veröffentlichen