15 réglages à faire après l’installation de WordPress

Si le CMS WordPress s’installe en deux coups de cuillères à pot, par défaut, il n’est pas pour autant convenablement configuré. Il est donc vivement recommandé de procéder à quelques réglages afin d’améliorer les performances et accroître la sécurité de votre site Web ou de votre blog.

Les suggestions indiquées ici ne concernent bien évidemment que les sites Web auto hébergés sur un serveur dédié ou un serveur mutualisé et pas les sites hébergés gratuitement sur wordpress.com.

Pour que les modifications fonctionnent correctement, il faut que WordPress tourne sur Apache sous Linux et que la version installée soit au moins la 4.2.

logo-wordpress

1. Déplacer le dossier uploads où sont sauvegardés les médias (images, fichiers…)

WordPress enregistre toutes les images et les fichiers uploadés dans le dossier appelé wp-content/upload. Il est possible de déplacer ce dossier pour le placer à l’extérieur du dossier principal de WordPress (wp-content), ou mieux dans un dossier sur un sous-domaine. Cela rendra les sauvegardes de WordPress plus rapides et plus pratiques (le dossier upload et celui des thèmes (themes) peuvent très bien être sauvegardés à part).

Le plus important ici repose sur le fait qu’héberger les images sur un domaine différent ou sur un sous-domaine va permettre des chargements en parallèle des images et donc améliorer les temps de chargements par le navigateur Web des visiteurs.

La configuration est à effectuer dans le fichier wp-config.php en y ajoutant le code ci-dessous qui modifie l’emplacement du dossier wp-content.

[pastacode lang= »php » manual= »define(%20’WP_CONTENT_URL’%2C%20’http%3A%2F%2Ffiles.domain.com%2Fmedia’%20)%3B%0Adefine(%20’WP_CONTENT_DIR’%2C%20%24_SERVER%5B’HOME’%5D%20.%20’%2Ffiles.domain.com%2Fmedia’%20)%3B » message= » » highlight= » » provider= »manual »/]

Vous pouvez aussi décocher l’option Organiser mes fichiers envoyés dans des dossiers mensuels et annuels. Ce paramètre se trouve dans Réglages / Médias.

2. Supprimer des méta tags inutiles du header de WordPress

Quand on examine le code source d’une page Web générée par WordPress, on constate qu’un certain nombre de méta tags (des balises meta) ne sont pas nécessaires. Par exemple, la version de WordPress qui est utilisée est indiquée ce qui n’est pas vraiment une bonne idée, car elle peut ainsi être trouvée facilement par n’importe qui, y compris et surtout des personnes mal intentionnées.

[pastacode lang= »php » manual= »%3Cmeta%20name%3D%22generator%22%20content%3D%22WordPress%204.5.2%22%20%2F%3E » message= » » highlight= » » provider= »manual »/]

Cette information va faciliter la vie aux hackers qui sont toujours à la recherche de sites Web pas mis à jour qui fonctionnent avec d’anciennes versions de WordPress moins sécurisées que la dernière mouture du CMS.

Pour supprimer cette balise méta non essentielle ainsi que quelques autres du fichier header de WordPress, ajouter le code ci-dessous dans le fichier functions.php situé dans le dossier de votre thème ou de votre thème enfant.

[pastacode lang= »php » manual= »remove_action(%20’wp_head’%2C%20’wp_generator’%20)%20%3B%0Aremove_action(%20’wp_head’%2C%20’wlwmanifest_link’%20)%20%3B%0Aremove_action(%20’wp_head’%2C%20’rsd_link’%20)%20%3B » message= » » highlight= » » provider= »manual »/]

3. Empêcher l’exploration des dossiers WordPress

Pour empêcher quiconque d’explorer le contenu des fichiers et des dossiers propres à WordPress à partir d’un navigateur Web, il suffit d’ajouter la ligne ci-dessous dans le fichier .htaccess qui se trouve dans le répertoire d’installation de WordPress.

[pastacode lang= »php » manual= »Options%20All%20-Indexes » message= » » highlight= » » provider= »manual »/]

Assurez-vous également qu’il y a un fichier index.php vide (ou sans code exécutable) dans les répertoires wp-content/themes et wp-content/plug-ins du dossier d’installation de WordPress.

