Optimisation du thème WordPress : 30 requêtes SQL gagnées photo

Optimisation du thème WordPress : 30 requêtes SQL gagnées

speedy_gonzales

Je viens d’effectuer une jolie petite optimisation qui devrait bien alléger le serveur sur lequel nous tournons. Vous vous souvenez de l’article WordPress : réduire le nombre de requêtes SQL des thèmes, écrit il y a quelques mois ?

Et bien il se trouve que j’avais tout optimisé tous les fichiers de mon thème – sauf le menu du site qui se trouve dans le fichier header.php !

Ce dernier contenait quasiment une trentaine de requêtes SQL destinées à obtenir les permalinks des pages statiques…

Je m’étais dit à l’époque que si je changeais le permalink d’une page, cela se reflèterait immédiatement dans le menu. Quand j’y pense aujourd’hui, c’est vraiment ridicule.

Lire la suite

WordPress : utilisation d’un système de cache

Optimisation : le cache

Si votre blog génère beaucoup de trafic, il y a fort à parier que votre consommation des ressources serveurs ira en augmentant : plus vous écrivez d’articles et plus vous avez de pages, plus vous avez de visiteurs sur le site.

Le problème, c’est que les multiples appels à la base de données pour extraire le contenu des articles peut entraîner des ralentissements, voire des erreurs lors de l’affichage de vos pages en périodes de pointe.

La solution consiste à utiliser un système de cache de fichiers. Pour SkyMinds, j’ai testé tout ce que j’ai pu trouver pour tenter d’endiguer le trafic qui ralentissait le serveur. Voici les conclusions auxquelles je suis arrivé, au bout de multiples expérimentations.

Pensez à faire une sauvegarde de votre fichier .htaccess avant de commencer.

Lire la suite

WordPress : réduire le nombre de requêtes SQL des thèmes

WordPress : optimiser le theme

Après avoir vu comment réduire les accès des plugins, voici comment réduire le nombre d’accès à la base de données en modifiant vos fichiers de thèmes.

Des URLs statiques

Il est possible de supprimer jusqu’à une bonne vingtaine d’appels à la base de données rien qu’en éditant les fichiers de votre thème. Les fichiers les plus gourmands sont header.php, sidebar.php et footer.php. Vous pouvez remplacer :

  • bloginfo('charset') par l’encodage de vos pages : UTF-8.
  • bloginfo('stylesheet_url') par l’URI statique de votre feuille de style.
  • bloginfo('rss2_url') par l’URI statique de votre flux RSS.
  • bloginfo('pingback_url') par l’URI statique de votre serveur XML-RPC.
  • bloginfo('url') par l’URI statique de votre blog (sans le slash final).

Lire la suite

WordPress : réduire le nombre de requêtes SQL des plugins

Plugins

Suite aux deux précédents avertissements de mon hébergeur, j’ai pris quelques mesures pour tenter d’endiguer les requêtes superflues au niveau du serveur et d’optimiser mon installation WordPress en général. Aujourd’hui, on essaie de réduire le nombre de requêtes SQL de nos plugins.

Etape 1 : réduire le nombre de plugins

Une installation par défaut de WordPress est assez light au niveau des ressources SQL. Le problème, c’est que l’on a bien souvent tendance à ajouter des plugins à son installation de base qui finissent par ralentir l’ensemble du site. Peut-être même possédez-vous des plugins qui sont devenus obsolètes ou redondants s’ils ont été inclus dans le code source de WordPress. Faîtes un peu le ménage et supprimez les plugins dont vous ne vous servez pas.

Lire la suite

Traduire WordPress et ses plugins avec PoEdit

Flags

Vous vous êtes peut-être déjà demandé comment traduire WordPress ou quelques uns de ses plugins. Et bien c’est très facile figurez-vous !

Il suffit de quelques minutes pour s’y mettre et contribuer à l’amélioration de WordPress ou de ses plugins avec vos traductions.

