Upload
daniel-roch
View
7.902
Download
0
Embed Size (px)
Citation preview
Les défauts de
WordPress pour le
SEO !
hello!
Je suis Daniel Roch
Consultant en référencement naturel et WordPress
Créateur de l’agence SeoMix et de l’extension SEO KEY
Auteur d’Optimiser son référencement WordPress
Conférencier compulsif
Suivez-moi sur @rochdaniel et seomix.fr
Votre CMSn’est qu’un outil.
Et WordPress, c’est parfois de la m****…
1.
Le SEO de base
Mais on m’avait dit qu’il fallait juste activer un PLUGIN…
Un bon référencement
sur WP passe par :
✘ Une stratégie de contenu
✘ Des liens, des liens et des liens…
✘ Un site techniquement propre
Les défauts techniques
de WP
Entre :✘ ce que je fais sur WordPress,✘ Ce que je veux faire,✘ Ce que je crois faire,✘ Ce que Google veut,✘ Ce que Google voit,✘ Ce que Google comprend,✘ Et ce que je veux faire comprendre à Google,
Les défauts techniques
de WP
Ce qui donne les problèmes suivants :
✘ Problèmes d’indexation✘ Contenus dupliqués✘ Contenus pauvres✘ Contenus non optimisés✘ Structure et maillage interne non adaptés
2.
Les outils
Tester son site, cela vous sauve la vie…
Je suis référenceur…
✘ « C’est mon métier », et pourtant j’ai raté ces URL sur www.seo-camp.org :
=> /examen-ceseo-a-constantine/?replytocom=6197 => /evenements/liste/?tribe-event-display=past&tribe-paged=3=> /?p=2123 => //=> /wp-login.php?redirect-to=https%3A%2F%2Fwww.seo-
camp.org%2Fposte%2Feskimoz-paris-16-pres-du-trocadero-17-chef-de-projet-seo-junior-hf-stage%2F
=> /wp-json/oembed/1.0/embed?url=https%3A%2F%2Fwww.seo-camp.org%2Fvideo-seo-camp-day-nantes%2F&format=xml
Les outils SEO
✘ Search Console de Google=> Contrôlez chaque menu
✘ Les logs=> Regardez où Google Bot se rend
✘ Site:monsite.fr=> Vérifiez ce que Google indexe réellement
=> Comparez avec Analytics et les logs
✘ Les logiciels de crawl : Xenu ET Screaming Frog=> Regarder ce que génère réellement WordPress
3.
WordPress et indexation
Rappelez-vous, WordPress c’est de la m****
Indexation
- des archives par date- des archives pour les auteurs- des archives de CPT et de taxonomies- des sous pages de commentaires- des URL en ?replytocom=- des contenus privés
✘ WordPress génère tout, tout le temps…
Indexation
✘ Solutions :- Bien paramétrer WordPress- Avoir une extension pour le SEO (Yoast puis SEO KEY)- Se méfier de son thème- Se méfier des extensions
=> Scanner régulièrement son site
4.
WordPress, HTML et
sémantique
Votre intégrateur est (parfois…) un boulet
HTML et sémantique
✘ WordPress n’est pas toujours le problème, les développeurs et intégrateurs le sont systématiquement…
- Balisage Hn- Les fonctions du cœur (body_class)- Schema.org- Duplication de liens- Ancres non optimisées- Oubli des ALT
C’est pas très optimisé tout
ça
HTML et sémantique
✘ L’utilisateur est aussi un problème…- Sur-optimisation des mots clés- Ajout de catégories et d’étiquettes partout- La pastille verte de Yoast- Etc.
J’aime les pastilles vertes…
5.
Structure en silos et
maillage interne
Le bondage, tu sais, c’est pas mon truc…
Avant
L’objectif
Maillage interne
Pour les administrateurs et utilisateurs :
✘ Pas de commentaires imbriqués
✘ Pas de sous pages de commentaires
✘ Pas d’étiquettes
✘ On augmente le nombre d’articles par page
✘ Une seule catégorie
✘ Un extrait bien rédigé (l’excerpt)
Maillage interne
Quelques conseils pour le thème :
✘ Pas de liens sur soi-même
✘ Pas de liens vers les pages inutiles (étiquettes, auteurs, dates…)
✘ Afficher automatiquement des liens vers les catégories ou pages enfant (ou de même niveau)
6.
La navigation à facettes
Miroir mon beau miroir…
C’est quoi ?
Mais…
Les solutions :
✘ Passer par un thème qui l’intègre (correctement…)
✘ Passer par une extension
=> Par exemple FacetWP pour WooCommerce
=> TOUJOURS contrôler !
Les solutions :
✘ Développer cela soi-même !
=> Chaque filtre n’est PAS un lien <a href>
=> Chaque filtre déclenche une requête AJAX (admin-ajax ou admin-post)
=> On utilise les filtres pour les besoins non liés à une requête SEO, sinon c’est une sous-catégorie
=> l’URL ne change pas
7.
Ecommerce
Je vais devenir riche
Les problématiques
✘ 1er problème : la navigation à facettes✘ 2nd problème : les contenus privés
=> Les pages privées rendues publiques (Commande payée, mon compte, choix du mode de livraison…)
=> De base, elles vont apparaître - dans le plan du site ;- dans le sitemap ;- dans certains widgets et menus.
Les problématiques
=> Il faut donc exclure les contenus privés- noindex sur ces pages- les bloquer par robots.txt- ne pas faire de liens vers elles- les exclure du plan de site- les exclure du fichier sitemap
Les problématiques
✘ 3ème problème : la structure du site
✘ La partie blog est séparée de la partie e-commerce. Cela casse la structure en silos :
Les problématiques
✘ 3ème problème : la structure du site
- Etendre les catégories de produits aux articles
add_action( 'init','seomix_product_taxonomy_add_advices' );
function seomix_product_taxonomy_add_advices(){
// add product taxonomy to post
register_taxonomy_for_object_type('product_cat', 'post');
}
Les problématiques
✘ 3ème problème : la structure du site
Ensuite, créer une nouvelleboucle dansle template.
Les problématiques
✘ 3ème problème : la structure du site
- Et ensuite ajouter les « produits » aux articles relatifs. Pour l’extension YARPP, il faut ajouter cette ligne dans la déclaration du Post Type « Product » :
yarpp_support => 'true'
8.
Les sites One Page et
l’AJAX
Vas y Patrick, mélange tout !
Pourquoi en faire un ?
✘ C’est tendance
✘ La navigation est plus fluide
✘ Cela donne une sensation de modernité
Les risques SEO
✘ Google veut :
un mot clé = un contenu = une URL unique
✘ Un site OnePage = tout est mélangé si c’est mal fait (et c’est souvent mal fait…)
Comment faire ?
✘ Etapes :=> Concevoir le site normalement, SANS AJAX (ce n’est
donc pas un ONE PAGE !)=> Rajouter de l’AJAX pour injecter le contenu dans la
page actuellement consultée
✘ Testez !=> Avec un crawl=> En désactivant le JS de votre navigateur
Comment faire ?
✘ Ne pas faire n’importe quoi :=> Les requêtes AJAX se font en JS avec admin-ajax
(éventuellement avec admin-post)=> Le site doit toujours fonctionner sans ce JS=> On essaye de mettre en cache les requêtes
$nomtransient = get_transient ( 'seomix_transient_nomurl' );
if ( false === ( $rendu = $nomtransient ) ) {
// mon code
set_transient ( $nomtransient, 'contenu_transient‘ )
}
Comment faire ?
✘ Ne pas faire n’importe quoi :=> On FORCE le changement d’URL
=> On n’oublie pas Analytics
success : function( data ) {
history.pushState(data, data.title, data.link);
}
success : function( data ) {
// L’insertion pour Google Analytics :
ga('send', 'pageview', window.location.pathname);
}
Comment faire ?
✘ Ne pas faire n’importe quoi :
=> On rend compatible son AJAX avec les boutons « suiv – prec » du navigateur
window.addEventListener( 'popstate', function(e) {
e.preventDefault();
var url = window.location.href;
$.ajax({
// Mettez ici les arguments nécessaires pour récupérer le
contenu de la précédente page
})
} );
9.
Multilingue
WPML, je t’aime… Ou pas
Les bases du SEO
multilingue sur WP
✘ Il faut un thème traduisible : __( et _e(
✘ Il faut une extension pour gérer les traductions :
=> PolyLang
=> WPML…
Les bases du SEO
multilingue sur WP
✘ Il faut idéalement :=> Un Top Level Domain par langue (.fr, .de, .es, Etc.)=> Sinon un sous domaine par langue=> En dernier recours un répertoire=> JAMAIS avec un paramètre ?
Sur WordPress
✘ Vérifiez manuellement les traductions
✘ Inscrivez chaque domaine dans la Search Console
✘ Créez des liens vers chaque langue, dans la bonne langue
✘ Vérifiez la présence du balisage hreflang
10.
Le mot de la fin
Testez, encore et toujours !