Wie man Google Bildsucher vermarktet

Google Bildsuche

Google Bildsuche

Über die Google Bildsuche kommende Besucher versprechen nur selten eine Kaufabsicht. Daher bietet sich zur Monetarisierung dieses Traffics das Einbinden von DHTML-Layern an. Der Vorteil dieser Layer ist eine Vergütung ohne dass der besucher auf diesen Layer klicken muss.

Über folgenden PHP-Snippet lässt sich jeder Besucher, der über die Google Bildsuche auf eure Seite kommt, mit einem für ihn passenden Werbemittel (hier Layer) versorgt:

Quelltext   
  1. if (stristr ($_SERVER ['HTTP_REFERER'], "images.google"))
  2. {
  3. // Hier deinen Layer-Code einbinden
  4. echo '';
  5. }

Aufgrund von ausbleibenden Referern werden einige Besucher zwar dennoch keine Layer angezeigt bekommen. Aber ein Großteil der Bildsucher lässt sich auf diese Art und Weise wunderbar in Bares verwandeln.

Sicherlich könnte man auch noch mit Cookies arbeiten, aber die gängigen Layeranbieter haben sowieso eine Reloadsperre in ihre Layer integriert (mittels Cookie), so dass der besucher den Layer sowieso nur einmal innerhalb von x Minuten angezeigt wird. Keep it simple ;-) .

Mit Layern Geld verdienen

Die Monetarisierung von Traffic ist nicht immer einfach. Nicht jedes Werbemittel ist für den zugreifenden Benutzer geeignet. Besucher, die beispielsweise über die Bildsuche auf die Webseite kommen, sind oftmals nur an Bildern interessiert. Eine Kaufabsicht ist hier eher selten zu verzeichnen. Daher bietet sich für diese Zielgruppe das Einbinden von Layern an.

Der Vorteil von Layern ist, dass sie ohne Klick des Benutzers zu einer Gutschrift führen. Für die Zielgruppe “Bildsucher” eignet sich dieses Werbemittel in meinen Augen ideal. Bedingung für eine Vergütung einer Einblendung eines Layers ist jedoch, dass der Layer eine bestimmte Zeit geöffnet bleibt.
passend zum Thema: Wie man Google Bildsucher mit Layern vermarket

Mit Tausender-Klick-Preisen (1000 gewertete Einblendungen) zwischen 4 und 6 Euro lässt sich dieser „nutzlose“ Traffic zu einer guten Mark um münzen. Doch Vorsicht – der Tausender-Klick-Preis hängt auch von der Region ab, aus welcher der Benutzer zugreift. 4 bis 6 Euro lassen sich nur aus dem deutschen Raum erreichen.

Die zwei größten Anbieter im deutschen Raum sind “Layer Ads” sowie “Bin-Layer“. “Layer Ads” hat derzeit mit Auszahlungsproblemen zu kämpfen. Zudem ist die Kommunikation darüber mehr als mager. Die Publisher werden hier so ziemlich im Stich gelassen. Daher sollte man aktuell eher einen anderen Anbieter wählen. Bin-Layer sieht aktuell sehr vielversprechend aus. Die Konditionen sind denen von “Layer-Ads” sehr ähnlich. Allerdings habe ich hier erst wenige Wochen eigene Erfahrung. Stay tuned – versprochen!

Anzahl betroffener Datensätze unter Verwendung von Limit ermitteln (MySQL)

Sicherlich standet ihr auch schon einmal vor dem Problem, die Ergebnismenge einer SQL Abfrage einschränken zu müssen. Soweit ist alles unkritisch. Wird nun beispielsweise für eine Seitenauswahl (pagination 1, 2, 3, … etc.) die Gesamtanzahl der Datensätze benötigt, ist eine weitere Abfrage erforderlich, welche ohne Limit die Ergebnisse zählt (COUNT).

SQL   
  1. SELECT COUNT(*) FROM tabelle WHERE feld = 'suchwort'

Bei einfachen Abfragen ist diese Art des “countens” von Datensätzen kein Problem. Sind die Abfragen jedoch komplexer, so ist zum Zählen von Datensätzen die SQL Abfrage doch sehr oft um zu formulieren.

Die Lösung des Problems bietet MySQL selbst mit dem Befehl SQL_CALC_FOUND_ROWS.

SQL   
  1. SELECT SQL_CALC_FOUND_ROWS
  2. spalte1,
  3. spalte2
  4. FROM tabelle
  5. WHERE feld = 'suchwort'
  6. LIMIT 0, 10

SQL_CALC_FOUND_ROWS wird einfach vor die zu selektierenden Spalten gesetzt (Achtung ohne Komma) und wirkt sich abgesehen von der minimal schlechteren Performance zunächst nicht aus. Das Resultset besteht aus maximal 10 Datensätzen und  kann wie gehabt gefetcht werden. Durch eine weitere SQL Abfrage mit dem Befehl FOUND_ROWS wird anschließend die Anzahl aller gefundenen Datensätze ohne die Limitierung abgefragt.
SQL   
  1. SELECT FOUND_ROWS()

