web-dev-qa-db-fra.com

Comment résoudre [Servir les ressources statiques suivantes à partir d'un domaine qui ne définit pas de cookies]

Je me bats dans quelque chose que je ne connais pas du tout. Lorsque je ping sur mon site Web, j'ai obtenu ce résultat: [Serve the following static resources from a domain that doesn't set cookies:]. Et, ce résultat provient des images que j'ai utilisées pour les images de fond. J'ai essayé de google sur ce sujet mais toutes les réponses semblent difficiles à comprendre. Est-ce que quelqu'un ici le connaît et existe une solution simple pour y remédier?

7
Jornes

Je vais essayer de donner un aperçu de très haut niveau car vous n'avez pas donné beaucoup de détails dans votre question. Veuillez noter qu'il existe de nombreuses façons de résoudre ce problème, et je vais essayer de donner une solution qui, à mon avis, est facile à comprendre.

Ce message suggère que si votre site Web est www.company.com , vous devez charger du contenu statique à partir de www .companycdn.com . Et ce nouveau site ( www.companycdn.com ) est un simple site Web statique qui ne sert pas de cookies.

Pour ce faire, vous devez télécharger votre ressource statique (par exemple des images) dans le deuxième domaine.

Et puis mettez à jour les chemins des images vers le nouveau domaine. Par exemple, au lieu de cela: <img src="logo.jpg"/>, vous devez le remplacer par ce <img src="//www.companycdn.com/logo.jpg"/>

Cette réponse contient plus d'informations: https://webmasters.stackexchange.com/questions/1772/how-do-i-set-up-a-cookie-less-domain

7
vegemite4me

Généralement, lorsque vous diffusez du contenu tel que des images, JavaScript, CSS, il n'y a aucune raison pour qu'un cookie HTTP l'accompagne, car cela crée une surcharge supplémentaire. C'est pourquoi de nombreux outils signalent cela. Voici deux options simples et rapides:

Option 1 - Utilisez un CDN

Utilisez un CDN pour héberger vos images qui a la capacité d'ignorer les cookies ainsi que de supprimer les cookies, ce qui empêchera complètement le client de recevoir l'en-tête de réponse Set-Cookie. Remarque: Vous ne pouvez pas désactiver les cookies sur Cloudflare .

Option 2 - Pointez les actifs statiques vers un nouveau domaine

Ceci est un exemple avec WordPress.

  1. Tout d'abord, créez un sous-domaine tel que static.domain.com. C'est de là que vous livrerez tous vos fichiers.
  2. Pointez votre sous-domaine vers votre répertoire/wp-content avec un CNAME.
  3. Modifiez votre fichier wp-config.php pour refléter ce qui suit:
define("WP_CONTENT_URL", "http://static.domain.com"); 
define("COOKIE_DOMAIN", "domain.com");

Voir plus dans ce post sur la façon de corriger l'avertissement Serve Static Content From a Cookieless Domain .

7
Brian Jackson

Si vous êtes nouveau dans ce domaine. Je voudrais que vous vous disiez d'abord qu'une fois que vous avez défini un cookie, il sera envoyé au serveur à chaque demande.

La nature par défaut est, il sera envoyé à toutes les demandes allant vers votre domaine parent et tous ses sous-domaines. C'est ainsi que les cookies ont un impact sur tout.

Donc, pour améliorer la vitesse de votre site Web, vous ne surchargez pas vos demandes http. Si vous réduisez les cookies, ce sera mieux.

Passons maintenant à la façon de procéder. Utilisez un nom de domaine différent, vous pouvez également empêcher certains sous-domaines de définir des cookies, mais cela peut être une responsabilité de devops à long terme.

Par exemple, Quikr a un domaine parent http://www.quikr.com/ mais charge toutes les ressources statiques de kuikr.com

http://teja1.kuikr.com/public/images/dist/RECarousel/hospitality_jobs.png

J'espère que ça aide. Merci !

2
Raaj

@Brian Jackson a très bien décrit comment y parvenir. La plupart des gens se posent cette question, après avoir exécuté des outils comme Pagespeed Insights, GtMetrix, Pingdom, etc. et voici ce qui est recommandé:

Le principal facteur pour un meilleur classement des moteurs de recherche est la vitesse de chargement réelle (la liste de contrôle d'optimisation est secondaire). Le déplacement de vos ressources statiques vers un sous-domaine augmentera le temps de chargement des pages au lieu de le diminuer (dans la plupart des cas, surtout si nous parlons de quelques fichiers, css, js et quelques images). Même l'utilisation d'un CDN aura un effet négatif, au cas où vous ne servez que certaines feuilles de style, ressources js et peu d'images, juste pour obtenir un score plus élevé sur ces outils.

Si vous avez beaucoup d'images ou de très grandes ressources statiques, il est recommandé d'utiliser un CDN rapide, qui vous sera utile à bien des égards.

Si vous faites cela pour obtenir un score plus élevé sur la liste de contrôle des outils, je suivrais les conseils de @Brian Jackson et comparerais avant et après avec Pagespeed Insights de Google. Cela vous donnera la réponse si vos modifications ont amélioré la vitesse de chargement des pages ou les ont aggravées. Ne sacrifiez jamais la vitesse de chargement pour cocher une autre case, ces outils sont génériques, ne conviennent pas à chaque site Web ou application Web spécifique.

enter image description here

Sur l'image ci-dessus, j'ai souligné la recommandation de YSlow. Lorsque je déplace les actifs en question vers un sous-domaine sans cookie, le score d'optimisation de YSlow et de Pagespeed Insights passe à 100%, cependant, la vitesse de chargement diminue légèrement (100-300 ms) et oblige Google à évaluer le site Web "Moyen" au lieu de " Bien". Lorsque vous utilisez un CDN, la vitesse diminue encore plus, ce qui oblige Google à évaluer la vitesse du site comme "médiocre". Au lieu de conserver un score d'optimisation de 100%, optez toujours pour la vitesse réelle. Le meilleur outil auquel je peux penser pour vérifier la vitesse réelle est Pingdom:

enter image description here

0
Yatko