Question

J'utilise un CMS (Wordpress) et ont une tripotée de feuilles de style externes je charge sur chaque page, bien que certains de ces feuilles de style sont spécifiques de la page. Dans l'ensemble, je reçois mauvais scores de YSlow et Page Speed ??donc j'envisage d'ajouter quelques php conditionals pour indiquer au navigateur de charger uniquement les fichiers css spécifiques de la page si nécessaire. Cependant, je me demande si je vais en fait pour diminuer le temps de charge que je vais ajouter plus de demandes PHP pour le navigateur.

Était-ce utile?

La solution

En ajoutant quelques php conditionals vous êtes ne pas ajouter plus de demandes de PHP pour le navigateur. Honnêtement, PHP ne font pas de demandes au navigateur du tout.

Et en ajoutant quelques conditionals au code PHP affectera pas la performance. Mais sauver navigateur de requêtes CSS inutiles.
Donc, il serait mieux bien sûr.

Autres conseils

vous ne devriez jamais avoir 1 (2 max) fichiers CSS globaux

après, si vous avez besoin CSS spécifique à la page, il est OK d'avoir une autre 1 ou 2

NE PAS charge les fichiers PHP sous la forme CSS que le simple fait de commencer un interpréteur PHP est des centaines de fois plus intense que de servir un fichier CSS statique. Ainsi, l'ajout conditionals PHP dans votre CSS et le renommer .PHP est pas la réponse

ce que vous pourriez vouloir enquêter est la fusion de tous vos fichiers CSS en un seul et en utilisant des classes spéciales pour les déclencher

par exemple, au lieu de faire ceci:

main.css

body { background-color: black; color: white; }

my-custom-page.css

body { background-color: white; color: black; }

faire ceci:

main.css

body { background-color: black; color: white; }
body.custompage { background-color: white; color: black; }

et ajoutez class = "custompage" à votre élément BODY chaque fois que vous voulez que le comportement

parce que body.custompage a plus de qualifications que le corps juste, il aura une plus grande priorité et passer outre votre déclaration précédente. vous pouvez également faire

.custompage a { color: red; }
.custompage p { font-weight: bold; }

alors vous pouvez avoir un seul, identique, appel CSS pour toutes vos pages

et le cache du navigateur amours

Je ne sais pas ce que vous entendez par PHP demandes dans ce cas, bien qu'il semble que vous peser l'impact sur les performances des déclarations conditionnelles PHP par rapport aux demandes du navigateur.

Il va presque toujours de faire un plus grand impact (un impact beaucoup plus grand, en fait) pour réduire le nombre de demandes de navigateur chaque fois que possible. À moins que vos déclarations conditionnelles sont il y aura probablement extraordinairement complexe, être une différence mesurée dans les ordres de grandeur.

Dans le cas d'un peut être fait sur le côté client relativement simple site Web (par exemple, celui qui ne fait pas beaucoup de demandes de réseau côté serveur ou effectuer des calculs côté serveur complexes), la plupart des améliorations de la vitesse de chargement de la page. Je recommande vivement le livre de Steve Souders Sites Web haute performance pour beaucoup plus d'informations à ce sujet.

Une page de chargement profileur (par exemple, onglet « Ressources » de l'onglet « Net » Firebug ou Safari / Chrome) sera également en fin de compte vous dire si vos optimisations en valent la peine. Alors qu'ils ne mesurent que techniquement la performance du point de vue du navigateur, qui comprend aussi le temps que le serveur prend pour traiter et répondre aux demandes. Si la demande de votre document HTML ralentit (je doute il), alors que ce probablement en raison du code PHP supplémentaire. J'attendre à ce que l'élimination de même une demande de stylesheet inutile compenserait loin l'impact de la performance d'une instruction conditionnelle.

concat tous vos css pour un css.

+ -. 2 kb matière coutume, mais moins demande importe beaucoup

csstidy pourrait faire le travail.

va de même pour javascript. énorme effet sur la performance.

Cela dépend de votre matériel serveur, la taille de votre feuille de style et si vous avez une extension PHP cache d'opcode (par exemple eaccelerator) installé.

Mais dans la plupart des cas, le réseau est un goulot d'étranglement majeur, donc l'ajout de ces conditionals est probablement une bonne idée.

Il dépend en grande partie du réseau démographique. Cependant, le réseau est presque toujours plus lent que le temps CPU, donc si vous pouvez supprimer les requêtes HTTP supplémentaires, vous serez mieux.

Gardez à l'esprit que les navigateurs ne peuvent télécharger 4 (ou 6 ou 8) fichiers à la fois d'un seul hôte donné, donc si vous pouvez combiner CSS dans un seul fichier, qui effectuerons également mieux.

Google indique 90-95% du temps de chargement de page se produit sur le côté client:

scroll top