Nikkei atteint un niveau inédit en termes de qualité et de performances grâce à sa PWA de plusieurs pages

Avec une histoire de plus de 140 ans, Nikkei est l'une des entreprises de médias les plus influentes au Japon. En plus de son journal papier, il enregistre plus de 450 millions de visites mensuelles sur ses propriétés numériques. Pour offrir une meilleure expérience utilisateur et accélérer son activité sur le Web, Nikkei a lancé avec succès une application Web progressive (PWA) à l'adresse https://r.nikkei.com en novembre 2017. Elle constate aujourd'hui d'excellents résultats sur la nouvelle plate-forme.

Amélioration des performances - Amélioration de l'indice de vitesse de 2 fois - Amélioration du délai d'interactivité de 14 secondes - Amélioration du chargement de 75 % avec le préchargement

Impact sur l'activité - Augmentation de 2,3 fois du trafic généré par les résultats naturels - Augmentation de 58 % du nombre de conversions (abonnements) - Augmentation de 49 % du nombre d'utilisateurs actifs par jour - Doublement du nombre de pages vues par session

Télécharger l'étude de cas au format PDF

Présentation de l'entreprise

Défi

Nikkei a constaté une augmentation rapide du trafic mobile vers son ancien site Web, car les smartphones sont devenus le principal point d'entrée sur le Web pour de nombreux utilisateurs. Toutefois, en utilisant Lighthouse, un outil d'audit qui analyse une page Web et fournit des recommandations pour l'améliorer dans plusieurs catégories, il a compris que son site n'était pas entièrement optimisé pour les mobiles dans plusieurs domaines et qu'il se chargeait très lentement.

Son site Web a mis environ 20 secondes pour devenir systématiquement interactif, avec une moyenne de 10 secondes pour l'indice de vitesse. Sachant que 53% des mobinautes abandonnent une expérience si celle-ci met plus de trois secondes à se charger, Nikkei souhaitait réduire le temps de chargement afin d'offrir une meilleure expérience et de développer son activité sur le Web.

L'intérêt de la vitesse est incontestable, en particulier dans le domaine de la finance. Nous avons fait de la rapidité l'une de nos métriques principales, et nos clients ont apprécié ce changement.

Taihei Shigemori, responsable, stratégie numérique

Résultats

Audit effectué en avril 2018 sur l'ancien site
Audit effectué en avril 2018 sur l'ancien site hébergé sur mw.nikkei.com

Nikkei a enregistré des gains de performances impressionnants. Son score Lighthouse est passé de 23 à 82. La mesure du temps de chargement a augmenté de 14 secondes. Le trafic généré par les résultats naturels, la vitesse, le taux de conversion et le nombre d'utilisateurs actifs par jour ont également augmenté.

La PWA est une application multipage (MPA) qui réduit la complexité du front-end, créée avec Vanilla JavaScript. Cinq ingénieurs principaux du front-end ont travaillé pendant un an pour obtenir ces performances.

Les ingénieurs front-end de Nikkei ont prouvé qu'une bonne expérience utilisateur génère de bonnes performances commerciales. Nous mettons tout en œuvre pour continuer à apporter un niveau de qualité supérieur au Web.

Hiroyuki Higashi. Responsable produit, Nikkei

Solution

Nikkei a créé et lancé une application Web progressive, en utilisant le design responsif, JavaScript standard et une architecture multipage. L'objectif était de créer une expérience utilisateur agréable. En ajoutant un service worker, ils ont pu fournir des performances prévisibles, quel que soit le réseau. Cela garantit également que les articles les plus populaires sont toujours disponibles et chargés presque immédiatement, car ils sont stockés à l'aide du stockage en cache. Il a ajouté un fichier manifeste d'application Web. Avec son service worker, cela permet aux utilisateurs d'installer la PWA, ce qui la rend facilement accessible. Pour s'assurer que les performances étaient entièrement sous leur contrôle, ils ont optimisé leur code JavaScript tiers.

Bonnes pratiques

  • Améliorez la vitesse de chargement et l'interactivité en utilisant des API Web modernes, la compression et des pratiques d'optimisation du code.
  • Améliorez progressivement l'expérience utilisateur en ajoutant des fonctionnalités de PWA telles que la prise en charge hors connexion et l'ajout à l'écran d'accueil.
  • Intégrez des budgets de performances à votre stratégie de performances.

Présentation technique détaillée

La vitesse est importante

