Crawlingsteuerung bei Online Shops: Aber wie(so)?
Besonders bei großen Online Shops mit vielen Tausenden bis hin zu Millionen URLs wird ein SEO-Thema besonders spannend: Crawlingsteuerung. Bei großen Seiten darf das Crawling nicht einfach sich selbst überlassen werden. Kleine technische Details können hier große Auswirkungen haben. Wie solltet ihr also das Crawling steuern? Und warum überhaupt? Wir haben die wichtigsten Punkte zusammengestellt.
Versteht Euer Crawlbudget
Bei wirklich großen Seiten – wie es die meisten Shops sind – ist es wichtig zu verstehen, dass es ein sogenanntes Crawling Budget gibt. Suchmaschinen stehen nicht unbegrenzt Ressourcen zur Verfügung, um alle URLs der Welt regelmäßig zu crawlen. Euer Ziel muss daher sein, Suchmaschinen nur oder zumindest vornehmlich die URLs crawlen zu lassen, die wirklich wichtig sind. Wie häufig Google Eure Seite crawlt, seht Ihr in Eurer Search Console im Bericht Crawling-Statistiken.
Noch detailliertere Infos bekommt Ihr übrigens, wenn Ihr einzelne Verzeichnisse in der Search Console einreicht, um Unterschiede und Unregelmäßigkeiten zu finden. (Richtigstellung: Genau die Crawling-Statistiken funktionieren da nicht, aber alle anderen Crawling-Reports) Unregelmäßigkeiten können unter anderem folgende Ausschläge sein:
Über eine Analyse der Logfiles haben wir in diesem Fall festgestellt, dass sich der Bot der Google Bildersuche in Unmengen von unnötigen Bilder-URLs verlaufen hat. Das soll so natürlich nicht sein, Daher galt es, dort anzusetzen und die Bilder-URLs zu reduzieren.
Wenn es um Crawlingsteuerung geht, ist eine solche Logfile-Analyse enorm wichtig. Nur so könnt Ihr die Aktivitäten der Crawler wirklich nachvollziehen, überwachen – und steuern.
Aber wie steuert Ihr jetzt genau das Crawling? Ärmel hochkrempeln, jetzt geht’s los!
Plant Eure Seitenarchitektur logisch
Die Grundlage für einen gut optimierten und crawlbaren Shop ist eine saubere und logische Seitenarchitektur. Dazu gehören viele Faktoren. Besonders wichtig ist eine sinnvolle URL-Struktur, die über sprechende Verzeichnisse die Struktur der Seite widerspiegelt. Hier gilt es abzuwägen, wie tief diese Verzeichnisstruktur wirklich sein muss – schließlich sollen es weiterhin möglichst kurze und handliche URLs sein. Ergänzend empfiehlt es sich, über eine Breadcrumb-Navigation sämtliche Eltern der verschiedenen URLs für Crawler und User nachvollziehbar zu verlinken.
Etwas praxisnaher kann ich das an einem Beispiel erklären:
Wenn die Breadcrumb Navigation so aussieht:
Herren » Bekleidung » Hemden » Businesshemden
Dann ist es nicht sinnvoll, allen Ebenen ein eigenes Verzeichnis zu geben, auch wenn es logisch wäre:
example.com/herren/bekleidung/hemden/business-hemden/
Sondern stattdessen das Verzeichnis „Bekleidung“ zu vernachlässigen, weil es sich aus dem Kontext erklärt:
example.com/herren/hemden/business-hemden/
Seitenarchitektur ist natürlich ein Thema für sich – ich behandle es hier nur oberflächlich . Dennoch solltet Ihr hier die Weichen wichtig stellen, bevor Ihr mit irgendwelchen wilden Korrekturen anfangt.
Verlinkt Eure internen Links korrekt
Je größer Eure Seite ist, desto dringlicher werden die Fehler, die Tools wie OnPage.org, DeepCrawl, Audisto & Co. aufzeigen. Zum Beispiel solltet Ihr interne Links auf Weiterleitungen und vor allem daraus resultierende Weiterleitungsketten vermeiden. Auch Links auf Fehlerseiten dürfen Euch nicht passieren, genauso wie Eure Canonicals ohne Umwege auf die korrekten Seiten verweisen sollten. Internen Links solltet Ihr nicht das Attribut rel=nofollow geben.
Eine paar sinnvolle Reports aus OnPage.org sind zum Beispiel diese hier:
Beachtet Eure Klickpfadlänge
Wenn Ihr eine große Seite habt, solltet Ihr auch darauf achten, dass Eure URLs nicht zu weit von der Startseite entfernt sind. Bei OnPage.org heißt dieser Report „Links » Klickpfad“ und sieht zum Beispiel so aus:
Ab einer gewissen Seitengröße kann es durchaus natürlich und im Sinne der Seitenhierarchie sein, dass nicht alle URLs drei Klicks von der Startseite entfernt sind. Daher arbeitet OnPage.org auch mit gelben Balken. Muss der User jedoch siebenmal und öfter klicken, um von der Startseite bis zur endgültigen URL zu kommen, ist das deutlich zu viel. Dann solltet Ihr Euch fragen, ob diese Seiten wichtig sind und ob Ihrsie nicht besser in die Seite integriert (nochmal Stichwort Seitenarchitektur). Sind sie nicht wichtig, dann solltet Ihr Euch überlegen, wieso sie überhaupt noch existieren.
Verwendet eine Sitemap
Bei großen Seiten ist es für Suchmaschinen eine große Hilfe, eine Sitemap zur Orientierung zu haben. 50.000 URLs bzw. 10MB dürfen in eine Sitemap. Wenn Ihr mehr URLs habt, solltet Ihr eine Sitemap-Indexdatei verwenden. Eine solche Sitemap muss allerdings auch gepflegt werden. Wenn reihenweise veraltete URLs in der Sitemap stehen, ist das kontraproduktiv.
Crawling von Filtern und Parametern steuern
Die Funktion von Parametern in Onlineshops hängt mit der Filterung der Produkte nach ihren Eigenschaften und mit dem Begriff Facettennavigation zusammen. Einen ausführlichen Beitrag dazu findest Du unter Facettensuche und SEO.
Filter in Online-Shops
Online-Shops nutzen Filter, damit Kund:innen die Produktauswahl nach Ihren Wünschen verkleinern können. Will eine Person beispielsweise in einem Online-Schuhgeschäft blaue Sneaker in Größe 38 kaufen, so kann sie die Kategorie „Damensneaker“ nach der Farbe blau und zusätzlich nach der Größe 38 filtern.
Dadurch findet sie ausschließlich für Ihre Kaufabsicht passende Sneaker mit diesen Merkmalen und muss sich nicht mühsam durch das gesamte Sortiment wühlen. Filter für Produkt-Listings sind für Personen einfach anzuwenden und zielführend für die Kaufabsicht und damit eine wichtige Funktion in Shops.
Filterungen übertragen sich üblicherweise durch Get-Parameter auf die URL und erzeugen so neue URLs mit dem gefilterten Ergebnis.
Im Beispiel könnte die Ergebnis-URL so aussehen: example.com/damen-sneaker-beispielmodell?farbe=blau&groesse=38.
Ein Fragezeichen (?) kündigt die Parametervariable an, z.B. „farbe“. Dahinter steht das „Ist-gleich-Zeichen“ (=) und darauf folgt der Wert der Variable, in diesem Fall also „blau“. Ein kaufmännisches „und“ (&) verknüpft zwei Parameter.
Für einen Suchmaschinenbot sind Parameter-URLs eigene URLs. Falls der Bot sie findet, so versucht er sie zu crawlen.
Damit kommen wir zum kritischen Aspekt. Abhängig von der Anzahl an Variablen und Werten ergeben sich rechnerisch irrwitzig viele Filterkombinationsseiten.
Aus SEO-Sicht sollten aber nur ganz wenige davon gecrawlt und indexiert werden:
- Wichtige Kategorie- oder Produktseiten müssen regelmäßig gecrawlt und indexiert werden. SEOs versuchen deshalb entsprechende Relevanzsignale für diese Seiten zu setzen und gleichzeitig zu verhindern, dass Bots das Crawlbudget für irrelevante Filterseite verbrauchen.
- Filterseiten enthalten oft (Near-) Duplicate Content oder Thin-Content, und Google will solche Inhalte nicht im Index haben.
- Das Thema „laufen zu lassen“ nach dem Motto „Google sucht sich schon die richtigen Seiten!“ ist eine schlechte Idee. Ein „Index Bloat“ – also den Suchmaschinen-Index mit unbrauchbaren Seiten zu fluten – widerspricht Googles Richtlinien.
Für Deinen Shop musst Du deshalb eine Auswertung durchführen, welche Filter-URLs Du indexieren willst und welche nicht. Hier findest Du meine Tipps dazu.
Einzigartige Shop-Filterseiten sind indexierenswert
Nicht einzigartige Seiten sind Duplicate Content: Wenn die Filterreihenfolge tauschbar ist, also z.B. der Farbfilter sowohl an erster als auch an zweiter Stelle stehen könnte, ebenso wie der Größenfilter – dann listen beide URLs die gleichen Produkte auf. Das gilt auch, wenn sich lediglich die Reihenfolge der Produkte ändert, etwa bei der Anordnung „nach Beliebtheit“ oder „nach Preis aufsteigend“.
Indexierbare Seiten müssen genug Produkte enthalten
Nur Filterseiten, die eine ausreichende Auswahl an Produkten bieten, sind für den Google-Algorithmus sinnvoll.
Wenn ich viele Filter kombiniere, kann dies zu wenigen oder null Produkten führen. Damensneaker in pink, in Größe 42, aus dem Material Segeltuchstoff, für die Saison Winter? Es ist unwahrscheinlich, dass ich für diese Kombination viele Ergebnisse erhalte.
Du willst keine unserer Beiträge mehr verpassen und auf dem Laufenden bleiben? Abonniere jetzt unseren Newsletter und erhalte jeden neuen Seokratie-Beitrag per E-Mail direkt in Dein Postfach!
Hier geht es zum Anmeldeformular.Nur Filterseiten mit genug Suchvolumen in den Index.
Für die Entscheidung für oder gegen die Indexierung einer Filterseite ist auch essenziell, dass die Keywords genug Interesse an der Seite versprechen. Die Filter-Seite example.com/damen-sneaker?farbe=blau&groesse=38 beinhaltet blaue Damensneaker in Größe 38.
Prüfen wir die Suchvolumen für Farbe und Größe einzeln und kombiniert im Google Keyword Planner:
Ausgehend vom Suchvolumen ist eine indexierbare Seite mit blauen Damensneakern (grün umrandet) eine gute Idee.
Eventuell und je nach Angebot macht auch eine indexierbare Seite mit Sneakern in Größe 38 (gelb umrandet) Sinn. Aber die Kombination der Größe 38 und der Farbe blau (rot umrandet: Suchvolumen 0) macht zwar für Personen im Shop Sinn, gehört aber nicht in den Google-Index.
SEO-Maßnahmen bezüglich der Facettennavigation
Über den Daumen gepeilt gehören einerseits Sortierungen und andererseits Kombination von mehreren Filtern meist nicht in den Index. Sie sollten weder intern verlinkt sein, noch gecrawlt und schon gar nicht indexiert werden.
Für Filter im eCommerce gilt darüber hinaus:
- Biete nur für Kund:innen sinnvolle Filter im Shop an.
- Lege für die Parameter eine feste Reihenfolge in der URL fest – so eliminierst Du unsinnige Dopplungen.
- Die Indexierung von Filterseiten kannst Du mit dem noindex-tag verhindern. Dies setzt auch das Crawling langfristig etwas herab.
- Das Crawling bestimmter Filter-URLs kannst Du über die robots.txt mit dem Disallow-Befehl verbieten. Beachte, dass bei einer Kombination aus „Crawling verbieten“ und „Noindex“ oder einem Canonical. Google das noindex tag nicht finden und die URL (wenn sie etwa Backlinks hat) trotzdem in den Index gelangen kann.
- Bots sollten hinter der Filteroption am besten keine internen Links finden, die auf irrelevante Parameterseiten zeigen, denn dadurch verlierst Du Linkjuice. Ob interne Links bestehen, kannst Du mit einem Crawling Tool wie dem Screaming Frog überprüfen. Aktiviere dabei das Java Script Rendering. Da die Googlebots Buttons und Formulare nicht crawlen, könnte Deine IT die Filter zum Beispiel mit der sogenannten Post-Redirect-Get-Technologie (PRG) umsetzen.
- Verlinke die Filterseiten, welche Du indexieren möchtest intern und über Deine Sitemap und erlaube das Crawling sowie die Indexierung.
Verbessert Eure Ladezeiten
Direkt in Zusammenhang mit dem Crawlbudget steht auch die Größe der Seite. Schnell ladende Seiten können auch vom Crawler schneller erfasst werden. Die Ladezeit ist daher besonders für sehr große Seiten ein wichtiger SEO-Hebel. Und mit schicken Seiten wie testmysite.thinkwithgoogle.com macht das sogar noch Spaß! Sehr lohnenswert ist auch ein Blick auf die Dateigrößen und die Wasserfalldiagramme von gtmetrix.com. Für Letzteres könnt Ihr aber auch die Entwicklertools aus Chrome oder Firefox verwenden.
Behaltet das ganze Bild im Blick
Letztendlich ist es wichtig, dass Ihr Eure Seite so schlank wie möglich haltet. Die meisten Aufgaben sind schlicht Handwerk, bei denen es kein „vielleicht“, sondern nur „richtig“ und „falsch“ gibt. Natürlich müsst Ihr bei der Umsetzung abwägen, wie viele Ressourcen Ihr dafür verwendet. Aber das Schöne ist: Wenn die Punkte erledigt sind, dann habt Ihr Eure Seite besser gemacht. Google ist glücklich, Ihr seid glücklich – und wenn euch der Artikel geholfen hat, bin auch ich glücklich!
Fehlen wichtige Maßnahmen? Dann lasst es mich in einem Kommentar wissen!
Euch ist das alles zu technisch und Ihr braucht jemanden, der Eure Seite komplett unter die Lupe nimmt und Euch anschließend durch die erforderlichen Maßnahmen führt? Dann stellt Eure SEO-Anfrage.
Bilder: Ameise im Teaserbild © ookawa / istockphoto.com
Servus,
sämtliche Seiten die nur zum „ausdrucken“ vom Shop erstellt werden auf „noindex nofollow“ setzen oder ganz aus dem Shop nehmen! Begründung: Die Seiten haben einen kleinen Quellcode, damit mehr Text / Content / schnellere Ladezeit und werden oft von Google indexiert und tauchen vor der eigentlichen Produktseite im Index auf – obwohl ohne Kauffunktion und Canonical schützt nicht immer und wird trotzdem gecrawlt.
Parameter einstellen – nur für absolute Profis geeignet, weil da kannst den ganzen Shop abschiessen!
Grüßle Alex
Stimmt, Druckseiten können ziemlich ärgerlich sein. Trotzdem würde ich diese nicht auf nofollow stellen. Ich würde hier nur mit einem Canonical arbeiten (und demnach auch nicht mit noindex). Das löst aber leider noch nicht das Crawlingproblem, sondern nur die Indexierung. Je nach Größe der Seite würde ich entweder mit dem Problem leben oder dafür einstehen diese Druckversionen ganz abzuschaffen und mit Druck-Stylesheets zu arbeiten. (Ohne es ganz gelesen zu haben, wirkt das dazu sehr aufschlussreich: http://www.peter-rozek.de/publikationen/css-design-grundlage-druckversion.php)
Hallo Felix,
vielen Dank für einen mal wieder sehr interessanten Seokratie-Post. Sich die Crawl-Statistiken auf Verzeichnisebene anzuschauen – daran hatte ich noch nicht gedacht, gute Idee!
Eine Sache ist mir nicht ganz verständlich geworden: Was hat die URL-Struktur, bezogen auf die Nutzung von Verzeichnissen, mit Crawlersteuerung zu tun? Weil ich die Verzeichnisse in der SC als Property freischalten kann um mir die Crawl-Statistiken auf Verzeichnisebene anschauen zu können? Quasi URLs in Verzeichnissen bündeln für eine bessere Crawl-auswertung? Im Artikel wird die Nutzung von Verzeichnissen sehr betont, daher frage ich mich ob da noch mehr dahinter steckt. Ist nicht die Verlinkungsstruktur alleine für den Pfad des Crawlers ausschlaggebend?
Viele Grüße
Benjamin
Stimmt, nofollow noindex wird ja trotzdem mal gecrawlt, ist also auch keine Lösung.
Eben, es geht um das Crawlingproblem und deswegen wäre es besser solche „unnötige Seiten“ zu löschen. Direkt beim erstellen des Shops und noch bevor man unzählige Produkte in den Shop einfügt. Warum? Weil die URL´s über Jahre von Google gecrawlt werden, auch wenn sie schon längst nicht mehr existieren.
Hab das mal vor einiger Zeit in meinem Blog behandelt und da sieht man an zwei Beispielen wunderbar, wie lange Google an URL´s herum knabbert, obwohl die URL´s seit Jahren nicht mehr existieren und trotzdem noch gecrawlt werden. http://felodeseo.com/wie-aktuell-ist-google-wirklich/
Danke für den interessanten Artikel.
Mich würde noch interessieren, wie man das Thema Siloing im Online-Shop am besten angeht.
Jeder Shop hat ja in der Regel ein oder mehrere Menüs (im Header und oder Sidebar), die Produkt-Kategorien beinhalten und auf allen Seiten zu finden sind, also auch auf Produktdetail-Seiten. Die zerschießen strenggenommen da dann wieder das Konzept des Siloing, weil ich dann ja von z.B. einer Produktdetail-Seite zum Thema „Hundefutter“ über das Menü auf die Kategorie „Babynahrung“ verlinke. Also auf eine Kategorie, die thematisch nicht zur Produktdetail-Seite „Hundefutter“ passt.
Sollte mann dann die Menüs auf Produktdetail-Seiten auf „nofollow“ setzen? Technisch eine Herausforderung, gerade wenn sich das Menü im Header befindet und auf der Startseite ja gerade nicht auf „nofollow“ stehen sollte.
Was meinst du mit „einzelne Verzeichnisse in der Search Console einreichen“? Dass man sie als eigene Property anlegen soll?
LG, Karo
Hallo Benjamin,
sehr gute und richtige Anmerkung. Die Verzeichnisstruktur hat nicht direkt etwas mit dem Crawling zu tun, darüber entscheiden die Links, da hast du recht. Mein Ansatz ist aber: Wenn der Cralwer über die URL (und somit über Verzeichnisse und Parameter) schon die Hierarchie der Seite verstehen kann, dann kann er auch die Zusammenhänge und die Wichtigkeit besser interpretieren. Eigentlich möchte ich damit sagen: Schaut erstmal, ob der Seitenaufbau als solcher stimmig ist, bevor ihr das „Micromanagen“ anfangt.
Viele Grüße
Felix
Hi Karo,
ja, genau das meinte ich damit. Aber ich muss das richtigstellen: Genau diesen Report zu Crawlingstatistiken gibt es bei Propertys für Verzeichnisse nicht. Dafür aber die anderen Reports wie Crawlingfehler und Parameter-Übersicht. Habe das jetzt oben entsprechend klargestellt.
Viele Grüße
Felix
Hallo Roland,
danke für deine gute Nachfrage! Siloing ist tatsächlich auch wichtiges Thema beim Crawling. Das führt allerdings sehr weit. Ich bleibe dabei: Ich würde bei internen Links in 99,99% der Fälle kein nofollow verwenden. Solange nur die Überkategorien der jeweiligen anderen Silos verlinkt werden, finde ich das richtig und auch im Sinne der Klickpfadlänge. Die große Frage dabei ist nur: Wie viele Überkategorien gibt es und was ist überhaupt eine Überkategorie? Hier würde ich die erste Hierarchieebene möglichst schmal halten.
Hallo Felix,
aus meiner Sicht macht es dennoch Sinn Seiten mit Such- und Filterergebnissen komplett zu sperren. Allerdings nicht über die Robots.txt sondern über die .htaccess. Grund für dieses stringente Vorgehen, waren die sich systembedingt bei jeder Eingabe des Users ändernden URL-Parameter, hat zu jeder Menge Verwirrung bei Google geführt und 404er in der SC ausgespuckt, deren URLs physisch zu keinem Zeitpunkt existiert haben.
Jetzt haben wir Ruhe 😉
Viele Grüße
Florian
@Florian
Interessant, das gleiche Problem hatten bzw. haben wir auch.
Aber warum über die .htaccess und nicht über die .robots.text?
Florian, klingt sehr interessant, danke! Wie genau du das per .htaccess machst würde mich auch interessieren. 🙂
Ab welcher Größe/ durchschnittlichen Besucherzahl bzw. Konkurrenz sollte man sich diesem Thema verstärkt zuwenden?
Wie immer ein sehr interessanter Artikel! Keep up the good work!
Hallo Roland, hallo Felix,
wir sperren mittels RewriteEngine On das komplette Verzeichnis über den User-Agent, in diesem Fall den Google und den Bing Bot. Im Prinzip also wie man es mit Referrer-Spam macht nur halt eben für einen bestimmten Bereich und nicht die komplette Seite. Das ist zwar nicht sonderlich charmant, aber nicht anders zu handeln. Die robots.txt verwenden wir in diesem Fall nicht, da diese ja nur das indizieren verhindert, aber dennoch Crawl-Budget verbraten wird. So schützen wir btw. auch unsere Login-Bereiche vor einschlägig bekannten schwarzen Schafen. Schließlich hält sich nicht jeder Bot an die robots.txt 😉
Beste Grüße
Florian
Servus Sepp und danke! Ich sag jetzt mal aus dem Bauch heraus ins Blaue hinein 5.000 Seiten.
Danke fürs Teilen, Florian! Hat das auch fürs Ranking was gebracht?
Das mit der robots.txt verhindert allerdings durchaus das Crawling, aber eben das Indexieren nicht. Nur killt das auch sämtliche „Linkstärke“ die dort landet. Wohingegen bei deiner Lösung zumindest die Seite „angecrawlt“ werden muss, damit der Crawler den Redirect sieht. Besser als dass er alles crawlt auf jeden Fall. „Nicht sonderlich charmant“ triffts aber ganz gut. 😀
Gern geschehen, ich lerne soviel von Blogs wie diesen, da kann man auch etwas zurückgeben 😉
Durchbrüche zu speziellen Keywords habe ich bislang noch nicht feststellen können. Die Zahl der 404 ist allerdings deutlich zurück gegangen. Wir haben leider auch eine historisch gewachsene, sehr tiefe Linkstruktur (wird beim nächsten Relaunch behoben). Hier kann man schon sagen, dass mittlerweile auch URLs auf sehr tiefer Ebene zumindest mal auf den Plätzen 11-30 ranken, wo man durch etwas pushen vielleicht noch was reißen kann. Ich habe schon den Eindruck, dass wir dadurch den Bot in die richtige Richtung schubsen konnten.
Sollte man natürlich nicht übertreiben natürlich, aber für ein, zwei Bereiche klappt das ganz gut. 😉
Vielen Dank für den Artikel.
Meine Frage. Wann fällt Crawl Budget an. Wird bereits 1 Crawl Budget abgezogen, wenn Google den http Header eins Dokuments (Bspw. einer simplen HTML Datei) abruft? Oder erst wenn ein 200er zurück kommt und Google den HTML Head liest?
Vielen Dank und Gruß
Hi Marcel,
gute Frage. Ohne es genau zu wissen, gehe ich nicht davon aus, dass es einfach „1 Crawl Budget“ pro URL gibt. Wenn du bspw. mit Screaming Frog eine Seite crawlst, schaffst du mit dem gleichen Speicher ja auch mehr URLs, wenn viele 301 oder 404 dabei sind. Noch dazu werden die URLs schneller übersprungen, weil ja kaum etwas geladen wird. Ich denke es ist ein Mix aus Zeit und Kilobyte. Wenn es jemand genauer weiß, freue ich mich aber über eine Richtigstellung! 🙂
Hallo Felix,
cooler Post.Ist PRG keine Thema für Dich. Ich setzte das ja schon sehr lange Zeit ein und hatte auf mal WIKI Eintrag dazu gemacht https://www.advertising.de/seo/wiki/prg-pattern.html
Denke schon, das es noch eine hoche Relevanz bei der Crawlingsteuerung hat. Was denkst Du?
Gruß
Christian
Hi Christian, danke! Doch, durchaus. Im vor-vorletzten Absatz steht mein Senf dazu. 🙂