4. Désactiver le code HTML dans les commentaires

Le module de gestion des commentaires de WordPress permet l’ajout de balises HTML dans les saisies ainsi que la possibilité d’insérer des liens hypertextes. Par défaut, dans WordPress, les commentaires ont l’attribut rel=nofollow, mais il est aussi prudent de désactiver complètement la possibilité d’y ajouter du code HTML en insérant le code ci-dessous dans le fichier functions.php de votre thème.

[pastacode lang= »php » manual= »add_filter(%20’pre_comment_content’%2C%20’esc_html’%20)%3B » message= » » highlight= » » provider= »manual »/]

5. Désactiver les révisions des articles

WordPress conserve toutes les versions antérieures des articles ce qui permet de revenir à une mouture précédente en cas d’erreur. Cette fonctionnalité fait significativement augmenter la taille de la base de données MySQL, précisément la table wp_posts. En effet, chaque révision d’article va ajouter une ligne dans cette table.

Cette fonctionnalité de révision d’articles se désactive en ajoutant le code ci-dessous dans le fichier wp-config.php qui se trouve dans le répertoire d’installation de WordPress.

[pastacode lang= »php » manual= »define(%20’WP_POST_REVISIONS’%2C%20false)%3B » message= » » highlight= » » provider= »manual »/]

Il est aussi possible de limiter le nombre de révisions par article qui vont être conservées par WordPress. Par exemple pour ne garder que 3 révisions par article, ajouter le code ci-dessous dans le fichier wp-config.php qui se trouve dans le répertoire d’installation de WordPress.

[pastacode lang= »php » manual= »define(%20’WP_POST_REVISIONS’%2C%203)%3B » message= » » highlight= » » provider= »manual »/]

6. Modifier l’intervalle des sauvegardes automatiques des articles

Quand on rédige un article dans l’éditeur de texte intégré à WordPress, en cours de saisie, une sauvegarde automatique est effectuée dans les brouillons, afin de pouvoir récupérer le texte déjà saisi en cas de plantage du navigateur Web. Par défaut cette sauvegarde automatique est effectuée toutes les minutes. En ajoutant le code ci-dessous dans le fichier config.php, on modifie l’intervalle de sauvegarde en indiquant une durée en nombre de secondes (dans l’exemple 2 minutes donc 120 secondes).

[pastacode lang= »php » manual= »define(%20’AUTOSAVE_INTERVAL’%2C%20120%20)%3B » message= » » highlight= » » provider= »manual »/]

7. Cacher les flux RSS non essentiels de WordPress

WordPress prend en charge automatiquement plusieurs flux RSS : un flux RSS pour les articles du blog, un pour les commentaires, un autre pour les catégories, un autre pour les archives, etc. Ces différents flux sont référencés dans le header HTML des pages d’un site sous WordPress via l’utilisation de la balise <link>.

Si vous souhaitez seulement conserver le flux RSS principal, à savoir celui des articles, ajoutez les lignes ci-dessous dans le fichier functions.php.

[pastacode lang= »php » manual= »remove_action(%20’wp_head’%2C%20’feed_links’%2C%202%20)%3B%0Aremove_action(%20’wp_head’%2C%20’feed_links_extra’%2C%203%20)%3B » message= » » highlight= » » provider= »manual »/]

Attention, les flux RSS en question ne sont pas supprimés, ils ne sont seulement plus référencés dans le header des pages du site.

8. Supprimer certaines informations sensibles

Il est toujours plus facile de s’en prendre à une installation WordPress peu sécurisée qui fournit d’elle-même des informations techniques que celles qui les dissimulent. Le code ci-dessous à copier dans le fichier functions.php, supprime le fichier readme.html de WordPress, supprime le texte du pied de page « fièrement propulsé par WordPress » et désactive l’information qui affiche la version de WordPress dans le header des pages et dans le flux RSS.

[pastacode lang= »php » manual= »function%20disable_version_info()%20%7B%0A%20%20%20%20return%20 »%3B%0A%7D%0A%20%0Aadd_filter(‘the_generator’%2C%20’disable_version_info’)%3B » message= » » highlight= » » provider= »manual »/]

9. Désactiver les indices en cas d’échec de connexion à l’Administration de WordPress

