Seien Sie nicht geizig!
Bieten Sie Google größere Bilder als erwartet an!
Ich beschreibe die Methode für den Server Apache, sie lässt sich aber mit kleinen Modifikationen auch auf andere Server übertragen. Verwendet wird die .htaccess-DateiWenn Sie nicht wissen, was die .htaccess ist, wie Sie sie anlegen oder bearbeiten, dann fragen Sie bitte jemanden, der es kann, oder arbeiten Sie sich ins Thema ein! und mod_rewriteWenn Sie nicht wissen, was mod_rewrite ist, dann fragen Sie bitte jemanden, der sich damit auskennt, oder arbeiten Sie sich ins Thema ein!.
Wie bereits erwähnt, vergleicht Google die Seitenmaße mit den abgespeicherten Werten, bevor ein Bild via Hotlinking geladen wird.
Sie können das in der Bildersuche beobachten. Für einen kurzen Moment wird lediglich eine Kopie des Vorschaubildes angezeigt, bevor die hochauflösende Version nachlädt. Stimmen die Maße des nachgeladenen Bildes nicht mit den von Google gespeicherten Daten überein, wird das Bild nicht angezeigt, sondern weiterhin nur das Vorschaubild.
Es wird das Vorschaubild hochskaliert, deutlich erkennt man die Artefakte.
Wie wird nun bewirkt, dass Google das größere Bild bekommt, aber alle Besucher Ihrer Seite – ob mit Referrer oder ohne – keine Einbußen haben?
Dazu legen Sie jeweils zwei Versionen Ihres Bildes an, wovon eine unter gleichbleibenden Seitenproportionen mindestens 1 Pixel größer ist. Beide Versionen werden in gleich guter Qualität angelegt.
Nennen Sie z.B. Version 1 mein_bild.jpg, Version 2 mein_bild_ersatz.jpg. Den Anhang _ersatz können Sie frei bestimmen, er sollte nur eindeutig sein und jedes Mal verwendet werden, wenn Sie ein Bild mit dieser Methode austauschen wollen.
Laden Sie dann beide Bilder auf Ihren Server. Packen Sie beide Bildversionen entweder immer zusammen in ein Verzeichnis (wie beim WordPress-Medienmanager) oder legen Sie ein Extra-Verzeichnis nur für die _ersatz-Versionen an.
Der entscheidende Schritt besteht in der Anpassung der .htaccess. Öffnen Sie die Datei in einem Editor. Wenn Sie WordPress nutzen, werden Sie vermutlich bereits diesen Passus in der .htaccess zu stehen haben:
# BEGIN WordPress
<IfModule mod_rewrite.c>
RewriteEngine On
RewriteBase /
RewriteRule ^index\.php$ - [L]
RewriteCond %{REQUEST_FILENAME} !-f
RewriteCond %{REQUEST_FILENAME} !-d
RewriteRule . /index.php [L]
</IfModule>
# END WordPress
Passen Sie nun folgenden Code an den farbig markierten Stellen an (Erläuterungen siehe unten) und fügen Sie ihn direkt hinten an, wenn Sie beide Bildversionen im selben Verzeichnis abgelegt haben.
<IfModule mod_rewrite.c> RewriteEngine On RewriteCond %{HTTP_REFERER} !^http(s)?://(www\.)?(
Ihre-Domain.de|translate.google.com|translate.googleusercontent.com|twitter.com) [NC] RewriteCond %{HTTP_USER_AGENT} !(
googlebot|msnbot|baiduspider|slurp|teoma|feedfetcher) [NC] RewriteCond %{REQUEST_URI} !^(.*)
_ersatz\.(
gif|jpg|png|jpeg)$ [NC] RewriteCond %{REQUEST_FILENAME} ^(.*)/([^/]+)\.(
gif|jpg|png|jpeg)$ [NC] RewriteCond %1/%2
_ersatz.%3 -f [NC] RewriteRule ^(.*)$ %1/%2
_ersatz.%3 [NC,R,L] </IfModule>
Haben Sie ein Extra-Verzeichnis für die _ersatz-Bilder angelegt, nehmen Sie diesen Code:
<IfModule mod_rewrite.c> RewriteEngine On RewriteCond %{HTTP_REFERER} !^http(s)?://(www\.)?(
Ihre-Domain.de|translate.google.com|translate.googleusercontent.com|twitter.com) [NC] RewriteCond %{HTTP_USER_AGENT} !(
googlebot|msnbot|baiduspider|slurp|teoma|feedfetcher) [NC] RewriteCond %{REQUEST_URI} !^(.*)
_ersatz\.(
gif|jpg|png|jpeg)$ [NC] RewriteCond %{REQUEST_FILENAME} ^(.*)/([^/]+)\.(
gif|jpg|png|jpeg)$ [NC] RewriteCond %{DOCUMENT_ROOT}/
Pfad/zum/Extra-Verzeichnis/%2
_ersatz.%3 -f [NC] RewriteRule ^(.*)$ /
Extra-Verzeichnis/%2
_ersatz.%3 [NC,R,L] </IfModule>
Eine kurze Erläuterung, was hier passiert:
- In der ersten Bedingung (RewriteCond) wir der Referrer abgefragt. Zwischen den Klammern tragen Sie getrennt durch einen senkrechten Strich (steht für ODER) alle Domains ein, denen Sie Hotlinking erlauben wollen. Hier sollte zumindest Ihre eigene Domain stehen.
- Die zweite Bedingung betrifft den User-Agent. Die Bots der Suchmaschinen sollen nicht die _ersatz-Version Ihres Bildes bekommen. Deshalb tragen wir hier die relevanten Bots ein. Sie können die Liste gerne erweitern.
- Die dritte Bedingung schließt aus, dass nicht bereits das _ersatz-Bild angefordert wird, denn dann brauchen wir es nicht mehr auszutauschen. In dieser Zeile passen Sie bitte den Anhang des Dateinamens (_ersatz) und gegebenenfalls die Liste der zu berücksichtigenden Dateiendungen an.
- Bedingung vier prüft, ob die angeforderte Datei relevant ist (Bitte auch hier ggf. die Dateiendungen erweitern!) und falls dem so ist,
- prüft Bedingung fünf, ob es eine zugehörige _ersatz-Datei gibt. Falls nicht, wird die Originaldatei ausgegeben.
In dieser Zeile ist der Anhang des Dateinamens (_ersatz) und im zweiten Code-Beispiel der Pfad zum Extra-Verzeichnis ausgehend vom Wurzelverzeichnis Ihrer Webpräsenz einzutragen. - Nach den Bedingungen wird die Umleitungsregel (RewriteRule) definiert. Der aufrufenden Instanz wird die _ersatz-Datei mit dem HTTP-Status-Code 302 (Moved Temporarily) geliefert.
Auch hier sind nochmal der Anhang des Dateinamens und ggf. der Pfad zum Extra-Verzeichnis anzugeben. Aber Achtung! Diesmal ist es der relative Pfad ab Domainverzeichnis. (Denken Sie sich einfach Ihre Domain davor: http://www.Ihre-Domain.de/Pfad/zum/Extra-Verzeichnis/, dann haben Sie den richtigen Pfad.)
Von alldem bekommt der Besucher Ihrer Website nichts mit, denn optisch sind für ihn Originalbild und Ersatzbild nicht unterscheidbar.
Nachdem wir wissen, wie es geht, kommen wir zur Frage, ob man es anwenden sollte.