Si www.monsite.com et monsite.com affichent tous les deux la même page, Google voit deux pages. Les liens qui pointent vers votre site se divisent entre les deux. Une redirection 301 règle ça : une seule version, tout le référencement au même endroit.
Pas certain d'être sur Apache ? Demandez à votre hébergeur. Cloudflare, cPanel et Nginx ont aussi leur propre façon de faire.
Trouver le fichier .htaccess
Il est à la racine du site, souvent dans public_html ou htdocs. Avec WordPress, il est à côté de wp-admin et wp-config.php.
Le nom commence par un point : c'est un fichier caché. Dans FileZilla ou Transmit, activez l'affichage des fichiers cachés. S'il n'existe pas, créez-le.
Rediriger www vers sans-www
RewriteEngine On
RewriteCond %{HTTP_HOST} ^www\.(.*)$ [NC]
RewriteRule ^(.*)$ https://%1/$1 [R=301,L]Rediriger sans-www vers www
RewriteEngine On
RewriteCond %{HTTP_HOST} !^www\. [NC]
RewriteRule ^(.*)$ https://www.%{HTTP_HOST}/$1 [R=301,L]Les deux exemples supposent que votre site est en https.
Avec WordPress
Placez les lignes au-dessus de # BEGIN WordPress, jamais entre les marqueurs. WordPress réécrit tout ce qui se trouve entre # BEGIN et # END quand vous enregistrez les permaliens, et vos règles disparaîtraient.
Vérifiez aussi que l'adresse dans Réglages → Général utilise la même version (avec ou sans www), sinon WordPress et Apache vont se renvoyer la balle.
Tester
Ouvrez les deux versions de l'adresse. Les deux doivent finir sur la même URL. Pour voir la 301 directement :
curl -sI https://monsite.com | grep -i location