J’ai eu l’honneur d’avoir été contacté pour réaliser une présentation lors du SEOcampus.
Le sujet : Crawler et analyse de logs, sujet que j’affectionne particulièrement :-)
Vous trouverez les slides ci-dessous.
J’ai volontairement mis très peu de texte pour m’empêcher de lire ma présentation. Du coup les slides seuls sont clairement insuffisants.
Voici donc quelques notes pour que ceux qui n’étaient pas présents puissent avoir un petit aperçu de ce que j’ai (essayé de) présenter.
Fonctionnement d’un moteur de recherche
Si l’on souhaite schématiser le fonctionnement d’un moteur de recherche, on identifie 3 phases :
- Le crawl, qui permet à un moteur de découvrir de nouvelles URLs et mettre à jour le contenu de celles qu’il connaît.
- L’indexation, qui consiste à extraire le contenu découvert pour l’injecter dans sa base de données.
- Le ranking, où le moteur de recherche détermine les résultats les plus pertinents pour une recherche donnée grâce à un ensemble d’algorithmes.
Lorsqu’on parle de SEO, on se concentre généralement sur la troisième phase : le ranking. On parle de contenu, de linking, de Panda, de Pingouin, … On parle finalement assez peu de crawl et d’indexation qui sont pourtant des préalables au ranking.
Et sur des sites à forte volumétrie de pages, une indexation optimale est loin d’être garantie !
30 000 000 000 000
30 trillions, ou 30 mille milliards : à quoi correspond ce chiffre ?
Il s’agit du nombre d’URLs distinctes que Google connaît.
Un chiffre absolument démentiel !
A côté, le premier index de Google en 1998 semble ridicule (24 millions de pages)
700 000 000
Lorsqu’on est un moteur de recherche, on a besoin de re-crawler régulièrement les URLs que l’on connaît. Et ce afin d’avoir un index avec la plus grande fraîcheur possible. En effet, chaque jour des pages sont supprimées, des pages sont modifiées, … L’index du moteur doit être frais pour être pertinent.
On s’aperçoit d’ailleurs qu’une URL qui n’a pas été crawlée récemment a très peu de chance de se positionner.
Si Google voulait crawler toutes les URLs qu’il connaît au moins une fois tous les 3 mois, il lui faudrait crawler 700 millions de pages par seconde.
Même pour Google, c’est impossible !
Google doit donc faire des choix, il priorise les sites qu’il doit crawler. Et une fois sur un site, il va prioriser les URLs qu’il doit crawler.
Il faut l’aider, afin qu’il fasse les meilleurs choix, et qu’il ne perde pas de temps sur des pages inutiles.
Utiliser un crawler de site
Lorsque l’on a un site de 10 pages, on peut le maîtriser parfaitement. Cela devient plus difficile lorsque l’on en a 1 000, et impossible lorsque l’on en a 1 million.
Avec un crawler, on va dresser une cartographie complète de son site internet afin d’identifier ce qui est invisible à l’œil nu.
Dans la mesure du possible, on va essayer de simuler au mieux le comportement de Googlebot, ce qui va d’ailleurs nous obliger à se poser un certain nombre de questions…
Mesure de la volumétrie
Une fois que l’on connaît toutes les URLs de son site grâce au crawler, on peut les catégoriser (page d’accueil, catégories, fiches produit, pagination, …).
On peut ainsi comparer la volumétrie supposée de son site avec la volumétrie.
Si vous avez un inventaire de 5 000 produits et que vous découvrez 3 millions de fiches produits, vous avez un gros souci…
De même, si vous ne découvrez que 500 fiches produits, vous avez également un gros souci.
Contrôle des codes retour
Crawler va vous permettre d’identifier les URLs ayant des codes retour « non 200 » mais également de trouver d’où elles sont linkées, et ainsi corriger le problème.
Taux de présence des balises
En crawlant, vous allez récupérer l’intégralité du code HTML. Grâce à lui, vous pouvez mesurer des taux de présence de balises (TITLE, H1, …) mais également des taux d’unicité.
Calcul du PageRank
La formule du PageRank est publique. Pourquoi ne pas considérer que votre site est le web, et ainsi calculer le PageRank de chacune de vos pages.
Vous vous apercevrez souvent que c’est la page Mentions légales qui dispose du PageRank le plus important…
Vous pouvez également calculer le score de PageRank de chacune de vos catégories pour vérifier si votre maillage interne est aussi efficace que ce que vous aviez imaginé.
Temps de réponse
Les temps de réponses sont de plus en plus importants :
- Ils sont pris en compte dans l’algo de Google
- Ils ont un impact direct sur le nombre de pages que Google crawle
- Ils ont une grande influence sur les taux de conversion
Un crawler peut mesurer les temps de réponse de chaque pages, et ainsi identifier les templates qui doivent bénéficier d’optimisation.
Et pleins d’autre choses
Vous l’avez compris, une fois que l’on a récupéré une cartographie complète de son site internet, toute sorte d’analyse est envisageable.
On peut par exemple citer le calcul du nombre de liens entrants / sortants par pages, le taux de duplicate content, l’identification des pages « inutiles », la vérification d’un plan de taggage, …
Analyse de logs serveur
Les logs serveur sont probablement la source de données la plus riche et la plus fiable d’un point de vue SEO.
Riche car on peut y récupérer les visites, les passages des robots d’indexation, les mots clés, les temps de réponse, les codes retour, …
Fiable car les données sont enregistrées dès l’appel de la page, et donc indépendants de problématiques de chargement de Javascript ou autres.
Volumes de crawl
L’une des utilisations les plus courantes est le monitoring des volumes de crawl Googlebot. On peut le faire de manière quotidienne, hebdomadaire, mensuelle, … Ce monitoring n’a de véritable intérêt que si les volumes sont catégorisés, ce qui n’est évidemment pas le cas sur Google Webmaster Tools.
Sur le screenshot, on voit que la catégorie bleue (correspondant a des pages inutiles) monopolisait un volume de crawl conséquent. Des actions SEO ont permis d’éliminer ce crawl qui a ainsi bénéficié à des catégories de pages pertinentes en SEO.
Erreurs
Il est particulièrement important d’identifier au plus tôt les erreurs (4xx, 5xx, …).
En effet, Google peut tout simplement cesser de crawler un site si le volume d’erreurs 500 est important. Google a en fait peur d’avoir fait tomber le site…
Nouvelles pages
L’apparition de nouvelles pages doit être maîtrisé (mise en ligne d’articles, nouveaux produits, …).
Si de nouvelles pages apparaissent sans raison, il s’agit probablement d’un effet de bord technique qui génère des pages de mauvaise qualité.
Les logs permettent de les identifier très rapidement.
Mots clés
Les logs permettent également de récupérer les mots clés, que l’on peut ainsi triturer dans tous les sens, ce qui n’est pas toujours facile / possible avec des solutions de web analyse.
Sur le premier graph, on mesure l’aspect top / middle / long tail d’une catégorie en regardant la part d’audience générée en fonction du nombre de termes des mots clés. Sur le deuxième graph, on regarde au jour le jour le nombre de mots clés qui génèrent une visite pour la première fois.
En fonction des résultats, les stratégies SEO vont être différentes.
Et plein d’autres choses…
Les logs permettent un nombre d’analyses et d’études qui n’aura de limite que votre imagination.
On peut par exemple citer l’analyse des fréquences de recrawl, la mesure des périodes de rétention, le monitoring des temps d’exécution, …
Coupler crawl + logs
Nous avons parlé de deux sources de données :
- Le crawl qui nous permet de créer une cartographie complète de son site internet
- Les logs qui permettent d’identifier le crawl des robots d’indexation
Pourquoi ne pas coupler les deux, pour mettre en évidence certains problèmes ?
On prend pour cela un crawl + 30 jours de logs par exemple
Pages orphelines
Nous allons pouvoir ainsi remarquer qu’il existe des « pages orphelines » : des pages que Google crawl, mais que nous n’avons pas trouvé lors de notre propre crawl.
Il peut y avoir plusieurs raisons : notre crawl n’a pas été suffisamment profond, certaines pages ne sont plus linkées sur notre site, Google crawl des pages qu’il n’est pas censé voir, …
Il est important de comprendre le phénomène, et de le corriger.
Taux de crawl / profondeur
En couplant crawl + log, il est possible de montrer que plus les pages sont profondes, moins elles vont être crawlées par Google. Dans notre exemple, on remarque qu’au 6e niveau de profondeur, le taux de crawl n’est plus que de 20%…
Taux de pages actives / profondeur
Une page active est une page qui a généré au moins une visite SEO.
Dans cet exemple, on s’aperçoit qu’une page qui est à un niveau de profondeur supérieur à 3, ne génère jamais de visites…
Instructif !
Efficacité des catégories
Dans ce dernier exemple, on compare l’efficacité des catégories entre elles.
On voit ainsi que la catégorie « Divers » représente 72% des URLs du site, monopolise 60% du crawl mais ne génère que 3% des visites…
Il s’agit donc probablement de pages à optimiser ou à supprimer…
Voilà, j’espère que ces notes vous ont été utiles.
Un grand merci aux organisateurs du SEOCampus 2013 pour leur invitation et félicitations pour la réussite de cet événement !
Merci pour ce compte rendu de ta conf ! D’ailleurs super conf qui m’a ouvert l’esprit sur certains points.
Bonjour,
Sur quels critères se base Google pour déterminer quels sont les sites prioritaires qui vont être crawlés? Et en gros un site lambda est crawlé à quelle fréquence?
Le PageRank est le critère le plus évident, mais il peut y en avoir d’autres (fréquence de mise à jour par exemple)
Que recommandes tu comme crawleur sur du Ngnix ?
Merci beaucoup pour la « traduction » de tes slides.
Clairement une bonne dose technique pour parvenir à faire « cracher » les chiffres, afin de comprendre le comportement de Google et celui des internautes (navigation, histo).
J’y vois un avantage à faire de l’analyse de logs : pouvoir faire ressortir des indicateurs que ne proposent pas les outils d’audit « tout en un ». Faire du personnalisé. Bravo.
ps : je t’ai ajouté à mon compte-rendu des compte-rendus : http://www.unpeudeseo.com/2013/03/16/recapitulatif-seo-campus-teknseo-2013/
Salut Jean-Benoit,
Ravi d’avoir pu échanger avec toi lors du SEO Camp’us :) Ta présentation sur le crawl et l’analyse de logs était très intéressante, et me rappelle la méthodologie d’analyse d’un de tes anciens employeurs, pour ne pas le citer ;)
Au plaisir de se revoir !
Merci Jean-Benoit pour les slides commentés. Honte à moi, je n’ai pas assisté à ta conférence, je me flagelle encore tant je réalise ce que j’ai manqué (maintenant je peux arrêter puisque je viens de te lire à ce propos).
Du coup, tu viens de gagner un follower ;o)
Merci beaucoup pour les slides ainsi que les commentaires qui vont avec ! Très bonne présentation sur l’analyse des logs. On sent que vous touchez votre bille !
J’avoue que les notes ne sont pas de trop !
Merci encore ! J’attends avec impatience le prochain article sur le même thème !
PS : Je suis en train de tester watussi ! mais j’ai toujours un léger bug en JavaScript et cela perturbe l’affichage des résultats. Tenez-moi au courant si jamais quelqu’un d’autre vous remonte le même Bug. Merci d’avance !
Bonjour Jean-Benoit,
Merci pour cette présentation très intéressante ! Quels outils utilises-tu pour crawler et analyser les logs d’un site ?
Merci
Emanuelle
Belle analyse. Je me suis moi aussi vite rendu compte que le temps de réponse était un élément crucial pour indexer un nombre important de pages rapidement.
Un client avec un site d’environ 800 pages n’avait qu’une 50 aines de pages dans l’index, 2 mois après le lancement de son site. Après refonte du code (allégement, suppression de requêtes sql inutiles, minification…), le site a indexé la totalité des autres pages les 10 jours qui ont suivis.
Le verdict est sans attente.
30 000 milliards c’est hallucinant ce chiffre. Le bot de google doit être une véritable bête pour crawler autant qu’il le fait et c’est clair que le temps de ses début est bien loin!
Super article et félicitation pour la conférence.
Je vois un belle avenir dans le SEO pour toi et j’espère que tu continueras à nous développer des supers outils.
Rien de nouveau…
on se demande à quoi sert le Seo camp.. du réchauffé de 2007..
frustrant…
Dommage de se faire mousser avec des choses que tout le monde connait..
tu n’est pas le seul, mais bon je trouve que le seocampus 2013 n’est pas une référence, toujours les memes qui raconte la même chose
Cathy
Merci pour ce gentil commentaire anonyme :-)
@Vince/Cathy :
Si les conférences qui ont été rendu lors du SEO campus 2013 n’ont pas toute été d’un niveau d’excellence, il faut aussi remarquer que le public à changer. Lorsque tu te confrontes à des étudiants, des responsable de com’ et autres, il faut adapter ce que tu racontera au public.
Le plus gros problème peut être du SEO campus aujourd’hui c’est de ne pas trop savoir comment adresser les conférences.
Faire deux cycles, un normal et un avancé me semble être un bon tournant pour 2014.
Hello, Cool cet article!
J’ai quasiment fini la v1 de mon analyseur de logs apache, je te le fais voir bientôt, tu me diras ce que tu en penses.
Je comprends pourquoi tu as codé watussi box avec ce système, quelle galère l’import et le traitement des logs bruts dès que tu as un peu données…surtout sur un mutualisé :-)
A très bientôt
Jérôme
Impatient de voir ce que tu as fait ;-)
Crawl et analyse de logs nous offre l’opportunité de découvrir de nombreuses possibilités d’optimisations et de faire décoller nos chiffre d’affaire. Je vous remercie énormément pour cette excellente présentation sur l’analyse des logs et bonne continuation. Cordialement.
Bravo, de Bons chiffres clairs nets et précis. Néanmois, je pense aussi que le public n’est plus le même qu’auparavant d’où la difficulté de s’adapter aux interlocuteurs…
bonjour,
Et bravo pour cet outils.
Petit question:
Dans l’onget crawl se trouve un graph crawl utile/inutile.
Pourriez-vous expliquer quels sont les critères utuilisés pour définir un crawl comme util/inutile ?
Merci
+
Il y a plusieurs modes de calcul, mais celui-ci est le plus simple : une page utile est une page qui a déjà généré une visite SEO.
Bonjour Jean Benoit,
Alors que je tente d’installer Watussi Box sur Nginx, as tu prévu de coupler cela avec un crawler afin de réaliser un mapping des 2 ? J’avais rapidement testé Botify et j’avais trouvé l’outil très efficace. Ou alors préconises tu une autre solution ?
Merci
Bonjour,
Le mapping « crawl + log » existe sur ma version payante, c’est donc évidemment la solution que je préconise.
Botify est également une belle solution.
Bonjour Jean Benoit,
Mon hébergeur m’annonce des failles de sécurité et ne compte pas prendre le risque de la mise en place de ton script :(
Y a t-il une solution (installation locale avec requêtes sortantes ?) qui me permettrait tout de même de bénéficier de ton outil ou bien est-ce juste impossible autrement ?
Merci d’avance.
Mathieu
Bonsoir,
C’est possible si tu développes un petit parser de logs que tu pourrais rapatrier.
Peux-tu m’indiquer les failles de sécurité qui ont été identifiés ?
Merci
Bonjour,
Je viens de tester votre script d’analyse de LOG, à voir sur le long terme, mais cela me semble plutôt pas mal pour le moment ! Bravo à vous
Bonjour,
Article très intéressant qui m’a donné des informations que j’ignorais encore jusque là et qui pourraient se révéler extrêmement utile dans un avenir proche.
J’en profite aussi pour présenter un problème rencontrer sur mon site et que j’essaye de référencer. En effet sur mes pages de référencement interne je n’arrive pas à avoir des positions dans google. Pourtant ce ne sont pas des mots clés concurrentiels pour certains. Le site a été lancé en Août 2014, je n’ai eu aucune pénalité de la part de google. Alors j’aimerai savoir si le problème viens du crawl puisque Google ne visite mon site que deux à trois fois par mois maximum.
J’ai des positions sur certains mots clés comme soucis de plomberie présents sur des pages dont les liens figurent sur la pages d’accueil ou dans le « footer ». Mais pour le reste de mes pages c’est sans appel…
Merci de me venir en aide et de me dire si possible où se trouve le problème pour que je puisse continuer mon travail plus sereinement on va dire :)
Voici le lien du site : http://www.ets-lefebvre.fr/
Merci beaucoup !
De la part d’un ami référenceur un peu égaré…
Bonjour Jean-Benoît,
J’ai une question concernant ton analyseur de log Watussi Box.
Quand tu parles de « temps d’exécution » est-ce que tu parles en millisecondes ? en secondes ?
Merci d’avance pour ta réponse.