Diese Abfrage gibt genau einen Record (Datensatz) mit einem Tupel zurück und enthält die Anzahl gefundener Datensätze ohne Limitierung. Neben des Vorteils, dass die Abfrage nicht für das Zählen der Einträge umgeschrieben werden muss, ergibt sich oftmals jedoch ein minimaler Performancenachteil. Hier gilt es zwischen Komfort und Performance abzuwägen.

Mehr Informationen über SQL_CALC_FOUND_ROWS und FOUND_ROWS findet ihr in der offiziellen MySQL-Dokumentation.

Ein PHP Beispiel findet ihr im kompletten Beitrag. Read more »

Tags:

categories SQL

Fake Google-Bots mittels .htaccess aussperren

Dass neugierige Dritte eigene Projekte analysieren (Konkurrenzanalyse) ist ja nicht neu. Immer häufiger treffe ich in letzter Zeit beim Stöbern durch meine Logs auf manipulierte Header. Grundsätzlich spricht ja nichts dagegen, sich bei anderen etwas abzugucken. Wenn jedoch der User Agent absichtlich in der Form manipuliert wird, dass sich der Analysator als Googlebot ausgibt, hört mein Verständnis auf.

Wie ein Fake Google Bot mittels .htaccess ausgesperrt wird, möchte ich euch nun kurz aufzeigen. Zuvor möchte ich jedoch auch davor warnen – es wird niemals eine zu 100 Prozent vollständige Liste aller Google IP Adressen geben. Nahezu täglich erweitert Google die eigenen Serverfarmen und somit auch die Anzahl der im Netz befindlichen Crawler (Bots). Jeder neuer Crawler hat eine eigene und unter Umständen euch nicht bekannte IP-Adresse. Die Folge kann sein, dass ihr ungewollter Weise Google aussperrt und das ist nicht Sinn der Sache.

Gut fangen wir an – zunächst benötigen wir eine Liste der Googlebot IP Adressen. Derartige Listen lassen sich bei Google finden. Falls nicht bereits vorhanden, legen wir nun im Root-Verzeichnis der zu schützenden Webseite eine .htaccess Datei mit folgendem Inhalt an (falls bereits angelegt, überspringen).

RewriteEngine On

Nun sind mittels der angelegten .htaccess Datei noch die IP Adressen des die Webseite aufrufenden Benutzers gegen seinen User Agent zu prüfen. Kommt im User Agent “googlebot” vor und die IP Adresse ist in unserer Liste nicht vorhanden, wird der Besucher kurzer Hand ausgesperrt (nix nada niente).

RewriteEngine On

# ACHTUNG!!! Die IP Adressen sind nur exemplarisch
# und gehören nicht zu Google
RewriteCond %{HTTP_USER_AGENT} googlebot
RewriteCond %{REMOTE_ADDR} !^1.1.1.1 [OR] # IP Adresse 1
RewriteCond %{REMOTE_ADDR} !^2.2.2.2 [OR] # IP Adresse 2
RewriteCond %{REMOTE_ADDR} !^2.2.3. [OR] # IP Bereich 2.2.3.1 - 2.2.3.255
RewriteRule ^.* - [F]

Das war es dann auch schon. Fake Google Bots sind ab sofort ausgesperrt. Bitte achtet unbedingt auf die Aktualität eurer Ip Adressen Liste! Wer eine halbwegs aktuelle Liste von Google IP Adressen findet, kann sie gerne in einem Kommentar bekannt geben.

Spamdyke gegen Jobmail Spam Attacken

Aktuell treibt eine Spamwelle mit sinnentleerten Jobmails ihr Unwesen. Mich hat das aktuelle Spamaufkommen dermaßen genervt, dass ich mich auf die Suche nach einem Spam Blocker für meinen Root Server gemacht habe. Recht schnell wurde meine Aufmerksamkeit auf Spamdyke (unbedingt die Filter anschauen – Wahnsinn!) gelenkt und nach einem kurzen Blick auf die Features, war die Suche zunächst erfolgreich abgeschlossen.

Spamdyke lies sich mittels dieses Tutorials tadellos installieren und tut nun seinen Dienst. Ich habe einige Einstellungen etwas anders vorgenommen als im Tutorial beschrieben, aber das tut hier nichts zur Sache. Fakt ist, dass ich seit dem Scharfstellen keine einzige Spam Email mehr erhalten habe. Zuvor hatte ich ein Spamaufkommen von über 1000 Emails pro Tag verteilt auf 5 Postfächer.

Ich bin begeistert und frage mich ernsthaft – wieso habe ich solange mit einer Gegenmaßnahme gewartet?

