Wie sicherlich einige von Euch bemerkt haben, bastle ich in letzter Zeit wieder etwas an verschiedenen Werbeformen auf dem Blog. Seit heute ist das alles wieder etwas unsichtbarer geworden. Das liegt daran, dass die meisten Werbeplätze ab heute nur für Besucher sichtbar sind, die aus den Google-Suchergebnissen kommen.
Dadurch bleiben Stammleser von diesen Werbeblöcken verschont und dennoch lassen sich ein paar Euros mit dem Blog verdienen. Die Integration dieser Unterscheidung ist ganz einfach und sollte nicht nur mit WordPress möglich sein:
<?php if (ereg("google.", $_SERVER['HTTP_REFERER']) && ereg("q=", $_SERVER['HTTP_REFERER'])) : ?> <div class="advert"> Hier kommt die Werbung rein... </div> <?php endif; ?>
Die Prüfung ist zugegebenermaßen eher rudimentär, sollte aber 99% abdecken und wenige false positives verursachen. Zumindest weniger als eine Lösung über das "Landingsites"-Plugin. Selbiges springt auch an, wenn der Besucher über den Google Reader kommt und liefert dann seltsame bis lustige Textbausteine über dem Beitrag ;)
Nachmachen erlaubt und erwünscht ;)
Seit der aktuellen Version des Plugin Landingsite ist das Problem Google-Reader ausgeschlossen. Dafür gibt es nun eine Abfrage.
Ansonsten ist das eine einfache und gute Lösung für die Google-Abfrage.
Allerdings müsste man auch andere Suchen einfügen.
LG Frank
Hallo Frank,
danke für den Hinweis. Ich hab‘ mich für die 80/20-Lösung entschieden – 80% Ergebnis für 20% Aufwand ;) Daher gibt’s auch nur Google. Und da Google hier sogar ungefähr 99,99% des Suma-Traffics ausmacht, verzichte ich gerne auf Werbung für die 3 Yahoo-Suchenden im Monat.
Naja so kommt aber nur Werbung beim ersten direkten Aufruf wenn man danach dann weiter auf dem Blog surft kommt ja auch nichts mehr.
Zumindest für mich ist das okay. Wer an meinem Blog interessiert ist, der soll auch nicht ständig durch Werbung am rumklicken gehindert werden. Die Werbung gilt primär den ca. 2000 die am Wochenende pro Tag kamen und nach „my video“ gesucht haben, also der eher nicht-bloginteressierten Zielgruppe ;)
Danke für diese wirklich einfache und kompakte Lösung :-)
ereg() ist unnötig, wenn du nur auf einen simplen String vergleichen willst. strpos() würde sich eher anbieten.
@Mark: inwiefern ist strpos „besser“?
@Frank: ereg() verwendet reguläre Ausdrücke. Hier geht es aber nur jeweils um einen String – reguläre Ausdrücke werden nicht verwendet. Also kann man sich auch den zusätzlichen Rechenaufwand (selbst wenn es nur um ein paar Millisekunden gehen mag) sparen.
BTW: Statt ereg() empfiehlt sich ansonsten eigentlich preg_match(). Die preg_*-Funktionen sind schneller als ereg() & Co. Es gab auch Überlegungen, ereg() in PHP 6 zu entfernen. IIRC wird aber aus BC-Gründen (backwards compatibility) darauf verzichten.
Ein kleiner aber feiner Eingriff. Danke für den Code
Gruß Mike
Ich werde das auch mal probieren. Google scheint ja neuerdings was gegen Traffic von Social Bookmark Seiten zu haben. lest mal hier nach:http://blogs-optimieren.de/2008/02/11/adsense-abwertungen-durch-social-bookmarks/
Gute Idee!
Stammlesen (die klicken eh nicht auf Werbung) werden verschont und die (klickfreudigen) Suchmaschinenbesucher kriegen ein paar nette Anzeigen serviert.