Pour accélérer mon site Web (ou au moins le temps nécessaire au premier octet (TTFB)), j'aimerais uniquement envoyer la mise en page de la page, puis obtenir le contenu de la page avec une demande asynchrone. De cette façon, le TTFB sera très rapide, car ce sera un contenu court, léger et mis en cache. Pour que le contenu soit indexé, je vais analyser l'agent utilisateur pour savoir si je dois envoyer le contenu à l'ancienne.
Est-ce un moyen sûr de le faire ou vais-je être mis sur la liste noire par Google (en raison du contenu différent)?
Merci d'avance !
PS: je connais la méthode Google AJAX craw ( https://developers.google.com/webmasters/ajax-crawling/ ), mais ce n'est pas vraiment ce que je vouloir.
Malheureusement, si Google connaissait les intentions , le référencement serait beaucoup plus simple :) Ce que vous essayez de faire, quelle que soit votre intention, est identique à quelqu'un qui a un mauvais l'intention ferait, au moins selon Google.
Je ferais exactement le contraire. Envoyez le contenu avec une mise en page minimale de la manière synchrone habituelle et chargez le support de manière asynchrone. Vous remarquerez peut-être que Bing fait cela. Vous pouvez effectuer une recherche avant que les images n'arrivent.
Vous pouvez également retarder le chargement de contenu non essentiel dont le robot Google n'a pas besoin. Vous devez décider en fonction de votre site mais de choses comme des zones avec des nouvelles aléatoires ou des rendus d'une autre partie du site, etc.
La chose la plus importante pour les moteurs de recherche est votre contenu, alors ne vous compliquez pas la tâche.
L’extension de navigateur pour les développeurs vous donnera de nombreuses indications sur ce qui vraiment ralentit les choses que je commencerais par là. Jetez un coup d'œil, par exemple, à cette capture d'écran à partir de l'onglet Audit de Chrome Outils de développement:
Et ce ne sont que quelques conseils que vous obtenez gratuitement. Vous pouvez également vous renseigner sur le temps nécessaire au rendu du contenu, l'utilisation de la mémoire, la latence, etc. ( ne des nombreuses introductions à DevTools sur YouTube).
La mise en cache du contenu calculé dans le sens habituel ("créer un fichier HTML statique") sera presque toujours le point de départ effectif n ° 1. À partir de là, vous pouvez gzip le contenu (via votre serveur Web ou votre proxy), compresser vos fichiers JS et CSS, supprimer les styles de police Web inutiles (par exemple, extra-bold 800 si vous ne l'utilisez pas), charger des fichiers statiques à partir d'un fichier différent (et ) domaine et beaucoup plus.
Il y a un moyen plus facile de le faire. Vous pouvez mettre votre code HTML en cache sous forme d'objet statique et l'envoyer à partir de CDN, en contournant ainsi le processus de rendu. L'idée est similaire. De cette façon, vous pouvez envoyer votre code HTML le plus rapidement possible et lancer l'analyse pour améliorer le référencement (et l'expérience utilisateur).
Notez que les navigateurs commenceront, par défaut, à analyser dès l'arrivée du HTML afin que vous n'ayez pas besoin de scinder le contenu et la mise en page, ils le feront eux-mêmes: restituer la page au fil du temps, à mesure que de plus en plus d'objets arrivent.