Das Putzlowitsch Test- und SEO-Blog

Google Bildersuche – Anzeige des Originalbildes verhindern

Der Inhalt

  1. Problem
  2. Lösung
  3. Umsetzung
  4. Technik
  5. Ergebnis

Das Problem

Google-Bildersuche mit Originalbild

In der „neuen“ Google-Bildersuche wird beim Klick auf ein Ergebnis das Bild direkt in der Bildersuche in voller Auflösung geladen und angezeigt. Das dürfte viele Nutzer davon abhalten, die Ursprungsseite zu besuchen.

Um den Benutzer zu motivieren, dennoch die Originalseite zu besuchen, könnte man dem Nutzer innerhalb der Google-Bildersuche eine Bild in schlechter Qualität (unscharf/verpixel) mit einem zusätzlichen Hinweistext anzuzeigen. Das findet aber Google nicht so toll, es wird möglicherweise als Bilder-Cloaking gewertet. Das könnte wiederum eine manuellen Maßnahmen zur Folge haben.

Die Lösung

Seit einiger Zeit bietet Google im oben verlinkten Hinweis zum Bilder-Cloaking eine „legale“ Lösung für das Problem an

Bild in den Suchergebnissen minimieren oder blockieren

  • Sie können verhindern, dass das Bild auf der Google-Suchergebnisseite in Originalgröße angezeigt wird, indem Sie das Inline-Linking deaktivieren.

So deaktivieren Sie das Inline-Linking:

  • Wenn Ihr Bild angefordert wird, prüfen Sie den HTTP-Verweis-URL-Header in der Anfrage.
  • Falls die Anfrage von einer Google-Domain stammt, antworten Sie entweder mit HTTP 200 oder mit HTTP 204, „keine Inhalte“.

Google crawlt Ihre Seite und sieht das Bild weiterhin. In den Suchergebnissen wird jedoch nur das Miniaturbild angezeigt, das während des Crawlings generiert wurde. Die Funktion kann jederzeit deaktiviert werden. Die Bilder einer Website müssen dazu nicht noch einmal verarbeitet werden. Diese Methode wird nicht als Bild-Cloaking betrachtet und hat auch keine manuellen Maßnahmen zur Folge.

Wobei hier mit „Inline-Linking“ das gemeint ist, was allgemein als „Hotlinking“ bekannt ist. Und so ähnlich wie die berühmte Hotlink-Sperre funktioniert auch die Google-Bilder-Sperre.

Die Umsetzung

Als technische Basis setze ich einen Apache-Server mit den aktiven Modulen mod_rewrite, mod_headers und mod_setenvif voraus. Wobei das Modul mod_setenvif nicht zwingend erforderlich ist, es macht die Sache aber übersichtlicher:

<IFModule mod_headers.c>
Header	always	set    Cache-Control "no-cache, no-store, must-revalidate"	env=NO_CACHE
</IfModule>

<IfModule mod_setenvif.c>
SetEnvIf Accept "text/html"	REQ_HTML=1
SetEnvIf Referer "^https?://(([^\.]+?\.)?([^\.]+?\.)?[^\.]+?)/"	DOM_REFERER=$1
</IfModule>

<IfModule mod_rewrite.c>
RewriteEngine On

RewriteCond	%{ENV:REQ_HTML} !1
RewriteCond	%{REQUEST_FILENAME} -f
RewriteRule	\.(jpg|gif|png)$	-	[NC,C]

RewriteCond	%{ENV:DOM_REFERER}	google\.(com|de|at|ch)$ [NC,OR]
RewriteCond	%{ENV:DOM_REFERER}	bing\.com$ [NC]
RewriteRule	.*	/status-204.sta

RewriteRule	^status-204.sta$ -	[R=204,E=NO_CACHE:1,L]
</IfModule>

Die Technik

Zur Unterscheidung von Bildaufruf (img src=…) und Link verwende ich den Wert von „Accept“ im HTTP-Request-Header. Nach meiner Beobachtung enthält dieses Header-Feld bei Bild-Aufrufen nicht den Typ „text/html“, beim Aufruf von Links, auch zu Bildern, aber schon. Wenn also „text/html“ im Accept-Header zu finden ist, dürfte es sich um den Link zum Bild und nicht um das Laden des Bildes in der Google-Ansicht handeln.

Die Umgebung

