Le fichier htaccess (contraction de « Hypertext Access ») est un fichier de configuration pour Apache. Votre site web est hébergé sur un serveur. Ce serveur est probablement un serveur Apache car aujourd’hui, la moitié des sites internet utilisent des serveurs Apache.
Le fichier .htaccess se situe à la racine de votre site web. Il permet de donner des instructions sur les modalités d’accès au contenu de votre site grâce à des fichiers de configuration spécifiques aux serveurs web Apache. Cela peut sous entendre des règles d’accès, de blocage, de cache, etc…
Qui dit « accès aux contenus » d’un site, dit « sécurisation ». Vous allez découvrir dans ce tutoriel, comment configurer votre fichier .htaccess pour sécuriser votre site WordPress et améliorer ses performances.
Apache est en fait le logiciel qui va permettre aux internautes d’accéder à des pages web au format HTML et CSS, c’est à dire, un format que peuvent afficher les navigateurs. C’est grâce à Apache que les requêtes formulées par les internautes sur votre site sont affichées correctement.
Par exemple, X consulte votre site internet . Il tape dans la barre de recherche « Htacces ». Une requête est envoyée au serveur. Grâce au logiciel Apache, le serveur va être en mesure d’afficher la page des résultats des Htacces à X. Nous vous proposons le schéma ci-dessous pour illustrer l’exemple de Monsieur X.
Comment créer un fichier .htaccess pour WordPress
Lorsque je télécharge le fichier .htaccess à partir de mon serveur sur lequel est hébergé mon site web WordPress, voici la configuration qui s’affiche par défaut :
# BEGIN WordPress
RewriteEngine On
RewriteBase /
RewriteRule ^index\.php$ – [L]
RewriteCond %{REQUEST_FILENAME} !-f
RewriteCond %{REQUEST_FILENAME} !-d
RewriteRule . /index.php [L]# END WordPress
Définir les éléments importants pour WordPress
Définissions ensemble les éléments importants que nous allons mettre en place dans notre fichier .htaccess pour l’optimiser et aussi le sécuriser pour WordPress.
Des éléments de sécurisation
« wp-config.php » : l’un des fichiers les plus sensibles sur votre Blog. Il contient les informations relatives à votre base de données.
Les répertoires de votre site : N’importe qui peut accéder au contenu de votre serveur avec l’url de votre site et le nom d’un répertoire. Vous pouvez modifier ces règles pour empêcher leur affichage.
Les informations sur votre hébergeur et votre serveur : Bloquer l’accès à de potentiels hackers en masquant les éléments spécifiques de votre serveur.
Le fichier .htaccess : Il est possible et conseillé de le protéger
Les informations sur les auteurs : Masquer leurs identifiants et informations si vous travaillez sur un blog collaboratif.
Les commentaires spams : Vous pouvez adopter une stratégie solide pour réduire les spams de commentaires en alliant le fichier .htaccess à l’extension Akismet.
Restrictions utilisateurs : Vous pouvez restreindre l’accès à votre site en déterminant les IP concernées.
Des éléments favorables au SEO
La mémoire cache : elle permet à l’internaute d’utiliser le cache du navigateur pour afficher votre site plus rapidement lors de son prochain passage. Le temps de chargement d’un site est un élément capital pour assurer une expérience utilisateur satisfaisante et le développement de votre visibilité sur les moteurs de recherche.
Les URLs : pour les redéfinir ou faire des redirections (301 ou 404 par exemple).
Configuration optimisée du fichier .Htaccess pour WordPress.
La configuration suivante est établie pour un site WordPress classique, sans spécificités particulières (multi-sites, sous domaines…). Si vous souhaitez plus d’informations sur les différentes configurations qui existent par défaut, n’hésitez pas à vous rendre sur la page https://codex.wordpress.org/.
Chacun des codes mis en place ici sont expliqués grâce à des commentaires. Pour terminer, pensez à bien vérifier le fonctionnement de votre fichier .htaccess en réalisant des tests dans votre navigateur. Testez notamment les accès, les redirections et la non-disponibilité des répertoires.
#Par défaut sous WordPress
# BEGIN WordPress
RewriteEngine On
RewriteBase /
RewriteCond %{REQUEST_FILENAME} !-f
RewriteCond %{REQUEST_FILENAME} !-d
RewriteRule . /index.php [L]# END WordPress
#Sécurisons d’abord notre site :
#Blocage de la visibilité du fichier wp-config.php
order allow,deny
deny from all#Fin du blocage
#Interdiction de visualisation des repertoires du site :
Options All -Indexes# Masquer les informations relatives au serveur :
ServerSignature Off# Protéger .htaccess et .htpasswds
order allow,deny
deny from all
satisfy all# Masquer l’identification d’un auteur
RewriteCond %{QUERY_STRING} ^author=([0-9]*)
RewriteRule .* – [F]# Éviter le spam de commentaires
RewriteCond %{REQUEST_METHOD} POST
RewriteCond %{REQUEST_URI} .wp-comments-post\.php*
RewriteCond %{HTTP_REFERER} !.monsite.com.* [OR]
RewriteCond %{HTTP_USER_AGENT} ^$
RewriteRule (.*) ^http://%{REMOTE_ADDR}/$ [R=301,L]#Limiter l’accès au site à certains utilisateurs – Il faudra remplacer xxx.xxx.xxx.xxx par l’adresse IP
order allow,deny
deny from xxx.xxx.xxx.xxx
allow from all#Optimisons les éléments favorables au référencement naturel
#Retirer l’expression « category » de vos urls
RewriteRule ^category/(.+)$ https://www.yourblog.com/$1 [R=301,L]#Autoriser l’utilisation du cache
<filesmatch « \.(jpg|gif|png|css|js)$ »>
ExpiresActive on
ExpiresDefault « access plus 1 year »#Rediriger les internautes vers une page de maintenance – Lorsque vous faîtes des modifications
RewriteEngine on
RewriteCond %{REQUEST_URI} !/maintenance.html$
RewriteCond %{REMOTE_ADDR} !^123\.123\.123\.123
RewriteRule $ /maintenance.html [R=302,L]#Installer une redirection 301
Redirect 301 /www.monsite.com/monanciennepage.com /
https.monsite.com/manouvellepage.com
Attention: Gardez toujours une sauvegarde du fichier .htaccess d’origine pour effectuer une restauration en cas de problème (je vous aurai prévenu !).
J’espère que ce fichier vous paraîtra désormais plus accessible et ouvrira le champ du possible pour vos besoins.
Laisser un commentaire