Upgrade to Pro — share decks privately, control downloads, hide ads and more …

W-JAX 2017: Online-Marketingorientierte Archite...

Sponsored · SiteGround - Reliable hosting with speed, security, and support you can count on. →

W-JAX 2017: Online-Marketingorientierte Architektur [GER]

Oftmals sind unsere Anwendungen Teil des öffentlichen Internets, und wir wollen mit unserem Content, Shop oder Webanwendung von Kunden oder Interessenten gefunden werden. Dabei kümmern wir uns entweder selbst um das Thema Onlinemarketing, haben eine externe Agentur oder gar eine eigene interne komplette Abteilung dafür. Ich entdecke bei meinen Kunden und Partnern immer wieder dieselben Muster und Konflikte in Zusammenarbeit mit den Themen aus dem Onlinemarketing.

In meinem Vortrag geht es um diese Beobachtungen, Probleme, Ursachen und Lösungen. Dabei werden konkrete Implementierungen angerissen wie der "No-Index Feature Toggle", "Graceful degraded Dead Links" oder "Header-based A/B Testing".

Des Weiteren möchte ich unserer Java-Community zeigen, dass uns SPA oder Tools wie React zwar wunderbar bei der Umsetzung helfen, aber K.o.-Kriterien und Horrorszenarien für Google-Optimierungen werden können.

Mein Appell dabei an alle Architekten und Entwickler von öffentlichem Content ist es, onlinemarketingorientierte Architekturen zu entwerfen und entsprechende Konzepte umzusetzen.

Avatar for Frank Hinkel

Frank Hinkel

November 08, 2017

Other Decks in Programming

