4. Was technische OnPage Optimierung bedeutet
- Wie optimiere ich meine Webseite für User und Suchmaschinen
Auszug aus „Einführung in Suchmaschinenoptimierung – Google“:
http://static.googleusercontent.com/media/www.google.de/de/de/webmasters/docs/einfuehrung-in-suchmaschinenoptimierung.pdf
20.11.15 @danny_munich 4
7. Was den Crawler „GoogleBot“ von einem User unterscheidet
• Fragt zusätzlich die Robots.txt ab
• Lädt / Rendert eine URL inkl. JavaScript, führt aber
keine Interaktionen aus (Hovern, Klicken...)
• Vorsicht bei sehr neuen Javascript/HTML Standards
20.11.15 @danny_munich 7
8. Was ist EINE URL
https://de.onpage.org/blog/seo-spickzettel-fuer-entwickler
20.11.15 @danny_munich 8
9. Was ist EINE URL
https://de.onpage.org/blog/seo-spickzettel-fuer-entwickler
http://de.onpage.org/blog/seo-spickzettel-fuer-entwickler
https://de.onpage.org/blog/seo-spickzettel-fuer-entwickler.html
http://de.onpage.org/blog/seo-spickzettel-fuer-entwickler/
http://de.onpage.org:80/blog/seo-spickzettel-fuer-entwickler/
20.11.15 @danny_munich 9
10. Was ist EINE URL
https://de.onpage.org/blog/seo-spickzettel-fuer-entwickler
http://de.onpage.org/blog/seo-spickzettel-fuer-entwickler
https://de.onpage.org/blog/seo-spickzettel-fuer-entwickler.html
http://de.onpage.org/blog/seo-spickzettel-fuer-entwickler/
http://de.onpage.org:80/blog/seo-spickzettel-fuer-entwickler/
20.11.15 @danny_munich 10
11. Was ist eine URL: Das Protokoll
https://de.onpage.org/blog/seo-spickzettel-fuer-entwickler
• HTTP 1.1 / HTTPS Protokoll
• Kanonisch unterschiedliche URLs
• Kein Grund auf SSL zu verzichten
• Kostenlose Zertifikate von letsencrypt.org und startssl.com
20.11.15 @danny_munich 11
12. Was ist eine URL: Die Domain
https://de.onpage.org/blog/seo-spickzettel-fuer-entwickler
• Besteht mindestens aus Top-Level Domain (org) und Second-Level Domain
(onpage)
• Beliebig viele Ebenen
• Wird in eine (oder mehrere) IP Adressen über einen DNS Server aufgelöst
DNS „A“ Feld (IPv4): 192.168.0.1
DNS „AAAA“ Feld (IPv6): 2a03:2880:20:4f06:face:b00c:0:1
Weitere Felder (MX für E-Mail Server)
20.11.15 @danny_munich 12
13. Was ist eine URL: Die Ressource
https://de.onpage.org/blog/seo-spickzettel-fuer-entwickler
https://de.onpage.org/blog-seo-spickzettel-fuer-entwickler
https://de.onpage.org/blog/spickzettel/seo/entwickler
• Ressource die beim Webserver angefragt wird
• Kann nahezu beliebig gestaltet werden
20.11.15 @danny_munich 13
14. Wir rufen eine URL auf
http://www.seokomm.at/agenda/
20.11.15 @danny_munich 14
16. Wir rufen eine URL auf
DNS Auflösung
• Auflösen der IP Adresse von www.seokomm.at
– DNS Server fragt DNS-Root-Server nach den DNS Server von at
– DNS Server fragt nic.at nach DNS Server von seokomm.at
– DNS Server fragt webhostone Server (ns1.nshost2.de) nach der IP Adresse
– DNS Server Antwortet mit der IP-Adresse: 89.107.186.95
http://www.seokomm.at/agenda/
20.11.15 @danny_munich 16
17. Wir rufen eine URL auf
DNS Auflösung
Verbindung
zum Server
• Verbindungsaufbau zum Server
– HTTP: Port 80
– HTTPS: Port 443
– Unterhalb von HTTP wird TCP verwendet
• Mit dem QUIC-Protokoll von Google kommt UDP zum Einsatz
http://www.seokomm.at/agenda/
20.11.15 @danny_munich 17
18. Wir rufen eine URL auf
DNS Auflösung
Verbindung
zum Server
HTTP
Anfrage
• HTTP Anfrage an den Webserver
– Webserver Apache, Nginx, Lighttpd...
http://www.seokomm.at/agenda/
20.11.15 @danny_munich 18
GET /agenda/ HTTP/1.1
Host: www.seokomm.at
Beispiel HTTP Request:
19. Wir rufen eine URL auf
DNS Auflösung
Verbindung
zum Server
HTTP
Anfrage
http://www.seokomm.at/agenda/
20.11.15 @danny_munich 19
20. Wir rufen eine URL auf
DNS Auflösung
Verbindung
zum Server
HTTP
Anfrage
HTTP
Antwort
• Enthält
– Status Code
– HTTP-Header-Daten
– Body (HTML)
http://www.seokomm.at/agenda/
20.11.15 @danny_munich 20
21. Wir rufen eine URL auf
DNS Auflösung
Verbindung
zum Server
HTTP
Anfrage
HTTP
Antwort
http://www.seokomm.at/agenda/
• Statuscode: 200
• Cache Control: no-cache
• Connection: keep-alive
• Gzip-Komprimiert
• Expires: 19.Nov 1981
20.11.15 @danny_munich 21
22. Einschub: Status Codes
• 1xx
• 200: Alles ok
• 3xx: Weiterleitungen
• 301: Permanenter Redirect
• 302: Temporärer Redirect
• 4xx: Clientfehler
• 404: Not found
• 5xx: Serverfehler
• 503: Service unavailable
20.11.15 @danny_munich 22
23. Wir rufen eine URL auf
DNS Auflösung
Verbindung
zum Server
HTTP
Anfrage
HTTP
Antwort
Parsen des
HTML
Aufbau des
DOM
http://www.seokomm.at/agenda/
20.11.15 @danny_munich 23
24. Wir rufen eine URL auf
DNS Auflösung
Verbindung
zum Server
HTTP
Anfrage
HTTP
Antwort
Parsen des
HTML
Aufbau des
DOM
Abfragen
der Assets
http://www.seokomm.at/agenda/
20.11.15 @danny_munich 24
25. Wir rufen eine URL auf
DNS Auflösung
Verbindung
zum Server
HTTP
Anfrage
HTTP
Antwort
Parsen des
HTML
Aufbau des
DOM
Abfragen
der Assets
Bearbeiten
des DOMs
Fertig
http://www.seokomm.at/agenda/
20.11.15 @danny_munich 25
26. Vom Browser zum Crawler:
Die robot.txt Robots.txt robots.txt
# robots.txt beispiel
User-agent: *
Disallow: /foo/
Allow: /foo/bar/
User-agent: Googlebot
Disallow: blabla.html
Disallow: /temp/
User-agent: Applebot
Disallow: /
Sitemap: http://example.com/sitemap.xml
20.11.15 @danny_munich 26
38. HTTP Header != HTML Meta
• Canonical
• Index
• Charset
• Sprache
20.11.15 @danny_munich 38
39. last but also least: Wordpress
• Falsches System für richtigen Wunsch
• Unendlich Duplicate/Thin-Content Seiten
Schlechte Seitenarchitektur
– Archive
– Kategorieseiten
– Autorenseiten
• Plugins Laden over 9000 JavaScripts nach
20.11.15 @danny_munich 39
41. Fazit
• Macht geile Seiten mit modernen Technologien
• Steckt Liebe, Köpfchen & Testzeit in ein Projekt
– Und nicht nur Wordpress Plugins
• Versucht nicht Crawler zu betrügen, es sich
schließlich auch nur Menschen
20.11.15 @danny_munich 41
Hinweis der Redaktion
----- Besprechungsnotizen (20.11.15 02:05) -----
Vielen dank evert
Das der in Gelsenkirchen geborene und im bayrichen münchen lebende Entwickler seinen ersten Vortrag auf einer Österreichischen Konferenz hält und von einem Niederländer anmoderiert wird.
Danny Linden
BigData München
googlen nach „suchmaschinenoptimierung google “
Bau eine gute Webseite für den User
Google wird sich immer am verhalten der User orientieren, mit delay
Sehr aufwändig illustriert
robots
Wie viele kanonische URLs sehen wir hier?
Implizit Port 80
dev.blog.de.onpage.org
Domainumzüge DNS Cache.
4,3 milliarden
Ipv6 zahl 38 nullen
CMS bestimmt in der regel die Ressource-Aufbau
Verzechnisse sollten Logische struktur wiedergeben
Hackable URLs
hier http protokolll enfügen
Browser / HTTP auf Layer 7
SSL/TLS Layer 5/6
IP auf Layer 4
Einfachster HTTP Request
Antwort enthält ganz viel blah mäh
Hälfte der Zeit