Anzeige
Smartes Cloud Hosting für anspruchsvolle Projekte.
↬ Loslegen und Spaces testen ↬ Jetzt testen!
Gastautor 11. Juni 2004

Google-Nutzern gezielt weiterhelfen

Kein Beitragsbild

von Nicolas Rotermund

Wix Webseiten — echt superpraktisch. ↬ Mehr erfahren

Google ist eine prima Suchmaschine. Doch manchmal helfen die Ergebnisse trotzdem nicht weiter, zum Beispiel wenn die Zielseite oft aktualisiert wird. Über den Referer lassen sich die Suchausdrücke, mit denen bei Google gesucht wurde, auslesen und zur Besucherführung nutzen.

Anzeige

Das ist praktisch, da der Google-Index praktisch nie so aktuell sein kann wie Foren oder Nachrichtenseiten. Der HTTP-Referer speichert die URL der verweisenden Seite. Bei Google stehen in der URL aber auch die benutzten Suchausdrücke. Werden diese ausgelesen, weiß man genau, mit welchen Wörtern der Besucher gesucht hat.

Mit deren Hilfe kann man nun die eigene Site besser auf die Bedürfnisse des Besuchers zuschneiden, indem man entweder gleich eine automatische Suche durchführt, oder die Google-Suchausdrücke direkt in eine Suchmaske einträgt.

Zuerst wird die Server-Variable des Referers ausgelesen:

 $referer = getenv('HTTP_REFERER');
    

Kommt der Besucher von Google, enthält die Variable $referer auch die Google-URL. Am Ende der URL steht nach verschiedenen Einstellungsvariablen der Suchausdruck. Dieser könnte zum Beispiel so aussehen:

      q=webmaster+webworker
    

Um die Suchausdrücke aus der Adresse zu filtern, helfen reguläre Ausdrücke. Zuerst nehmen wir an, dass nach den Suchausdrücken noch weitere Variablen folgen. Diese werden mit einem „&“ getrennt.

      if (preg_match("/q=(.*)&/i", $referer, $title)) { $suchausdruck 
    = $title[1]; }
    

Alle Wörter zwischen “q=” und “&” sind demnach die Google-Suchausdrücke. Folgen keine weiteren Variablen in der URL, sind die Suchwörter der letzte Teil. Hierfür wird einfach ein „/q“ an den Referer-String gehängt. So lassen sich dann alle Wörter zwischen „q=“ und „/q“ als Suchausdrücke auslesen.

      if (preg_match("/q=(.*)\/q/i", $referer, $title)) { $suchausdruck 
    = $title[1]; }
    

Da mehrere Wörter in der Google-URL durch ein Plus getrennt werden, werden diese genauso wie Anführungszeichen (“%22”) aus der Variable $suchausdruck entfernt.

Kompletter Quelltext:

      if(ereg("google",$referer)) {
if (preg_match("/q=(.*)&/i", $referer, $title)) { $suchausdruck = $title[1];
} else {
$referer .= "/q";
if (preg_match("/q=(.*)\/q/i", $referer, $title)) { $suchausdruck = $title[1]; }
}
$suchausdruck = str_replace("%22","",$suchausdruck);
$suchausdruck = str_replace("+"," ",$suchausdruck);
}

In $suchausdruck stehen nun alle Wörter, die den Besucher über Google zur eigenen Seite geführt haben. Diese lassen sich jetzt etwa nutzen, um das Formularfeld der eigenen Suchfunktion damit zu füttern:

      <FORM action="suche/search.php">
<INPUT type="text" name="query_string" value="<?php echo $suchausdruck; ?>">
<input type="submit" value=" Durchsuchen></FORM>

Sollte der Besucher mit der Google-Fundstelle nicht zufrieden sein, kommt ihm die angesurfte Seite hilfreich entgegen. Auch eine Markierung vorhanden Suchworte ist denkbar.

Schreibe einen Kommentar

Deine E-Mail-Adresse wird nicht veröffentlicht. Erforderliche Felder sind mit * markiert.