SlideShare a Scribd company logo
1 of 37
@maxxeight#SearchY2020
7 Février 2020 | Paris - Bercy
L’Événement Search Marketing
PARIS 2020
@maxxeight#SearchY2020
PWA + AMP
Créer une experience robot autant
optimisée que celle des utilisateurs
@maxxeight#SearchY2020
<script type="application/ld+json">
{
"@context": "https://schema.org",
"@type": "Person",
"name": "Max Prin",
"url": "https://maxprin.com",
"jobTitle": "Head of Technical SEO",
"worksFor": "Merkle",
"sameAs": [
"https://twitter.com/maxxeight",
"https://www.linkedin.com/in/maxprin"
]
}
</script>
@maxxeight#SearchY2020
Une experience utilisateur… que Google peut comprendre.
• Pertinent
• Mobile-Friendly
• Rapide
• Securisé
• Populaire
Un bon référencement naturel est basé sur:
• Contenu
• Web Design
• Vitesse du site
• SSL/HTTPS
• Liens
@maxxeight#SearchY2020
Une experience utilisateur… que Google peut comprendre.
• Pertinent
• Mobile-Friendly
• Rapide
• Securisé
• Populaire
Un bon référencement naturel est basé sur:
• Contenu
• Web Design
• Vitesse du site
• SSL/HTTPS
• Liens
@maxxeight#SearchY2020
@maxxeight#SearchY2020
@maxxeight#SearchY2020
@maxxeight#SearchY2020
@maxxeight#SearchY2020
Contenu “caché” <picture> and srcset
Onglets
Accordéons
“Lire la suite”
Quand chargé automatiquement
(vs. clic de l’utilisateur)
Design adapté optimisé pour mobiles
<picture>
<source type="image/svg+xml" srcset="pyramid.svg">
<source type="image/webp" srcset="pyramid.webp">
<img src="pyramid.png" alt="large PNG image...">
</picture>
<img srcset="example-320w.jpg 320w,
example-480w.jpg 480w,
example-800w.jpg 800w"
sizes="(max-width: 320px) 280px,
(max-width: 480px) 440px,
800px"
src="example-800w.jpg" alt="responsive web!">
@maxxeight#SearchY2020
Native apps
Web apps
@maxxeight#SearchY2020
Fiable et rapide Engageant
• Mobile-Friendly
• Rapide*
• Securisé (HTTPS)
Progressive Web Apps
• Icône (home)
• Notifications (push)
@maxxeight#SearchY2020
Exploration et rendu
• Googlebot “à la page”
• Lazy Loading
• Contenu “onclick”
• + liens (mega menu, etc.)
Progressive Web Apps
@maxxeight#SearchY2020
Lazy Loading (Images)
@maxxeight#SearchY2020
Testing the IntersectionObserver
@maxxeight#SearchY2020
Testing the IntersectionObserver
@maxxeight#SearchY2020
Accelerated Mobile Pages
AMP HTML+JS AMP Cache (CDN) Pre-loading
@maxxeight#SearchY2020
L’URL AMP ”Réelle” avec les Échanges Signés
@maxxeight#SearchY2020
Javascript Personnalisé dans AMP avec <amp-script>
Restrictions
• 10 000 octets maximum par <amp-script>
• 150 000 octets maximum pour le total des
<amp-script> dans la page
@maxxeight#SearchY2020
AMP pour le E-Commerce
<amp-sidebar>
- Navigation
<amp-carousel>
<amp-list>
- Organisation des produits
<amp-form>
- Recherche
<amp-bind>
- Filtrage et tri
<amp-access>
- Connection
<amp-accordion>
- Images/details
<amp-form>
<amp-carousel>
- Commentaires/avis
<amp-selector>
- Onglets/Vignettes
<amp-bind>
- Selection couleur/taille
<amp-state>
- Ajouter au panier
@maxxeight#SearchY2020
Achat/Paiements dans AMP
PaymentRequest API
- Seulement avec Chrome
<amp-form>
- Information (nom, addresse, etc.) mais
pas de paiement
Rediriger les visiteurs vers le site…
@maxxeight#SearchY2020
AMP
Français
m.
Français
m.
Anglais
Desktop
Français
Desktop
Anglais
rel="amphtml"
rel="amphtml"
rel="amphtml"
rel="canonical"
rel="amphtml"
rel="canonical"
rel="canonical"
rel="alternate"
rel="canonical"
rel="alternate"
rel="alternate" hreflang=”fr"
rel="alternate" hreflang="en"
rel="alternate" hreflang=”fr"
rel="alternate" hreflang="en"
rel="alternate" hreflang=”fr"
rel="alternate" hreflang="en"
AMP
Anglais
@maxxeight#SearchY2020
Desktop
Français
Desktop
Anglais
rel="alternate" hreflang=”fr"
rel="alternate" hreflang="en"
@maxxeight#SearchY2020
AMP: Acquisition Initiale PWA: Interactivité/Engagement
• SERP
• Chargement instantané
• Fonctionnalités limitées
Comment obtenir le meilleur des deux?
• Fonctionnalités avancées
• Dynamique
• Lent la 1ere visite
@maxxeight#SearchY2020
Combiner AMP et PWA
AMP comme
point d'entrée
dans la PWA
AMP comme
source de
données pour
la PWA
AMP avec des
fonctionnalités
PWA
@maxxeight#SearchY2020
AMP comme point d'entrée dans la PWA
<amp-install-serviceworker>
@maxxeight#SearchY2020
@maxxeight#SearchY2020
AMP et PWA avec les même URLs?
@maxxeight#SearchY2020
AMP
Français
m.
Français
m.
Anglais
rel="amphtml"
rel="amphtml"
rel="amphtml"
rel="canonical"
rel="amphtml"
rel="canonical"
rel="canonical"
rel="alternate"
rel="canonical"
rel="alternate"
rel="alternate" hreflang=”fr"
rel="alternate" hreflang="en"
rel="alternate" hreflang=”fr"
rel="alternate" hreflang="en"
AMP
Anglais
Desktop
Français
Desktop
Anglais
rel="alternate" hreflang=”fr"
rel="alternate" hreflang="en"
@maxxeight#SearchY2020
self.addEventListener('fetch', event => {
if (event.request.mode === 'navigate') {
event.respondWith(
fetch(event.request.url + '?pwa=true')
);
} else {
event.respondWith(
caches.match(event.request).then(function(response) {
return response || fetch(event.request);
})
);
}
});
service-worker.js
@maxxeight#SearchY2020
RewriteEngine on
RewriteCond %{QUERY_STRING} pwa=true [OR]
RewriteCond %{HTTP_REFERER} ^https://pwamp.site/.* [OR]
RewriteCond %{HTTP_REFERER} ^https://pwamp-site.cdn.ampproject.org/.*
RewriteRule (.*) /pwa.php [L]
.htaccess
@maxxeight#SearchY2020
@maxxeight#SearchY2020
Les page AMP ne sont pas rendues
• Bots voient seulement <amp-img> (vs. <img>)
• Pas d’access à l’URL dans src=“”
•
• Utilisez <noscript>
Les images AMP ne sont pas indexable
@maxxeight#SearchY2020
“Et pour le SEO?”
Les robots ne crawlent/indexent que la version AMP
Pas de gaspillage des resources (crawler plusieurs URLs avec le meme contenu)
Signaux clairs (pas de sourcis de balise canonical/alternate)
Les pages rapide et pre-chargées dans la SERP (AMP viewer ou “URL Réelle”)
Les pages sont “adaptées aux mobiles”
@maxxeight#SearchY2020
PWAMP - Examples et Resources
https://pwamp.site https://www.howpwampworks.com (by @aleyda)
@maxxeight#SearchY2020technicalseo.com/tools/
@maxxeight#SearchY2020
Merci!