<IfModule mod_setenvif.c>
SetEnvIf Accept "text/html"	REQ_HTML=1
SetEnvIf Referer "^https?://(([^\.]+?\.)?([^\.]+?\.)?[^\.]+?)/"	DOM_REFERER=$1
</IfModule>

Den Accept-Header werte ich in einer SetEnvIf Anweisung aus und setze eine entsprechende Variable, die ich später in den Rewrite-Regeln auswerten kann. Zudem extrahiere ich in dem Block den Domain-Namen aus dem Referer, da ich diesen auch in anderen Rewrite-Regeln benötige.

Das Bild

RewriteCond	%{ENV:REQ_HTML} !1
RewriteCond	%{REQUEST_FILENAME} -f
RewriteRule	\.(jpg|png|gif|webp)$	-	[NC,C]

Mit den Rewrite-Regeln prüfe ich zunächst, ob es ein Bildaufruf (img src=…) ist, die Existenz der Datei (sonst soll die normale 404-Verarbeitung greifen) und über die Datei-Erweiterung, ob ein Bild aufgerufen wird. Falls nicht, wir der nächste Block der Rewrite-Regeln gar nicht erst ausgeführt.

Die Referrer

RewriteCond	%{ENV:DOM_REFERER}	google\.(com|de|at|ch)$ [NC,OR]
RewriteCond	%{ENV:DOM_REFERER}	bing\.com$ [NC]
RewriteRule	.*	/status-204.sta

Im zweiten Block wird eine Liste von Referrer-Domains abgearbeitet, für die die Weiterleitung erfolgen soll. In dem Fall sind es die vier Google-Domains, von denen die meisten meiner Besucher kommen und bing.com (ja, das funktioniert auch für Bing :-). Die Abfrage nach dem Referer kann man natürlich auch anders gestalten. Das hängt halt davon ab, was man damit erreichen will.

Die anschließende RewriteRule erzeugt eine internes Rewrite zur einer leeren Dummy-Datei (status-204.sta), die aber existieren muß. Das ist erforderlich, um den Cache-Header korrekt setzen zu können. Wenn der Browser die Daten cachen würde, wäre das Bild möglicherweise auch nicht auf der Webseite zu sehen.

Die Regel

RewriteRule	^status-204.sta$ -	[R=204,E=NO_CACHE:1,L]

Diese einzelne Regel setzt letzendlich den HTTP-Statuscode „204 No Content“ und triggert die Ausgabe des NoCache-Headers.

Der Cache

<IFModule mod_headers.c>
Header	always	set    Cache-Control "no-cache, no-store, must-revalidate"	env=NO_CACHE
</IfModule>

Außerdem setze ich einen Wert (NO_CACHE), mit dem am Ende geprüft wird, ob das Caching deaktiviert werden soll. Der Block mod_headers steht zwar am Anfang, der Webserver führt diese Anweisungen aber erst ganz zum Schluß aus, kurz bevor die Antwort an den Client gesendet wir. Damit wird das Caching des von Google direkt geladenen Bildes verhindert.

Das Ergebnis

Im Ergebnis lädt Google unser Bild nicht in der ausgklappten Ansicht innerhalb der Bildersuche. Stattdessen wird das vergrößerte Thumbnail des Bildes angezeigt, das Google als Vorschaubild gespeichert hat und das in der Übersicht zu sehen ist.

Das Bild ist entsprechend unscharf und verpixelt. Der Nutzer kann unser Bild auch nicht einfach per Rechtsklick und „Grafik anzeigen“ oder „Grafik speichern unter…“ ansehen oder speichern- Wenn er das Originalbild sehen oder speichern will, muß er also unsere Webseite besuchen und schon haben wir wieder einen Besucher mehr. :-)

Keine Kommentare »

Google Suchparameter kgmid ändert Suchanfrage

Google Doodle zu Ehren von Prof. Dr. Dilhan Eryurt

Google-Doodle zu Eheren von Dilhan Eryurt

Es hätte endlich mal wieder etwas mit Top-Positionen bei Google mit einem Doodle-Video oder -Beitrag werden können. Die Voraussetzungen waren günstig, den die Suchanfrage war bei google.de nicht nur der Name der berühmten Persönlichkeit, sondern der Name mit Prof. Dr. davor.

Auf der Doodle-Seite von Google war als Suche „Prof. Dr. Dilhan Eryurt“ angegeben und auch als das Doodle in DE kurz nach Mitternacht freigeschaltet war, zeigte der Link auf dem Doodle zu einer Google-Suche mit dem Parameter

