Je ne pense pas que cet article soit l’info du siècle, mais on peut très facilement améliorer les performances de WordPress chez les hébergements mutualisés OVH.
Pour cela, il suffit juste de changer 4 paramètres de PHP et pour y parvenir nous allons créé/édité le fichier .htaccess à la racine de votre FTP. (dans le dossier WWW)
Et on va y insérer les lignes:
SetEnv REGISTER_GLOBALS 0
SetEnv ZEND_OPTIMIZER 1
SetEnv MAGIC_QUOTES 0
SetEnv PHP_VER 5
Autrement dit, on désactive les directives PHP magic quotes, register globals qui n’apportent rien à WordPress.
On passe à PHP5 (qui offre une meilleure comptabilité avec les extensions) et on active le module PHP Zend Optimiser, ainsi le code PHP sera optimisé et les traitements récurrents seront mis en cache.
Tout cela de façon transparente pour WordPress, mais avec une meilleure réactivité à la clef pour l’utilisateur.
Pour plus d’infos sur PHP chez OVH, 2 petits guides à lire:
- https://guide.ovh.com/PhpChezOvh
- https://guide.ovh.com/ConfigPhp
65 réponses à “Optimiser les performances de PHP et WordPress chez OVH en 4 lignes !”
Salut Amaury, parfois c’est extrêmement simple, mais il faut y penser, bravo :D
Est-ce que ça marche aussi pour les pages persos chez free.fr ?
Olivier > Non, c’est des manipulations pour OVH, pas free ;)
C’est aussi une bonne idée que d’activer la compression gzip des textes, css et autres js… temps de transferts divisés au moins par deux!
# Commenter la ligne ci-dessous si plantage
php_flag zlib.output_compression on
############################################
## activer la compression par apache des fichiers servis
## https://developer.yahoo.com/performance/rules.html#gzip
# Activer le filtre
SetOutputFilter DEFLATE
# Netscape 4.x crée quelques problèmes…
BrowserMatch ^Mozilla/4 gzip-only-text/html
# Netscape 4.06-4.08 en ont encore d’autres
BrowserMatch ^Mozilla/4\.0[678] no-gzip
# IE se déguise en Netscape, mais OK
BrowserMatch \bMSIE !no-gzip !gzip-only-text/html
# On ne compresse pas les images: le sont déjà
SetEnvIfNoCase Request_URI \.(?:gif|jpe?g|png)$ no-gzip dont-vary
# Pour que les proxies ne trsnamettent pas un mauvais contenu
Header append Vary User-Agent env=!dont-vary
Fibo > Dans le cas d’un serveur dédié oui, ici sur du mutualisé tu n’as pas la main sur ce genre de chose.
Petite question (peut-être bête) : faut-il insérer les 4 lignes dans le fichier .htaccess ou créer un fichier dans lequel on ne mettra que ces 4 lignes et qui remplacera ledit fichier .htaccess ?
Mon fichier ht.access se présente ainsi :
# BEGIN WordPress
RewriteEngine On
RewriteBase /
RewriteCond %{REQUEST_FILENAME} !-f
RewriteCond %{REQUEST_FILENAME} !-d
RewriteRule . /index.php [L]
# END WordPress
Où dois-je insérer le code ?
Merci !
Il faut éditer le fichier .htaccess, tu peux ajouter ces lignes au début ou à la fin de ton fichier. (début de préférence)
@Amaury
Chez OVH tu as accès à htaccess même en mutualisé (du moins sur les GP et Plan que j’utilise!)…
Si tu ne le vois pas c’est peut-être un problème de paramétrage de ton client FTP
@mat
Le htaccess, c’est dangereux! Donc sauf cas particulier, on ne remplace pas car ceux qui te disent de remplacer ne savent pas ce que tu as pu y mettre! Donc, tu ajoutes dedans.
Moi, j’ajouterai les lignes après les rewrite, pour que ceux-ci soient, si nécessaires, réalisés le plus tôt possible.
Bien entendu, avant de faire quelque modif que ce soit, tu gardes précieusement une copie de ton htaccess. Et lorsque je suis parano (par exemple fatigué ou tard le soir), je garde laliaison ftp ouverte tant que je n’ai pas testé OK l’impact des modifs.
@tous
D’un autre côté cela dépasse maintenant les 4 lignes, mais cela en vaut la peine puisque cela accélère toutes les pages
Fibo > Il me semblait que ton code était réservé à la config apache2, mais si tu me dis que ca fonctionne dans le fichier .htaccess why not ;)
Et puis le .htaccess c’est pas dangereux ;) Au pire, on l’efface le fichier et on régènere les permaliens ;)
moi j’ai un problème avec magic quote runtime qui me met des « / » sur les imports de TDO miniforms.
A votre avis,
Est ce que « SetEnv MAGIC_QUOTES 0″ va désactiver ce truc ?
ou faudrait il préciser un truc du genre: »SetEnv MAGIC_QUOTES_RUNTIME 0 »?
@Amaury:
Je ne sais si ce sont des Apache 1 ou 2. 90plan et mediaplan.
.htaccess ce n’est pas dangereux quand on sait. Quand on ne sait pas, tout est dangereux. Nous conseillons à Mat une modif sur laquelle il ne se sent pas rassuré… l’aider à se protéger contre toute erreur, c’est plus rassurant pour lui.
Dans le doute, mieux vaut quelqes backups de trop qu’un qui manque: BSTS (better safe than sorry)
@boldock: tu as un problème avant ou après avoir changé le magic quotes comme suggéré ici?
Si c’est après… il te suffit de ne pas mettre cette ligne.
Si c’est avant de rajouter cette ligne… prudence…
Si tu changes magic quotes pour que ce module passe… tu risques de casser autre chose ou d’ouvrir une brèche dans la sécurité de ton système.
Voir https://www.phpfrance.com/tutoriaux/index.php/2005/04/17/29-les-magic-quotes
Pour t’en tirer avec ton module, tu peux sans doute utiliser stripslashes… mais prudence quant à l’injection SQL
@Fibo merci pour ta réponse.
Le problème à lieu avant de faire la modif. Modif que je n’ai pas encore essayée.
concernant les magic_quotes ce n’est apparemment pas simple donc je verrai ca plus tard. le temps de me pencher réellement sur le sujet.
@boldock:
Ces problèmes de magic_quotes sont en fait une prise de tête permanente… mais qui protège contre des imprudences de sites mal protégés.
Si tu vérifies bien les textes que tu utilises pour mettre à jour tes bases de données, alors tu peux « facilement » retirer les \ que tu as en trop.
Par exemple en insérant au début de ton module PHP (mais après la ligne <?php ) les lignes suivantes:
Function sans_slash($chaine) {
return ((1 == get_magic_quotes_gpc()) ? stripslashes($chaine) : $chaine ) ;
}
et tu n’as plus qu’à modifier tes variables slashées en faisant qqe chose comme
$my_var = sans_slash ( $my_var) ;
Merci Amaury, entre tes conseils et ce de Francis (fran6art), wordpress devient de plus en plus clair.
Help !
J’ai perdu la fonction d’édition des pages et articles depuis que j’ai utilisé le pluggin TinyMCE offrant des boutons d’éditions supplémentaires … qui ont d’ailleurs fonctionnés, mais un matin, la panne. WP n’affiche plus que l’édition HTML par défaut. (nota: sommes hébergé chez OVH)
Depuis la maintenance du blog est réduite à rien !!! C’est catastrophique ! J’ai désactivé, désinstallé ce pluggin, réinstallé plus de 10X, consulté les conseils de l’auteur: rien à faire ! Un conseil ou une aide ? merci beaucoup.
Bonjour,
je suis chez ovh aussi mais j’ai le plug in super cache qui me donne le fichier htacess suivant , alors ou est ce que jeglisse ces 4 lignes
Merci
# BEGIN WPSuperCache
RewriteEngine On
RewriteBase /
AddDefaultCharset UTF-8
RewriteCond %{REQUEST_URI} !^.*[^/]$
RewriteCond %{REQUEST_URI} !^.*//.*$
RewriteCond %{REQUEST_METHOD} !=POST
RewriteCond %{QUERY_STRING} !.*=.*
RewriteCond %{HTTP:Cookie} !^.*(comment_author_|wordpress|wp-postpass_).*$
RewriteCond %{HTTP:Accept-Encoding} gzip
RewriteCond %{DOCUMENT_ROOT}/wp-content/cache/supercache/%{HTTP_HOST}/$1/index.html.gz -f
RewriteRule ^(.*) /wp-content/cache/supercache/%{HTTP_HOST}/$1/index.html.gz [L]
RewriteCond %{REQUEST_URI} !^.*[^/]$
RewriteCond %{REQUEST_URI} !^.*//.*$
RewriteCond %{REQUEST_METHOD} !=POST
RewriteCond %{QUERY_STRING} !.*=.*
RewriteCond %{HTTP:Cookie} !^.*(comment_author_|wordpress|wp-postpass_).*$
RewriteCond %{DOCUMENT_ROOT}/wp-content/cache/supercache/%{HTTP_HOST}/$1/index.html -f
RewriteRule ^(.*) /wp-content/cache/supercache/%{HTTP_HOST}/$1/index.html [L]
# END WPSuperCache
# BEGIN WordPress
RewriteEngine On
RewriteBase /
RewriteCond %{REQUEST_FILENAME} !-f
RewriteCond %{REQUEST_FILENAME} !-d
RewriteRule . /index.php [L]
# END WordPress
@sticker pierre
Sans vouloir jouer les intégristes, je pense que ta question a peu de rapport avec le titre du post. La mettre ici crée deux problèmes:
1 – pour toi: si tu créais un post avec ton sujet (peut-être pas sur ce site), tu aurais sans doute plus de réponses à ta question…
2 – pour nous tous, toi y compris: si l’on transforme ce post et les commentaires en fourre-tout, cela devient beaucoup moins ciblé et pertinent.
@philippe
– Tu peux mettre ces lignes un peu n’importe où, car elles concernent des aspects indépendants. Moi je les mettrais à la fin, toujours pour que les redirects d’url aillent aussi vite que possible.
– De ce que je vois, supercache gère lui-même les compressions gz: il ne faut donc PAS incorporer les changements que je suggère, car ils jouent eux aussi sur la compression gz et pourraient interférer les uns avec les autres.
Je ne pense pas que les redirections soit plus rapide que ça soit à la fin ou au début du fichier, vu que le fichier .htaccess est mis en mémoire par apache2 et qu’ensuite il exécute les règles ;)
Par rapport au Magic Quotes et WordPress, ce dernier est développé pour fonctionner avec le paramètre activé ou pas.
Petite question supplémentaire : les deux options que tu désactives ne risquent-elles pas de « gêner » non pas WP, mais des extensions WP ?
Bonjour, est ce que l’ajout de ces quelques lignes permettent d’accélérer wordpress sur un serveur dédié ? Ou est-ce réservé aux serveurs mutualisés ? Merci
Salut !
Merci pour ces conseils d’optimisation. Fonctionnent-ils également en cas de multidomaine chez OVH ?
J’ai plusieurs domaines pour un hébergement, dois je mettre un htaccess par dossier (vers lequel pointe un domaine) ou dois je le mettre à la racine de tout (dossier www) ?
Merci pour vos réponses !
Comme une image > Possible, mais si les extensions sont bien développées, ca doit fonctionner, personnellement je connais pas d’extensions qui foirent.
Fifouille > Mutualisé uniquement
nico > Si tu le met à la racine web, ca s’applique à tous les dossiers. Si tu le met dans un dossier, ca ne s’appliqueras qu’à son arborescence ;)
Merci pour la réponse :)
Fifouille:
Pour préciser ce que dit Amaury
Certaines modifications sont en mutualisés uniquement, les autres sont valables aussi en dédié. (par exemple le gzip)
Moi, sur un dédié, je les essaierais toutes, pour voir
Nico:
Je pense que c’est plus sage de le mettre à la racine de CHACUN de tes sites…
Personnellement j’ai de toute façon à la recine de chaque site un htaccess minimum qui fait un reroutage automatique de mondomaine.com vers http://www.mondomaine.com
Comme je recopie ce fichier de site en site… les instructions « standard » y sont aussi…
A noter qu’OVH a fait de nouveaux réglages à ses hébergements. La situation, un peu instable les premiers jours, semble maintenant plus stable.
En principe, cette nouvelle version de l’hébergemnt devrait légèrement ralentir le premier affichage d’une première page du site, mais accélerer (cache..) les affichages ultérieurs de la même page.
Salut et merci ! Je viens de mettre en place ton astuce, et ça a l’air de pas mal accélérer mon blog.
Je viens de mettre les directives en route, on va voir à l’usage, merci
je viens d’appliquer ça, on va voir ce que ça donne. Les premiers tests ne sont pas fameux, mais on va bien voir à court terme ;)
Merci.
Bonjour,
Pour moi (sur OVH mutualisé), à part la commande pour le PHP5 que j’avais déjà, toutes les autres (essayées une par une) me mettent le site en rideau… Est-ce normal docteur ? Des changements récents sur OVH qui expliqueraient que ce qui a marché pour vous il y a quelques mois ne marche plus maintenant ? Merci???
Apparemment d’apres un premier test très concluant, l’astuce fonctionne parfaitement pour un site sous Spip, merci !
Bonjour,
Voulant créer un blog WordPress chez OVH, y a-t-il un lyonnais passionné qui voudrait me donner qq conseils de départ devant un café ?
merci
michel à Lyon et environs
Mille Mercis !!! cela fonctionne du « feu de Dieu » !!!! temps d’affichage passé de 5 secondes à moins d’une seconde !! bravo pour cette astuce si simple !!!!
Intéressant, merci, je ne connaissais pas la commande MAGIC_QUOTES. Mais j’étais passé depuis longtemps à PHP5.
Bonsoir,
Alors moi, pas de fichier .htacces dans le dossier www dans mon ftp :/
Puis-je en créer un ?
et si oui…que dois-je mettre dedans ;)
Merci d’avance.
Demolite.
Je suis tombé sur ce billet en cherchant la dernière version de Simple Tags. Supers conseils, c’est exactement ce dont j’avais besoin.
Depuis WordPress 2.8,il faut être sous php5,il rajouter un /deux lignes dans le ficier .htaccess ,celui ci est créé si on a touché aux permaliens de wordpress,sinon on peut le créer facilement avec un éditeur de texte comme notepad++
Plus d’info sur le forum de wordpress-fr.net
https://www.wordpress-fr.net/support/sujet-31932-php5-depuis-wordpress
si vous avez un fichier .htaccess,penser à faire une sauvegarde de ce fichier en téléchargeant sur votre disque dur ainsi en cas d’erreur vous avez cette sauvegarde pour retrouver votre site,ainsi pas de danger.
Pas besoin d’être un pro ou un connaisseur pour toucher à ce fichier,si on suit bien la procédure pas de souci.
Astuce vraiment pratique et qui marche sans soucis ^^
Merci beaucoup, je vois les temps d’accès c’est franchement rapide Oo
Tester la vitesse si vous voulez vérifier il y a des sites qui font ça très bien ;)
j’ai un blog wordpress hébergé chez OVH! autant dire que c’est une super astuce. Je vais essayer ça. Merci
Depuis que j’utilise cette astuce mon site web a pris un sérieux coup de boost !! merci
Pour la compression Gzip sous OVH et 1and1 il faut une petite astuce pour que cela fonctionne. La méthode du fichier htaccess ne marche pas tel quel. J’ai expliquer comment faire ici:
https://www.blog.manit4c.com/2008/07/24/compression-gzip-chez-1and1-et-ovh-la-galere/
bonjour à tous, je découvre ce blog aussi intéressant que plein de ressources utiles.
Je me lance dans Wrodpress et avec OVH je galère…j’ai bien suivi les instructions en début de page et tous les liens que j’ai trouvé sur internet parlant de mettre en place wordpress sur OVH.
j’ai toujours une page blanche avec ce texte quand j’essai d’acceder à ma base .
Error establishing a database connection
Merci à vous de m’aider ou de m’indiquer quels erreurs j’aurai pu faire.
Bonne journée Florinda
@Renaud
Si tu as modifié le fichier « wp-config-sample.php »en « wp-config.php » (je sais plus si nécessaire dans la derniére version)
Si t’as bien vérifier ,tous les identifiants de connexions. Je pense que ça vient de là :)
Si tu as vérifé le CHMOD 755
Au pire Tu as l’auto-installation de wordpress dans OVH :)
Oui j’ai modifié le fichier fichier « wp-config-sample.php »en « wp-config.php
en fait j’ai téléchargé la version 2.9.2
j’ai ouvert le fichier « readme » et suivi la procédure .
– je ne sais pas si je dois faire un fichier htaccess
– CHMOD 755 ??
L’auto install dans OVH , désolée je n’ai pas trouvé !!!peut être écire à l’assistance de OVH? non?
J’ai bien vérifié sur OVH que j’avais une base de données crée, j’ai jamais des base de données mais je peux y accéder et je vois bien que je peux crée des tables…
J’ai renommé le dossier wrodpress en blog et l’ai uploader sur mon site via FTP à la racine du site.
Ma page wp-config.php, peut être ai-je oublié quelque chose?
»
/ ** Réglages MySQL – Votre hébergeur doit vous fournir ces informations. ** //
/** Nom de la base de données de WordPress. */
define(‘DB_NAME’, ‘ spiritdel’);
/** Utilisateur de la base de données MySQL. */
define(‘DB_USER’, ‘ spiritdel’);
/** Mot de passe de la base de données MySQL. */
define(‘DB_PASSWORD’, ‘********’);
/** Adresse de l’hébergement MySQL. */
define(‘DB_HOST’, ‘mysql5-11.60’);
/** Jeu de caractères à utiliser par la base de données lors de la création des tables. */
define(‘DB_CHARSET’, ‘utf8’);
/** Type de collation de la base de données.
* N’y touchez que si vous savez ce que vous faites.
*/
define(‘DB_COLLATE’, »);
/**#@+
* Clefs uniques d’authentification.
*
* Remplacez les valeurs par défaut par des phrases uniques !
* Vous pouvez générer des phrases aléatoires en utilisant
* {@link https://api.wordpress.org/secret-key/1.1/ Le service de clefs secrètes de WordPress.org}.
* Vous pouvez modifier ces phrases à n’importe quel moment, afin d’invalider tous les cookies existants.
* Cela forcera également tous les utilisateurs à se reconnecter.
*
* @since 2.6.0
*/
define(‘AUTH_KEY’, ‘put your unique phrase here’);
define(‘SECURE_AUTH_KEY’, ‘put your unique phrase here’);
define(‘LOGGED_IN_KEY’, ‘put your unique phrase here’);
define(‘NONCE_KEY’, ‘put your unique phrase here’);
/**#@-*/
/**
* Préfixe de base de données pour les tables de WordPress.
*
* Vous pouvez installer plusieurs WordPress sur une seule base de données
* si vous leur donnez chacune un préfixe unique.
* N’utilisez que des chiffres, des lettres non-accentuées, et des caractères soulignés!
*/
$table_prefix = ‘wp_’;
/**
* Langue de localisation de WordPress, par défaut en Anglais.
*
* Modifiez cette valeur pour localiser WordPress. Un fichier MO correspondant
* au langage choisi doit être installé dans le dossier wp-content/languages.
* Par exemple, pour mettre en place une traduction française, mettez le fichier
* fr_FR.mo dans wp-content/languages, et réglez l’option ci-dessous à « fr_FR ».
*/
define (‘WPLANG’, ‘fr_FR’);
/* C’est tout, ne touchez pas à ce qui suit ! Bon blogging ! */
/** Chemin absolu vers le dossier de WordPress. */
if ( !defined(‘ABSPATH’) )
define(‘ABSPATH’, dirname(__FILE__) . ‘/’);
/** Réglage des variables de WordPress et de ses fichiers inclus. */
require_once(ABSPATH . ‘wp-settings.php’);
‘ spiritdel’ il y a un espace……il faut pas d’espace
Pour le htaccess, c’est un truc comme ça « SetEnv PHP_VER 5 »
sinon pour l’auto installation
Tu vas sur le site d’ovh Manager (identifiant et mot de passe)
Hébergements et domaines
clique sur ton domaine
hébergement
Gestion des modules> ajouter>WordPress
oui c’est ce que je viens de changer le petit espace avant le « spirtdel » et j’ai rajouter gp après 60 pour le nom de la base !!!
Dernière petite pratique
Pour apprendre tout ça et faire un blog qui ressemble plutôt à un siteweb, c’est quoi le mieux, acheter un livre ou allez sur le site officiel de wordpress??
histoire de pas passer des heures !
Merci des réponses en tout cas.
Faire un blog qui ressemble plutôt à un site web, tu peux utiliser un autre cms :) drupal , spip…
Oui j’ai déjà pris des renseignements sur Spip. mais j’ai vu aussi pas par exemple le site de la ville de Arles présenté sur la page officiel de wordpress, qui est vraiment sympa fait avec wordpress.
Florinda > Ca dépend si tu aimes lire les livres, si oui le bouquin est bien fait. Si non, utilise le codex US.
Avec wordpress 3 ça va être beaucoup plus simple de réaliser des sites web comme celui d’arles :)
https://www.fran6art.com/
https://www.grafikart.fr/tutoriels/categorie/wordpress
Ah, oui j’ai oublié de dire que je suis en multisites… ;-)
DF
@ Catastrophy » WP-Tuner
(Hum, apparemment plus compatible avec la v3, dommage…)
Quoi que …. ;-)
(J’ai l’impression que je suis pris pour du spam.)
Merci pour cette astuce, je l’ai mise en place et elle semble bien fonctionner !
Bonjour, ya personne qui sait s’il existe une video tuto pour Optimiser les performances de PHP et WordPress chez OVH ? merci les gars
Moi qui cherchait une solution pour éviter les lenteurs… Je vais tester ça très rapidement. Merci pour l’info !
J’ai de gros souci avec ovh, je n’arrive même plus à upload une image de 7Ko sur le wordpress vierge que je viens d’installer sur le mutualiser, bref je ne peux plus bosser dans ces conditions. Apparemment il y aurait d’autres personnes dans ce cas (vu sur le forum ovh). Et vous sur les mutualisés, ça fonctionne ?
Merci pour le tuyau. Je vous souhaite bonne continuation