Geschrieben von

Uniform Resource Locator (URL) und SEO

MarTech

In diesem Artikel geht es um die URL. Im Fokus stehen SEO-relevante Aspekte.

Was ist eine URL?

URL steht für “Uniform Resource Locator” und definiert die eindeutige Adresse einer Seite im Internet. Aus technischer Sicht ist die URL eine Übersetzung der IP-Adresse. Im Beitrag “Wie Webseiten geladen werden” bin ich darauf eingegangen, dass nach dem Eingeben der URL in die Adresszeile des Browsers der DNS-Server die URL zunächst in eine IP-Adresse auflösen muss. Erst dann kann der richtige Server angesteuert werden. Damit sich Nutzer die IP-Adresse nicht merken müssen, wurde eine les- und merkbare Variante eingeführt, um Websites anzusteuern: Domains und URLs.

URL-Arten

Grob unterscheidet man in 2 URL-Arten:

  • Statische URLs: Hierbei handelt es sich um URLs, die sich nicht ändern. Beispiel: https://www.demirjasarevic.com/url/
  • Dynamische URLs: Hierbei handelt es sich um URLs, die beim Aufruf der Seite mittels einer Datenbank erst erzeugt werden. Beispiel: https://www.demirjasarevic.com/url?par=123. Dynamische URLs erkennt man anhand des Parameters nach dem “?”. Session-IDs kommen hierbei oft vor.

