SEO Probleme mit OnScroll Show Effekte
Effekte beim Scrollen und ihre Auswirkungen auf Suchmaschinen
Effekte beim Scrollen und ihre Auswirkungen auf Suchmaschinen
Viele moderne Websites verwenden automatische Effekte, bei denen Inhalte beim Scrollen langsam sichtbar werden. Diese Effekte prüfen, ob Elemente im sichtbaren Bereich sind, und blenden sie dann ein. Leider kann dies oft ein erhebliches Problem für Suchmaschinen darstellen.
Das Problem der Suchmaschine
Der Viewport auf Benutzergeräten und bei Google
Bei Benutzergeräten ist der Viewport leicht zu erklären: Geräte haben eine bestimmte Grösse, und Interaktionen erfolgen über Maus oder Gesten.
Google hingegen verwendet kein physisches Gerät, sondern einen virtuellen Viewport mit definierter Breite und unendlicher Höhe. Dadurch kann Google eine Website in ihrer gesamten Höhe direkt anzeigen, ohne jemals scrollen zu müssen.
Problematische Effekte beim Scrollen: Auslöser und Auswirkungen
Effekte müssen mit einem Auslöser versehen werden. In der Programmierung entspricht dies oft der Anweisung: „Bei Scrollen prüfen, ob das Element im Sichtbereich ist. Wenn ja, anzeigen“ – bekannt als „OnScroll Show“. Dieser Effekt ist heutzutage häufig standardmäßig implementiert und kann einfach aktiviert werden.
Es wäre theoretisch möglich, alle 100 Millisekunden zu prüfen, ob das Element sichtbar ist, anstatt das OnScroll-Ereignis zu verwenden. Dies würde jedoch zu einer höheren CPU-Last führen und wird daher vermieden.
Auswirkungen auf die Indexierung durch Google – das Problem
Da Google niemals scrollt, überprüft es nicht, ob ein Element im sichtbaren Bereich ist, und blendet es dementsprechend nie ein. Daher sieht Google nur den initialen, nicht gescrollten Inhalt der Seite und nicht die dynamisch nachgeladenen Inhalte. Dies kann sich negativ auf die Indexierung der Seite auswirken.
Mögliche Lösungen
Notwendigkeit von Effekten überdenken – weg damit
Effekte für Google anpassen
CSS und Media Query
Wir nutzen ein MediaQuery, was für echte Geräte unrealistisch ist, aber für Google kein Problem darstellt:
@media screen and (max-width: 525px) AND (min-height: 2000px) { // Elemente fix zeigen }
Damit können wir dann alle Elemente die normal mit Effekten belegt sind automatisch per CSS einblenden und das Problem besteht nie.
Javascript / JQuery
Wir nutzen ein Javascript oder jQuery, um OnScoll zu triggern, auch wenn nie gescrollt wird.
jQuery(document).ready(function() {
jQuery(window).trigger('scroll');
});
Normale Besucher, würden die Seite laden und der Browser bekommt den Scroll Trigger. Die Elemente ausserhalb des Bildschirmes bleiben aber ausgeblendet und würden normal funktionieren. Bei Google wiederum würde ein Scroll ausgelöst, da alle Elemente sichtbar sind, würden diese sich einblenden und Google könnte diese sehen und indexieren.
Lazy Load und seine Auswirkungen auf die Indexierung
Lazy Load lädt Bilder verzögert nach, was die Seitenladegeschwindigkeit verbessert. Google erkennt Lazy Load und indexiert diese Bilder, auch wenn sie in Screenshots möglicherweise nicht sichtbar sind. Es ist jedoch wichtig sicherzustellen, dass Bilder nicht zusätzlich durch einen OnScroll-Effekt „ausgeblendet“ werden, da sie dann möglicherweise gar nicht erscheinen.
Ein weiterer Vorteil für Bilder ist die Verwendung einer Sitemap für Medien, über die Google alle Bilder parallel finden kann.
Leider bietet eine Sitemap keine Lösung für Text-Inhalte, die durch OnScroll Effekte nicht angezeigt werden.