Dashboard SEO : Testez un analyseur de logs open source avec Kibana et Paas Logs – Partie 4


Voici donc la dernière partie où je vous montre comment connecter Kibana avec le Paas Logs d’OVH et j’ai ajouté un petit bonus à la fin.

1/ Installation de Kibana
Rendez-vous à cette page : https://www.elastic.co/fr/downloads/kibana
Télécharger la dernière version stable de Kibana ( au moment où j’écris l’article : 4.5.1 ) qui correspond à votre système d’exploitation.
Dézippez le tout dans le répertoire de votre choix.

2/ Configurez Kibana
La première chose à faire est de modifier le fichier Kibana.yml.
Vous avez juste à modifier ces 4 lignes :
– elasticsearch_url : https://laas.runabove.com:9200
– kibana_index : kibana-ra-logs-XXXXX
– kibana_elasticsearch_username : login Pass Logs
– kibana_elasticsearch_password : mot de passe Paas Logs

# Kibana is served by a back end server. This controls which port to use.
port: 5601

# The host to bind the server to.
host: "0.0.0.0"

# The Elasticsearch instance to use for all your queries.
elasticsearch_url: "https://laas.runabove.com:9200"

# preserve_elasticsearch_host true will send the hostname specified in `elasticsearch`. If you set it to false,
# then the host you use to connect to *this* Kibana instance will be sent.
elasticsearch_preserve_host: true

# Kibana uses an index in Elasticsearch to store saved searches, visualizations
# and dashboards. It will create a new index if it doesn't already exist.
kibana_index: "kibana-ra-logs-XXXXX"

# If your Elasticsearch is protected with basic auth, this is the user credentials
# used by the Kibana server to perform maintence on the kibana_index at statup. Your Kibana
# users will still need to authenticate with Elasticsearch (which is proxied thorugh
# the Kibana server)
kibana_elasticsearch_username: "ra-logs-XXXXX"
kibana_elasticsearch_password: "XXXXXXXXXXXXXXXX"

Désormais, il faut lancer Kibana en vous cliquant sur /bin/kibana.bat

3/ Configurez votre index Kibana
Ensuite, vous allez sur l’adresse : http://localhost:5601

Cliquez dans l’onglet « Settings »
Indiquez le nom de votre index Kibana dans mon précédent articles sur le Paas Logs, j’avais indiqué : logsDataSEOfr
Si vous avez oublié votre index, il se trouve ici dans votre interface Paas Logs
ou se trouve index kibanakibana config
Si l’index est correct, vous allez pouvoir choisir le champ temporel ( ici : timestamp ) et cliquez sur le bouton « Create »

kibana timestamp

4/ Importez mon dashboard SEO
La première étape est de télécharger mon fichier json.
Attention, vous allez devoir ouvrir ce fichier dans un éditeur de texte et remplacer mon index Kibana ( ici : logsDataSEOfr ) par le vôtre.

Ensuite, il faut vous rendre dans l’onglets « Settings » puis « Objects ».
Cliquez sur le bouton « Import » puis indiquez le chemin du fichier json.
Attendez quelques secondes et les Dashboards SEO sont prêts.

Désormais, vous avez accès à des dashboards SEO que vous pouvez modifier et améliorer. Pour voir un Dashboard, cliquez sur l’onglet Dashboard, choisissez la bonne durée et cliquez sur l’icone icon open pour ouvrir un dashboard.

J’ai listé quelques fonctionnalités mises en place mais c’est du sur-mesure donc on peut aller très loin avec Kibana. Voici quelques exemples et certaines captures d’écrans :

Dashboard Content

  • Metric  : Urls crawlées
  • Data table : Top urls crawlées, Top urls moins crawlées
  • Vertical bar chart : Taille du contenu par catégories

Dashboard Distribution

  • Metric  : Urls crawlés, Urls compliant, Urls non compliant,  Profondeur moyenne
  • Data table : Top urls non compliant
  • Vertical bar chart : Urls compliant par profondeur, Urls compliant par catégories, Urls par profondeur et par catégorie

distribution

Dashboard GoogleBot

  • Metric  : Urls crawlées par Google, Urls actives crawlé par Google, Urls crawlés
  • Pie chart : IP Googlebot
  • Vertical bar chart : Crawls GoogleBot par jour, Crawl Googlebot par catégorie, Urls active sur Google par profondeur, Urls compliant sur Google par profondeur

googlebot

Dashboard HTML Tags

  • Metric  : Urls, Urls compliant, Urls compliant avec un mauvaise balise Title
  • Data table : Top Titre de mauvaise qualité
  • Vertical bar chart : Performance de la balise Title par jour, Performance de la balise Title par catégorie, Performance de la balise H1 par jour, Performance de la balise H1 par catégorie, Performance de la balise Description par jour, Performance de la balise Description par catégorie