La rapidité est plus importante que jamais. Alors que les smartphones sont devenus le principal appareil de navigation pour de nombreux utilisateurs, Nikkei a constaté une augmentation rapide du trafic mobile sur son service. Mais en utilisant Lighthouse, il s'est rendu compte que son ancien site Web n'était pas entièrement optimisé pour les mobiles, avec un indice de vitesse moyen de 10 secondes, un chargement initial très lent et un grand groupe JavaScript. Il était temps que Nikkei reconstruise son site Web et applique les bonnes pratiques en matière de performances Web. Voici les résultats et les principales optimisations des performances de la nouvelle PWA.

Exploiter les API Web et les bonnes pratiques pour accélérer le chargement

Précharger les requêtes de clé

Précharger les requêtes de clé

Il est important de prioriser le chargement du chemin critique. Grâce à HTTP/2 Server Push, ils peuvent prioriser les bundles JavaScript et CSS critiques dont ils savent qu'un utilisateur aura besoin.

Éviter les multiples allers-retours coûteux vers n'importe quelle origine

Chargement des ressources tierces...

Le site Web devait charger des ressources tierces pour le suivi, les annonces et de nombreux autres cas d'utilisation. Ils ont utilisé <link rel=preconnect> pour prérésoudre l'handshake DNS/TCP/SSL et la négociation pour ces origines tierces clés.

Précharger dynamiquement la page suivante

Préchargement dynamique
Préchargement dynamique
Préchargement dynamique

Lorsqu'il était sûr que l'utilisateur accéderait à une certaine page, il n'a pas simplement attendu que la navigation ait lieu. Nikkei ajoute dynamiquement <link rel=prefetch> à <head> et précharge la page suivante avant que l'utilisateur ne clique réellement sur le lien. Cela permet une navigation instantanée sur les pages.

CSS intégré au chemin critique

CSS intégré au chemin critique

Réduire le CSS bloquant le rendu est l'une des bonnes pratiques de chargement rapide. Le site Web intègre zéro feuille de style bloquant l'affichage de tous les CSS critiques. Cette optimisation a réduit de plus d'une seconde le nombre de first significatifs de peinture.

Optimiser les bundles JavaScript

Optimiser les bundles JavaScript

Dans leur expérience précédente, les bundles JavaScript de Nikkei étaient gonflés et pesaient plus de 300 Ko au total. Grâce à une réécriture en JavaScript standard et à des optimisations de regroupement modernes, telles que le découpage basé sur les itinéraires et le tree-shaking, ils ont pu réduire cette inflation. Ils ont réduit la taille de leur bundle JavaScript de 80 %, la ramenant à 60 Ko avec RollUp.

Autres bonnes pratiques implémentées

Optimiser le code JavaScript tiers

Bien qu'il ne soit pas aussi facile d'optimiser les JavaScript tiers que vos propres scripts, Nikkei a réussi à réduire et à regrouper tous les scripts liés aux annonces, qui sont désormais diffusés à partir de son propre réseau de diffusion de contenu (CDN). Les tags associés aux annonces fournissent généralement un extrait pour lancer et charger d'autres scripts requis, ce qui bloque souvent l'affichage de la page et nécessite un temps d'exécution plus long du réseau pour chacun des scripts téléchargés. Nikkei a suivi l'approche suivante et a amélioré le temps d'initialisation de 100 ms, tout en réduisant la taille du code JavaScript de 30 % :

  • Groupez tous les scripts requis à l'aide d'un outil de regroupement JS (par exemple, Webpack)
  • Chargez de manière asynchrone le script groupé afin qu'il ne bloque pas l'affichage de la page
  • Associer la bannière publicitaire calculée au Shadow DOM (par rapport à l'iFrame)
  • Charger progressivement des annonces lorsque l'utilisateur fait défiler la page avec l'API Intersection Observer

Améliorer progressivement le site Web

En plus de ces optimisations de base, Nikkei a utilisé le fichier manifeste d'application Web et les service workers pour rendre son site Web installable et même le faire fonctionner hors connexion. En utilisant la stratégie cache first dans son service worker, toutes les ressources de base et les articles les plus populaires sont stockés dans le cache de stockage et réutilisés même en cas de situation de crise, comme un réseau instable ou hors connexion, ce qui offre des performances cohérentes et optimisées.

Piratez le Nikkei

Une entreprise de presse quotidienne traditionnelle, vieille de plus de 140 ans, a réussi à accélérer sa numérisation grâce à la puissance du Web et des PWA. Les ingénieurs front-end de Nikkei ont prouvé qu'une expérience utilisateur de qualité générait d'excellentes performances commerciales. L'entreprise continuera de proposer un nouveau niveau de qualité sur le Web.

Documentation complémentaire