More Related Content

Similar to Search Y 2020 - PWA + AMP

Réussir sa création/refonte de site ADN et CDT 64
Réussir sa création/refonte de site ADN et CDT 64Réussir sa création/refonte de site ADN et CDT 64
Réussir sa création/refonte de site ADN et CDT 64
Emilie64
 
Tutoriel intégrer sur son site les disponibilités issues de sa centrale de ...
Tutoriel   intégrer sur son site les disponibilités issues de sa centrale de ...Tutoriel   intégrer sur son site les disponibilités issues de sa centrale de ...
Tutoriel intégrer sur son site les disponibilités issues de sa centrale de ...
Pays Médoc
 

Similar to Search Y 2020 - PWA + AMP (20)

Publication de documents sur le Web
Publication de documents sur le WebPublication de documents sur le Web
Publication de documents sur le Web
 
Seo camp day lorraine 2018 - Nancy gregory ambroise
Seo camp day lorraine 2018  - Nancy gregory ambroiseSeo camp day lorraine 2018  - Nancy gregory ambroise
Seo camp day lorraine 2018 - Nancy gregory ambroise
 
Latence et streaming api Devoxx France 2015
Latence et streaming api  Devoxx France 2015Latence et streaming api  Devoxx France 2015
Latence et streaming api Devoxx France 2015
 
