Website Optimierung nicht nur für die Suchmaschine
Page Speed
Website Optimierung nicht nur für die Suchmaschine
Es gibt zahlreiche SEO-Tools, sowohl freie als auch kostenpflichtige aber es gibt nicht das eine allumfassende Tool und so ist man gezwungen sich seine Informationen aus einer Vielzahl von Tools zusammen zu suchen.
 •	 um eine Überblick zur Geschwindigkeitsoptimierung bekommen  Google PageSpeed Insights
Informationen zur Antwortzeit des Servers, Bilder Optimierung, Browser Caching, Komprimierung, Weiterleitung, JavaScript,CSS und HTML Reduzierung aber auch Priorisierung sichtbarer Bereiche und Rendering blockierender JavaScripts und CSS-Resourcen
•	 für einen mobilen Geschwingigkeitstest  Google Test my Site / Test your mobile speed
hierbei gibt Google einen warscheinlichen Wert an wie hoch der Absprung von Besuchern ist bei langsamen Websites
•	 zur Suchmachinenoptimierung  Search Console
hier findet man alle Informationen die in Zusammenhang mit Googles Suchmaschine stehen, es ist allerdings auch ein Werkzeug zur Überprüfung der für die Suchmaschine wichtigen Informationsquellen und zur Optimierung z.B. in dem man eine XML Sitemap einreicht, Keywords optimiert, Strukturierte Daten Überprüft ?
•	 zur Codeüberprüfung  W3C Markup Validation Service
Informationen zur Codequalität, hierzu stehen auch Browser Plugins/Extensions zur Verfügung
•	 zur Kontrolle der Ladezeiten  WebPagetest
Ladezeiten, Abhängikeiten und Ursachenermittlung wodurch Verzögerungen beim Laden einer Seite eintrten, hier gibt der "Waterfall View" noch mehr her als in den Entwickler Werkzeugen der Browser und wird durch einen "Connection View" ergänzt
•	 zur Bilddaten Überprüfung  Website Speed Test Image Analysis Tool
zeigt Altanativen auf und bietet auch optimierte Bilder zum Download an
Zeiten die bei einem Webseitenaufruf zustande kommen
 •	Blocking (Blockiert)
tritt immer dann auf wenn beim Client Resourcen fehlen z.B. wenn alle Socket-Verbindungen zu einem Server belegt sind 
•	DNS Lookup (Auflösen des Domain-Namen in eine IP-Adresse)
fällt in der Regel nur beim ersten Verbindungsaufbau zu einer Domain ins Gewicht, da anschließend die Adresse zur Domain bekannt ist 
•	Initial Socket Connect (Verbindungsaufbau)
fällt immer dann ins Gewicht wenn die Verbindung zum Server von den Kapazitäten her knapp wird bzw. der Server unter last steht und vielleicht sogar blockiert ist
•	SSL / TLS Negotiation (Abstimmung der Verschlüsselung zwischen Client und Server)
 tritt nur bei verschlüsselten (HTTPS) Verbindungen auf, ist aufwändiger bei mehreren Zertifikaten auf einer IP und bei älteren Browsern da der Server in der Regel versucht die bestmögliche Verschlüsselung mit dem Client zu erreichen
•	Send Request (Senden der Anfrage)
fällt selten ins Gewicht, da die zu übertragenden Datenmengen meistens sehr gering sind, außer beim File-Upload
•	Wait for Response / Create Response (Warten auf der Client-Seite, Entschlüsseln der Anfrage und Erstellen der Antwort auf der Serverseite)
hier kommt es sehr auf die Server Hardware, der Leistungsfähigkeit des Webservices und dessen Konfiguration und bei dynamischen Inhalten auch auf die Programmierung der Ergebnis erzeugenden Routinen an, in der Regel fällt hierbei die meiste Zeit an 
•	Receive Response / Send Response (Übermittlung der Antwort)
diese Zeit ist abhängig von der Größe der zu übertragenen Datenmenge und Optimierung der Datenübertragung, durch GZip, deflate und Brotli Komprimierung aber auch durch minifizieren von Daten, gerade bei Textdateien besteht hier ein riesiges Potential (gerade überflüssige Leerzeichen in HTML, Javascript und Stylesheets)
•	Render Response (Abbilden der Antwort)
hier kommt es auf die Client Hardware, der Leistungsfähigkeit des Browsers aber auch auf die anzuzeigenden Daten an, je nach Komplexität des Ergebnisses, der Anzahl der nach zu ladenden Daten, der Stelle an der sie eingebunden werden und welche Operationen durchgeführt werden kann hier ein erheblicher Zeitaufwand entstehen
Wird eine Seite im Internet aufgerufen besteht sie zumeist aus vielen Elementen, meistens aus einem HTML Dokument für den Seitenaufbau, ein oder mehrere StyleSheets zur Gestaltung der Seite, ein oder mehrere JavaScripts für die Funktionalität der Seite, Schriften, Bilder, ?
Des weiteren ist also folgendes zu beachten:
 1.	 alle Bestandteile außer das Warten auf eine Antwort und das Rendern des Ergebnisses sind natürlich auch abhängig von der Verbindungsqualität
2.	 in der Regel wird von einem Client nur eine beschränkte Anzahl von gleichzeitigen Verbindungen zu einem Server aufgebaut, bei meinen Tests waren es nie mehr als 6.
3.	 wenn eine Anfrage zu einer längeren Wartezeit führt, ist diese Verbindung blockiert und kann nicht für andere anstehende Aufgaben genutzt werden (bis HTTP 1.1, bei HTTP 2 trifft das nicht mehr zu)
4.	 je mehr Daten zusammen gefasst werden können, um so weniger Requestzyklen (Send Request, Wait for Response, Receive Response) sind erforderlich, Send Request und Wait for Response entfällt in der Regel von allen angefügten Anfragen
5.	 das Rendern eines Ergebnisses kommt bei Einbindung eines JavaScript oder StyleSheets zum Stillstand (außer es wird asynchron angefordert) bis diese Daten nachgeladen wurden
6.	 nachgeladene in den Seiteninhalt eingebaute Daten führen zu einen erneuten Rendern von Teilbereichen, also ist darauf zu achten das für diese Bereiche der benötigte Platz freigehalten wird damit möglichst wenig Arbeit entsteht (also z.B. durch Breiten und  Höhenangaben bei Image-Tags)