LandPage für Wordpress

August 19, 2009 – 6:34 pm

LandPage ist ein simples Plugin um raus zu finden ob der User von einer Suchmaschine kommt. Es existier ein fertiges Wordpress Plugin “landingsites“, doch er ist etwas Komplex für mich und so entwickelte ich eine Lösung die mir nur das nötigste gibt. Was mir sehr Wichtig war, das der Plugin keine Ressourcen verschwendet und so kam ein kleiner PHP Script raus, welcher meine Erwartungen völlig erfühlt.

Das LandPage Plugin wird in den Wordpress Plugin Ordner rein geschmißen und in der Plugin Verwaltung aktiviert. Jetzt kann man überall im Code folgenden Schnipsel einbauen um den Usern die von einer Suchmaschine kommen, speziellen Content zu zeigen wie zum Beispiel Werbung.

if(class_exists('Xelaz_LandPage') && Xelaz_LandPage::isLanding())  {
  // Ich komme von einer Suchmaschine
}

Ich hab kurze Zeit meine Referer beobachtet und Suchmaschinen rausgesucht über die User auf meinen Seiten landeten. So kam eine kleine Liste raus mit Suchmaschinen jeglichen Ursprungs.
Die Überprüfung bezieht sich nur auf einen Schnipsel aus der Referer URL. Wenn der User von google.com, google.de oder images.google.de kommt suche ich nur nach dem Schnipsel “google.” und das reicht mir vollkommen.
Wer natürlich das nicht so sieht, kann nach seinen Wünschen die Suchmaschinen Liste im Quellcode bearbeiten.

Hier sind die Suchmaschinen Schnipsel:

$_searchMachine = array(
	'google.',
	'lycos.',
	'yahoo.',
	'msn.',
	'live.',
	'icq.',
	't-online.',
	'yandex.',
	'ixquick.',
	'freenet.',
	'abacho.',
	'altavista.',
	'metager',
	'gmx.',
	'web.de',
	'fireball.',
	'alltheweb.',
	'excite.',
	'lycos.',
	'allteweb.',
	'aol.',
	'aolsvc.de',
	'iwon.',
	'ask.',
	'cometsystems.',
	'hotbot.com',
	'overture.com',
	'metacrawler.',
	'netscape.',
	'looksmart.',
	'webcrawler.',
	'earthlink.',
	'viewpoint.',
	'gigablast.',
	'startpagina.',
	'mamma.',
	'seznam.',
	'scroogle.org',
	'conduit.',
	'babylon.',
	'searchand.'
);

Wenn ich was Vergessen hab, könnt ihr das in den Kommentaren hinterlegen.

Im Herzen des Plugins benutze ich die Funktion “str_replace” die ohne Reguläre Ausdrücke auskommt. Wie hier im Beispiel:

 
$list = array(
  'google',
  'yahoo'
);
 
$count = null;
 
$str = str_replace($list , '#', $_SERVER['HTTP_REFERER'], $count);
 
if($count>0)	
  'User kommt von einer Suchmaschine';

Download: LandPage.php

 
  1. 3 Responses to “LandPage für Wordpress”

  2. Hi Alex,

    wieder mal ne coole und runde Sache! Vielen Dank!

    By Kai on Aug 24, 2009

  3. Hallo Alex, du schreibst: “Jetzt kann man überall im Code folgenden Schnipsel einbauen…”

    Nun habe ich noch ein steinaltes WP 2.02 laufen, dort den “Schnipsel” eingebaut und das Plugin aktiviert = keine Fehlermeldung. Aber, es gibt auch keine Ausgabe irgendeinen neuen Text, wie erhofft. Daher meine Frage, wo konkret sollte man den Code einbauen? Vielleicht hab ich den falsch platziert? Danke!

    By Clemens on Mrz 10, 2010

  4. So kannst du es im Code benutzen:

    if(class_exists(‘Xelaz_LandPage’) && Xelaz_LandPage::isLanding())

    oder if(Xelaz_LandPage::isLanding())

    Xelaz_LandPage::isLanding() liefert ein True oder False.

    True wenn er von einer Suchmaschine kommt.

    Gruß

    By Alexander Zerr on Mrz 10, 2010

Schreib ein Kommentar