Présentation welcom la webperf by object23
Présentation welcom la webperf by object23Présentation welcom la webperf by object23
Présentation welcom la webperf by object23
 
Evolutions et nouveaux outils SEO
Evolutions et nouveaux outils SEOEvolutions et nouveaux outils SEO
Evolutions et nouveaux outils SEO
 
Search : la todo list 2017 pour ne rien oublier dans votre roadmap - Petit dé...
Search : la todo list 2017 pour ne rien oublier dans votre roadmap - Petit dé...Search : la todo list 2017 pour ne rien oublier dans votre roadmap - Petit dé...
Search : la todo list 2017 pour ne rien oublier dans votre roadmap - Petit dé...
 
Search : la todo list 2017 - Petit déjeuner 29 septembre 2016 Lille
Search : la todo list 2017 - Petit déjeuner 29 septembre 2016 Lille Search : la todo list 2017 - Petit déjeuner 29 septembre 2016 Lille
Search : la todo list 2017 - Petit déjeuner 29 septembre 2016 Lille
 
Association 2 0
Association 2 0Association 2 0
Association 2 0
 
Search : la todo list 2017 pour ne rien oublier dans votre roadmap - Petit dé...
Search : la todo list 2017 pour ne rien oublier dans votre roadmap - Petit dé...Search : la todo list 2017 pour ne rien oublier dans votre roadmap - Petit dé...
Search : la todo list 2017 pour ne rien oublier dans votre roadmap - Petit dé...
 
Développement Web sur iPhone (iPhone+iPad DevCamp Québec)
Développement Web sur iPhone (iPhone+iPad DevCamp Québec)Développement Web sur iPhone (iPhone+iPad DevCamp Québec)
Développement Web sur iPhone (iPhone+iPad DevCamp Québec)
 
Glenn Jones : "Réutiliser les data existantes des médias sociaux"
Glenn Jones : "Réutiliser les data existantes des médias sociaux"Glenn Jones : "Réutiliser les data existantes des médias sociaux"
Glenn Jones : "Réutiliser les data existantes des médias sociaux"
 
Web semantique et e-commerce : la vague va déferler !
Web semantique et e-commerce : la vague va déferler !Web semantique et e-commerce : la vague va déferler !
Web semantique et e-commerce : la vague va déferler !
 
Référencement & Standards Web : La même direction (PW2009)
Référencement & Standards Web : La même direction (PW2009)Référencement & Standards Web : La même direction (PW2009)
Référencement & Standards Web : La même direction (PW2009)
 
Google AMP 1 an après : quel bilan, quelles perspectives ?
Google AMP 1 an après : quel bilan, quelles perspectives ?Google AMP 1 an après : quel bilan, quelles perspectives ?
Google AMP 1 an après : quel bilan, quelles perspectives ?
 
Réussir sa création/refonte de site ADN et CDT 64
Réussir sa création/refonte de site ADN et CDT 64Réussir sa création/refonte de site ADN et CDT 64
Réussir sa création/refonte de site ADN et CDT 64
 
Tutoriel intégrer sur son site les disponibilités issues de sa centrale de ...
Tutoriel   intégrer sur son site les disponibilités issues de sa centrale de ...Tutoriel   intégrer sur son site les disponibilités issues de sa centrale de ...
Tutoriel intégrer sur son site les disponibilités issues de sa centrale de ...
 
Tutoriel - L'utilisation des formulaires de google documents
Tutoriel - L'utilisation des formulaires de google documentsTutoriel - L'utilisation des formulaires de google documents
Tutoriel - L'utilisation des formulaires de google documents
 
Web sémantique et Ecommerce
Web sémantique et EcommerceWeb sémantique et Ecommerce
Web sémantique et Ecommerce
 
AMP, le nouveau cheval de Troie de Google pour un web mobile instantané
AMP, le nouveau cheval de Troie de Google pour un web mobile instantanéAMP, le nouveau cheval de Troie de Google pour un web mobile instantané
AMP, le nouveau cheval de Troie de Google pour un web mobile instantané
 