Au moment de la connexion à l’Administration de WordPress, en cas d’erreur de saisie sur le nom d’utilisateur ou le mot de passe, un message d’erreur précise si c’est le nom de l’utilisateur ou le mot de passe qui est erroné. Cette information donne un indice précieux à une personne mal intentionnée qui tenterait de prendre la main sur votre site. Cet indice se désactive en ajoutant le code ci-dessous dans le fichier functions.php du thème WordPress.

[pastacode lang= »php » manual= »function%20no_wordpress_errors()%7B%0A%20%20return%20’GET%20OFF%20MY%20LAWN%20!!%20RIGHT%20NOW%20!!’%3B%0A%7D%0Aadd_filter(%20’login_errors’%2C%20’no_wordpress_errors’%20)%3B » message= » » highlight= » » provider= »manual »/]

10. Désactiver l’indexation des fichiers de WordPress

Sur un site Web, on apprécie que Google et les autres moteurs de recherche crawlent puis indexent toutes les pages du site. Par contre, il est plutôt inutile que les nombreux fichiers PHP copiés au moment de l’installation de WordPress soient pris en compte par ces processus. Avec quelques lignes à ajouter dans le fichier robots.txt, qui se trouve à la racine de votre site, on va interdire aux bots des moteurs de recherche d’accéder aux dossiers uniquement nécessaires au fonctionnement de WordPress.

[pastacode lang= »php » manual= »User-agent%3A%20*%0ADisallow%3A%20%2Fwp-admin%2F%0ADisallow%3A%20%2Fwp-includes%2F%0ADisallow%3A%20%2Fwp-content%2Fplugins%2F%0ADisallow%3A%20%2Fwp-content%2Fthemes%2F%0ADisallow%3A%20%2Ffeed%2F%0ADisallow%3A%20*%2Ffeed%2F » message= » » highlight= » » provider= »manual »/]

11. Désactiver l’édition des fichiers depuis le Tableau de bord de WordPress

Quand on est connecté en tant qu’Administrateur sur le Tableau de bord de WordPress, il est possible d’éditer tous les fichiers PHP qui sont associés aux thèmes et aux plug-ins. Cette fonctionnalité d’édition de fichiers se désactive en ajoutant la ligne ci-dessous dans le fichier wp-config.php.

[pastacode lang= »php » manual= »define(%20’DISALLOW_FILE_EDIT’%2C%20true%20)%3B » message= » » highlight= » » provider= »manual »/]

12. Supprimer la barre de l’administration

La barre noire d’administration qui s’affiche en haut de toutes les pages quand on est connecté en tant qu’utilisateur sur un site WordPress se désactive en ajoutant la ligne ci-dessous dans le fichier functions.php du thème.

[pastacode lang= »php » manual= »add_filter(‘show_admin_bar’%2C%20’__return_false’)%3B » message= » » highlight= » » provider= »manual »/]

13. Supprimer les Emojis de WordPress

Les Emojis sont apparus avec la version 4.2 de WordPress. Il s’agit d’émoticônes qui obligent à charger un fichier supplémentaire (wp-emoji-release.min.js). Pour ceux qui les trouvent inutiles, il suffit d’ajouter les lignes ci-dessous dans le fichier functions.php du thème.

[pastacode lang= »php » manual= »remove_action(%20’wp_head’%2C%20’print_emoji_detection_script’%2C%207%20)%3B%0Aremove_action(%20’admin_print_scripts’%2C%20’print_emoji_detection_script’%20)%3B » message= » » highlight= » » provider= »manual »/]

14. Protéger le fichier .htaccess

Le code ci-dessous est à ajouter dans le fichier .htaccess pour qu’il se protège lui même.

[pastacode lang= »php » manual= »%3CFiles%20.htaccess%3E%0A%20%20%20%20order%20allow%2Cdeny%20%0A%20%20%20%20deny%20from%20all%20%0A%3C%2FFiles%3E » message= » » highlight= » » provider= »manual »/]

15. Un plug-in pour limiter les tentatives de connexions

Limit Login Attempts est un plug-in conçu pour bannir temporairement les adresses IP qui tentent à plusieurs reprises de se connecter à votre Administration de WordPress après plusieurs tentatives de connexions infructueuses.

Source : Labnol