Quatre optimisations simples pour booster le SEO de votre site WordPress

Pour un site bien optimisé, pas de secret, il faut mettre les mains dans le moteur ! A force d’optimiser des thèmes WordPress, certaines choses reviennent très souvent. Voici une liste de quelques optimisations simples, qui ne vous demandent pas de grosses connaissances en PHP. D’autres vont être nettement plus complexes…

Important : travaillez toujours sur une copie de vos fichiers, et faites un thème enfant. Sinon toutes vos modifications seront perdues à la prochaine mise à jour !

La répétition toutes pages du titre et du slogan en H1 et H2

Beaucoup de thèmes choisissent d’afficher dans le header le titre du blog en H1 et son slogan en H2

Personnellement, je pense que le slogan n’a rien à faire dans un H2, quelle que soit la page, et que le titre doit être en H1 uniquement sur la page d’accueil.

La solution ?

Editer le fichier header.php en faisant un thème enfant.

Trouver le h1 et remplacer par

<?php if ( is_home() OR is_front_page() ) { echo '<h1>' ; } else { echo '<div class="h1-like">' ; }

Remplacer la cloture du H1 par

<?php if ( is_home() OR is_front_page() ) { echo '</h1>' ; } else { echo '</div>' ; }

Si votre H1 est marqué avec une classe css spécifique, la conserver (y compris pour le div)

Adapter le style

Il y a de fortes chances pour que votre header ait changé d’apparence.

Dans la feuille de style css de votre thème enfant vous rajoutez une classe .h1-like qui reprend les éléments de styles nécessaires.

Et vous refaites la même opération pour le slogan en remplaçant le H2 par un div !

Nb : même si les H1-like et compagnie surprennent certains ^^ c’est à mon avis la façon la plus simple pour s’y retrouver dans sa feuille de style. N’est-ce pas Julio ?

https://mobile.twitter.com/BoiteAWeb/status/455812039576133632

Le lien vers la page de l’auteur dans les sites avec un seul auteur

Cacher l'écrivain Photo CC BY Drew Coffman

Cacher l’écrivain
Photo CC BY Drew Coffman

Totalement inutile, et en duplicate content avec la page d’accueil, ce lien doit être supprimé. (Yoast permet de le désactiver, mais via une redirection vers la page d’accueil du blog, ce que je trouve mauvais).

La solution ?

La plupart du temps, dans les thèmes complexes, ces informations se trouvent dans un petit fichier à part (meta.php ou un truc du genre), voire deux si les metas affichées sont différentes sur les pages single et multipost.

Trouver l’endroit où c’est affiché. Si vous avez de la chance, le concepteur du thème aura utilisé la fonction standard WordPress the_author_link() à simplement remplacer par the_author() qui fait la même chose, sans lien.

Si vous avez moins de chance, il utilise sa propre fonction, pour faire un formatage particulier. Là il n’y a pas de solution toute faite, vous pouvez essayer de la remplacer par the_author()… ou refaire votre propre fonction.

Le(s) lien(s) vers les pages d’archives par date

Un calendrier

Calendrier
Photo CC BY PhotoSteeve

De la même façon, certains thèmes mettent automatiquement sur la date du post un lien vers la page d’archive, et parfois même sur TROIS pages d’archives (jour, mois, année). On est en plein duplicate content, et rare sont les sites qui ont réellement besoin de cette information !

Comme cette date se retrouve au même endroit que l’auteur, on n’a généralement pas besoin de chercher loin.

La solution

La bonne fonction à utiliser, qui renvoie simplement la date de l’article, sans lien, est the_date() . Si il y a des liens, c’est généralement via une fonction du thème, car l’écriture est un peu complexe (vous trouverez un exemple sur la fonction get_day_link())

Il suffit donc de remplacer cette fonction par the_date().

La hiérarchie des titres et la titrite aigüe

Pyramide du Louvre

La hiérarchie des titres doit respecter une pyramide
Photo CC BY NC SA de yuki*

Même en HTML5, je recommande d’avoir un seul H1 par page. Néanmoins, le problème n’est pas là, mais dans le fait que de très nombreux thèmes utilisent des titres pour afficher un formatage particulier, sans se « casser » à coder correctement le css, et à faire des classes qui s’appliquent à n’importe quel niveau de titre ou à n’importe quel conteneur.

L’autre cause de cette titrite aigüe sont les sliders, avec des javascripts qui se basent sur des identifiants, seulement, et généralement les titres.

On se retrouve donc avec des pages qui commencent par un H5, ou avec des pages qui n’ont « que » des titres.

