Construire des outils pour comprendre les performances du contenu

Publié: 2020-09-03

Le contenu est l'une des principales forces motrices d'une stratégie de marketing entrant, et le référencement fait partie intégrante de son fonctionnement. Généralement, cela couvrira les bases du référencement sur la page : structure de l'article, placement des mots clés, balises méta, balises de titre, texte alternatif, en-têtes, données structurées et utilisation du formatage pour créer des données structurées de manière informelle dans des listes et des tableaux.

Auditer le référencement sur la page dans le cadre de la gestion de contenu, en utilisant OnCrawl.

Cela relève du référencement technique lorsque vous commencez à optimiser ou à surveiller en masse, que ce soit par le biais d'audits de site ou d'explorations régulières, par le biais de méta-descriptions en langage naturel générées par la machine, de balises de contrôle d'extraits ou d'injection de données structurées.

Cependant, l'intersection du référencement technique et du marketing de contenu est encore plus grande en ce qui concerne la performance du contenu : nous examinons les mêmes données primaires, telles que le rang de page sur les SERP ou le nombre de clics, d'impressions et de sessions. Nous pourrions mettre en œuvre les mêmes types de solutions ou utiliser les mêmes outils.

Qu'est-ce que la performance du contenu ?

La performance du contenu est le résultat mesurable de la façon dont le public interagit avec le contenu. Si le contenu génère du trafic entrant, les mesures de ce trafic reflètent à quel point ce contenu fait bien ou mal son travail. Chaque stratégie de contenu doit, sur la base d'objectifs concrets, définir ses propres KPI. La plupart incluront les métriques suivantes :

  • La visibilité du contenu dans la recherche (impressions dans les SERP)
  • À quel point les moteurs de recherche pensent que le contenu est pertinent (classement sur les SERP)
  • À quel point les chercheurs pensent-ils que la liste de recherche du contenu est pertinente (clics provenant des SERP)
  • Combien de personnes consultent le contenu (visites ou sessions dans une solution d'analyse)
  • Combien de personnes interagissent avec le contenu d'une manière qui favorise les objectifs commerciaux (suivi des conversions)

Jusqu'ici tout va bien.

La difficulté est de placer le curseur : quels chiffres signifient que vous avez de bonnes performances de contenu ? Qu'est-ce qui est normal ? Et comment savoir si quelque chose ne va pas ?

Ci-dessous, je partagerai mon expérience pour construire une "preuve de concept" d'un outil low-tech pour aider à répondre à ces questions.

Pourquoi exiger une norme pour la performance du contenu ?

Voici quelques-unes des questions auxquelles je voulais répondre dans le cadre de mon propre examen de la stratégie de contenu :

  • Y a-t-il une différence entre le contenu interne et les publications d'invités en termes de performances ?
  • Y a-t-il des sujets que nous poussons qui ne fonctionnent pas bien ?
  • Comment puis-je identifier les publications « persistantes » sans attendre trois ans pour voir si elles génèrent toujours du trafic hebdomadaire ?
  • Comment puis-je identifier les boosts mineurs d'une promotion tierce, comme lorsqu'un message est repris dans une newsletter qui n'était pas sur notre radar de promotion, afin d'adapter immédiatement notre propre stratégie de promotion et de capitaliser sur la visibilité accrue ?

Pour répondre à l'une de ces questions, cependant, vous devez savoir à quoi ressemblent les performances de contenu "normales" sur le site avec lequel vous travaillez. Sans cette ligne de base, il est impossible de dire quantitativement si un élément ou un type de contenu spécifique fonctionne bien (mieux que la ligne de base) ou non.

Le moyen le plus simple de définir une ligne de base consiste à examiner les sessions moyennes par jour après la publication, par article, où le jour zéro est la date de publication.

Cela produira une courbe qui ressemble à ceci, montrant un pic d'intérêt initial (et éventuellement les résultats de toute promotion que vous faites, si vous n'avez pas limité votre analyse aux sessions des moteurs de recherche uniquement), suivie d'une longue queue de taux d'intérêt inférieur :

Données réelles pour une publication typique : un pic à la date de publication ou peu après, suivi d'une longue traîne qui, dans de nombreux cas, entraîne finalement plus de sessions que le pic d'origine.

Une fois que vous savez à quoi ressemble la courbe de chaque poste, vous pouvez comparer chaque courbe aux autres, et établir ce qui est « normal » et ce qui ne l'est pas.

Si vous n'avez pas d'outil pour le faire, c'est une douleur dans le cou.

Lorsque j'ai commencé ce projet, mon objectif était d'utiliser Google Sheets pour construire une preuve de concept, avant de m'engager à apprendre suffisamment de Python pour changer la façon dont j'examine les performances du contenu.