E-commerce
E-commerce E-commerce
E-commerce
 

More from Max Prin

More from Max Prin (12)

Max Prin - brightonSEO San Diego 2023 - Developing SEO Tools
Max Prin - brightonSEO San Diego 2023 - Developing SEO ToolsMax Prin - brightonSEO San Diego 2023 - Developing SEO Tools
Max Prin - brightonSEO San Diego 2023 - Developing SEO Tools
 
PWA & AMP (PWAMP) - Making the Bot Experience as Good as the User Experience
PWA & AMP (PWAMP) - Making the Bot Experience as Good as the User ExperiencePWA & AMP (PWAMP) - Making the Bot Experience as Good as the User Experience
PWA & AMP (PWAMP) - Making the Bot Experience as Good as the User Experience
 
What's New with Schema and Structured Data - Max Prin - SMX Advanced 2019
What's New with Schema and Structured Data - Max Prin - SMX Advanced 2019What's New with Schema and Structured Data - Max Prin - SMX Advanced 2019
What's New with Schema and Structured Data - Max Prin - SMX Advanced 2019
 
PWA + AMP: The Future of E-Commerce? Max Prin - BrightonSEO - Sept. 2018
PWA + AMP: The Future of E-Commerce? Max Prin - BrightonSEO - Sept. 2018PWA + AMP: The Future of E-Commerce? Max Prin - BrightonSEO - Sept. 2018
PWA + AMP: The Future of E-Commerce? Max Prin - BrightonSEO - Sept. 2018
 
Max Prin - MnSearch Summit 2018 - SEO for the Current Mobile Landscape
Max Prin - MnSearch Summit 2018 - SEO for the Current Mobile LandscapeMax Prin - MnSearch Summit 2018 - SEO for the Current Mobile Landscape
Max Prin - MnSearch Summit 2018 - SEO for the Current Mobile Landscape
 
Max Prin - Engage 2018 - AMP for E-Commerce
Max Prin - Engage 2018 - AMP for E-CommerceMax Prin - Engage 2018 - AMP for E-Commerce
Max Prin - Engage 2018 - AMP for E-Commerce
 
Max Prin - TechSEO Boost 2017 - SEO Best Practices For JavaScript-Based Websites
Max Prin - TechSEO Boost 2017 - SEO Best Practices For JavaScript-Based WebsitesMax Prin - TechSEO Boost 2017 - SEO Best Practices For JavaScript-Based Websites
Max Prin - TechSEO Boost 2017 - SEO Best Practices For JavaScript-Based Websites
 
Max Prin - MnSearch Summit 2017 - What does technical SEO look like in 2017?
Max Prin - MnSearch Summit 2017 - What does technical SEO look like in 2017?Max Prin - MnSearch Summit 2017 - What does technical SEO look like in 2017?
Max Prin - MnSearch Summit 2017 - What does technical SEO look like in 2017?
 
Max Prin - SMX Paris 2017 - Voice Search: Comment Ranker?
Max Prin - SMX Paris 2017 - Voice Search: Comment Ranker?Max Prin - SMX Paris 2017 - Voice Search: Comment Ranker?
Max Prin - SMX Paris 2017 - Voice Search: Comment Ranker?
 
Max Prin - SMX 2016 - Structured Data Markup and Quick Answers: Chasing Ranki...
Max Prin - SMX 2016 - Structured Data Markup and Quick Answers: Chasing Ranki...Max Prin - SMX 2016 - Structured Data Markup and Quick Answers: Chasing Ranki...
Max Prin - SMX 2016 - Structured Data Markup and Quick Answers: Chasing Ranki...
 
Max Prin - SMX Paris 2016 - Données Structurées et Quick Answers : à la conqu...
Max Prin - SMX Paris 2016 - Données Structurées et Quick Answers : à la conqu...Max Prin - SMX Paris 2016 - Données Structurées et Quick Answers : à la conqu...
Max Prin - SMX Paris 2016 - Données Structurées et Quick Answers : à la conqu...
 
Max Prin - SMX West 2017 - What to do when Google can't understand your JavaS...
Max Prin - SMX West 2017 - What to do when Google can't understand your JavaS...Max Prin - SMX West 2017 - What to do when Google can't understand your JavaS...
Max Prin - SMX West 2017 - What to do when Google can't understand your JavaS...
 

Search Y 2020 - PWA + AMP

