Pour optimiser le SEO de notre site WordPress, on va commencer par optimiser notre thème WordPress, mais on va en réalité travailler à plusieurs niveaux et plus spécifiquement à deux :
- Au niveau du thème
- Au niveau de l’utilisation que vous pouvez faire de WordPress
Il y a en effet des éléments facultatifs qui peuvent vous faire du mal.
C’est par exemple le cas des Tags.
Ne pas utiliser les tags
Les tags sont négatifs à presque tous les niveaux : ils apportent peu aux internautes, qui d’ailleurs s’en servent très peu pour naviguer. Mais au delà de ça et d’un point de vue plus SEO, l’utilisation des tags crée des problèmes à deux niveaux :
- Ils créent du contenu dupliqué
- Ils génèrent de la déperdition de Pagerank
On va expliquer ça simplement : Google aime et c’est avéré de tous, le contenu unique et de qualité. A l’inverse, il combat les sites qui possèdent un contenu pauvre ou un contenu dupliqué (encore plus depuis Google Panda, les exemples ne manquent pas).
Le contenu dupliqué, c’est du contenu qui est répété (ou très similaire) d’une page à l’autre. De la même manière, le contenu pauvre, c’est du contenu peu fourni et peu qualitatif.
Si j’utilise des tags, le contenu que contiendront les pages générées (avec des URL de cette forme : « http://www.superbibi.net/tag/conseils » par exemple), sera exclusivement construit à partir de contenus déjà existants et publiés sur votre site, et notamment d’extraits d’articles ou d’articles complets.
Autrement dit, ces pages ne feront qu’apporter du contenu dupliqué à votre site.
La solution pourrait être de passer ces pages en noindex, c’est-à-dire d’indiquer à Google de ne pas les indexer (manuellement ou à l’aide d’une extension). Ca corrigerait en effet ce problème de contenu dupliqué mais ça en créerait un nouveau : celui de la déperdition de Pagerank.
En effet, chaque site possède une valeur que lui attribue Google : cette valeur est constituée de dizaines de paramètres comme la qualité du contenu du site, son historique, sa popularité externe, etc.
Cette valeur vaut 100% pour chaque site et est répartie proportionnellement en suivant les liens internes et externes présents au sein d’un site à chaque page. Si une page est en noindex, du Pagerank lui sera tout de même transmis et cette valeur, plus ou moins importante, sera ainsi perdue et non exploitée.
Au final, les tags sont plus une source d’ennuis SEO et leur apport utilisateur ne vaut pas la peine de trop se contraindre.
Si vous avez déjà un site en ligne et que vous utilisez des tags, il faudra alors les supprimer. Avant cela, pensez à réaliser des redirections permanentes (= redirections 301) qui éviteront à Google de tomber sur une multitude de pages d’erreurs (= pages 404) lorsqu’il les recrawlera tôt ou tard.
Vous pouvez effectuer des redirections 301 à partir d’une extension WordPress (par exemple Simple 301 Redirects) ou encore manuellement à partir du fichier htaccess.
Utiliser la balise noindex
On commence peut-être à parler chinois pour certains d’entre vous, mais n’ayez crainte, c’est relativement simple.
Sur le même constat que les pages Tags, qui sont elles facultatives, d’autres pages sont elles nécessairement présentes sur votre blog, tout en le dévalorisant.
Je parle notamment des :
- Pages Archives
- Pages Catégories (dans la majorité des cas)
- Pages Recherches
- Pages Auteurs
Les archives, à l’instar des pages catégories ou recherches ont toute la même problématique : demain si vous écrivez un article, et donc du contenu, ce dernier ne va pas se trouver sur une page article, mais sur potentiellement 6 pages :
- La page article
- La page d’accueil de votre blog
- La page catégorie
- La page archive
- La page recherche pour les recherches correspondantes si elles sont indexées
- La page auteur
Si ça ce n’est pas de la duplication.. !
Alors vous pouvez décider d’utiliser les archives ou non mais cette fonctionnalité est encore aujourd’hui fort pratique et très utilisée. Et c’est là que le SEO a encore de nombreux progrès à faire : il n’est pas logique que des pages utiles aux internautes puissent être néfastes (alors dans une moindre mesure, on est d’accord, mais malgré tout) aux yeux de Google.
Je pense sincèrement que Google connaît l’architecture d’un WordPress et ne pénalise pas les pages Archives, mais autant s’en assurer et ne pas indexer ces dernières, qui dans tous les cas n’apportent rien de bon. On aura la fameuse déperdition de Pagerank comme vu ci-dessus, mais on aura la conscience tranquille.
On perdra au passage en pagination, mais ce n’est pas grave du tout puisqu’on va combler cette perte avec des solutions plus adaptées et plus pertinentes dans les étapes suivantes.
La même logique s’applique donc pour les 4 types de pages citées ci-dessus : on va devoir s’assurer que ces dernières ne soient pas indexées par Google. Ainsi, lorsque l’on publiera du contenu, ce dernier sera valorisé car il possédera sa propre page unique, et donc fortement valorisée. Ces pages existeront toujours, et seront toujours accessibles aux internautes (ou pas, comme on va le voir), mais on va indiquer clairement à Google de ne pas les considérer lorsqu’il visite le blog, afin qu’il consacre son temps aux pages réellement utiles, à savoir celles qui détiennent réellement le contenu.
Les pages catégories sont un cas un peu spécial car ces dernières ont une pertinence sur certains blogs, et quand bien même la tendance voudra qu’elles disparaissent, elles peuvent encore aujourd’hui avoir une réelle utilité. Pour 90% des blogs, ces pages ne génèrent aucun trafic : vous pouvez vérifier cette donnée à l’aide de Google Analytics par exemple. Si c’est le cas, alors elles n’ont pas de réelle utilité pour vous. Si vous faites parties des heureux bénéficiaires de pages catégories génératrices de trafic, alors mieux vaut le laisser ainsi tant que Google vous donnera des visites sur ces pages.
Si vous souhaitez désindexer les pages catégories, ainsi que la page auteur (si vous êtes le seul auteur de votre blog), je vous suggère de supprimer tous les liens qui pourraient pointer vers ces dernières. Je vous recommande malgré tout d’intégrer une balise noindex sur chacune de ces pages, par sécurité.
Pour intégrer une balise noindex, on a deux méthodes : le faire manuellement en changeant le fichier robots.txt ou alors utiliser une extension qui s’en chargera facilement pour nous.
Il existe en réalité plusieurs extensions qui ont cette fonctionnalité. Pour ma part j’utilise le fameux All in One SEO qui permet d’intégrer des balises noindex à des template de page ou à des pages spécifiques. Une fois installé, dans les paramètres de bases, vous aurez une option qui apparaîtra et il vous suffira de cocher les cases en conséquence :
On laisse la pagination crawlable à Google car c’est la bonne pratique et ça lui permet de ne pas oublier les quelques articles parus auparavant, même si un maillage interne plus conséquent va être mis en place dans les étapes suivantes.
Pour le reste des configurations du plugin All in One SEO, on verra ça un peu plus bas.
Optimiser les réglages WordPress
Il y a plusieurs choses simples qu’il faut mettre en place.
Parlons tout d’abord des réglages de base. Vous pouvez, si vous le souhaitez (ce n’est pas une obligation mais c’est quand même plus joli) utiliser des URL réécrites. Au lieu d’avoir http://www.superbibi.net/?p=2, j’aurai http://www.superbibi.net/a-propos.
Il vous suffit simplement de spécifier un permalien avec une structure personnalisée.
Vous pouvez pour cela utiliser les variables que vous souhaitez, comme par exemple :
- « /%postname% » pour afficher le nom de la page ou de l’article au lieu du paramètre
- « /%category%/%postname% » pour afficher la catégorie si elle existe avant le nom de l’article
- etc.
A souligner que si vous ne souhaitez plus utiliser vos pages catégories, vous pouvez toujours utiliser la fonctionnalité WordPress des catégories pour créer des URL spécifiques et pour classer vos articles afin de les placer dans des blocs spécifiquement créés à cet effet si vous avez un thème personnalisé le permettant.
La liste complète des variables est disponible sur la doc officielle ici.
Il faut également vous assurer que certains réglages ne soient pas activés. Il faut faire attention car WordPress peut les activer par défaut, dès la mise en ligne de votre site.
C’est par exemple le cas de la pagination des commentaires dans la rubrique « Discussion » dans Réglages :
Créer de la pagination pour des commentaires, ça signifierait multiplier les URL pour un même article et donc créer encore et toujours du contenu dupliqué.
On veut éviter ça, d’autant plus que les commentaires peuvent être une source de contenu intéressante si vos articles incitent à la participation des internautes.
Attention toutefois à ne pas enlever l’attribut nofollow des liens des commentaires (présent de base sur WordPress) : ce dernier indique à Google de ne pas suivre les liens externes générés par les commentaires et vous évite ainsi l’afflux de commentateurs mal intentionnés. Ces internautes publient souvent des commentaires sans réel intérêt, dans l’unique but de poser un lien et de générer de la popularité pour leur site, qui peuvent, en trop grande quantité, s’avérer négatifs pour votre site (et le leur, mais c’est une autre histoire…).
Mieux vaut ainsi ne pas s’aventurer dans un blog dofollow, à moins d’être sûr de ce que vous faites.
Optimiser les balises titres HTML
J’ai une mauvaise nouvelle : il va falloir mettre les mains dans le cambouis. Mais pas de panique, on va tout faire pour rendre ça le plus simple possible.
On veut notamment travailler à deux niveaux :
- Au niveau des balises titres (h1, h2, h3, etc.)
- Au niveau de la page d’accueil
Commençons par les balises titres : ces balises jouent un rôle direct dans l’algorithme de Google. Lorsqu’elles sont optimisées, chaque page possède une et une seule balise h1 (titre 1 donc) unique et en rapport avec la page en question (en réalité, depuis le HTML 5, on peut avoir plusieurs balises h1, à hauteur d’une par bloc section, mais mieux vaut rester sur des pratiques simples…).
Aujourd’hui (et c’est encore le cas avec le dernier thème officiel Twenty Fifteen), WordPress met le nom du site en titre 1. Cela signifie que chaque page du blog ou du site aura le même titre 1, ce qui n’est évidemment pas pertinent.
Pour modifier cela, on va se rendre dans « Apparence > Editeur ». Une fois ici, enfilez bien votre paire de gant de velours car tout ce que vous pourrez faire pourra avoir un impact direct sur votre site.
On va faire deux actions :
- Supprimer la balise h1 du nom du site
- Intégrer cette dernière au niveau des titres de pages ou d’articles
Pour supprimer cette dernière du nom du site, il faut choisir dans la colonne de droite, la page « En-tête (header.php) » :
On va ensuite effectuer un CTRL + F pour lancer la fonction rechercher de son navigateur, et on va écrire « site-title » sans les guillemets bien évidemment.
Ca nous amènera sur une ligne de code qui doit ressembler à ça (surlignée en bleue) :
On va ici tout simplement remplacer les balises h1 par des « p » (ou « span », au choix), qui signifient paragraphe en langage HTML et qui correspondent plus à la bonne pratique dans ce cas. En suivant mon exemple, j’obtiendrai alors :
De cette manière, on s’est débarrassé de la mauvaise pratique SEO que pousse WordPress.
Il existe une deuxième méthode plus poussée afin d’indiquer à WordPress de garder le h1 sur le nom du site uniquement pour la page d’accueil, qui peut être le seul cas pertinent (sauf si on met en place des actions plus avancées, comme le stipule le troisième chapitre). Il faut pour cela remplacer le code ci-dessus (celui qu’on a modifié) par celui là :
<?php if(is_home() || is_front_page()) {?> <h1 class="site-title"><a href="<?php echo esc_url( home_url( '/' ) ); ?>" rel="home"><?php bloginfo( 'name' ); ?></a></h1> <?php } else { ?> <p class="site-title"><a href="<?php echo esc_url( home_url( '/' ) ); ?>" rel="home"><?php bloginfo( 'name' ); ?></a></p> <?php } ?>
Dans tous les cas, aucun changement au niveau du style n’est à prévoir en théorie puisqu’on utilise la même class CSS. Si vous avez un thème personnalisé, il se peut que le style soit appliqué directement au h1 et alors à moins d’avoir les connaissances, il faudra vous faire aider.
L’autre possibilité sera de personnaliser la page d’accueil, comme on le verra ci-dessous pour ceux qui souhaitent aller plus loin.
On va maintenant mettre en place la bonne pratique et intégrer la balise h1 aux pages et aux articles.
Toujours dans l’éditeur, on va changer le titre dans le template d’article et on va aller pour ça dans content.php :
On va modifier la balise titre 2 attribuée par défaut par WordPress aux titres d’articles par une balise titre 1 (h2 devient donc h1). Après modification, j’obtiendrai donc :
Et on peut faire la même chose pour les pages, en modifiant cette fois le fichier content-page.php :
Dans l’idéal on changera également les h2 des titres des widgets poussées par WordPress (parfois même h1 ..!) en paragraphe (<p>), qui conviennent mieux à des éléments de navigation. Cette modification étant spécifique à chaque thème, je vous invite à vous diriger vers des tutoriels spéciaux pour cela.
Si vous utilisez le thème Twenty Fourteen (ou une variante), la solution est expliquée sur ce lien. Si vous utilisez le thème Twenty Fifteen (ou une variante), la solution est corrigée ici.
Mettre des extraits en page d’accueil
Cinquième étape dans l’optimisation de son thème WordPress, et qui aura encore un peu plus d’effet dans la suppression du contenu dupliqué : modifier sa page d’accueil pour ne pas afficher l’intégralité des articles mais uniquement un court extrait.
Pour cela, rien de plus simple, il faut aller dans Apparence > Editeur, puis choisir « content.php » (ou plutôt y retourner, si vous suivez les étapes) :
On se dirige ensuite à la ligne 47 (ou bien on effectue un CTRL + F) pour trouver :
<?php if ( is_search() ) : ?>
qu’on remplacera par :
<?php if ( is_search() || is_home() ) : ?>
On indique ainsi à WordPress de n’afficher qu’un extrait des articles sur les pages recherches ET la page d’accueil. A noter qu’on peut également intégrer davantage de template de pages comme les pages catégories par exemple, mais ces dernières ne seront théoriquement plus indexées si l’on suit nos optimisations précédentes. Vous trouverez la liste complète des tags conditionnels sur la doc officielle ici.
A souligner que vous pouvez déterminer la taille des extraits d’articles qui par défaut sont tronqués après 55 caractères espaces compris.
Pour cela, il vous suffit d’ajouter le code suivant dans votre page function.php :
function custom_excerpt_length( $length ) { return 20; } add_filter( 'excerpt_length', 'custom_excerpt_length', 999 );
Ici, le chiffre 20 en rouge est la taille souhaitée. Avec ce bout de code, j’indique à WordPress de ne m’afficher que les 20 premiers caractères espaces compris. Vous pouvez bien évidemment définir le chiffre de votre choix.
Vous pouvez également utiliser un plugin qui vous permet de personnaliser chaque extrait d’article. Ce dernier s’appelle Excerpt Editor (fonctionnel malgré le fait qu’il ne soit plus entretenu). Vous pouvez également vous diriger vers des extensions plus récentes comme Rich Text Excerpts, que je n’ai pas eu l’occasion de tester mais qui semble avoir de bonnes critiques.
Nous allons ensuite évoquer les extensions et plugins SEO WordPress qui influent positivement sur le référencement.