Nous décomposerons le processus en phases et étapes :

  1. Trouvez votre ligne de base
    – Listez le contenu que vous souhaitez étudier
    – Découvrez combien de sessions chaque élément de contenu a reçu chaque jour
    – Remplacez la date dans la liste des sessions par le nombre de jours depuis la publication
    – Calculer la courbe "normale" à utiliser comme ligne de base
  2. Identifiez le contenu qui ne ressemble pas à la ligne de base
  3. Tenez-le à jour

Trouvez votre référence de performance de contenu

Listez le contenu que vous souhaitez étudier

Pour commencer, vous devez établir une liste des contenus que vous souhaitez examiner. Pour chaque élément de contenu, vous aurez besoin de l'URL et de la date de publication.

Vous pouvez obtenir cette liste comme vous le souhaitez, que vous la construisiez à la main ou que vous utilisiez une méthode automatisée.

J'ai utilisé un script Apps pour extraire chaque URL de contenu et sa date de publication directement à partir du CMS (dans ce cas, WordPress) à l'aide de l'API, et j'ai écrit les résultats sur une feuille Google. Si vous n'êtes pas à l'aise avec les scripts ou les API, cela reste relativement facile ; vous pouvez trouver plusieurs exemples en ligne de la façon de procéder pour WordPress.

Gardez à l'esprit que vous allez vouloir comparer ces données avec les données de session pour chaque publication, vous devrez donc vous assurer que le "slug" sur cette feuille correspond au format du chemin d'URL fourni par votre solution d'analyse.

Je trouve qu'il est plus facile de créer le slug complet (chemin d'URL) ici, dans la colonne E ci-dessus, plutôt que de modifier les données extraites de Google Analytics. C'est aussi moins lourd en calcul : il y a moins de lignes dans cette liste !