Beschäftigt man sich näher mit URLs, wird man auf weitere Begrifflichkeiten stoßen:

  • Parameter-URL: Siehe oben unter “dynamische URLs”.
  • Hash-URL: Diese werden für Ankerlinks verwendet und sind durch das Hash (#) am Ende der URL erkennbar.
  • Sprechende URL: Bei sprechenden URLs handelt es sich einfach um gut lesbare URLs (z.B. https://www.demirjasarevic.com/was-sind-sprechende-urls/), wo gut erkennbar ist, welche Inhalte darauf zu finden sind. Charakteristisch ist zudem, dass keine kryptischen Zeichen verwendet werden.
  • Kryptische URL: Dies wäre z.B. https://www.demirjasarevic.com/p=20156/. Kryptisch bedeutet, dass die URL unklar in der Ausdrucksweise ist und hinsichtlich der dahinter liegenden Inhalte schwer zu deuten ist.

Bestandteile einer URL

Schauen wir uns folgende URL an und zerlegen diese in ihre Bestandteile.

https://www.demirjasarevic.com/url-seo/

Das https ist das Netzwerkprotokoll. Mit diesem wird definiert in welcher Art und Weise Daten im Internet übertragen werden. Bei Websites kommt das HTTP-Protokoll zum Einsatz (Hypertext Transfer Protocol). Dabei gibt es auch eine sichere Variante: HTTPS (Hypertext Transfer Protocol Secure). Weitere bekannte Netzwerkprotokolle wären FTP (für Datei-Übertragungen) und SMTP (für Übertragungen von E-Mails).

Danach folgt mit www.demirjasarevic.com der Host oder Hostname. www.demirjasarevic.com lässt sich jedoch weiter untergliedern.

Das www stellt die Third-Level-Domain dar. Auch bekannt als Subdomain.

Danach folgt mit demirjasarevic die Second-Level-Domain.

Die Top-Level-Domain bezeichnet den letzten Teil. Das wäre das com. demirjasarevic.com (also Second- und Top-Level-Domain zusammen) wäre dann die Domain.

Am Ende kommt dann noch der Pfad (oder auch Dateipfad), der hier mit /url-seo/ festgelegt wurde. Hier könnte man nochmal in Verzeichnis und Slug unterscheiden. Bei /url/seo/ wäre “url” das Verzeichnis und “seo” der Slug.

Eine URL kann jedoch weitere Bestandteile haben:

  • Port: Die Portangabe wird am Ende mit einem Doppelpunkt und der Portnummer geschrieben. Hier wird mit einer Zahl zwischen 0 und 65535 angegeben, welche Aufgabe der Server übernehmen soll. Z.B. ist 80 der Standardport für HTTP und 443 für HTTPS.
  • Query String: Mit dem Query String werden Parameter an den Server übergeben. Dies wird meist bei dynamischen Inhalten angewendet. In der URL beginnt ein Query String mit einem “?” und unterschiedliche Parameter werden mit “&” getrennt.
  • Hash: Der Hash (oder auch Fragment) – also # – gibt die Sprungmarke innerhalb des Dokuments an.

SEO-freundliche URLs

Bei der Wahl von SEO-freundlichen URLs gibt es zunächst 2 Aspekte zu beachten. Diese schneide ich hier nur kurz an. In separaten Beiträgen wird darauf näher eingegangen.

  • Netzwerkprotokoll: Hier liegt die Empfehlung ganz klar bei HTTPS (= Ranking-Faktor).
  • Domain: Bei der Wahl des Domainnamens gibt es auch einiges zu beachten. Hierzu bin ich im Beitrag “Internationales SEO” näher darauf eingegangen.

HTTPS ist mittlerweile schon fast Standard geworden. Beim Domainnamen hat man nicht immer die volle Freiheit, da dies auch meist von der Marke abhängt und ggf. von weiteren unternehmenspolitischen oder rechtlichen Rahmenbedingungen. Beeinflussen lässt sich jedoch (meist) die Top-Level-Domain. Hier gibt es aus SEO-Sicht dann einiges zu beachten. Mehr dazu im oben verlinkten Beitrag zum Thema “Internationales SEO”.

Konzentrieren wir uns also auf die Stelle, die wir gezielt beeinflussen können. Das wäre der Pfad. Aus SEO-Sicht gibt es dabei folgende Empfehlungen:

  • Sprechende URLs: Die URLs müssen sprechend gestaltet werden. Durch das Lesen der URL sollte man vermuten können, worum es auf der Seite geht.
  • URL-Länge: URLs sollten kurz und knackig sein – so weit möglich und unter Berücksichtigung weitere Parameter. Es sollte ein guter Kompromiss zwischen kurzer URL und Verzeichnistiefe gefunden werden. Somit lassen sie sich leichter merken, tippen und sind generell schnell zu erfassen. Damit es zu keinen Problemen beim Crawling kommt, sollte die URL nicht länger als 1.000 Zeichen sein.
  • Verzeichnisse: Um URLs und Themen sinnvoll zu gruppieren, sollten Verzeichnisse zum Einsatz kommen. Dadurch bekommt man eine klare Hierarchie und Unterteilung der Website. Zudem lassen sich durch (künstliche) Verzeichnisse später einfach und besser Analysen durchführen (in Webanalyse-Systemen kann man z.B. einfach nach dem Verzeichnis filtern, um die Gesamt-Performance auszuwerten).
  • Zukunft im Blick behalten: Bei der Wahl der URLs sollte man auch zukünftige Entwicklungen im Hinterkopf behalten. Ist z.B. klar, dass in einigen Monaten ein neuer Website-Bereich hinzukommt, dann sollten die URLs auch jetzt schon so geplant werden, damit es später zu keinen Redirects kommen muss.
  • Keywords: Keywords in URLs spielen eher eine untergeordnete Rolle bez. Ranking-Faktoren. Da in der Vergangenheit hier versucht wurde zu manipulieren, hat Google Keyword-URLs abgestuft. Dennoch schadet es nicht Keywords in URLs zu platzieren, solange man kein Keyword-Stuffing betreibt. Sucht man nach “immobilien münchen” so ist domain.com/immobilien-muenchen/ ansprechend, kurz und gibt den Inhalt direkt wider.
  • Trailing-Slash: Bei Domains spielen Trailing Slashes keine Rolle. https://www.domain.com behandelt Google gleich wie https://www.domain.com/. Wenn aber unterschiedliche Protokolle oder Third-Level-Domains im Einsatz sind, macht es einen Unterschied. https://www.domain.com/ und http://www.domain.com/ bzw. https://domain.com/ und https://www.domain.com/ sind für Google unterschiedlich. Das Gleiche gilt auf Pfad-Ebene. https://www.domain.com/abc ist für Google eine andere URL als wie https://www.domain.com/abc/, auch wenn die Inhalte dieselben sind. Mögliches Resultat: Duplicate Content. Daher sollte aus SEO-Sicht auf eine bevorzugte Version per 301 weitergeleitet werden.
  • Parameter-URLs vermeiden: Dort wo es nicht notwendig ist, sollte man auf Parameter-URLs verzichten, um Duplicate Content entgegenzuwirken. Mehr zu Parameter-URLs weiter unten.
  • Groß- und Kleinschreibung: Google behandelt URLs case-sensitive (Ausnahme: Domainname und Protokoll). Das heißt, dass Groß- und Kleinschreibung einen Unterschied für das Crawling und Indexieren machen. Für das Ranking macht es jedoch keinen Unterschied, ob man die URLs klein oder groß schreibt. Wichtig ist, dass man konsistent ist und eine Variante als eindeutiges Signal verwendet. Dadurch vermeidet man auch Duplicate Content. Als Empfehlung kann man dennoch mitgeben, URLs am besten in Kleinschreibung darzustellen. Wieso? Nutzer sind es gewohnt URLs in Kleinschreibung abzutippen und alles in Großbuchstaben kann unseriös bzw. spammy wirken. Treten aufgrund externer Verlinkungen URLs in Großbuchstaben auf, so sollten diese per 301 weitergeleitet werden.
  • Trennzeichen: Müssen einzelne Wörter in der URL getrennt werden, ist das Minuszeichen (-) als Trennzeichen zu empfehlen. Zum einen ist man das von Domainnamen gewohnt und zum anderen erkennt und verarbeitet Google das Minuszeichen als Trenner zwischen einzelnen Wörter. Bei eine_neue_seite würde die Suchmaschine “eineneueseite” interpretieren.

Umgang mit URL-Änderungen

Sollte sich eine URL einmal ändern müssen, gibt es verschiedene Methoden damit umzugehen:

  • Redirects: Die alte URL verweist per Redirect auf die neue URL. Damit werden SEO-Signale auf die neue URL übertragen. Auch Nutzer werden beim Aufruf der alten URL richtig weitergeleitet. Ruft der Nutzer die alte URL im Browser auf und fordert diese beim Server an, so antwortet dieser meist mit dem Status Code 301 oder 302 inkl. Verweis auf die neue URL. Der Browser bzw. Nutzer wird daraufhin auf die neue URL geleitet. In der Adresszeile des Browsers ist dann die neue URL sichtbar.
  • URL-Rewriting: Dies findet komplett auf dem Server statt. Wird eine URL angefordert, so kann diese auf einer anderen URL abgebildet werden. Die Inhalte werden vom Server ausgeliefert. Im Browser ändert sich die URL nicht. Viele CMS nutzen diese Technik. Bei WordPress z.B. wird im Browser die schöne URL https://www.demirjasarevic.com/url-seo/ angezeigt, auf dem Server ist sie jedoch als https://www.demirjasarevic.com/index.php?id=123 sichtbar. Diese Methode kann benutzt werden, wenn sich die URL-Struktur ändert. Nutzer und Google würden weiterhin die gleichen URLs sehen. Der Bot muss nicht mehr den intensiven und aufwendigen Matching-Prozess von URL alt zu URL neu durchführen. Nur die neuen Inhalte müssten gecrawlt werden.

Grundsätzlich sollte man darauf achten, dass sich URLs nach Möglichkeit nicht ändern. Vor allem wenn es sich um kleinere Änderungen handelt, überwiegen die nachteiligen den vorteilhaften Folgen. Die Umwandlung von Minus in Unterstrich oder das Entfernen von Dateiendungen wie .html oder .php sollten vermieden werden. Auch wenn es im Anschluss “sauberer” aussieht, man hat dadurch mehr Nachteile. Suchmaschinen müssen die Redirects verarbeiten und der neuen URLs erst wieder vertrauen schenken.

Eine URL-Änderung kann aber vor allem dann Sinn machen, wenn eine URL längere Zeit nicht indexiert wird. Das ist meist dann der Fall, wenn die betreffende URL eine Zeit lang nicht für den Index funktionierte (404er, noindex, etc.). In so einem Fall könnte eine Änderung der URL helfen.

URL-Parameter

URL-Parameter können zu Crawling- und Indexierungsproblemen führen. Zum einen steigt die Anzahl der zu crawlenden URLs und zum anderen kann leicht Duplicate Content entstehen. Letzteres vor allem dann, wenn die Parameter in der URL keine Auswirkungen auf den Content haben und dieser unverändert bleibt. Um dies zu umgehen, können unnötige URL-Parameter in ein Fragment (#) verschoben werden. In diesem Fall ignoriert Google die URLs (siehe auch weiter unten unter “Hash-URLs”). Fangen wir aber von vorne an und beschäftigen uns mal mit folgenden Themen:

Als gute und inspirierende Quelle dazu fand ich den Artikel von Jes Scholz auf Search Engine Journal.

Was sind Parameter-URLs?

Einfach ausgedrückt: URLs, die einen Parameter besitzen. Der Parameter ist erkennbar durch das Fragezeichen (?). Alles was nach dem Fragezeichen folgt, sind die Parameter. Diese können weiter aufgeteilt werden. Sehen wir uns folgendes Beispiel an:

https://www.demirjasarevic.com/unterseite?produkt=schuh&sortierung=preis

  • ?: Mit dem Fragezeichen wird der Parameter eingeleitet.
  • Key (Schlüssel): “produkt” wird hier als Key bezeichnet.
  • =: Das Istgleich-Zeichen weist dem Schlüssel einen Wert zu.
  • Value (Wert): “schuh” wäre hier nun der Wert.
  • &: Das kaufmännische Und-Zeichen dient als Separator zwischen 2 Key-Value-Paaren.

Es gibt unterschiedliche Gründe, warum Parameter-URLs eingesetzt werden:

  • Tracking: Bekanntes Beispiel sind die UTM-Parameter von Google Analytics wie ?utm_medium=abc.
  • Sortierung: Sieht man oft in Online-Shops, wenn man nach dem Preis sortiert, z.B. ?sort=price.
  • Filterung: Auch oft anzutreffen sind Filterungen wie ?farbe=schwarz oder ?datum=2020.
  • Dynamische URLs: Parameter können auch zum Einsatz kommen, um eine URL direkt anzusteuern. Hier spricht man dann von dynamischen URLs. Beispiel wäre demirjasarevic.com/?p=642.
  • Paginierung: Hier kommen auch oft Parameter wie ?page=2 zum Einsatz.
  • Suche: Suchergebnisse werden mittels /?s=test oder mittels ?query=test ausgespielt.
  • Übersetzung: Language-Parameter wie ?lang=fr oder ?language=de sieht man oft im Rahmen einer internationalen SEO-URL-Strategie.

Welche SEO-Probleme können dadurch entstehen?

  • Duplicate Content
  • Verschwendung von Crawl-Budget
  • Verteilung von Ranking-Signalen
  • Schwächere Klickraten

Duplicate Content
Wie anfangs erwähnt wird Duplicate Content vor allem dann ein Problem, wenn durch die Parameter in der URL der Inhalt nicht mitgeändert wird. Ist die URL /schuhe/ auch über ?category=schuhe aufrufbar, hat man ein Duplicate Content Problem. Der Bot sieht also die gleiche Seite bzw. den gleichen Inhalt auf verschiedenen URLs. Verschiedene URLs kämpfen dann um die selben Keywords.

Verschwendung von Crawl-Budget
Stoßt der Bot auf eine URL, die jedoch aufgrund zahlreicher Parameter-Kombinationen eine Mehrzahl an URLs produziert, dann wird unnötig Crawl-Budget verschwendet. So kann es im schlimmsten Fall passieren, dass wichtige Seiten nicht mehr regelmäßig gecrawlt werden.

Verteilung von Ranking-Signalen
Ranking-Signale verteilen sich zudem auf verschiedene, gleiche Inhalte (durch Parameter ausgelöst), die einzeln betrachtet nicht die Gesamt-Power, die sie sonst gebündelt hätten, erreichen können.

Schwächere Klickraten
Parameter-URLs sind schwer zu lesen. Dadurch wirken sie nicht immer vertrauenswürdig. Innerhalb der SERPs wirkt sich das negativ auf Klickraten aus.

Wie Parameter-URLs identifizieren?

Hier helfen verschiedene Tools und Techniken:

  • Suchoperatoren nutzen: Mit Abfragen wie “site:domain inurl:key” lassen sich indexierte Parameter-URLs identifizieren. Mit “site” holt man sich Ergebnisse der Domain. Mit “inurl” sucht man nach bestimmten Schlüsselwörtern in der URL. Viele Parameter-URL enthalten “key”, “session”, “id”, etc., die man dadurch identifizieren kann.
  • Crawler: Bekannter Crawler können mit einem Crawl ebenfalls Parameter-URLs auffinden.
  • Google Search Console: Im Tool “URL-Parameter” kann man sehen, ob Google Parameter-URLs crawlt.
  • Log Files: Auch hier lässt sich sehen, ob Suchmaschinen Parameter-URLs gecrawlt haben.
  • Webanalyse-Tools: In den Statistiken kann einfach nach “?” im Seitenreport gefiltert werden, um tatsächlich aufgerufene Parameter-URLs zu finden.

Lösungen für die Probleme

Um die möglichen SEO-Probleme in den Griff zu bekommen, werden folgende Lösungen empfohlen:

  • Parameter-URLs auf das nötigste beschränken
  • Canonicals
  • noindex
  • robots.txt
  • URL-Parameter-Tool in Google Search Console
  • Statische URLs statt Dynamische einsetzen

Parameter-URLs auf das nötigste beschränken
Hier empfiehlt sich folgende Vorgehensweise:

  • Unnötige Parameter entfernen: Hier sollte man am besten zunächst mit dem Entwickler sprechen, der eine Liste an eingesetzten Parametern liefern kann. Danach sollte man hinterfragen, ob wirklich alle notwendig sind. Statt Session-IDs können z.B. Cookies eingesetzt werden. Auch können unnötige Parameter in der Navigation entfernt werden, die von Nutzern nicht oft angeklickt werden.
  • Leere Keys vermeiden: Parameter sollten nur eingesetzt werden, wenn sie eine Funktion erfüllen. Kommen Parameter vor, die aber leere Keys aufweisen, dann sollten diese entfernt werden.
  • Keys nur einmal benutzen: Soll ein Schlüssel mehrere Werte bekommen, so sollten die Werte zusammen geschrieben (/unterseite?key1=value1-value2) werden und nicht getrennt (/unterseite?key1=value1&key1=value2).
  • Konsistente Reihenfolge einführen: Manchmal können Parameter vertauscht werden. Die URL ist unter /unterseite?key1=value1&key2=value2 und unter /unterseite?key2=value2&key1=value1 erreichbar. Um auch hier nicht unnötig Crawl-Budget zu verschwenden, sollte der Entwickler einen Mechanismus einbauen, der sicherstellt, dass die Parameter in eine vorher definierte fixe Reihenfolge umgeschrieben werden.
VorteileNachteile
Effizienter Einsatz des Crawl-BudgetsMöglicherweise mit technischem Aufwand verbunden
Verringert Duplicate Content Probleme
Ranking-Signale werden konsolidiert

Canonicals
Über Canonicals habe ich schon ausführlich geschrieben. Hier wird mittels Meta-Tag im Head-Bereich auf die URL ohne Parameter immer verwiesen, um Suchmaschinen zu signalisieren, welche URL die bevorzugte Version ist.

VorteileNachteile
Aus Technik-Sicht einfache ImplementierungParameter-URLs werden trotzdem gecrawlt bzw. müssen gecrawlt werden, um den Canonical verarbeiten zu können
Hilft bei Duplicate Content ProblemenWerden als starker Hinweis von Suchmaschinen interpretiert, wirken aber nicht strikt
Ranking-Signale werden auf der Original-URL konsolidiert

noindex
Werden Parameter-URLs mit der Indexierungsanweisung “noindex” versehen, dann werden diese URLs von Suchmaschinen zumindest nicht indexiert. Bleiben sie längere Zeit auf noindex, so werden diese laut Aussagen von Google dann auch weniger gecrawlt.

VorteileNachteile
Einfache technische ImplementierungURLs werden dennoch gecrawlt; jedoch kann es sein, dass sich dies nach einer gewissen Zeit einstellt
Verringert Duplicate Content ProblemeRanking-Signale werden nicht gebündelt
Indexierte Parameter-URLs werden aus dem Index entferntIn der Regel wird “noindex” von Suchmaschinen berücksichtigt, eine 100%-ige Garantie hat man nicht

robots.txt
Mit der robots.txt steuert man das Crawling der Domain und einzelner URLs.

VorteileNachteile
Einfache technische ImplementierungURLs können dennoch indexiert werden
Crawling-Budget lässt sich direkt steuernRanking-Signale werden nicht gebündelt
Hilft gegen Duplicate Content ProblemeTrotz Aussperren von URLs oder Verzeichnissen, ist das Crawling nicht zu 100% ausgeschlossen

URL-Parameter-Tool in Google Search Console
Hat man keinen Zugriff auf den Quellcode kann die Google Search Console helfen. Im URL-Parameter-Tool kann man Google mitteilen, wie mit bestimmten Parametern umzugehen ist.

VorteileNachteile
Keine Programmierkentnisse notwendigHilft nur bei Google; andere Suchmaschinen bekommen die Anweisung aus der Search Console nicht mit
Crawling-Budget lässt sich steuernRanking-Signale werden nicht gebündelt
Hilft gegen Duplicate Content ProblemeWird von Google nur als Hinweis verstanden

Statische URLs statt Dynamische einsetzen
Dies geschieht mittels URL-Rewriting (oben bereits erwähnt). Man hat dadurch zwar lesbare und saubere URLs, als allgemeine Faustregel für alle Seiten ist das nicht immer zu empfehlen. Viele URLs entstehen durch diese Methode, die dann als Thin Content Seiten gewertet werden. Daher gilt bei dieser Methode die Regel:

  • Parameter-URLs, die nicht indexiert werden sollen, als Query Strings weiterhin darstellen.
  • Parameter-URLs, die indexiert werden sollen, als statische URLs darstellen.
VorteileNachteile
Wichtige Seiten können als statische URLs indexiert werdenHoher technischer Aufwand inkl. Aufwand für Redirects
Duplicate Content wird dadurch nicht beseitigt
Ranking-Signale werden nicht gebündelt

SEO-Empfehlung

Nach so viel Informationen lautet natürlich die Frage, was die pauschale SEO-Empfehlung ist? Dazu kann man sich an folgendem orientieren:

  • Wichtige Seiten und Landingpages für SEO müssen statische URLs besitzen, die individuell angepasst werden können (Titles, Meta-Description, Text, etc.)
  • Für die Suche unwichtige Seiten (wie z.B. Sortierung und einige Filter) können mittels Parameter-URLs ausgespielt werden. Diese sollten – wenn sie den Inhalt nicht verändern – per Canonical auf das Original verweisen.

Will man einen Schritt weiter gehen, kann man auch den anfangs genannten Tipp umsetzen: Alle für die Suche irrelevanten Parameter-URLs einfach nach dem Hash (#) darstellen. Statt

  • https://www.demirjasarevic.com/kategorie/?filter=1&id=3

wird einfach

  • https://www.demirjasarevic.com/kategorie/#?filter=1&id=3

Was passiert? Die Suchmaschine ignoriert alles was nach dem Hash folgt.

Hash-URLs

Bei Hash-URLs unterscheidet Google zwischen 2 Arten:

  • Hash-URLs, die für Ankerzwecke genutzt werden
  • Hash-URLs, die für Rendering-Zwecke eingesetzt werden (sogenannte Hashbang-URLs, die am “#!” in der URL zu erkennen sind)

Hash-URLs für Ankerzwecke werden seitens Google nicht indexiert, da Google die Seite als Gesamtbild ausspielen möchte und nicht einzelne Bereiche davon. Hashbang-URLs wurden im Zuge des AJAX-Crawling-Schema für Rendering-Zwecke eingesetzt. Mittlerweile empfiehlt Google nicht mehr das AJAX-Crawling-Schema. Wie man dabei dennoch die Indexierung sicherstellen kann, wird im Beitrag “JavaScript und SEO” näher beschrieben.

Last modified: 18. Mai 2021