Chose promise, chose due, voici le second article visant à optimiser les temps de chargement de WordPress.
Dans le 1er volet, nous avons vu comme améliorer grandement le thème que vous utilisez pour le rendre plus rapide : "Optimisez la vitesse d'un thème WordPress". Mais cette optimisation seule est insuffisante puisque qu'il va falloir également optimiser le cache, la base de données ou encore vos plugins si vous voulez un réel gain de rapidité.
wp-config.phpCelui-ci est situé à la racine de votre installation, et voici les paramètres que vous devez configurer.
Un exemple de fichier WP-Config.php
Activer le cache par défaut
Auparavant, WordPress avait un système de cache natif qui était activé avec la ligne suivante :
define('ENABLE_CACHE', true);Malheureusement, celui-ci ne fonctionne plus depuis la version 2.5. Ajoutez cependant cette ligne car elle permettra de faire fonctionner les différents plugins de cache.
define('WP_CACHE', true);Réduire le nombre de révisions
La ligne suivante permet de réduire le nombre de sauvegardes d'un article : ce qu'on appelle communément une révision. C'est utile pour le travail collaboratif ou pour garder l'historique d'un contenu un peu comme le fait Wikipédia, mais cela occupe une place important sur la base de données, et peut donc ralentir le site.
Avec la ligne suivante, on limite à deux le nombre de ces révisions pour chaque contenu du site :
define('WP_POST_REVISIONS', 2);Vous avez aussi une méthode plus brutale qui consiste tout simplement à désactiver cette fonctionnalité :
define('WP_POST_REVISIONS',false);define('AUTOSAVE_INTERVAL', 300);DELETE a,b,cFROM wp_posts a
LEFT JOIN wp_term_relationships b ON (aID = bobject_id)
LEFT JOIN wp_postmeta c ON (aID = cpost_id)
WHERE apost_type = 'revision'
Vider automatiquement la corbeille
Cette fois-ci, la ligne va forcer le vidage de la corbeille pour les contenus ayant plus de X jours : cela inclut les articles, les pages, les commentaires et les médias.
En mettant cette valeur à trois, je m'assure de ne pas surcharger inutilement la base de données de WordPress :
define('EMPTY_TRASH_DAYS', 3 );Ne pas envoyer de cookies aux sous-domaines
Cette dernière ligne est moins connue et sera pourtant utile pour mettre en place un CDN (Content Delivery Network). Il s'agit de placer sur un sous-domaine (youpi.monsite.com) ou sur un autre nom de domaine vos contenus statiques comme vos images et vos vidéos.
En utilisant d'autres noms de domaine, vous permettez d’accélérer le temps de chargement de ces données. Seul hic, WordPress transmet un cookie inutile pour chacune de ces requêtes. Pour évitez cela, utiliser ces deux lignes de code dans le fichier wp-config.php :
define('COOKIE_DOMAIN', 'www.monsite.com');define("WP_CONTENT_URL", "http://static.yourdomain.com");
La première est l'URL de votre site. La seconde celle de l'emplacement de vos fichiers statiques. Dans l'exemple ci-dessus, il s'agit d'un sous-domaine mais cela peut être un autre domaine à part entière.
Sécuriser WordPress
Tant que vous êtes dans le fichier wp-config.php, vérifier que ces 4 lignes suivantes sont bien présentes et remplies :
define('AUTH_KEY', '');define('SECURE_AUTH_KEY', '');
define('LOGGED_IN_KEY', '');
define('NONCE_KEY', '');
Si vous ne voyez pas de clé comme dans l'exemple ci-dessus, rendez-vous à l'adresse suivante pour en générer : https://api.wordpress.org/secret-key/1.1/
MISE A JOUR : utilisez plutôt cette URL https://api.wordpress.org/secret-key/1.1/salt/ (merci à Martin).
Cela permettra de mieux sécuriser votre site Internet (et en plus, cela ne coûte rien).
Augmenter la mémoire allouée
Pour exécuter n'importe quelle action, WordPress fait appel à la mémoire allouée par votre hébergement. Parfois, celle-ci est trop faible et provoque le message d'erreur suivant :
Allowed memory size of xxx bytes exhausted
Pour éviter cela, vous pouvez ajouter cette ligne dans le fichier wp-config.php pour augmenter cette valeur
define('WP_MEMORY_LIMIT', '128M');Attention cependant :
- WordPress fixe à 32Mo par défaut la mémoire.
- WordPress ne pourra pas dépasser la limite imposée par votre hébergeur. Si celui-ci fixe la mémoire allouée à 32Mo, la ligne de code ne permettra jamais de dépasser cette valeur.
- WordPress testera toujours s'il doit ou non utiliser la fonction. Par exemple si PHP alloue déjà 64Mb, le fait de définir la même valeur dans le fichier wp-config.php ne servira à rien.
Pour rappel, le fichier wp-config est créé lors de l'installation de WordPress