La solution

Simple dans son principe, elle peut demander beaucoup de travail : il s’agira de repasser à travers tous les templates pour corriger les structures incorrectes, en rajoutant des classes css qui permettent de conserver le graphisme du thème. Classes css qui auront été préalablement crées dans le fichier style.css du thème enfant.

Si vous n’êtes pas un expert css, vous pouvez

  • passer dans le fichier css du thème parent, et recopier toutes les déclarations de style concernant les H1, H2, H3 etc.
  • les copier dans le fichier style.css du thème enfant
  • dans ce fichier style, remplacer tous les h1 par h1-like, h2 par h2-like, etc…
  • utiliser facilement ces nouvelles classes dans les fichiers .php

Les autres optimisations

Je corrige aussi régulièrement le marquage html des widgets et du formulaire de commentaire. Mais là, il faut vraiment savoir programmer et utiliser l’API WordPress. De plus, c’est un cas par cas, en fonction du thème.

De la même façon, le remplacement de certains marquages qui sont générés par des fonctions ou des filtres, dans le thème parent, demande de bien comprendre la logique « thème parent – thème enfant », l’ordre de chargement des fonctions et des filtres.

Néanmoins, avec les quatre optimisations indiquées ici, vous pouvez déjà améliorer beaucoup de thèmes.

(La photo du moteur est une image sous licence CC BY NC de Andrew Buckie)