Exemple de formule pour créer une URL complète pour ce site : recherchez le numéro de catégorie fourni par le CMS dans un tableau et renvoyez le nom de la catégorie, qui est placé avant le slug d'article, correspondant au modèle d'URL de ce site (https://site .com/categoryName/articleSlug/)

Si vous n'avez pas accès au backend, vous pouvez créer votre liste en extrayant ces informations de votre site Web lui-même, par exemple lors d'un crawl. Vous pouvez ensuite exporter un fichier CSV des données souhaitées et l'importer dans une feuille Google.

Configurer un champ de données dans OnCrawl pour récupérer les dates de publication du blog d'un site Web.

Les données, y compris l'URL et la date de publication scrapée, dans l'explorateur de données d'OnCrawl, prêtes à être exportées.

Découvrez combien de sessions par jour chaque élément de contenu a gagné

Ensuite, vous avez besoin d'une liste de sessions par élément de contenu et par jour. En d'autres termes, si un élément de contenu a 30 jours et a reçu des visites tous les jours pendant cette période, vous souhaitez avoir 30 lignes pour celui-ci, et ainsi de suite pour le reste de votre contenu.

Vous aurez besoin d'une feuille séparée dans le même document pour cela.

Le module complémentaire Google Analytics pour Google Sheets rend cela relativement facile.

Depuis la vue Google Analytics avec les données que vous souhaitez, vous pouvez demander un rapport de :

Rendez-vous Métrique Dimensions
Depuis 1000 jours
Jusqu'à hier. Les données d'aujourd'hui ne sont pas encore complètes car la journée n'est pas encore terminée. Si vous l'incluez, cela ne ressemblera pas à une journée complète "normale" et réduira toutes vos statistiques.
Séances

Nous sommes intéressés par le nombre de séances.

Pages de destination
Cela répertorie les sessions pour chaque page de destination séparément.Date
Cela répertorie les sessions pour chaque date séparément, plutôt que de nous donner un total de 1000 jours.

L'utilisation de segments de vos données Google Analytics est extrêmement utile à ce stade. Vous pouvez, par exemple, limiter votre rapport à un segment contenant uniquement les URL de contenu que vous souhaitez analyser, plutôt que le site entier. Cela réduit considérablement le nombre de lignes dans le rapport résultant et rend les données beaucoup plus simples à utiliser dans Google Sheets.

De plus, si vous avez l'intention de ne regarder que les performances organiques à des fins strictement SEO, votre segment doit exclure les canaux d'acquisition qui ne peuvent pas être attribués au travail SEO : références, e-mail, réseaux sociaux…

N'oubliez pas de vous assurer que la limite est suffisamment élevée pour ne pas tronquer vos données par erreur.

Calculer le nombre de jours depuis la publication

Pour calculer le nombre de jours écoulés depuis la publication de chaque point de données de l'article, nous devons joindre (ou, si vous êtes un utilisateur de Data Studio, "mélanger") les données du rapport de sessions aux données de votre liste d'éléments de contenu .

Pour ce faire, utilisez l'URL ou le chemin de l'URL comme clé. Cela signifie que le chemin de l'URL doit être formaté de la même manière dans le tableau CMS et dans le rapport Google Analytics.

J'ai créé un tableau séparé afin de pouvoir supprimer tous les paramètres de la page de destination dans mon rapport Analytics. Voici comment j'ai configuré mes colonnes :

  • Page de destination
    Scrubs paramètres du slug d'URL dans le rapport Analytics
    Exemple de formule :

  • Date
    Date à laquelle les sessions ont été enregistrées, à partir du rapport Analytics
    Exemple de formule :

  • Séances
    Date à laquelle les sessions ont été enregistrées, à partir du rapport Analytics
    Exemple de formule :

  • Jours après publication
    Recherche la date de publication de cette URL dans la colonne de la table CSM que nous venons de créer et la soustrait de la date à laquelle ces sessions ont été enregistrées. Si l'URL est introuvable dans la table CMS, signale une chaîne vide plutôt qu'une erreur.
    Exemple de formule :

Notez que ma clé de recherche - le chemin d'accès complet à l'URL - n'est pas la colonne la plus à gauche de mes données ; J'ai dû déplacer la colonne E avant la colonne C pour les besoins de VLOOKUP.

Si vous avez trop de lignes pour remplir cela à la main, vous pouvez utiliser un script comme celui ci-dessous pour copier le contenu de la première ligne et remplir les 3450 suivants environ :

 function FillDown() {
    var feuille de calcul = SpreadsheetApp.getActive();
    feuille de calcul.getRange('F2').activate();
    tableur.getActiveRange().autoFill(feuille de calcul.getRange('F2:F3450), SpreadsheetApp.AutoFillSeries.DEFAULT_SERIES);
} ;

Calculer le nombre « normal » de séances par jour après publication

Pour calculer le nombre de sessions normales, j'ai utilisé un tableau croisé dynamique assez simple, associé à un graphique. Par souci de simplicité, j'ai commencé par regarder le nombre moyen de sessions par jour après la publication.

Voici la moyenne versus la médiane des sessions sur les 1000 jours suivant la publication. Ici, nous commençons (?) à voir les limites de Google Sheets en tant que projet de visualisation de données :

Il s'agit d'un site B2B avec des pics de session en semaine sur l'ensemble du site ; il publie des articles quelques fois par semaine, mais toujours les mêmes jours. Vous pouvez presque voir les modèles hebdomadaires.

Dans ce cas, à des fins de visualisation, il serait probablement préférable de regarder les moyennes mobiles sur 7 jours, mais voici une version rapide qui ne fait que lisser par semaines depuis la publication :

Malgré cette vision à long terme, pour les prochaines étapes, je limiterai le graphique à 90 jours après la publication afin de rester dans les limites de Google Sheets plus tard :

La recherche d'anomalies

Maintenant que nous savons à quoi ressemble la publication moyenne un jour donné, nous pouvons comparer n'importe quelle publication à la ligne de base pour savoir si elle est sur- ou sous-performante.

Cela devient rapidement incontrôlable si vous le faites manuellement. Jeu de mots mis à part, essayons au moins d'automatiser une partie de cela.

Chaque publication (qui date de moins de 90 jours) doit être comparée à la ligne de base que nous venons d'établir pour chaque jour dans notre fenêtre de 90 jours.

Pour cette preuve de concept, j'ai calculé la différence en pourcentage par rapport à la moyenne quotidienne.

Pour une analyse rigoureuse, vous souhaiterez examiner l'écart type des sessions par jour et établir le nombre d'écarts types entre les performances de l'élément de contenu individuel et la ligne de base. Un nombre de sessions qui est de trois écarts-types par rapport à la performance moyenne est plus susceptible d'être une anomalie que quelque chose qui diffère de la moyenne pour ce jour de plus de X %.

J'ai utilisé un tableau croisé dynamique pour sélectionner chaque élément de contenu (avec des sessions au cours des 90 derniers jours) qui présente au moins un jour d'anomalies au cours de cette période :

Dans Google Sheets, les tableaux croisés dynamiques ne sont pas autorisés à créer plus de 100 colonnes. D'où la limitation de 90 jours pour cette analyse.

J'ai dressé ce tableau. (Idéalement, je voudrais tracer la courbe complète de 90 jours pour chacun de ces articles, mais j'aimerais aussi que la feuille réponde si je clique sur une courbe.)

Maintenir les choses à jour : automatiser les mises à jour

Il y a trois éléments majeurs ici :

  1. La ligne de base
  2. Les éléments de contenu que vous souhaitez suivre
  3. La performance de ces éléments de contenu

Malheureusement, aucun de ceux-ci n'est statique.

Théoriquement parlant, la performance moyenne évoluera à mesure que vous améliorerez le ciblage et la promotion de votre contenu. Cela signifie que vous devrez recalculer la ligne de base de temps en temps.

Et si votre site Web connaît des pics et des creux saisonniers, il peut être intéressant d'examiner les moyennes sur des périodes plus courtes, ou sur la même période chaque année, au lieu de créer une fusion comme nous l'avons fait ici.

Au fur et à mesure que vous publiez du contenu, vous souhaiterez également suivre le nouveau contenu.

Et quand on voudra regarder la date de la session de la semaine prochaine, on ne l'aura pas.

En d'autres termes, ce modèle doit être mis à jour plus ou moins fréquemment. Il existe plusieurs façons d'automatiser les mises à jour, plutôt que de reconstruire l'ensemble de l'outil à partir de zéro chaque fois que vous souhaitez y jeter un coup d'œil.

Le plus simple à mettre en œuvre est probablement de planifier une mise à jour hebdomadaire des sessions d'analyse et de tirer de nouveaux messages (avec leurs dates de publication) en même temps.

Le rapport Google Analytics que nous avons utilisé peut être facilement programmé pour s'exécuter automatiquement à intervalles réguliers. L'inconvénient est qu'il écrase les rapports antérieurs. Si vous ne souhaitez pas exécuter et gérer le rapport complet, vous pouvez le limiter à une période plus courte.

Pour mes besoins, j'ai trouvé que regarder une fenêtre de 7 jours me donne suffisamment d'informations pour travailler sans être trop obsolète.

Garder un œil sur les publications permanentes en dehors de la fenêtre de 90 jours

En utilisant les données que nous avons générées plus tôt, disons qu'il a été possible de déterminer que la plupart des messages ont en moyenne environ 50 sessions par semaine.

Il est donc logique de garder un œil sur tout post dont les sessions hebdomadaires sont supérieures à 50, quelle que soit la date de publication :

Les articles sont colorés par période de publication : 90 derniers jours (bleu), année écoulée (orange) et héritage (gris). Les totaux hebdomadaires sont codés par couleur en les comparant à l'objectif de session de 50.

La ventilation du nombre total de sessions par jour dans la semaine permet de différencier rapidement et facilement les publications persistantes avec des performances assez constantes des activités événementielles avec des performances inégales :

Contenu Evergreen (performance constante de ±20/jour)

Promotion extérieure probable (faible performance générale en dehors d'un pic à court terme)

Ce que vous ferez de ces informations dépendra de votre stratégie de contenu. Vous voudrez peut-être réfléchir à la façon dont ces publications convertissent les prospects sur votre site Web ou les comparer à votre profil de backlink.

Limitations de Google Sheets pour l'analyse de contenu

Google Sheets, comme vous l'avez probablement remarqué à ce stade, est un outil extrêmement puissant, mais limité, pour ce type d'analyse. Ces limitations sont la raison pour laquelle j'ai préféré ne pas partager de modèle avec vous : l'adapter à votre cas demanderait beaucoup de travail, mais les résultats que vous pouvez obtenir ne sont encore que des approximations peintes à grands traits.

Voici quelques-uns des principaux points où ce modèle ne parvient pas à fournir :

  • Il y a trop de formules.
    Si vous avez beaucoup (par exemple, des milliers) d'URL de contenu actives, cela peut être extrêmement lent. Dans mes scripts de mise à jour hebdomadaires, je remplace de nombreuses formules par leurs valeurs une fois qu'elles sont calculées afin que le fichier réponde réellement lorsque je l'ouvre plus tard pour analyse.
  • Ligne de base statique.
    Au fur et à mesure que les performances de mon contenu s'améliorent, j'ai simplement plus de contenus "surperformants". La ligne de base doit être recalculée tous les quelques mois pour tenir compte de l'évolution. Ce problème serait facilement résolu en utilisant un modèle d'apprentissage automatique non supervisé pour calculer des moyennes (ou même pour sauter cette étape et identifier directement les anomalies).
  • Une ligne de base "inexacte".
    La ligne de base ne tient pas compte des changements saisonniers ou des incidents à l'échelle du site. Il est également très sensible aux événements extrêmes, en particulier si vous limitez votre calcul à une période de temps plus courte :

Analyse statistiquement erronée des valeurs aberrantes.
En particulier si vous n'avez pas beaucoup de sessions par jour et par élément de contenu, prétendre qu'une différence de 10 % par rapport à une moyenne constitue une performance inhabituelle est un peu vague.

Limite arbitraire à 90 jours d'analyse.
Toute limite arbitraire est un problème. Dans ce cas, cela m'empêche de comprendre les performances du contenu à feuilles persistantes et me rend aveugle à tout pic de leurs performances - bien que je sache, grâce à Google Analytics, que de très anciennes pièces attirent parfois un pic d'attention soudain, ou que certains articles attirent régulièrement l'attention comme ils vieillissent. Ce n'est pas visible dans l'outil, mais ça l'est si vous tracez leur courbe :

  • Problèmes de longueur de feuille.
    Certaines de mes formules et scripts nécessitent une plage de cellules. Au fur et à mesure que le site et les lignes du rapport de sessions grandissent, ces plages doivent être mises à jour. (Mais ils ne peuvent pas dépasser le nombre de lignes présentes sur la feuille, ou certains d'entre eux créent des erreurs.)
  • Incapacité de tracer des courbes complètes pour chaque élément de contenu.
    Allez, je veux tout voir !
  • Interactivité limitée avec les résultats graphiques.
    Si vous avez déjà essayé de sélectionner un point (ou une courbe) sur un graphique à plusieurs courbes dans Google Sheets… vous savez de quoi je parle. C'est encore pire lorsque vous avez plus de vingt courbes sur le même graphique et que les couleurs commencent toutes à se ressembler.
  • Possibilité de négliger le contenu sous-performant sans sessions.
    En utilisant la méthode que j'ai présentée ici, il est difficile d'identifier le contenu qui n'a systématiquement aucune session. Comme il n'apparaît jamais dans le rapport Google Analytics, il n'est pas (encore) repris dans le reste du flux de travail. Un contenu qui ne fonctionne pas constamment apporte peu de valeur, donc à moins que vous ne recherchiez des pages à élaguer, le contenu non performant n'a sans doute pas sa place dans un rapport de performance.
  • Incapacité à s'adapter à l'analyse en temps réel.
    Bien qu'il ne soit pas particulièrement laborieux de réexécuter les scripts de rapport, de calcul de la moyenne et de post-mise à jour, il s'agit toujours d'actions manuelles en dehors de la mise à jour programmée hebdomadaire. Si la mise à jour hebdomadaire est le mercredi et que vous me demandez un mardi comment ça va, je ne peux pas simplement consulter la feuille.
  • Limitations de l'expansion.
    Ajouter un axe d'analyse - comme le classement ou le suivi des mots-clés, ou même des options de filtrage par région géographique - à ce rapport serait onéreux. Non seulement cela exacerberait certains des problèmes existants, mais il serait également extrêmement difficile de mettre en œuvre une visualisation lisible et exploitable.

La conclusion?

L'exécution des mêmes types de calculs dans un environnement d'apprentissage automatique ou de programmation résoudrait presque tous ces problèmes. Ce serait une bien meilleure façon d'exécuter des opérations semi-complexes sur un grand ensemble de données. De plus, il existe d'excellentes bibliothèques qui utilisent l'apprentissage automatique pour détecter de manière fiable les anomalies basées sur un ensemble de données donné ; il existe de meilleurs outils pour la visualisation des données.

Points à retenir sur les performances du contenu

L'analyse des performances du contenu, même avec des méthodes primitives et défectueuses, renforce l'alerte et la prise de décision basée sur les données dans la stratégie de contenu.

Concrètement, comprendre la performance des contenus, c'est ce qui permet de :

  • Comprendre la valeur des promotions initiales par rapport à l'activité longue traîne
  • Repérez rapidement les publications peu performantes
  • Capitaliser sur les activités de promotion externes pour augmenter la portée
  • Reconnaître facilement ce qui fait le succès de certaines publications
  • Identifiez certains auteurs ou certains sujets qui surpassent systématiquement les autres
  • Déterminer quand le SEO commence à avoir un impact sur les sessions

Ces données permettent de prendre des décisions éclairées pour promouvoir le contenu – et quand et comment –, les choix de sujet, le profilage de l'audience, etc.

Enfin, des expériences comme celle-ci montrent que tout domaine pour lequel vous pouvez obtenir des données a une utilisation potentielle pour les compétences de codage, de script et d'apprentissage automatique. Mais vous ne devez pas renoncer à fabriquer vos propres outils si vous ne possédez pas toutes ces compétences.

Commencer votre essai gratuit