Targeted Ads auf Wordpress Blog – Landing Sites Plugin Erweiterung

14.02.2010 – 00:04

Das Landing Sites Plugin gibt dem Blog-Betreiber die Möglichkeit, die Nutzer gezielt anzusprechen. Ich möchte eine Stufe weiter gehen und dem User, basierend auf seiner Google-Suche, Targeted Ads auszuliefern.

Verwendung der Information über Referer und Keyword

Meiner Meinung nach ist Landing Sites eins der wichtigsten Wordpress-Plugins überhaupt. Es erlaubt eine gezielte Ansprache der Blog-Nutzer.

Natürlich macht die Ansprache “Hallo User! Du hast bei Google Images nach ‘Frauen Nackt’ gesucht. Bist du überrascht wieviel ich über dich weiß?” wenig Sinn und wirkt in manchen Fällen (abhängig von der Suchanfrage) sogar eher abschreckend. Ich finde übrigens, es ist besser dem User gar nicht zu sagen, dass ich weiß, wie er auf meine Seite gekommen ist und was ihn interessiert. Diese Information sollte man für sich behalten und sinnvoll verwenden.

Die erste und wichtigste Verwendung dieser Information besteht darin dem User weitere relevante Beiträge zu seinem Keyword auszuliefern. Diese Option ist in der wunderbaren deutschsprachigen Plugin-Version von Bueltge bereits implementiert. Man steigert damit nicht nur die Page Impressions (bei mir sind die PIs/Visit um 15% nach oben gegangen), sondern auch die Zeit auf der Seite und – ganz wichtig – die Zufriedenheit des Besuchert über die Landing Page. Denn die Wahrscheinlichkeit den passenden Beitrag auf dem Blog tatsächlich zu finden erhöht sich um einiges.

Die zweite Verwendung besteht darin, den Besuchern, abhängig von ihrem Referer, die Werbung ein- oder auszublenden. Dies ist durch das hervorragende “Who Sees Ads” Plugin von Planetozh gewährleistet. Damit verärgert man nicht seine Stammleser mit nerviger Werbung und bekommt trotzdem genug Werbeeinblendungen, da die Anzeigen auf Suchmaschinen-Nutzer getargeted sind.

Meine Erweiterung besteht darin, die Suchmaschinen-Besucher noch gezielter anzusprechen und ihnen abhängig von dem gesuchten Keyword passende Anzeige auszuspucken. Du denkst jetzt vielleicht – aber dafür gibt es doch AdSense, der kontextaghängig relevante Werbung anzeigt. Naja, nicht ganz. Manchmal will man nicht AdSense, sondern einen Affiliate Banner, oder Amazon Werbung oder einen manuell eingebauten Link zeigen.

Der Code für die Erweiterung und die Installation

Der Code ist nicht lang und besteht aus 2 Funktionen, die ich bei mir am Ende des Landing Sites – Plugins eingebaut habe. Die erste Funktion, ls_show_targeted_ads überprüft ob Keywords aus dem gegebenen Keyword-Set in der Suchanfrage enthalten sind.

function ls_show_targeted_ads($keywords) {
     global $wpdb, $id, $fb_noposts;
// Did we come from a search engine?
     $referer = ls_get_refer();
     if (!$referer) return false;
	$delimiter = ls_get_delim($referer);
	if ($delimiter) {
	$terms =mb_strtolower( ls_get_terms($delimiter));
	$found = 0;
	$keywords_array = explode(',',$keywords);
	foreach ($keywords_array as $keyword)
	{
		// do for each keyword
		if (strpos($keyword, '+') === false) {
			//keyword consists of one word
			if (strpos($terms,$keyword)!== false) {
				$found = 1;
			} else {
				$found = 0;
			}
		} else {
			//keyword consists of several words delimited by +
			$subkeywords_array = explode('+',$keyword);
			$subfound = array();
			foreach ($subkeywords_array as $subkeyword) {
				if (strpos($terms,$subkeyword)!== false) {
					array_push($subfound,1);
				} else {
					array_push($subfound,0);
				}
		}
				foreach ($subfound as $value) {
				//only if all words could be found
				$found *= $value;
			}
		}
		// did we find this keyword?
		if ($found > 0) {
			return 1;
			break;
		}
	}
	// we didn't find the keywords, otherwise we would have stoped earlier
       return 0;
   }
}

Die 2. Funktion ls_show_adblock stellt die Werbemittel in Abhängigkeit vom Keyword dar. Ich habe am Ende der Funktion auch die relevanten Blog-Beiträge dazu genommen. So kann ich diese Funktion in allen Template-Dateien mit ls_show_adblock(); aufrufen, wo ich sie brauche – in single.php, im archive.php oder im index.php  – und kann die Darsellung dann zentral steuern – brauche sie also nur an einer Stelle zu ändern.


function ls_show_adblock() {
// plugin for landing sites
 global $wpdb, $id, $fb_noposts;

if (function_exists('ls_getinfo')) : ?>
      < ?php if (ls_getinfo('isref')) { ?>
	<div class="landingsites">
			< ?php if (ls_show_targeted_ads('a+b+c,d')) { ?>
				<p>
				Your ad for combination of keywords 'a','b' and 'c' or for keyword 'd'
				</p>
                        < ?php } elseif (ls_show_targeted_ads('e,f+g')) { ?>
				<p>
				Your ad for keyword 'e' or for combination of 'g' and 'h'
				</p>
			< ?php } elseif (ls_show_targeted_ads('h')) { ?>
				<p>
				Your ad for keyword 'h'
				</p>
			< ?php } ?>
	<p>Folgende Beitr&auml;ge k&ouml;nnten von Interesse f&uuml;r dich sein:</p>
			<ul>
	< ?php ls_related(2, 4, '<li>', '', '', '', false, false); //related post from content ?>
	< ?php ls_related_tags(2, '<li>', ''); //related posts from tags ?>
	        	</ul>
	</div>
	< ?php }
 endif;	}

Implementierung der Erweiterung

Natürlich kann man so nicht alle Keywords abdecken und für jedes Keyword mit einer eigenen Anzeige matchen, aber oft machen Top 5-10 Keywords 80% des organischen Such-Traffics, also lohnt es sich ggf sie anzuschauen. Außerdem kann man für den Rest einfach nur standardmäßig AdSense einblenden.
Die Keywords werden in den IF ggf ELSEIF – Blöcken definiert nach diesem Muster:
if (ls_show_targeted_ads(Keywords))
{ Code der Anzeige für Keywords }
Die Keywords müssen innerhalb der einfachen Anführungszeichen angegeben werden. Mehrere Keywords für eine Anzeige werden durch Kommata (ohne Leerzeichen!) getrennt. Falls ein Keyword aus mehreren Worten besteht, werden diese Worte mit Plus-Zeichen verbunden.
Ein Beispiel, wie die Erweiterung funktioniert, zeigt Medwedew Blog. Sucht man bei Google nach “Kreml” auf medwedew.de und clickt dann anschließend auf auf eines der Ergebnisse, wird ein Demo-Banner angezeigt.
Die Datei mit dem kompletten Code als .rar-Archiv steht hier zum Download.

  1. Ein Kommentar zu “Targeted Ads auf Wordpress Blog – Landing Sites Plugin Erweiterung”

  2. Sehr schöne Vorstellung des Themas.
    Ich werde die automatische Generierung von Keywords aus Referrern in meinem nächsten Projekt mit einbauen.
    Weiter so.

    geschrieben von Nils am 16. Mrz, 2010

Kommentar schreiben