Voici un petit mode d’emploi pour vous aider à démarrer.

Préparation à la traduction : PoEdit

Sous Windows, pour traduire les différentes chaînes de caractère, on utilise un éditeur spécial comme PoEdit qui crée deux sortes de fichiers :

  • les fichiers .po sont des fichiers catalogues : ils contiennent les chaînes originales ainsi que leur traduction dans la langue cible. Ce sont les fichiers sources que nous éditerons avec PoEdit.
  • les fichiers .mo sont la version encodée en binaire des fichiers .po – ce sont ces fichiers que WordPress ou ses plugins a besoin pour effectuer la traduction automatique des chaînes.

Lire la suite

Augmenter la mémoire PHP pour WordPress

Il y a quelques jours, mon hébergeur a mis à jour son serveur Apache qui est passé de la version 1.3.37 à la version 2.2.6.

Gros changement donc mais dont je ne me suis réellement rendu compte que lorsque j’ai voulu poster un nouvel article sur le site.

Je me suis trouvé nez à nez avec cette erreur :

Fatal error: Allowed memory size of 8388608 bytes exhausted (tried to allocate 139816 bytes) in /home/cpanel/public_html/wp-includes/cache.php on line 51

Petit mail au support qui, une fois n’est pas coutume, ne sait pas comment résoudre le problème. Etrange.

On voit bien que c’est un problème de mémoire pourtant : Apache 2 serait-il plus gourmand qu’Apache 1 ? 8 Mo seraient-ils insuffisants ?

Lire la suite

Disposable Registrations Killer

Disposable Registrations Killer est un plugin WordPress qui empêche vos visiteurs de s’enregistrer avec une adresse email jetable. Au moment de l’inscription, le domaine de l’email est vérifié contre une liste. Si l’email est considérée comme jetable, l’utilisateur doit entrer une adresse permanente. Le but est de réduire les inscriptions “fantômes”.

Disposable Registrations Killer is a WordPress plugin that prevents people from registering on your blog with a disposable email address. During registration, the email domain is checked against a list of disposable services. If it’s deemed disposable, the wannabee member is asked to put it another address. The goal is to cut on “ghost” registrations.

Dernière version / Latest version : 1.3

Install notes

  1. Extract all files in /wp-content/plugins/disposable-registrations-killer/.
  2. Edit disposable-registrations-killer.php to choose your language strings (default is English).
  3. Activate. Your blog will now refuse disposable emails on registration.

Changelog

  • v1.3 – 02 Feb 2008 : switched from undisposable.org to undisposable.net
  • v1.2 – 08 Dec 2007 : POT file added + French translation.
  • v1.1 – 20 Nov 2007 : Corrected a bug in 1.0 which tagged all addresses as disposable.
  • v1.0 – 18 Nov 2007 : initial release.

Licence

The script is linkware. A link back here would be appreciated if you use the script.
And you can still show your appreciation by clicking the donate button ;-)

WordPress Plugin : Pimp My Login

Pimp My Login est un plugin WordPress qui vous permet d’éditer facilement la présentation de la page d’identification (wp-login.php) : le plugin peut mettre votre logo et faire un lien vers la page d’accueil de votre site au lieu de pointer vers WordPress.org.

Il vous suffit de placer votre logo dans /pimp-my-login/images/ et d’éditer son nom dans la feuille CSS. Le plugin s’occupe du reste de manière transparente.

Pimp My Login is a WordPress plugin that allows you to easily edit the look and feel of the login page (wp-login.php) : it can display your own logo instead of the WordPress one and point to your blog’s URI instead of WordPress’.

Simply put your logo in /pimp-my-login/images/ and edit its name in the CSS file. The plugin then works its magic.

Dernière version / Latest version : 1.6

