Lass uns mal wieder über JavaScript sprechen! Will Nye und Darth Autocrat haben dazu vor einigen Wochen jeweils einen Thread bei Twitter verfasst.
7 JS-Probleme laut Will Nye
Will macht den Anfang und packt die 7 häufigsten Probleme aus, mit denen er in den letzten Audits konfrontiert war:
-
Wenn anstelle eines richtigen
<a>Tags irgendwelche<button>oder<span>Elemente mit JS-On-Click-Events genutzt werden, können Linkmodule aller Art nicht gecrawlt werden. Sofern es also keine sehr guten Gründe und eine bewusste Entscheidung dazu gibt, sollte man hier vorsichtig sein und darauf achten, dass alle relevanten Verlinkungen für Crawler erschließbar sind. Das rund zwei Drittel der von Will untersuchten Seiten hier betroffen waren, ist nicht überraschend, wenn wir davon ausgehen, dass es womöglich systemisch bedingt ist. Quelle -
Auch doof: Wenn der Content nicht richtig gerendert und dargestellt werden kann, weil dafür erforderliche Ressourcen Timeouts erzeugen oder durch die robots.txt vor dem Zugriff der Crawler "geschützt" werden. Ein gutes Drittel der betrachteten Seiten sind betroffen. Quelle
-
Nicht nur im Kontext von JavaScript ein sehr typisches Problem: Anstatt einen Status Code 404 auszugeben, antworten Seiten mit einem Status Code 200. Das ist laut Will für ein Drittel der analysierten Seiten zutreffend. Quelle
-
Eine weitere schlechte Idee ist es, Linkmodule erst nach einer Nutzerinteraktion in den DOM zu injecten. Denn eine Suchmaschine wird so niemals etwas von den Links mitbekommen. Immerhin auf jeder fünften von Will betrachten Seite war das der Fall. Quelle
-
Alle aus SEO-Sicht wichtigen Elemente wie Titles, Robots-Angaben, Canonicals & Co sollten sich beim Rendern des HTMLs nicht verändern oder um weitere Tags ergänzt werden, die gegensätzliche oder widersprüchliche Angaben machen. Trotzdem findet sich auch dieses Phänomen auf 20% der Seiten in Wills Analysen. Quelle
-
Wenn sich die URL verändert, ohne dass die Suchmaschine durch eine 3xx-Weiterleitung etwas davon mitbekommt, kann sie die neue URL auch nicht gegen die alte in der Suche austauschen. Betrifft immerhin jede 10. betrachtete Seite. Quelle
-
Content, der erst nachträglich in den DOM eingefügt wird, wenn der Nutzer irgendwo geklickt hat, existiert für Suchmaschinen nicht. Was nicht existiert, kann nicht indexiert oder gerankt werden. Kommt zum Glück nur in 5% der Fälle vor. Quelle
3-14 JS-Fallstrick von Darth Autocrat
Darth Autocrat legt nach:
"I think the most common JS issues I encounter on websites are:
- Crappy designers without a clue
- Crappy developers without a clue
Fancy/Edgy libraries and effects tend to take priority, over things like UX and SEO."
Danach brennt er ein kleines Feuerwerk mit 14 Punkten ab, die ihm immer wieder unterkommen. Es lohnt sich, diese Liste auch einmal anzuschauen.
Fazit
Am Ende bleibt zu sagen: JavaScript kann für manche Dinge durchaus hilfreich, nützlich oder sinnvoll sein. Es gibt teils richtig gute Sachen, die sich damit realisieren lassen.
Aber wenn man es halt falsch oder schlecht einsetzt, dann ist und bleibt es trotzdem doof.\ Denn eigentlich ist JavaScript für Interaktivität und Applikationen gedacht. Wenn Du JavaScript für die Darstellung von Content verwendest, dann verletzt Du ein Grundprinzip: Dem dummen User-Agent möglichst viel erreichbar zu machen. Das ist ein Grundprinzip für ein resilientes, inklusives Internet. Nimmst Du JavaScript, um Content darzustellen, dann verschwendest Du Ressourcen (Datenübertragung, CPU, RAM) von Usern. Und im Zweifel schließt Du User von der Nutzung Deiner Seite aus (und schadest Deiner Reichweite).