q=Prof. Dr. Dilhan Eryurt

Ensprechend hat meine Doodle Top-100 auch diese Suche als Suchanfrage erkannt, denn ich werte hier den q-Parameter des Links von der Google-Startseite aus.

Eigentlich ist alles bestens, nur Google macht mir da einen Strich durch die Rechnung.

Prof. Dr. Dilhan Eryurt ohne Prof. Dr.

Google-Doodle: veränderte Suchanfrage

Selbst in der URL der Suchergebnisseite ist der q-Parameter unverändert Prof. Dr. Dilhan Eryurt, nur die eigentliche Suche wird für Dilhan Eryurt ausgeführt. Das sieht man dann im Eingebefeld, dem sogenannten Suchschlitz.

Nun gibt es in der URL noch mehrere, andere Parameter, so z.B.:

oi=ddle

Das sieht verdächtig nach doodle aus, hat aber keinen Einfluß auf das Ergebnis.

Der Parameter, der das Suchergebnis beeinflußt ist die kgmid:

kgmid=/g/120ktfyb

Google Knowledge Graph und Entitäten – die KGMID

Zum ersten Mal bei einem Google-Doodle habe ich den Parameter kmgid Anfang 2018 gesehen, doch es gibt ihn in der Googlesuche schon länger. KGMID steht für Knowledge Graph Machine-generated Identification und ist eine eindeutige ID für eine Entität im Knowledge Graph.

Taucht diese ID in der Such-URL als Parameter auf, wird die entsprechende Knowledge Graph Box angezeigt. Bis Anfang 2019 konnte man so das Suchergebnis manipulieren und zu jeder beliebigen Suchanfrage irgend einen anderen Knowledge-Graph Eintrag ausgeben. Das ist nun nicht mehr möglich und bedeutet, daß die Entität die Suchanfrage überstimmt.

Oder anders gesagt, der Name der Entität wird für die Suche verwendet, egal was im Parameter q= der Suchanfrage steht. Für Prof. Dr. Dilhan Eryurt ist die Entität eben nur Dilhan Eryurt ohne Prof. Dr. und deshalb wird entsprechend danach gesucht.

Eigentlich ganz logisch und einfach, wenn man weiß wie, was und warum. :-)

Dilhan Eryurt - Google Doodle zu Ehren von Prof. Dr. Dilhan Eryurt
Prof. Dr. Dilhan Eryurt

(Dulhem Aryort)

Keine Kommentare »

Google Bildersuche – Bildgrößen (BxH in Pixel) anzeigen

Früher war alles Besser

Google Bildersuche mit Bildgrößen

Früher konnte man sich in der Google-Bildersuche über „Weitere Tools“ -> „Größen anzeigen“ zu jedem Bild ein kleines Overlay mit der Bildgröße (Breite x Höhe in Pixel) einblenden lassen. Bei der Funktion „Weitere Größen“ wurde das sogar standardmäßig angezeigt (siehe Screenshot oben).

Das geht nun nicht mehr und auch die Einblendung dieses Overlays beim Überfahren des Vorschaubildes mit der Maus ist verschwunden. Man muß jetzt das Bild erst anklicken und im aufgeklappten Frame mit dem großen Bild wird die Bildgröße beim Überfahren mit der Maus angezeigt. Sehr umständlich.

Das „Google Bilder Größen“ Bookmarklet

Bookmarklets sind feine Sachen, denn man kann tolle Dinge damit machen. :-)

Ein Bookmarklet ist ein Browser-Lesezeichen, welches aber nicht die URL einer Webseite speichert, sondern Javascript-Code. Dieser kann dann auf eine gerade im Browserfenster angezeigte Webseite losgelassen werden.

Das Bookmarklet hat Zugriff auf den kompletten Seiteninhalt, kann diesen verändern oder Daten extrahieren und z.B. in einem neuen Fenster darstellen.

Vor einiger Zeit hatte ich bereits ein Bookmarklet für die Google-Bildersuche erstellt. Dabei werden die relevanten Informationen aus der Ergebnisseite extrahiert und als Tabelle auf einer neuen Seite dargestellt.

Das heutige Bookmarklet ist viel einfacher, denn es manipuliert nur die aktuelle Seite und blendet bei jedem Thumbail oben Links ein kleines Overlay mir der Bildgröße ein.