Regulärer Ausdruck zum Verlinken von Bildern für Lightbox/Slimbox

Es kommt immer wieder mal vor, dass man vor die Aufgabe gestellt wird, einen in der Datenbank abgelegten Quelltext für die Ausgabe vor zu bereiten. Nicht zuletzt peppen Plugins wie Lightbox oder Slimbox ein eingestaubtes CMS System mächtig auf, in dem Bilder in einer sehr schönen Optik vergrößert angezeigt werden können.

Bevor man sich nun die Arbeit macht, jedes im Quellcode eingebettetes Bild (<img src=”" … >) an das auserwählte Plugin anzupassen, macht ein regulärer Ausdruck hier viel mehr Sinn.

Beim Einsatz von PHP genügt folgender regulärer Ausdruck, um alle Bilder eines Quelltextes für Lightbox beziehungsweise Slimbox anzupassen:

  1. $str = preg_replace (
  2. "#()#siU",
  3. "$1",
  4. $str
  5. );

Einfach aber gut stimmts?

Tool zur Analyse der Keyword-Dichte

prüft die Keyworddichte 1er, 2er und 3er Phrasen und untersucht Links

Im Bereich der Suchmaschinen Optimierung ist es unter Umständen sehr hilfreich, die Keyword Dichte eines Textes zu ermitteln. Kommt ein Stichwort oder eine Phrase nun außergewöhnlich häufig vor (>10%), sollte diese durch Synonyme ausgetauscht oder verändert werden.

Um nun nicht umständlich zählen zu müssen, habe ich mir in der Vergangenheit das Keyword Denssity Tool geschrieben, dass Texte auf einzelne Keywörter, 2er + 3er Phrasen untersucht. Einige Wörter werden gefiltert. Die gefundenen Keywords und Phrasen werden nach Abschluss der Untersuchung nach Häufigkeit sortiert tabellarisch aufgelistet. Ein Blick auf die Konkurrenz kann durchaus sehr interessant sein ;-).

URL:
oder Text:
User Agent:
Ziffern:
Stopwörter:
 

Übersichtliche Quelltexte unabhängig von der Programmiersprache

Als langjähriger Entwickler schlägt man sich bei einem Blick auf den eigenen Quellcode von früheren Zeiten doch sehr oft die Hände über dem Kopf zusammen “Wer soll das bitte lesen? Wo sind alle die Kommentare abgeblieben? Für was steht gleich die Variable $a2?”. Gerade heute habe ich wieder über fremden Quellcode schauen müssen und dachte mir, dass dies ein guter Anlass für ein solches Posting wäre. Read more »

Berlin für Kinder

Als in Berlin lebender Vater von 2 Kindern kam ich bereits des öfteren in die Verlegenheit, mit meinen beiden Kurzen etwas Aufregendes zu unternehmen. Also war mein erster Gedanke “schauste doch mal im Netz nach”. Leider musste ich feststellen, dass es keine ordentlich gepflegte Seite gab, die über Freizeiteinrichtungen oder Ausflugsziele direkt speziell für Kinder informierte. Und schon war die Idee für Berlin für Kinder. Besonders wichtig war mir bei der Erstellung der Seiten, dass sie möglichst einfach zu bedienen und mit vielen Bildern untermalt sind. So finden sich inzwischen etliche Indoorspielplätze, Museen und Tierparks auf der Seite an. Die Seite wird von Zeit zu Zeit erweitert – so wie eben Zeit da ist.

Permanent Redirect – wie leite ich einen Link dauerhaft um?

Eins möchte ich euch schon einmal vorweg nehmen – vergesst META REFRESH und Javscript Aufrufe ala location.href=”bla.html”. Für eine dauerhafte Umleitung sind diese Methoden nicht der richtige Weg. Permanent Redirect bedeutet, dass eine Internetseite für den Browser und Suchmaschinen -  vor allem Suchmaschinen sind da richtig geil drauf – eindeutig erkennbar dauerhaft auf eine andere Internetseite umgeleitet wird. Als Erkennungsmerkmal wird beim Aufruf einer permanent umzuleitenden Seite anstatt des normalen Header

HTTP/1.x 200 OK

der Header

HTTP/1.x 301 Moved Permanently

gesendet wird. Und genau diese Modifikation des Header können META REFRESH und Javascript location.href=”bla.html” nicht. Soweit so gut…

Oftmals spricht man der Kürze wegen auch von einem 301 Redirectmehr über Header kann man bei Wikipedia nachlesen. Das dauerhafte Umleiten von Links kann aus verschiedensten Beweggründen wichtig sein. Einer der Gründe ist das Vermeiden von Duplicate Content, ein anderer könnte eine veränderte Internetadresse sein, …. es gibt sicherlich 1000 Weitere Gründe.

Wie man nun einen Permanent Redirect realisiert und was es dabei zu beachten gibt, habe ich nachfolgend kurz zusammen gefasst. Read more »