Le référencement naturel de cas complexes sur WordPress

Daniel Roch - SeoMix
Daniel Roch - SeoMixExpert SEO et développeur WordPress, conférencier et auteur | CEO SeoMix & SEOKEY à SeoMix / SEOKEY
Le référencement de
cas complexes avec
WordPress
hello!
Je suis Daniel Roch
Consultant en référencement naturel et WordPress
Créateur de l’agence SeoMix et de SEO KEY
Auteur d’Optimiser son référencement WordPress
Conférencier compulsif
Suivez-moi sur @rochdaniel
AUCUN CMS
n’est optimisé
pour le SEO
Votre CMS
n’est qu’un outil.
1.
Le SEO de base
Mais on m’avait dit qu’il fallait juste activer un PLUGIN…
Un bon référencement
passe par :
✘ Une stratégie de contenus
- Des mots clés pertinents
- Des contenus bien rédigés et optimisés (Title, H1, ALT…)
- Une structure optimisée
✘ Un site techniquement propre
- Un site responsive et rapide à charger
- Un balisage Hn et Schema.org optimisé
- Un robots.txt, des balises canoniques et un sitemap.xml
✘ Des liens, des liens et des liens…
Le référencement naturel de cas complexes sur WordPress
Les outils :
✘ Search Console de Google
=> Contrôlez chaque menu
✘ Les logiciels de crawl : Xenu, Integrity ou Screaming Frog
=> Regarder ce que génère WordPress
✘ Les logs
=> Regardez où Google Bot se rend
✘ Site:monsite.fr
=> Vérifiez ce que Google indexe réellement
2.
La navigation à facette
Miroir mon beau miroir…
C’est quoi ?
C’est quoi ?
✘ Pourquoi en faire ?
=> Proposer une meilleure navigation
=> Augmenter le taux de conversion
✘ Les avantages en SEO
=> Réduire le nombre de sous-catégories pauvres en contenus
=> Avoir plus de contenus uniques sur les catégories principales
Mais…
Les solutions :
✘ Passer par un thème qui l’intègre
✘ 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) via
du JS
=> On utilise les filtres pour les besoins précis, sinon c’est une sous-catégorie
=> l’URL ne change pas
Les solutions :
Si l’URL change quand même (personne ne m’écoute de toute façon…)
=> L’URL avec filtre est en noindex
=> Il y a une canonical vers l’URL sans filtre
=> On ne fait surtout AUCUN lien vers ces URL avec filtres
=> Les boutons de partage prennent l’URL sans filtre
=> les bloquer par robots.txt (Disallow:)
=> Paramétrer les « paramètres d’URL » dans la Search Console
3.
Ecommerce
Je vais devenir riche
Les problématiques
✘ 1er problème : la navigation à facettes
Les problématiques
✘ 2nd problème : les contenus privés
=> Les extensions e-commerce vont créer des pages
privées (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
✘ 2nd problème : les contenus privés
=> 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 autres types de
contenus
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 nouvelle
boucle dans
le 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 Produit :
yarpp_support => 'true'
4.
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é
Pas pour tous
Comment faire ?
✘ Etapes :
=> Concevoir le site normalement, SANS AJAX
=> 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 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
})
} );
5.
Multilingue
WPML, je t’aime… Ou pas
Les bases du SEO
multilingue
✘ Il faut une action manuelle de traduction
✘ Il faut penser à la culture du pays ciblé
✘ Il faut pour chaque langue un effort supplémentaire
pour :
=> rédiger des contenus
=> créer encore plus de liens
=> fidéliser les clients et créer une communauté
Les bases du SEO
multilingue
✘ Il faut une thème traduisible : __( et _e(
✘ Il faut une extension pour gérer les traductions :
=> PolyLang
=> WPML…
Les bases du SEO
multilingue
✘ 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
6.
Les communautés
Les forums, c’est le mal…
✘ L’atout est de pouvoir fidéliser l’internaute
✘ Le risque constant :
=> la sécurité
=> le respect de la loi
✘ Deux cas de figure en SEO:
=> La communauté est privée, aucun souci
=> La communauté est publique
Les communautés
✘ Les risques sont nombreux :
=> Contenus pauvres
=> Contenus non optimisé
Les communautés
✘ Les risques sont nombreux :
=> Duplication de contenu et URL inutiles
Les communautés
Les communautés
✘ Que faut-il faire ?
=> noindex + canonical sur les types de contenus inutiles
=> former les utilisateurs
=> ne JAMAIS faire de liens vers les contenus inutiles
dans les templates
=> vérifier le sitemap et la page plan du site
=> optimiser manuellement le contenu
=> réduire la pagination
Les communautés
7.
Le mot de la fin
Testez,
encore et
toujours !
Merci!
Des questions ?
@rochdaniel
daniel@seomix.fr
www.seomix.fr
www.seo-key.com
Sources Images
✘ http://www.slideshare.net/headchannelltd/the-ten-commandments-of-a-good-software-
tester
✘ http://toolsqa.com/software-testing/software-testing-tutorial/
✘ http://www.2createawebsites.com/seo-silo-structure-in-wordpress.php
1 sur 45

Contenu connexe

Tendances(20)

Optimiser son seo avec google tag managerOptimiser son seo avec google tag manager
Optimiser son seo avec google tag manager
Madeline Pinthon3.5K vues
WordPress et SEO - SEOCampus 2013WordPress et SEO - SEOCampus 2013
WordPress et SEO - SEOCampus 2013
Daniel Roch - SeoMix8.9K vues
Nettoyage de printemps SEO pour WordPressNettoyage de printemps SEO pour WordPress
Nettoyage de printemps SEO pour WordPress
Daniel Roch - SeoMix1.5K vues
Optimiser son SEO avec Google Tag ManagerOptimiser son SEO avec Google Tag Manager
Optimiser son SEO avec Google Tag Manager
iProspect France3.4K vues
DésindexationDésindexation
Désindexation
Olivier Andrieu22.2K vues

Similaire à Le référencement naturel de cas complexes sur WordPress(20)

SEO & WordpressSEO & Wordpress
SEO & Wordpress
CCI Yonne401 vues
Audit SEO : les clés de la réussiteAudit SEO : les clés de la réussite
Audit SEO : les clés de la réussite
Daniel Roch - SeoMix5.9K vues
Drupal SEO - Optimiser son siteDrupal SEO - Optimiser son site
Drupal SEO - Optimiser son site
Stéphane ARRAMI9.3K vues
Audit de site webAudit de site web
Audit de site web
StrasWeb1.8K vues

Plus de Daniel Roch - SeoMix(15)

Le référencement naturel de cas complexes sur WordPress

  • 1. Le référencement de cas complexes avec WordPress
  • 2. hello! Je suis Daniel Roch Consultant en référencement naturel et WordPress Créateur de l’agence SeoMix et de SEO KEY Auteur d’Optimiser son référencement WordPress Conférencier compulsif Suivez-moi sur @rochdaniel
  • 5. 1. Le SEO de base Mais on m’avait dit qu’il fallait juste activer un PLUGIN…
  • 6. Un bon référencement passe par : ✘ Une stratégie de contenus - Des mots clés pertinents - Des contenus bien rédigés et optimisés (Title, H1, ALT…) - Une structure optimisée ✘ Un site techniquement propre - Un site responsive et rapide à charger - Un balisage Hn et Schema.org optimisé - Un robots.txt, des balises canoniques et un sitemap.xml ✘ Des liens, des liens et des liens…
  • 8. Les outils : ✘ Search Console de Google => Contrôlez chaque menu ✘ Les logiciels de crawl : Xenu, Integrity ou Screaming Frog => Regarder ce que génère WordPress ✘ Les logs => Regardez où Google Bot se rend ✘ Site:monsite.fr => Vérifiez ce que Google indexe réellement
  • 9. 2. La navigation à facette Miroir mon beau miroir…
  • 11. C’est quoi ? ✘ Pourquoi en faire ? => Proposer une meilleure navigation => Augmenter le taux de conversion ✘ Les avantages en SEO => Réduire le nombre de sous-catégories pauvres en contenus => Avoir plus de contenus uniques sur les catégories principales
  • 13. Les solutions : ✘ Passer par un thème qui l’intègre ✘ Passer par une extension => Par exemple FacetWP pour WooCommerce => TOUJOURS contrôler !
  • 14. 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) via du JS => On utilise les filtres pour les besoins précis, sinon c’est une sous-catégorie => l’URL ne change pas
  • 15. Les solutions : Si l’URL change quand même (personne ne m’écoute de toute façon…) => L’URL avec filtre est en noindex => Il y a une canonical vers l’URL sans filtre => On ne fait surtout AUCUN lien vers ces URL avec filtres => Les boutons de partage prennent l’URL sans filtre => les bloquer par robots.txt (Disallow:) => Paramétrer les « paramètres d’URL » dans la Search Console
  • 17. Les problématiques ✘ 1er problème : la navigation à facettes
  • 18. Les problématiques ✘ 2nd problème : les contenus privés => Les extensions e-commerce vont créer des pages privées (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.
  • 19. Les problématiques ✘ 2nd problème : les contenus privés => 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
  • 20. 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 :
  • 21. Les problématiques ✘ 3ème problème : la structure du site - Etendre les catégories de produits aux autres types de contenus 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'); }
  • 22. Les problématiques ✘ 3ème problème : la structure du site Ensuite, créer une nouvelle boucle dans le template
  • 23. 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 Produit : yarpp_support => 'true'
  • 24. 4. Les sites One Page et l’AJAX Vas y Patrick, mélange tout !
  • 25. Pourquoi en faire un ? ✘ C’est tendance ✘ La navigation est plus fluide ✘ Cela donne une sensation de modernité
  • 26. Les risques SEO ✘ Google veut : un mot clé = un contenu = une URL unique ✘ Un site OnePage = tout est mélangé
  • 28. Comment faire ? ✘ Etapes : => Concevoir le site normalement, SANS AJAX => 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
  • 29. 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‘ ) }
  • 30. 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); }
  • 31. Comment faire ? ✘ Ne pas faire n’importe quoi : => On rend compatible 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 }) } );
  • 33. Les bases du SEO multilingue ✘ Il faut une action manuelle de traduction ✘ Il faut penser à la culture du pays ciblé ✘ Il faut pour chaque langue un effort supplémentaire pour : => rédiger des contenus => créer encore plus de liens => fidéliser les clients et créer une communauté
  • 34. Les bases du SEO multilingue ✘ Il faut une thème traduisible : __( et _e( ✘ Il faut une extension pour gérer les traductions : => PolyLang => WPML…
  • 35. Les bases du SEO multilingue ✘ 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 ?
  • 36. 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
  • 37. 6. Les communautés Les forums, c’est le mal…
  • 38. ✘ L’atout est de pouvoir fidéliser l’internaute ✘ Le risque constant : => la sécurité => le respect de la loi ✘ Deux cas de figure en SEO: => La communauté est privée, aucun souci => La communauté est publique Les communautés
  • 39. ✘ Les risques sont nombreux : => Contenus pauvres => Contenus non optimisé Les communautés
  • 40. ✘ Les risques sont nombreux : => Duplication de contenu et URL inutiles Les communautés
  • 42. ✘ Que faut-il faire ? => noindex + canonical sur les types de contenus inutiles => former les utilisateurs => ne JAMAIS faire de liens vers les contenus inutiles dans les templates => vérifier le sitemap et la page plan du site => optimiser manuellement le contenu => réduire la pagination Les communautés
  • 43. 7. Le mot de la fin Testez, encore et toujours !
  • 45. Sources Images ✘ http://www.slideshare.net/headchannelltd/the-ten-commandments-of-a-good-software- tester ✘ http://toolsqa.com/software-testing/software-testing-tutorial/ ✘ http://www.2createawebsites.com/seo-silo-structure-in-wordpress.php