Mardi 24 décembre 2024
Les réseaux de diffusion de contenu (CDN) sont particulièrement adaptés pour réduire la latence de votre site Web et, de manière générale, pour éviter les problèmes liés au trafic Web. Après tout, c'est leur objectif principal: diffuser rapidement vos contenus, même si votre site reçoit beaucoup de trafic. Le "D" de CDN signifie "diffusion", et il s'agit donc de diffuser votre contenu dans le monde entier. Les temps de transfert vers vos utilisateurs sont également plus courts que si votre contenu était hébergé dans un centre de données. Dans cet article, nous allons voir comment utiliser les CDN pour améliorer l'exploration et l'expérience utilisateur sur votre site. Nous examinerons également certaines nuances de l'exploration des sites utilisant des CDN.
Récapitulatif: qu'est-ce qu'un CDN ?
Pour faire simple, les CDN forment un intermédiaire entre votre serveur d'origine (où se trouve votre site Web) et l'utilisateur final, et diffusent certains fichiers auprès de ces derniers. Historiquement, le fonctionnement des CDN est principalement basé sur la mise en cache. Cela signifie qu'une fois qu'un utilisateur a demandé une URL de votre site, les CDN stockent le contenu de cette URL dans leur cache pendant un certain temps. Ainsi, votre serveur n'a pas à diffuser ce fichier à nouveau pendant un certain temps.
Les CDN peuvent accélérer considérablement votre site en diffusant du contenu aux utilisateurs à partir d'un emplacement proche d'eux. Par exemple, si un utilisateur en Australie accède à un site hébergé en Allemagne, un CDN lui fournira le contenu à partir de ses caches en Australie, ce qui réduira le temps de transfert aller-retour dans le monde entier. La diffusion a beau être rapide, la distance reste très importante.
Enfin, les CDN constituent un excellent moyen de protéger votre site contre la surcharge et certaines menaces de sécurité. Vu la quantité de trafic qu'ils gèrent à l'échelle mondiale, les CDN peuvent créer des modèles de trafic fiables pour détecter les anomalies de trafic et bloquer les accès qui semblent excessifs ou malveillants. Par exemple, le 21 octobre 2024, les systèmes de Cloudflare ont détecté et atténué de manière autonome une attaque DDoS de 4,2 Tbit/s (ndlr: c'est beaucoup) qui a duré environ une minute.
Comment les CDN peuvent aider votre site
Vous disposez peut-être des serveurs les plus rapides et de la meilleure liaison montante possible, et vous pensez peut-être que vous n'avez pas besoin d'accélérer quoi que ce soit. Toutefois, les CDN peuvent vous faire économiser de l'argent à long terme, en particulier si votre site est volumineux:
- Mise en cache sur le CDN: si des ressources telles que des contenus multimédias, du JavaScript et du CSS, ou même votre code HTML sont diffusées à partir des caches d'un CDN, vos serveurs n'ont pas besoin de consacrer de ressources de calcul et de bande passante à la diffusion de ces ressources, ce qui réduit la charge du serveur. Cela signifie généralement aussi que les pages se chargent plus rapidement dans les navigateurs des utilisateurs, ce qui est corrélé à de meilleures conversions.
-
Protection contre les surcharges de trafic: les CDN sont particulièrement efficaces pour identifier et bloquer le trafic excessif ou malveillant, ce qui permet à vos utilisateurs de visiter votre site même lorsque des bots malveillants ou des utilisateurs mal intentionnés surchargent vos serveurs.
En plus de la protection contre les surcharges de trafic, les mêmes paramètres que ceux utilisés pour bloquer le trafic indésirable peuvent être utilisés pour bloquer le trafic indésirable, qu'il s'agisse de certains robots d'exploration, de clients qui suivent un certain modèle ou simplement de trolls qui utilisent toujours la même adresse IP. Bien que vous puissiez contrôler cela au niveau de votre serveur ou de votre pare-feu, il est généralement beaucoup plus facile d'utiliser l'interface utilisateur d'un CDN. - Fiabilité: certains CDN peuvent diffuser votre site auprès des utilisateurs même s'il est indisponible. Bien sûr, cela ne fonctionne que pour le contenu statique, mais cela peut déjà suffire à s'assurer qu'ils ne se tournent pas vers un autre site.
En bref, les CDN sont vos amis. Si votre site est volumineux ou si vous prévoyez (ou si vous recevez déjà) un trafic important, vous pouvez en trouver un qui répond à vos besoins en fonction de facteurs tels que le prix, les performances, la fiabilité, la sécurité, le service client, l'évolutivité et l'expansion future. Contactez votre fournisseur d'hébergement ou de CMS pour connaître les options disponibles (et savoir si vous en utilisez déjà un).
Impact de l'exploration sur les sites avec CDN
En ce qui concerne l'exploration, les CDN peuvent également être utiles, mais ils peuvent entraîner des problèmes d'exploration (bien que cela reste rare). Voyons cela plus en détail.
Impact des CDN sur la vitesse d'exploration
Notre infrastructure d'exploration est conçue pour permettre des vitesses d'exploration plus élevées sur les sites qui reposent sur un CDN. Cette information est déduite de l'adresse IP du service qui diffuse les URL auxquelles nos robots d'exploration accèdent. Cette méthode fonctionne bien, du moins la plupart du temps.
Imaginons que vous lanciez aujourd'hui un site de banque de photos et que vous disposiez de 1 000 007 photos en stock. Vous lancez votre site Web avec une page de destination, des pages de catégorie et des pages détaillées pour tous vos contenus. Vous vous retrouvez donc avec beaucoup de pages. Dans notre documentation sur la limite de capacité d'exploration, nous expliquons que la recherche Google souhaite explorer toutes ces pages le plus rapidement possible, mais que l'exploration ne doit pas non plus surcharger vos serveurs. Si votre serveur commence à répondre lentement face à un nombre accru de requêtes d'exploration, une limitation est appliquée du côté de Google pour éviter que votre serveur ne soit surchargé. Le seuil de cette limitation est beaucoup plus élevé lorsque notre infrastructure d'exploration détecte que votre site repose sur un CDN et suppose qu'il est possible d'envoyer plus de requêtes simultanées, car votre serveur peut probablement le gérer, ce qui permet d'explorer votre boutique en ligne plus rapidement.
Toutefois, lors du premier accès à une URL, le cache du CDN est "froid", ce qui signifie que, comme personne n'a encore demandé cette URL, son contenu n'a pas encore été mis en cache par le CDN. Votre serveur d'origine doit donc diffuser cette URL au moins une fois pour "réchauffer" le cache du CDN. Cela ressemble beaucoup au fonctionnement de la mise en cache HTTP.
En bref, même si votre boutique en ligne repose sur un CDN, votre serveur devra diffuser ces 1 000 007 URL au moins une fois. Ce n'est qu'après cette diffusion initiale que votre CDN peut vous aider avec ses caches. Cela représente une charge importante pour votre "budget d'exploration", et la vitesse d'exploration sera probablement élevée pendant quelques jours. Gardez cela à l'esprit si vous prévoyez de lancer plusieurs URL à la fois.
Effet des CDN sur l'affichage
Comme nous l'avons expliqué dans notre premier article de blog sur l'exploration des ressources, le fait de répartir les ressources sur leur propre nom d'hôte ou sur un nom d'hôte CDN (cdn.example.com
) peut permettre à notre service de rendu Web (WRS) d'afficher vos pages plus efficacement. Toutefois, cette pratique peut avoir un impact négatif sur les performances de la page en raison des frais généraux liés à la connexion à un nom d'hôte différent. Vous devez donc examiner attentivement l'expérience sur la page avec les performances d'affichage.
Si vous utilisez un CDN pour votre hôte principal, vous évitez ce problème: il n'y a qu'un seul nom d'hôte à interroger, et les ressources d'affichage critiques sont probablement diffusées à partir du cache du CDN. Votre serveur n'a donc pas besoin de les diffuser (et cela n'a aucune incidence sur l'expérience sur la page).
En fin de compte, choisissez la solution qui convient le mieux à votre entreprise: utiliser un nom d'hôte distinct (cdn.example.com
) pour les ressources statiques, utiliser un CDN pour votre nom d'hôte principal ou une combinaison des deux. L'infrastructure d'exploration de Google accepte les deux options sans problème.
Surprotection des CDN
Du fait de la protection contre les surcharges de trafic des CDN et de la façon dont les robots d'exploration fonctionnent, il arrive que les robots que vous voulez accepter sur votre site se retrouvent dans la liste de blocage de votre CDN, généralement dans son pare-feu d'application Web (WAF). Cela empêche les robots d'exploration d'accéder à votre site, et donc potentiellement votre site de figurer dans les résultats de recherche. Le blocage peut se produire de différentes manières, certaines étant plus préjudiciables que d'autres pour la présence d'un site dans les résultats de recherche Google. Il peut être difficile (voire impossible) de contrôler cela, car cela se produit du côté du CDN. Dans cet article, nous avons classés les blocages en deux catégories: les blocages durs et les blocages temporaires.
Blocages
Les blocages durs se produisent lorsque le CDN répond à une requête d'exploration par une erreur. Il peut s'agir de:
-
Codes d'état HTTP
503
/429
: c'est la méthode recommandée pour signaler un blocage temporaire. Cela vous laisse le temps de réagir aux blocages involontaires du CDN. - Délais d'inactivité du réseau: les délais d'inactivité du réseau du CDN entraînent la suppression des URL concernées de l'index de recherche Google, car ces erreurs réseau sont considérées comme des erreurs "fatales". De plus, ils peuvent également avoir un impact considérable sur la vitesse d'exploration de votre site, car ils indiquent à notre infrastructure d'exploration que le site est surchargé.
-
Message d'erreur aléatoire avec un code d'état HTTP
200
: également appelé erreurs non critiques, il s'agit d'un problème particulièrement grave. Si le message d'erreur est assimilé par Google à une erreur "fatale" (code HTTP500
, par exemple), Google supprimera l'URL du moteur de recherche. Si Google ne parvient pas à détecter les messages d'erreur comme des erreurs "fatales", toutes les pages contenant le même message d'erreur peuvent être éliminées en tant que doublons de l'index de recherche de Google. Étant donné que l'indexation Google n'a que peu d'intérêt à demander une réexploration des URL en double, résoudre ce problème peut prendre plus de temps.
Blocages temporaires
Un problème similaire peut survenir lorsque votre CDN affiche les interstitiels "Êtes-vous sûr d'être un humain ?".
En fait, nos robots d'exploration sont convaincus qu'ils ne sont PAS humains et ne prétendent pas l'être. Ils veulent juste explorer. Cependant, lorsque l'interstitiel s'affiche, c'est tout ce qu'ils voient, et non votre site génial. Dans le cas de ces interstitiels de vérification des robots, nous vous recommandons vivement d'envoyer un signal clair sous la forme d'un code d'état HTTP 503 aux clients automatisés tels que les robots d'exploration pour indiquer que le contenu est temporairement indisponible. Cela garantit que le contenu n'est pas automatiquement supprimé de l'index Google.
Déboguer les blocages
En cas de blocages durs et temporaires, le moyen le plus simple de vérifier si tout fonctionne correctement consiste à utiliser l'outil d'inspection d'URL dans la Search Console et à observer l'image affichée. Si elle affiche votre page, tout va bien. Si elle affiche une page vide, une erreur ou une page avec un test de bot, vous devriez contacter votre CDN.
De plus, pour éviter ces blocages involontaires, Google, d'autres moteurs de recherche et d'autres opérateurs de robots d'exploration publient nos adresses IP pour vous aider à identifier nos robots d'exploration et, si vous le jugez approprié, à supprimer les adresses IP bloquées des règles du pare-feu d'application Web ou à les ajouter à la liste d'autorisation. L'emplacement où vous pouvez le faire dépend du CDN que vous utilisez. Heureusement, la plupart des CDN et des WAF autonomes disposent d'une documentation de qualité. Voici quelques exemples que nous avons trouvés en effectuant une petite recherche (à la date de publication de cet article):
- Cloudflare: https://developers.cloudflare.com/bots/get-started/free/#visibility
- Akamai: https://www.akamai.com/products/bot-manager
- Fastly: https://www.fastly.com/products/bot-management
- F5: https://clouddocs.f5.com/bigip-next/20-2-0/waf_management/waf_bot_protection.html
- Google Cloud: https://cloud.google.com/armor/docs/bot-management
Si vous souhaitez que votre site apparaisse dans les moteurs de recherche, nous vous recommandons vivement de vérifier si les robots d'exploration qui vous intéressent peuvent y accéder. N'oubliez pas que les adresses IP peuvent être automatiquement ajoutées à une liste de blocage sans que vous le sachiez. Il est donc recommandé de consulter les listes de blocage de temps en temps pour assurer le succès de votre site dans les résultats de recherche et au-delà. Si la liste de blocage est très longue (comme dans cet article de blog), essayez de rechercher uniquement les premiers segments des plages d'adresses IP. Par exemple, au lieu de rechercher 192.168.0.101
, vous pouvez rechercher 192.168
.
C'était le dernier article de notre série d'articles de blog de décembre sur l'exploration. Nous espérons qu'il vous a plus de les lire autant qu'il nous a plus de les écrire. Si vous avez des questions... bla bla bla... vous connaissez la suite.