Forcer le HTTPS sur l’ensemble du site

Vous souhaitez forcer le HTTPS sur l’ensemble de votre site, ouvrez le fichier .htaccess qui se trouve à la racine de votre site et collez le code suivant:

RewriteEngine On
RewriteCond %{HTTPS} !=on
RewriteRule ^(.*)$ https://%{HTTP_HOST}%{REQUEST_URI} [L,R=301,NE]
Header always set Content-Security-Policy "upgrade-insecure-requests;"

Modifier l’url de connexion à l’administration WordPress

Pour vous connecter à votre administration WordPress, il convient d’ajouter le suffixe /wp-admin ou /wp-login.php à l’adresse Web de votre site.

Dans un souci de simplification vis-à-vis de vos clients ou vos collaborateurs, sachez qu’il est possible de modifier ce lien d’accès par celui de votre choix – par exemple, /login. Une manipulation via le fichier .htaccess s’impose.

A l’aide de votre client FTP favori, connectez-vous à la racine de votre hébergeur. Faites afficher les fichiers cachés puis modifiez le fichier .htaccess.

Le point rappelle qu’il s’agit d’un fichier caché sous un système à base UNIX comme Linux ou MacOS X. Si un tel fichier est absent, créez-le à l’aide d’un éditeur de texte – bien qu’il devrait être présent dans la plupart des cas, celui-ci apparaissant dès lors que les permaliens de WordPress sont modifiés.

Une fois le fichier .htaccess ouvert dans votre éditeur de texte favori, rajoutez la ligne suivante :

RewriteRule ^login$ http://NOM_DU_SITE.com/wp-login.php [NC,L]

Il suffit de remplacer le mot-clé login par celui qui convient ainsi que l’URL de votre site.

Par exemple:

RewriteRule ^connexion$ http://NOM_DU_SITE.com/wp-login.php [NC,L]

L’URL de connexion au Tableau de bord sera alors: http://NOM_DU_SITE.com/connexion

Créer des pages d’erreur personnalisées pour votre site WordPress

Créez des pages d’erreur pour les erreurs 403, 404 et 500 et téléchargez-les dans votre installation WordPress de base. Ensuite, ajoutez l’extrait de code suivant à votre fichier .htaccess pour activer les pages d’erreur personnalisées:

# Custom error page for error 403, 404 and 500
ErrorDocument 404 /404-error.html
ErrorDocument 403 / 403-error.html
ErrorDocument 500 / 500-error.html

Et voilà!

Rediriger votre site WordPress vers une page de maintenance

Vous pouvez avoir besoin une fois de rediriger vos visiteurs vers une page de maintenance, le temps d’apporter quelques modifications à votre site.

La méthode

Créez une page maintenance.html et uploadez-la à la racine de votre site.

Ajoutez ensuite cette portion de code à votre fichier .htaccess:

RewriteEngine on
RewriteCond %{REQUEST_URI} !/maintenance.html$
RewriteCond %{REMOTE_ADDR} !^123\.123\.123\.123
RewriteRule $ /maintenance.html [R=302,L]

Et voilà vos visiteurs seront redirigés vers votre page.

Pour annuler la redirection, supprimez le code de votre fichier .htaccess.

Redirection web via .htaccess

Avant de procéder, il est nécessaire d’apporter quelques précisions à propos des fichiers .htaccess.

Ces fichiers de configuration permettent de modifier certaines variables du serveur web (redirections, réécriture d’URL…).

Il faut bien prendre en compte que les paramétrages définis dans un fichier .htaccess s’appliquent au répertoire dans lequel le fichier est installé, ainsi qu’à tous ses sous-répertoires.

Le fichier .htaccess doit être un fichier TXT encodé en ASCII ou ANSI.

 

Redirect permanent

Ceci envoie un code HTTP 301 redirection permanente qui informe les navigateurs, et surtout les moteurs de recherche, qu’il faut mettre à jour leurs liens vers la nouvelle adresse.

