Crawling von Facettensuche-URLs verwalten
Die Facettensuche ist eine gängige Funktion von Websites, mit der Besucher ändern können, wie Elemente (z. B. Produkte, Artikel oder Veranstaltungen) auf einer Seite angezeigt werden. Es ist eine beliebte und nützliche Funktion. Die gängigste Implementierung, die auf URL-Parametern basiert, kann jedoch unendliche URL-Bereiche generieren, was der Website auf verschiedene Weise schadet:
- Übermäßiges Crawling: Da die für die Facettensuche erstellten URLs neuartig erscheinen und Crawler nicht ohne vorheriges Crawling feststellen können, ob die URLs nützlich sind, greifen die Crawler in der Regel auf eine sehr große Anzahl von Facettensuche-URLs zu, bevor die Crawler-Prozesse feststellen, dass die URLs im Grunde nutzlos sind.
- Langsamere Entdeckungs-Crawlings: Wie bereits erwähnt, haben die Crawler weniger Zeit für neue, nützliche URLs, wenn sie nutzlose URLs crawlen.
Eine typische Facettensuche-URL kann verschiedene Parameter im Abfragestring enthalten, die sich auf die Eigenschaften der Elemente beziehen, nach denen gefiltert wird. Beispiel:
https://example.com/items.shtm?products=fish&color=radioactive_green&size=tiny
Wenn du einen der URL-Parameter products
, color
und size
änderst, werden auf der zugrunde liegenden Seite andere Elemente angezeigt. Das bedeutet oft eine sehr große Anzahl möglicher Filterkombinationen, was sich in einer sehr großen Anzahl möglicher URLs niederschlägt. Um Ressourcen zu sparen, empfehlen wir, diese URLs auf eine der folgenden Arten zu behandeln:
- Wenn die Facettensuche-URLs nicht indexierbar sein sollen, verhindere das Crawling dieser URLs.
- Wenn die Facettensuche-URLs möglicherweise indexiert werden sollen, müssen sie unseren Best Practices im folgenden Abschnitt entsprechen. Das Crawlen von facettierten URLs kostet Websites aufgrund der schieren Anzahl von URLs und Vorgängen, die zum Rendern dieser Seiten erforderlich sind, in der Regel eine große Menge an Rechenressourcen.
Crawling von Facettensuche-URLs verhindern
Wenn du Serverressourcen sparen willst und nicht möchtest, dass deine Facettensuche-URLs in der Google Suche erscheinen, kannst du das Crawling dieser URLs auf eine der folgenden Arten verhindern.
-
Verwende robots.txt, um das Crawling von Facettensuche-URLs zu verhindern. Oft gibt es keinen triftigen Grund, das Crawling von gefilterten Elementen zuzulassen, da dies serverseitige Ressourcen in Anspruch nimmt, ohne dass es einen nennenswerten Vorteil bringt. Lasse stattdessen nur das Crawling der Seiten der einzelnen Element sowie einer speziellen Listenseite zu, auf der alle Produkte ohne angewendete Filter angezeigt werden.
user-agent: Googlebot disallow: /*?*products= disallow: /*?*color= disallow: /*?*size= allow: /*?products=all$
-
Verwende URL-Fragmente, um Filter anzugeben.
Die Google Suche unterstützt beim Crawling und Indexieren in der Regel keine URL-Fragmente.
Wenn dein Filtermechanismus auf URL-Fragmenten basiert, hat er keine Auswirkungen auf das Crawling (weder positive noch negative). Verwende beispielsweise anstelle von URL-Parametern URL-Fragmente:
https://example.com/items.shtm#products=fish&color=radioactive_green&size=tiny
Du kannst auch das Element rel="canonical"
link
und das Ankerattribut rel="nofollow"
verwenden, um anzugeben, welche Facettensuche-URLs gecrawlt werden sollen und welche nicht. Diese Methoden sind jedoch im Allgemeinen langfristig weniger effektiv als die zuvor genannten Methoden.
-
Wenn du mit
rel="canonical"
angibst, welche URL die kanonische Version einer Facettensuche-URL ist, kann sich das Crawling-Volume von nicht kanonischen Versionen dieser URLs im Laufe der Zeit verringern. Wenn du beispielsweise 3 gefilterte Seitentypen hast, solltest durel="canonical"
auf die ungefilterte Version verweisen lassen:https://example.com/items.shtm?products=fish&color=radioactive_green&size=tiny
gibt<link rel="canonical" href="https://example.com/items.shtm?products=fish" >
an. -
Das Verwenden von
rel="nofollow"
-Attributen für Anker, die auf gefilterte Ergebnisseiten verweisen, kann von Vorteil sein. Beachte jedoch, dass jeder Anker, der auf eine bestimmte URL verweist, dasrel="nofollow"
-Attribut haben muss, damit er effektiv ist.
Dafür sorgen, dass die Facettensuche-URLs für das Web optimiert sind
Wenn deine Facettensuche-URLs möglicherweise gecrawlt und indexiert werden sollen, beachte die folgenden Best Practices, um die negativen Auswirkungen des Crawlings der großen Anzahl potenzieller URLs auf deiner Website zu minimieren:
-
Verwende das branchenübliche URL-Parametertrennzeichen „
&
“. Zeichen wie Komma (,
), Semikolon (;
) und Klammern ([
und]
) sind für Crawler nur schwer als Parametertrennzeichen zu erkennen, da sie in den meisten Fällen keine Trennzeichen sind. -
Wenn du Filter im URL-Pfad codierst, z. B.
/products/fish/green/tiny
, achte darauf, dass die logische Reihenfolge der Filter immer gleich bleibt und dass keine doppelten Filter vorhanden sind. -
Gib einen HTTP-Statuscode
404
zurück, wenn eine Filterkombination keine Ergebnisse liefert. Wenn das Inventar der Website keine grünen Fische enthält, sollten Nutzer und Crawler eine Fehlermeldung vom Typ „nicht gefunden“ mit dem entsprechenden HTTP-Statuscode (404
) erhalten. Das sollte auch der Fall sein, wenn die URL doppelte Filter oder anderweitig unsinnige Filterkombinationen und nicht vorhandene Paginierungs-URLs enthält. Wenn eine Filterkombination keine Ergebnisse liefert, solltest du nicht auf eine allgemeine Fehlerseite vom Typ „nicht gefunden“ weiterleiten. Gib stattdessen einen Fehler vom Typ „nicht gefunden“ mit dem HTTP-Statuscode404
unter der URL zurück, unter der er aufgetreten ist.