Nach der „Installation“ genügt ein Klick auf den Button [Google Bilder Größen] in der Bookmarkleiste und schon werden die Bildgrößen angezeigt:

Bookmarklet Google Bilder Größen

Ein erneuter Klick blendet die Overlays wieder aus. Allerdings werden zunächst nur die Bilder mit der Information versehen, die Google komplett darstellt. Beim scrollen werden die weiteren Suchergebnisse dynamisch nachgeladen und diesen neuen Bildern fehlt das Overlay. Dann einfach den Butten erneut ein- oder zweimal klicken und alles ist wieder gut. :-)

Das Bookmarklet

Google Bilder Größen

Ein Bookmarklet ist zwar ein Link, es macht aber wenig Sinn, diesen hier direkt anzuklicken. Vielmehr müßt Ihr ihn als Lesezeichen im Browser speichern, also z.B. einfach in die Bookmarkleiste ziehen.

Getestet habe ich das Bookmarklet bisher mit Firefox 77.0.1, Google Chrome 83.0.4103.116 und Microsoft Edge 83.0.478.56, damit funktioniert es.

2 Kommentare »

Das Gedicht vom SandstrandSEO

Ein „Gedicht“ mit Strand und Sand und Sandstrand hatte ich vor längerer Zeit schon einmal geschrieben. Damals ging es um die Fußball-WM 2010 und das Lied „Schland o Schland“, das ich adaptiert hatte. Nun habe ich die Adaption auf SandstrandSEO adaptiert.

SandstrandSEO – Strand

Schnurpsel feiert Strandgut
Sand o Strand (SEO)

Sandstrand gibt’s im Freibad hier.
Dort gibt es auch ein kühles Bier.
Im Wasser schwimmt ein Gummitier.
Es ist ein heißer Tag.

Die SEOs liegen dicht an dicht.
Der heiße Sand, der stört sie nicht.
Knallrot wird langsam mein Gesicht,
ins Wasser ich mich wag.

Strand oh Strand,
Du bist für mich die Rettung.
Denn ich oh ich,
kann ohne Dich nicht sein.

Wie ein Rettungsring,
schwimm ich mit dir ganz oben,
Du bist einfach mein Ding,
mein heißer SandstrandSEO.

Gut, es ist nur eine Strophe geworden und nicht alles was sich reimt, ist ein Gedicht. Aber für ein bißchen SandstrandSEo sollte es reichen. :-)

(SemdstremdSAI)

4 Kommentare »

Google Searchconsole – unlogischer Verlauf von Impressionen und Position?

GSC Bilder – Verlauf Impressionen und Position

Die Grafik zeigt den Verlauf der Impressionen (lila) und durchschnittlichen Position (orange) für Bilder im Zeitraum von 3 Monaten in der Google Searchconsole (GSC). Die beiden Linien sehen gegenläufig aus.

Das ist scheinbar ein Widerspruch, denn warum sollte es bei schlechterer Platzierung mehr Impressionen geben.

Das Problem ist Googles „Meßverfahren“, denn die durchschnittliche Position wird aus den angezeigten Suchergebnissen berechnet. Oder anders gesagt:

„Ein Link muss eine Impression erzeugen, damit seine Position erfasst wird. Wenn ein Ergebnis keine Impression erzeugt, weil sich das Ergebnis zum Beispiel auf Seite 3 der Suchergebnisse befindet, aber der Nutzer sich nur Seite 1 ansieht, wird die Ergebnisposition für diese Suchanfrage nicht erfasst.“

Quelle: Google Webmaster Hilfe

Im Beispiel oben entstanden die größeren Spitzen zum Valentinstag und zu Ostern. Klar, das Suchvolumen ist an diesen Tagen bzw. kurz davor für thematisch passende Suchanfragen besonders hoch. Ensprechend steigen die Impressionen an, aber die Suchenden blättern bzw. scrollen auch mal auf Seite 2 oder 3 der Suchergebnisse und es werden Suchanfragen gestellt, für die die eigenen Seiten eben nicht unbedingt auf Seite 1 zu finden sind.

Das erzeugt dann zwar mehr Impressionen aber auch für schlechtere Rankings und damit wird die durchschnittliche Position negativ beeinflußt. Wobei man die durchschnittliche Position wie alle Durchschnittswerte mit Vorsicht betrachten sollte. Man muß immer berücksichtigen, wie und mit welchen Randbedingungen der Durchschnitt berechnet wird.

Keine Kommentare »