Transcript

  1. Frank Hinkel 1 Baujahr 82 15 Jahre IT (meistens Java)

    Geschäftsführer NEOZO Schwerpunkt: leichtgewichtige Architekturen @frhinkel
  2. Ziele von IT Architekturen 6 System passt zu Qualitätszielen des

    Unternehmens Funktionalität Performance Zuverlässigkeit Effizienz ...
  3. Online Marketing & Architektur 8 Anforderungen OM Architektur Muster Super

    Duper URLs URL Translator Keine 404, keine Soft-404 Graceful Degraded Deadlinks
  4. Online Marketing & Architektur 9 Anforderungen OM Architektur Muster Super

    Duper URLs URL Translator Keine 404, keine Soft-404 Graceful Degraded Deadlinks Flexible Analytics Google Tag Manager – Feature Toggle
  5. Online Marketing & Architektur 10 Anforderungen OM Architektur Muster Super

    Duper URLs URL Translator Keine 404, keine Soft-404 Graceful Degraded Deadlinks Flexible Analytics Google Tag Manager – Feature Toggle Crazy A/B-Testing Header Based A/B-Testing
  6. Online Marketing & Architektur 11 Anforderungen OM Architektur Muster Super

    Duper URLs URL Translator Keine 404, keine Soft-404 Graceful Degraded Deadlinks Flexible Analytics Google Tag Manager – Feature Toggle Crazy A/B-Testing Header Based A/B-Testing Flexible Robots.txt & Sitemap Generierung No-Index Toggle
  7. Online Marketing & Architektur 12 Anforderungen OM Architektur Muster Super

    Duper URLs URL Translator Keine 404, keine Soft-404 Graceful Degraded Deadlinks Flexible Analytics Google Tag Manager – Feature Toggle Crazy A/B-Testing Header Based A/B-Testing Flexible Robots.txt & Sitemap Generierung No-Index Toggle Größtmögliche Indizierung SEO based Tooling
  8. 14 dev marketing business js resilience scalability scala microservice docker

    react elixir angular requirement feature bug use-case
  9. 15 dev marketing business js resilience scalability scala microservice docker

    react elixir angular requirement feature bug use-case works, makes sense, user hates
  10. 16 dev marketing business js resilience scalability scala microservice docker

    react elixir angular requirement feature bug use-case SEO Analytics OnPage Conversion-Rate OffPage Social Media works, makes sense, nobody likes
  11. 17 dev marketing business js resilience scalability scala microservice docker

    react elixir angular requirement feature bug use-case SEO Analytics OnPage Conversion-Rate OffPage Social Media works, makes sense, nobody likes sounds good, doesn‘t work
  12. 18 works, makes sense, nobody likes sounds good, doesn‘t work

    people will use, company will die dev marketing business js resilience scalability scala microservice docker react elixir angular requirement feature bug use-case SEO Analytics OnPage Conversion-Rate OffPage Social Media
  13. 19 works, makes sense, nobody likes sounds good, doesn‘t work

    people will use, company will die *magic* dev marketing business js resilience scalability scala microservice docker react elixir angular requirement feature bug use-case SEO Analytics OnPage Conversion-Rate OffPage Social Media
  14. Beobachtung: Zu wenig Marketing und Dev 20 Anforderungen zu spät

    oder zu wenig berücksichtigt Software-Architektur kann Anforderungen nicht effizient bedienen Technologieauswahl passt nicht zu Marketing Vorgaben dev marketing
  15. Super duper URLs Immer aktuell und sprechend Immer individuell Ständig

    änderbar In sämtlichen Sprachen In verschiedenen Permutationen 23
  16. Lösung: URL-Translator Implementierung eines URL-Translators Implementierung eines URL CMS Komponente

    Voraussetzung: Physische Trennung von auszuführendem Code und URL 25
  17. Lösung: URL-Translator Best Practice: Die Ressourcen-orientierung durch ROCA (roca-style.org) 26

    Keine Seiten bauen sondern Ressourcen... /product/{id} <<Resource>>
  18. Lösung: URL-Translator 29 URL Translator <<Filter>> /product/{id} <<Resource>> Mapping Table

    <<DB>> IN: /produkt/tisch/schreibtisch-grün-200x80 OUT: /product/desktable4991-w211 client
  19. Online Marketing & Architektur 30 Anforderungen OM Architektur Muster Super

    Duper URLs URL Translator Keine 404, keine Soft-404 Graceful Degraded Deadlinks
  20. Keine 404, keine Soft-404 Produkte, Artikel, Beiträge laufen aus oder...

    werden umbenannt alter Index alte Bookmarks ... 31 https://httpstatusdogs.com/ Google eats doggo‘s index L https://de.ryte.com/wiki/Soft_404-Fehler
  21. Lösung: Graceful Degraded Deadlinks Zeig das Beste an was du

    kannst 404-Ziel: /produkt/schreibtisch-x1-grün-200x80 User: Großkunde, Office Neues Ziel: /produkt/schreibtisch-höhenverstellbar-200x80 32
  22. Lösung: URL-Translator 33 HTTP Error Handler <<Handler>> /product/{id} <<Resource>> Recommendation

    Engine <<System>> client IN: A)404-src: /produkt/tisch/schreibtisch-grün-200x80 B)user: xyz OUT: /produkt/schreibtisch-höhenverstellbar-200x80 404: not found
  23. Online Marketing & Architektur 34 Anforderungen OM Architektur Muster Super

    Duper URLs URL Translator Keine 404, keine Soft-404 Graceful Degraded Deadlinks Flexible Analytics Google Tag Manager – Feature Toggle
  24. Flexible Analytics Welche User sind wo und machen wann was?

    Warum springen sie ab? (Bounce) Wieviel wird von wem gekauft? ... 35
  25. Flexible Analytics Unterschiedliche Herangehensweisen: 36 A) Eigene BI Landschaft: Storage,

    Hive, Pig, Exasol, Tableau B) Google Analytics & Google Tag Manager 2+2 = 4 -1 = 3 quick math Google Tag Manager
  26. Online Marketing & Architektur 40 Anforderungen OM Architektur Muster Super

    Duper URLs URL Translator Keine 404, keine Soft-404 Graceful Degraded Deadlinks Flexible Analytics Google Tag Manager – Feature Toggle Crazy A/B-Testing Header Based A/B-Testing
  27. Crazy A/B-Testing Trial & Analytics von verschiedenen UX Flows UX

    Designs Daten 42 „Kunden unter 30 Jahren: weniger Text = +9%“
  28. Lösung: Header Based A/B Testing Challenge A): Switch wird an

    verschiedenen Stellen benötigt UX Flow: Frontend UX Design: Assets Daten: Backend Challenge B): Viele Anwendungen sind Stateless, keine Session 43
  29. Lösung: Header Based A/B Testing 46 Der Header kann einfach

    durch einen NGINX, Apache oder Filter enriched werden
  30. Lösung: Header Based A/B Testing Vorgehensweise A) Erkennung der auszusteuernden

    Variante 49 - Hier Entscheidung in Reverse Proxy auf Basis von Domain
  31. Lösung: Header Based A/B Testing Vorgehensweise A) Erkennung der auszusteuernden

    Variante B) Durchführung des Switches 50 - Hier Entscheidung in Reverse Proxy auf Basis von Domain - Header kann danach überall abgefragt werden request.getHeader(„x-http-ab-test-mode“)
  32. Lösung: Header Based A/B Testing Weitere Themen NGINX kann mit

    Hilfe von Lua auch Zufallsentscheidungen treffen Fortgeschrittener Entscheidungen können über Servlet Filter abgedeckt werden 51 A/B Identifier <<Filter>> /product/{id} <<Resource>> client Male add_header mod ‘mod-a‘ Female add_header mod ‘mod-b‘ request.getHeader(‘mod‘)
  33. Online Marketing & Architektur 52 Anforderungen OM Architektur Muster Super

    Duper URLs URL Translator Keine 404, keine Soft-404 Graceful Degraded Deadlinks Flexible Analytics Google Tag Manager – Feature Toggle Crazy A/B-Testing Header Based A/B-Testing Flexible Robots.txt & Sitemap Generierung No-Index Toggle
  34. Flexible Robots.txt & Sitemap Generierung Robots.txt & Sitemap Ändern sich

    ständig konsistent vollständig korrekt 55 Automatisierung
  35. Online Marketing & Architektur 56 Anforderungen OM Architektur Muster Super

    Duper URLs URL Translator Keine 404, keine Soft-404 Graceful Degraded Deadlinks Flexible Analytics Google Tag Manager – Feature Toggle Crazy A/B-Testing Header Based A/B-Testing Flexible Robots.txt & Sitemap Generierung No-Index Toggle Größtmögliche Indizierung SEO based Tooling
  36. Größtmögliche Indizierung Kurze Selbstreflexion... 57 JavaScript Frameworks Angular vs React

    https://hackernoon.com/angular-vs-react-the-deal-breaker-7d76c04496bc
  37. Größtmögliche Indizierung Kurze Selbstreflexion... 58 JavaScript Frameworks Angular vs React

    https://hackernoon.com/angular-vs-react-the-deal-breaker-7d76c04496bc - scalability - compatiblity - tooling - community - Jobs - licences - development time - footprint
  38. Größtmögliche Indizierung Kurze Selbstreflexion... 59 JavaScript Frameworks Angular vs React

    https://hackernoon.com/angular-vs-react-the-deal-breaker-7d76c04496bc - scalability - compatiblity - tooling - community - Jobs - licences - development time - footprint
  39. Größtmögliche Indizierung Crawler Friendly Content 60 Can Google properly crawl

    and index JavaScript? https://www.slideshare.net/goralewicz/can-google-properly-crawl-and-index-javascript-seo- experiments-results-and-findings
  40. Größtmögliche Indizierung Crawling Budget effizient verbrauchen 62 What Crawl Budget

    Means for Googlebot https://webmasters.googleblog.com/2017/01/what-crawl-budget-means-for-googlebot.html
  41. Größtmögliche Indizierung Fazit von @bart_goralewicz: Generell können nur Google und

    Ask Javascript handeln Nicht alle Javascript Frameworks sind indizierbar Indizierung ist nur eins der Probleme: Javascript kann trotz erfolgreichem Rendering und Indizierung zu viel Crawler Budget verbrauchen 63 dev marketing
  42. Lösung: Größtmögliche Indizierung Finger weg von JS Frameworks zum aufbauen

    des DOM.... wenn andere Suchmaschinen relevant sind (International) wenn nur Google: trotzdem aufpassen wegen Crawling Budget Falls zu spät: Prerendering Tools verwenden und serverseitig react.js processieren. 64
  43. Performance Besonders im E-Commerce messbar 65 Jede Sekunde zählt! Zusammenhang

    von Conversion-Rate und Ladezeit https://www.findologic.com/zusammenhang-von-conversion-rate-und-ladezeit/
  44. Online-Marketingorientierte Architektur 66 URL Translator Graceful Degraded Deadlinks GTM –

    Feature Toggle No-Index Toggle SEO based Tooling Performance Automated Microdata Header based A/B-Testing dev marketing continuous collaboration omo-architecture.org
  45. Online-Marketingorientierte Architektur URL Translator Graceful Degraded Deadlinks GTM – Feature

    Toggle No-Index Toggle SEO based Tooling Performance Automated Microdata Header based A/B-Testing dev marketing continuous collaboration omo-architecture.org Frank Hinkel [email protected] Vielen Dank!