Editor's Notes

  1. https://webmasters.googleblog.com/2018/01/using-page-speed-in-mobile-search.html https://webmaster-fr.googleblog.com/2018/01/vitesse-chargement-pages-critere-positionnement.html
  2. Why is the reach of web apps higher? Search engines (vs. app stores). Supported by all major browsers Low cost of acquisition
  3. Capabilities Reliable and Fast App shell cached locally (on 1st load): Fast loading when offline or with slow connection (on subsequent loads) Mobile-friendly (responsive) Secure (HTTPS) Engaging App icon on device’s home screen Push notifications Technically, any website can easily be turned into a PWA (service-worker + manifest) But in general, a web app, a site built with a JS framework is the best candidate but become a PWA.
  4. Building a web app to be fast: lazy loading, api based content (user click to load) Refer to JS SEO Best practices But expand on lazy loading – intersectionObserver – but lazyload attribute
  5. intersectionObserver <noscript> lazyload attribute: https://mathiasbynens.be/demo/img-loading-lazy
  6. intersectionObserver <noscript> lazyload attribute: https://mathiasbynens.be/demo/img-loading-lazy
  7. intersectionObserver <noscript> lazyload attribute: https://mathiasbynens.be/demo/img-loading-lazy
  8. AMP is fast for a lot of reasons that, technically, can be replicated outside of the AMP framework (lazy loading, limited JS, CDN, etc.) BUT what AMP has that ”normal” pages don’t have is the pre-loading in the SERP (AMP viewer) If Google start pre-rendering the ”10 blue links”, then AMP has not reason to be. https://amp.dev/about/how-amp-works/ https://medium.com/@cramforce/why-amp-is-fast-7d2ff1f48597 Lazy loading Extensive use of preconnect Prefetching of lazy loaded resources All async JavaScript Inline style sheets Zero HTTP requests block font downloads. Instant loading through prerendering Prerendering only downloads resources above the fold Prerendering does not render things that might be expensive in terms of CPU Intelligent resource prioritization Uncoupling of document layout from resource downloads Maximum size for style sheet FastDOM-style DOM change batching Optimized for low count of style recalculations and layout Mitigations for third party JS worst-practices such as document.write Runtime cost of analytics instrumentation is independent of number of used analytics providers Extensions don’t block page layout CDN delivery available to all AMP documents All resources and the document are loaded from the same origin through the same HTTP 2.0 tunnel Animations can be GPU accelerated
  9. https://amp.dev/documentation/guides-and-tutorials/optimize-and-measure/signed-exchange/ https://support.cloudflare.com/hc/en-us/articles/360029367652-Understanding-Amp-Real-URL
  10. https://amp.dev/documentation/components/amp-script/ <amp-iframe>
  11. https://amp.dev/documentation/examples/e-commerce/amp_for_e-commerce_getting_started/
  12. ttps://amp.dev/documentation/examples/e-commerce/amp_for_e-commerce_getting_started/ https://amp.dev/documentation/examples/e-commerce/payments_in_amp/
  13. https://amp.dev/documentation/examples/guides/internationalization/
  14. Best of both and 1 URL?
  15. https://amp.dev/documentation/guides-and-tutorials/learn/combine-amp-pwa/ https://amp.dev/documentation/guides-and-tutorials/optimize-and-measure/amp_to_pwa/
  16. https://amp.dev/documentation/guides-and-tutorials/integrate/amp-to-pwa/
  17. User gets the AMP from the SERP Service worker is installed on device Once activated, SW caches the “app shell” and initial data User clicks on a (internal) link Service worker “hijacks” the click Pre-cached PWA loads instantly
  18. https://amp.dev/documentation/guides-and-tutorials/integrate/amp-to-pwa/
  19. ServiceWorker “hijacks” the click – Server handles the rest
  20. ServiceWorker “hijacks” the click – Server handles the rest
  21. Google and search engines only get the AMP version of your URLs/pages - Not the canonical or “normal” URL where images (img + src) can be found https://amp.dev/documentation/guides-and-tutorials/develop/media_iframes_3p/ https://amp.dev/documentation/guides-and-tutorials/optimize-and-measure/server-side-rendering/
  22. Bots only crawl/index the AMP version of the site No waste of crawling resources over multiple URLs for the same content Clear signaling (i.e. don’t worry about all of those canonical/alternate tags) Pages are fast and pre-loaded in the SERP (AMP viewer or “Real URL”) Pages are mobile-friendly