JavaScript

Bei JavaScript handelt es sich um eine Programmiersprache, die auf der Seite des Clients arbeitet und mit deren Hilfe Webseiten funktionaler gemacht werden können.

Einbindung in HTML Code

Der JavaScript Code kann in HTML-Seiten eingebunden werden, damit diese an Funktionalität gewinnen. Hierfür gibt es mehrere Möglichkeiten: er kann zwischen den Tags <SCRIPT> und </SCRIPT> stehen ("Inline-Variante"), er kann in einer externen Datei untergebracht sein, er kann ein Parameter von HTML-Tags sein und er kann in Form eines HTML-Links eingebaut werden. Bei der Einbindung in den HTML Code ist darauf zu achten, dass das Script keine Fehler aufweist. Somit kann das Entstehen eines Bugs vermieden werden, welches sich negativ auf die Suchmaschinenoptimierung auswirken könnte.

DOM

Eine Skriptsprache wie JavaScript sollte DOM umsetzen. Das steht für “Document Object Model” und ist eine Empfehlung des W3C. Es handelt sich um ein allgemeines Modell für Objekte eines Dokuments.

Mögliche Anwendungen

JavaScript bietet viele verschiedene Anwendungsmöglichkeiten. Es können Seitenbesuche gezählt, Monatskalender eingeblendet oder Formulareingaben überprüft werden. Ein häufig genutztes Beispiel ist auch der Taschenrechner. In Webshops ist der virtuelle Warenkorb eine sinnvolle Anwendung. Negativbeispiel sind Pop-up Fenster, die in der Regel den Nutzer mit Werbung überfallen. Es ist auch möglich mit JavaScript den Quelltext einer Seite vor deren Besuchern zu verstecken oder das Kopieren von Bildern oder Texten zu verhindern. Da hierbei die rechte Maustaste blockiert wird, verliert der Nutzer auch andere Funktionen und wird ungewollt stark eingeschränkt.

Als Erweiterung von JavaScript kann CommonJS dienen. Diese macht unter anderem Programmierschnittstellen möglich, welche die Implementierung in Anwendungen wie Datenbanken, Webservices und Desktop-Anwendungen geeignet sind.

Folgen von Deaktivierung

Ein Browser bietet dem Nutzer die Möglichkeit, JavaScript mittels eines NoScript AddOns zu deaktivieren. Der Besucher einer Seite kann dann JavaScript-Anwendungen nicht mehr nutzen, schützt sich aber zum Beispiel vor störender Werbung. Wenn zu viele Elemente auf einer Seite JavaScript verwenden, dann haben Nutzer keine Freude beim Besuch der Webseite. Auch die Barrierefreiheit wird eingeschränkt. Eine Webseite sollte auch bei deaktiviertem JavaScript noch navigationsfähig sein.

Sicherheit durch das Sandbox-Prinzip

Das Sandbox-Prinzip ist entwickelt worden, um den Nutzer vor Missbrauch durch JavaScript-Anwendungen zu schützen. Die Sandbox ist dabei eine Art Käfig, die die Sprache in ihrer Reichweite einschränkt. Eine Anwendung kann zum Beispiel nicht auf lokale Dateien zugreifen. Somit können Unbefugte weder Dateien auslesen, noch können sie hinein schreiben.

Bezug zur Suchmaschinenoptimierung

Eine Suchmaschine beachtet JavaScript Code in der Regel nicht. Die Interaktion, die für den Nutzer durch JavaScript-Anwendungen möglich wird, kann von einem Crawler nicht genutzt werden. Er besucht die Seite so, wie ein Nutzer mit deaktiviertem JavaScript und kann Seiten nicht erreichen, die ausschließlich über JavaScript erreichbar sind. Auch Text, der mit JavaScript dargestellt wird, wird von der Suchmaschine in den meisten Fällen nicht wahrgenommen. Weiterleitungen sollten besser serverseitig umgesetzt werden.

Dateigröße und Performance

Besitzt eine Webseite ausgiebige Interaktions-Elemente, die per JavaScript umgesetzt und am Ende des Quellcodes platziert wurden, erhöht dies die Dateigröße jeder einzelnen Unterseite. Dies wiederum erhöht den Crawlingaufwand für die Suchmaschinen. Die Ladezeit für Benutzer mit langsamem Internetanschluss (zum Beispiel auf Smartphones) wird dadurch für jede Unterseite erhöht.

Man sollte in diesem Fall den Code in eine externe Javascript Datei ausgliedern und diese am Ende des Quellcodes integrieren. Die externe Datei sollte außerdem im Browser des Benutzers gecached werden, damit sie nur bei dem ersten Seitenaufruf geladen wird. Hierdurch wird ab dem zweiten Seitenaufruf ein Performance-Gewinn erzielt und auch die Suchmaschinen haben eine leichtere Aufgabe, da der Quellcode der Unterseiten "schlanker" ist. Die Crawler-Ressourcen kommen somit mehr Inhalten der Webseite zugute und fördern indirekt ein besseres Ranking.

Ladezeit und Conversion Optimierung

Einige Webmaster tendieren dazu, die JavaScripts verschiedener Unterseiten in einzelne externe Dateien auszulagern. Dies kann dazu führen, dass sehr viele externe JavaScript-Dateien beim Seitenaufruf angefordert werden. Hierdurch kann eine Verschlechterung der Renderzeit entstehen, da die Browser der Benutzer eine Begrenzung von maximalen parallelen Downloads von diesen externen Dateien (dazu zählen Bilder und CSS-Dateien) vorgeben. Bei zu vielen Dateien und einer langsamen Internetverbindung kann es vorkommen, dass die Seite länger zum Laden braucht, was für den Besucher eine schlechte "User Experience" darstellt und somit negative Auswirkungen auf die Conversion-Rate haben kann.

Im Idealfall sollten alle JavaScript-Dateien in eine einzige Datei zusammengeführt werden, die dann vom Benutzer nur ein einziges Mal geladen wird (Caching) und somit einen doppelten Performance-Gewinn bringen kann.

Renderzeit und Conversion Optimierung

Ein weiterer Trick zur Verbesserung der Webseite-Performance und Conversion ist, die externe(n) JavaScript-Datei(en) ganz am Ende des Quellcodes zu platzieren. Der Hintergrund ist der, dass teilweise die Browser das Rendering der Webseite an der Stelle stoppen, wo eine externe Datei verlinkt wurde und diese zunächst geladen wird. Liegt die externe JavaScript-Datei auf einem externen Server, der nur langsam antwortet, sieht der Benutzer zunächst nur eine leere Seite.

Erst wenn alle Scripts und CSS-Dateien geladen sind, wird das Rendering beendet. Platziert man die Referenzen zu der externen Datei hingegen am Ende des Quellcodes, wird dem Benutzer der Inhalt der HTML-Datei angezeigt und der Inhalt wie beispielsweise Texte sind vorab sichtbar. Der Vorteil dabei ist, dass der Nutzer im Falle des langsamen externen Servers nur warten muss, um Zugriff auf die Interaktions-Möglichkeiten des JavaScripts zu bekommen.

Weblinks

Kategorie

Verwandte Artikel

Brauchst Du noch Hilfe?
Feedback einreichen