Dashboard HTML Codes

  • Metric  : Urls en 2XX , Urls en 3XX , Urls en 4XX, Urls en 5XX
  • Data table : Top urls en  4XX, Top urls en 5XX
  • Vertical bar chart : Urls par catégorie et rescode, Urls par catégorie et profondeur

http codes dashboard

Dashboard Performance

  • Metric : Urls crawlés, Urls Fast, Urls Medium , Urls Slow
  • Pie chart : Répartition des temps de chargement
  • Vertical bar chart : Temps de chargement par profondeur, Temps de chargement par catégorie, Temps de chargement par rescode

Bonus
J’ai créé un programme qui permet d’autoinstaller Kibana et Filebeat sous Windows ainsi vous pouvez envoyer vos logs et les fichiers CSV directement depuis votre poste. Ensuite, j’ai trouvé un moyen de générer le CSV sans passer par RStudio ainsi il est plus facile de tester la solution. ( Par contre, ça demande d’avoir R installé sur son poste. )
Il me restera juste à automatiser la configuration du Paas Logs et ça deviendra très facile à installer et à utiliser.

1/ Installez ou clonez mon projet SEO-Dashboard en respectant ce chemin « C:\Projects\SEO-Dashboard » pour éviter devoir modifier tous les chemins ensuite

2/ Cliquez sur build.bat qui va autoinstaller Kibana et Filebeat dans le repertoire /dist/ et copier des fichiers de configuration par défaut dans /dist

3/ Modifier ces trois lignes du dist/kibana/config/kibana.yml
kibana_index: « kibana-ra-logs-XXXXX » ( ligne 23 )
kibana_elasticsearch_username: ra-logs-XXXXX ( ligne 32 )
kibana_elasticsearch_password: XXXXXXXXXXXXXXXX ( ligne 33 )

4/ Modifier cette ligne de dist/filebeat/filebeat.yml
hosts: [« c002-XXXXXXXXXXXXXXXXXXXXXX.in.laas.runabove.com:5044 »]
Il s’agit de la ligne qui est donné dans la section Input du Paas Logs

5/ Ensuite, vous avez juste à lancer les trois fichiers bat à la racine selon vos besoins.

  • run-filebeat.bat : Déclenche Filebeat et surveille les deux répertoires filebeat-csv et filebeat-logs. Au moindre ajout, les données sont envoyés sur le Paas Logs. Je vous conseille vivement d’envoyer d’abord le premier fichier CSV puis ensuite les logs.
  • run-kibana.bat : Lance le serveur Kibana , vous pouvez ensuite vous rendre sur http://localhost:5601
  • run-r.bat : Permet de lancer la génération du fichier CSV sans passer par RStudio.
    Si vous ne souhaitez pas du tout modifier le fichier R, il faut copier deux fichiers dans /websites/data-seo

    • segments.csv qui contient l’ensemble des patterns d’urls de votre site
    • internal_html.xlsx qui est votre export excel de Screaming Frog que j’ai détaillé dans mon premier article sur R.

6/ Vous pouvez reprendre les étapes 3 et 4 de cet article pour terminer la configuration de Kibana

Résumé
Voici donc le dernier article qui vous donne toutes les solutions techniques pour avoir votre propre analyseur de logs avec R, Screaming Frog, Kibana, Filebeat.

La  solution Paas Logs sera bientôt commercialisé par OVH pour 1€/mois pour 1Go de logs. Octave Klaba a dévoilé le business plan de ce lab dans un tweet du 18 Juin.

businessplan paas logs

J’ai travaillé avec R et ScreamingFrog, mais vous pouvez refaire la même chose avec un autre crawler et votre langage préféré. Voici mon dépot Git si vous souhaitez tester https://github.com/voltek62/SEO-Dashboard

Si vous avez des questions ou si vous voyez des améliorations, laissez-moi un commentaire. Bien sûr, j’apprécie tout aide pour venir compléter les dashboards SEO pour Kibana.

Remerciements
Pour cette série d’articles, je remercie Pierre de Paeppe, Tech Lead chez OVH qui m’a aidé et conseillé à de nombreuses reprises.

Je remercie aussi Thibault Willerval ( Consultant SEO Rouge Interactif : @thibaultwillerv ) et Nicolas Augé ( Consultant SEO Resoneo : @nseauge ) pour avoir testé la solution.

Un merci aussi à Oneclick ( @0neclic : Julien Deneuville et Nicolas Chollet )  qui m’ont aiguillé dans la bonne direction. Oneclick est une agence SEO très à l’écoute avec un savoir-faire Data-SEO impressionnant qui n’hésite pas à partager ses découvertes sur de nombreux événements SEO.

Enfin, je remercie l’équipe #QueDuWeb et surtout Sylvain Peyronnet ( @speyronnet ) pour m’avoir donné la possibilité de présenter mon projet où j’ai reçu beaucoup d’encouragements.

Laisser un commentaire

Votre adresse de messagerie ne sera pas publiée. Les champs obligatoires sont indiqués avec *