Install notes

  1. Extract all files in /wp-content/plugins/pimp-my-login/.
  2. Put your logo in /wp-content/plugins/pimp-my-login/images/logo.png .
  3. If your logo’s name differs, you’ll have to edit it in the CSS file.
  4. Activate. Your login page now displays your colours !

Changelog

  • v1.6 – 16 Oct 2012 : WordPress 3.3 compatible. New clean look.
  • v1.2 – 10 Apr 2008 : WordPress 2.5 compatible. Same look as before.
  • v1.1 – 08 Dec 2007 : WordPress PSD files included. Login messages are now aligncenter.
  • v1.0 – 18 Nov 2007 : initial release.

Licence

The script is linkware. A link back here would be appreciated. You can also show your appreciation by clicking the donate button. Thanks!

Une inscription “opt-in” pour WordPress ?

Approved

Enormément de monde s’inscrit sur SkyMinds.Net, ce qui est plutôt bon signe !

Le problème, c’est que beaucoup de ces inscriptions sont fantômes, lancées à distance par des robots de spam.

A ceux-là, il faut ajouter les gens qui s’enregistrent avec une adresse email erronée. Vu que je reçois un mail à chaque inscription qui n’a pu être envoyée pour cause d’email invalide, il est assez simple via phpMyAdmin de faire le ménage mais bon, soyons sérieux, il serait bien plus aisé que le ménage se fasse tout seul, sans intervention divine admin.

Lire la suite

Créer un site staging pour WordPress sur un sous-domaine photo

Migrer WordPress d’un répertoire à la racine d’un domaine

Migrer WordPress

Si vous avez installé WordPress dans un répertoire, vous vous êtes peut-être un jour posé la question suivante : “et si je transférais tout à la racine du domaine ?”.

Si c’est le cas, sachez que cette migration ne prend que quelques minutes. 20 minutes environ sont nécessaires et les anciens liens seront redirigés automatiquement vers les nouveaux, sans risque d’erreur 404.

Le codex a bien une page qui explique comment migrer WordPress mais il y a beaucoup plus simple et moins risqué : je vous propose donc 5 étapes et non 12.

Étape 1 : sauvegarde des fichiers et de la base de données

Commencez par faire une sauvegarde de tous vos fichiers et de votre base de données. Si jamais quelque chose tournait mal, vous pourriez toujours revenir à la situation précédente.

Je vous conseille même de copier votre base de données vers une nouvelle base de données si vous en avez la possibilité.

Lire la suite

WordPress hack : repair & optimize your database

Au vu des récentes tribulations de Claude, j’ai quelque peu amélioré le script PHP que j’ai écrit pour SkyMinds.Net et qui me permet de réparer et d’optimiser toutes les tables de ma base de données WordPress en un seul clic. Pour les intéressé(e)s, voici le code :


/*
Hack Name: Fix'n'Optimize
Hack URI: https://www.skyminds.net/wordpress-hack-repair-optimize-your-database/
Description: This hack repairs and optimizes your WP database.
Version: 1.0
Author: Matt
Author URI: https://www.skyminds.net/
*/ 

// Include DB config file.
include("wp-config.php");

// Remove useless data in some tables prior to optimizing.
$trunk = $wpdb->query("TRUNCATE TABLE `naatan_useronline`");
$trunk = $wpdb->query("TRUNCATE `wp_bad_behavior`");

// Grab table names.
$grab_all_tables = $wpdb->get_col("SHOW TABLES");

// Go through the list : repair/optimize all tables.
foreach($grab_all_tables as $table_name)
{
	$wpdb->query("REPAIR TABLE `".$table_name."`");
	$wpdb->query("OPTIMIZE TABLE `".$table_name."`");
}

Je lance ce script dans un navigateur de temps en temps – une fois par semaine environ -, histoire d’avoir une base de donnée ordonnée et réactive. Je ne transforme pas ce hack en plugin pour le moment, étant donné que c’est un script à lancer occasionnellement. On pourrait en faire un cron remarquez. Si j’ai le temps, pendant les vacances…