35 commentaires

  1. Benjamin Auteur mai 15, 2014 (4:29 )

    Bonjour,

    Merci pour cet article.

    Je choisis souvent les thèmes pour leur apparence, mais je vais maintenant regarder un peu plus la manière dont ils sont construits.

    Pourquoi ne pas faire un script pour vérifier automatiquement toutes ces irrégularités ?

    Répondre à Benjamin
    • Merci :)

      Je ne pense pas qu’un script soit nécessaire, ça se voit en trente secondes avec l’extension WebDevelopper et « plan du document ». Par ailleurs il y a beaucoup d’autres choses à voir (là je me limite aux trucs simples qui ne nécessitent pas de vraiment savoir coder), et cela dépend énormément de la façon dont le thème est construit. C’est pour cela que je n’aime pas acheter sur ThemeForest, c’est la loterie. Le thème que j’ai pris pour mon site est une exception et j’avais longuement discuté avec le développeur avant… Je recommande, si on veut vraiment un thème payant, de prendre d’abord sa version gratuite si elle existe et de se faire une idée sur la complexité du code.

      Répondre à Marie-Aude
      • Je suis tout à fait d’accord. Quelque fois, les thèmes sont codés terriblement et une pauvre modification de single.php tourne au chemin de croix dans certains cas. Dommage qu’ils n’obligent pas à mettre le single.php et le index.php en ligne sur Themeforest, ça donnerait déjà une bonne idée.

        Répondre à Li-An
  2. Bonsoir,

    L’article est très intéressant mais je ne comprends pas le fait de ne pas mettre le H1 dans chaque page. N’est elle pas la balise (avec le title) qui indique le thème de la page ?

    En général, j’utilise les titres des articles comme H1 de la page et le title pour la longue traîne.

    Pas mal l’astuce pour l’archive =)

    Répondre à Thomas
    • Le problème vient des thèmes qui mettent dans un header.php un texte avec le titre du blog en H1. Si c’est bien pour la page d’accueil, ça conduit à avoir deux H1 sur les autres pages, ce qui est mauvais en soit (à mon avis) et encore plus quand le premier H1 de la page est répétitif, avec la même valeur sur tout le site.

      Répondre à Marie-Aude
      • thomas Auteur mai 19, 2014 (8:51 )

        Ah d’accord tu parles d’un cas très particulier où le h1 est implémené pareil. Mais dans une optique d’optimisation SEO, il vaut mieux reprendre le template et donner au titre de l’article un H1. 

        Attention aux thèmes gratuits qui sont très souvent source de problème et assez mal codé :/

        Répondre à thomas
  3. Attention aussi aux titres des posts qui sont parfois en .dans les Templates. Bien sur, Ne pas remettre de H1 dans le contenu de l’article..ou alors modifier le code de la page
    exemple :
    <a href=" » rel= »bookmark » title= »Permanent Link to « >

    Répondre à Christophe
  4. pour l’auteur, je préfère passer par un hook :
    https://gist.github.com/lipaonline/da485e30172f8d154151

    ça permet d’éviter de modifier le thème pour un changement mineur…

    Répondre à lipaonline
    • Bonjour

      le filtre que vous utilisez n’est pas très bon d’un point de vue SEO, il ne supprime pas le lien, il en change le contenu. C’est exactement la même méthode que Yoast, à la différence près qu’elle renvoie sur la page même (ce que Google n’apprécie pas trop, technique longtemps utilisée dans le PR sculpting)

      Répondre à Marie-Aude
  5. Salut Marie-Aude, de bonnes optimisations,
    je rajouterais aussi supprimer le « reply to com », la suppression des « lire la suite » sur les pages archives, le problème de duplication lié à la pagination…

    Bref WP et le SEO, il y a du boulot ;)

    Répondre à Fabrice
  6. Merci pour le truc concernant les blogs à un auteur ! Je vais changer ça de suite dans le mien en espérant ne pas tout casser.

    Répondre à De passage
  7. Daniel Auteur mai 17, 2014 (2:14 )

    Salut,

    J’aimerais, si cela est possible, obtenir votre opinion sur les sites one page. Je sais que c’est une tendance mais considérant que tous les h1 de titre de pages sont sur la même page, cela semble vouloir créer un certain problème dans l’analyse et les résultats de SEO ou WC3 ?

    Je ne suis pas ferré dans le domaine et je me demandais si je devais revoir la conception de mon site pour le remettre en standard.

    Merci

    Répondre à Daniel
  8. Beaucoup de blah blah pour 2 lignes de code…Et c’est dans les news de WP fr, c’est pathétique !

    Répondre à Riko
    • Oh tiens un Troll ! Il n’est pas très beau celui-là… (désolé, Marie-Aude, je sais bien qu’il ne faut pas nourrir la bête mais c’est tellement tentant).

      Répondre à Li-An
  9. Ouh, ouh, ouh, je sens qu’on va bien rigoler… ou pas (évidemment, tu es encouragée à supprimer mes conmmentaires, Marie-Aude, encore désolé).

    Répondre à Li-An
    • Je n’ai aucune raison de supprimer tes commentaires. Eric est bien un troll, qui s’imagine depuis un certain temps que je lui en veut. Il est déjà intervenu ici sous son vrai nom, http://www.lumieredelune.com/encrelune/aurelien-amacker-black-hat,2013,02 ou après avoir râlé parce que quelqu’un que je connais depuis longtemps est passé en white list, il m’accuse pour des raisons que je n’avais déjà pas comprises de ne pas aimer son annuaire. Manifestement, l’agression est cyclique. Il ne m’a toujours pas dit précisément ce que je lui avais fait… 

      Bon évidemment quand il devient injurieux, ou quand il poste des commentaires avec des liens qui peuvent me causer des problèmes légaux, il est modéré… mais c’est comme tout le monde. 

      Enfin ça doit lui plaire puisqu’il y revient…

      Répondre à Marie-Aude
  10. Oh oui j’adore passer pour un con webmaitresse !
    Mais sachez respecter avant de vous faire respecter. Me traiter de Troll est très limite, je n’agresse jamais sans raison.

    Répondre à Riko
  11. Amusant, je tombe sur cet article aujourd’hui et la modification des titres h1 sur la page d’accueil / page des postes… est exactement celle à laquelle j’ai procédé ce week-end sur mon site.
    Mon thème proposait en h1 le titre du blog, en h2, le slogan,… 

    J’ai utilisé la technique préconisé ici à savoir le is_home et le class= »h1-like » !
    Effectivement ça perturbe pas mal la mise en page alors j’ai ajusté le CSS petit à petit pour qu’il n’y ai pas trop de différences entre les h1, h2, … et les autres styles.
    On verra ce que ça donne en termes de retombées

    A bientôt.

    Répondre à Mathieu
  12. Rémi Auteur juin 8, 2014 (2:24 )

    Pour ma part j’utilise le thème « catch box » en version gratuite, le titre est pris en H1, le slogan en H2 et les titres widgets en H3.
    J’ai un peut modifier le header pour pouvoir inséré une longue image au lieu d’un logo demandé. Pour voir se que cela donne, voici son lien.

    En fait , a chaque thème c’est la même chose, on retrouve le titre et le slogan pris et si vous ne le remplissez pas la balise est prise vide.
    Trouver un thème gratuit modifiable assez facilement est relativement sobre et complet, je n’ai trouvé que catch box.
    Si vous en connaissez un autre, je suis preneur.
    A plus
    Rémi

    Répondre à Rémi
    • Bonjour,
      j’ai lu que Catch Box avait un souci, si on regarde en article seul, on voit qu’on a 2 fois H1, un pour le titre du site et un autre pour le titre de l’article, vous n’avez pas ce problème ?

      avez vous testé le thème Hueman ?

      Merci

      Répondre à Darknote
      • Ce genre de souci est régulier sur 90% des thèmes, il suffit de le corriger dans un thème enfant :) Oui j’ai testé Hueman, c’est pas mal, mais je n’ai pas regardé à fond car cela ne correspond à aucun des projets que j’ai en cours.

        Répondre à Marie-Aude
        • Darknote Auteur octobre 11, 2015 (3:33 )

          Bonjour,

          Pardon, je répondais à Rémi, dans son commentaire vers la fin il disait
          « Si vous en connaissez un autre, je suis preneur. »

          Catch Box a mis beaucoup de code dans functions.php, je trouve moins pratique de modifier via un thème enfant.
          if ( ! function_exists( 'catchbox_header_details' ) ) :
          /**
          * Template for Header Details
          *
          * @since Catch Box 2.5
          */
          function catchbox_header_details() { 

          // Check to see if the header image has been removed
          global $_wp_default_headers ;
          $header_image = get_header_image();
          if ( ! empty( $header_image ) ) :
          echo '';
          else :
          echo '';
          endif ; // end check for removed header image ?>

          <a href="" title="" rel="home">

          <?php
          }
          endif ;

          Merci

          Répondre à Darknote
  13. J’utiliserai bien un blog wordpress avec vos conseils, pour avoir un meilleur référencement de mon site. Je vous remercie pour l’article très enrichissant.

    Répondre à Caviar
  14. Et bien moi je le trouve bien cet article, il ne mérite clairement pas un troll, même si cela peut paraitre simple pour certains, optimiser un wordpress comme il se doit, n’est pas donné à tout le monde. Pour ma part j’utilise le plug in Yoast, qui fait a peu près tout ce que vous faites à la main. ( bon pas pour les H1 ). Ce type d’article est une bonne piqûres de rappel, et ce même pour des gens de la profession, l’effet tête dans le guidon me frappe souvent… J’ai tendance à oublier les basiques ( ou peut être que je devient trop vieux :D, surement un peu des 2 ).

    Répondre à Patrice
  15. Bonjour,
    je crée du contenu pour un site wordpress. On a créé un blog sur ce site, donc avec le même ndd, du genre http://www.site.com/blog
    Quand je crée une nouvelle page pour le site (wwww.site.com) ça se passe bien : ajout d’un title, d’un h1 etc
    Par contre quand je crée une nouvelle page pour le blog, C’est le title qui devient le h1 donc après le title, je mets tout de suite h2 pour ne pas avoir deux h1.
    Est-ce de cela dont vous parlez dont cet article, ou j’ai mal compris ?
    Désolée mais je ne suis pas du tout technique et ne connaît rien à WordPress. Je cherche cependant à améliorer le référencement de ce site.
    Merci d’avance pour votre réponse.
    Danièle

    Répondre à Danièle
  16. Bonjour,

    Petite question concernant le deuxième point « Le lien vers la page de l’auteur dans les sites avec un seul auteur ».

    Est-ce qu’un widget présentant l’auteur disponible sur une sidebar qui est reprise sur les différents article est considéré comme un duplicate content ? 

    Merci.

    Répondre à Gaston
  17. Bonjour, l article est très intéressant. Est ce qu il existe quelques themes responsive design, efficaces qui n ont pas tous ces problèmes ?
    Est ce que vous en avez quelques un a conseiller ?

    Répondre à David83
  18. Bonjour, et qu’en est-il des solutions pré configurées type SHOPIFY ?

    Répondre à Eglantine
  19. bonjour , votre site est tres instructif et je vous remercie de vos astuces , j’ai un soucis pour retirer les commentaires de mon site avec WordPress a chaques pages se trouvent une possibilite d’ajouter un commentaire chose que je ne souhaite pas !
    pouvez vous m’aider ?
    merci et bonne continuation

    Répondre à BRUCKERT

Commenter

*Informations requises Merci de donner les informations requises

  • Pas de liens raccourcis
  • L'auteur doit s'identifier avec son pseudo, son nom, son prénom ou s'il le veut le nom de son entreprise ou de son site, sauf si celui-ci correspond à des mots clés. Toutes les combinaisons sont permises dans ce cadre.
  • L'url peut être celle d'un site ou profil de réseau social, uniquement la page d'accueil
  • Pas d'adresse email jetable

*

*