Attention: Ne fonctionne pas pour faire pointer votre site dans un sous dossier. Pour cela utiliser DirectoryIndex

Voici le code à renseigner dans le fichier .htaccess pour rediriger le site entier vers une nouvelle adresse :

Redirect permanent / http://nouveau-site.tld/

Pour changer un repertoire/fichier :

Redirect permanent /ancien_repertoire http://nouveau-site.tld/nouveau_repertoire
Redirect permanent /ancien_fichier.php http://site.tld/nouveau_fichier.php

 

Redirect gone

Si un fichier n’existe plus, il est préférable de remplacer le message 404 « document non trouvé » par un message plus explicite de type 410 « document n’existe plus » :

Redirect gone /supprime.html

 

Redirect seeother

Si vous changez l’extension d’un fichier, seeother permet de modifier le type du fichier en envoyant un code HTTP 303 :

Redirect seeother /exemple.doc http://site.tld/exemple.pdf

 

Redirect Temp

Une redirection temporaire, de type HTTP 302, peut être utilisée lorsque vous déplacez temporairement des fichiers sur un autre site :

Redirect temp / http://autre_site_web.tld/site/

 

Configurations additionnelles de wp-config.phph

1. Vidage de la corbeille

Configurez WordPress pour vider automatiquement les éléments de la corbeille après un nombre de jours:

define( 'EMPTY_TRASH_DAYS', 30 );

2. Sauvegarde automatique des articles, pages etc.

Configurez le nombre de secondes après lesquelles vous souhaitez sauvegarder automatiquement le contenu que vous éditez:

define( 'AUTOSAVE_INTERVAL', 160 );

3. Révisions  d’articles

Limitez le nombre de révisions possibles par article:

define( 'WP_POST_REVISIONS', 3 );

Pour désactiver les révisions d’articles:

define( 'WP_POST_REVISIONS', false );

4. Mode debug masqué

Vous souhaitez activer le mode debug mais ne pas afficher les informations sur le site? Les lignes suivantes sauvegarderont les erreurs dans un fichier debug.log dans le dossier wp-content :

define('WP_DEBUG', true);
define('WP_DEBUG_DISPLAY', false);
define('WP_DEBUG_LOG', true);

5. Activer la fonction Multisite

Vous souhaitez activer la fonctionnalité Multisite de WordPress?

define( 'WP_ALLOW_MULTISITE', true );

6. URL du site

define('WP_HOME', 'http://www.ibrahimyves.artweb.agency');
define('WP_SITEURL', 'http://www.ibrahimyves.artweb.agency');

7. Permissions de fichier

define('FS_CHMOD_FILE', 0755);
define('FS_CHMOD_DIR', 0644);

8. Mémoire PHP

Vous pouvez augmenter la mémoire PHP allouée. Il se peut que cela ne fonctionne pas avec votre hébergeur.

define('WP_MEMORY_LIMIT', '64M');

9. Tables utilisateurs dans MySQL

define('CUSTOM_USER_TABLE', $table_prefix.'custom_users');
define('CUSTOM_USER_META_TABLE', $table_prefix.'custom_usermeta');

10. Éditeurs extensions & thèmes

Vous souhaitez désactiver les éditeurs des extensions et plugins dans le Tableau de bord?

define( 'DISALLOW_FILE_EDIT', true );

11. Dossier wp-content

Vous souhaitez changer le nom et l’emplacement du dossier wp-content?

define( 'WP_CONTENT_DIR', dirname(__FILE__)  . '/some-folder/site-content' );
define( 'WP_CONTENT_URL', 'http://' . $_SERVER['HTTP_HOST'] .  '/some-folder/site-content';

 

Ne manquez pas ensuite de protéger l’accès au fichier wp-config.php depuis l’.htaccess:

<Files wp-config.php>
    order allow,deny
    deny from all
</Files>