En SEO, Dataiku est un outil puissant qui vous permet d’analyser des grands volumes de données, par exemple l’intégralité des liens internes d’un site. Démonstration.
Rappel sur ce qu’est un lien : une URL présente sur une page (source) et désignant une page (de destination)
Sommaire
Ce dont on a besoin :
- Dataiku
- Screaming Frog
- Le rapport All Inlinks de Screaming Frog (Bulk Export > Links)
Deux finalités :
- identifier les liens internes invalides – vers des URLs non-indexables (non-HTTP 200, canonicalisées) – et la zone précise où ils se trouvent. Les informations de localisation du lien permet de les retrouver dans une page source concernée afin de traiter le problème.
- améliorer le maillage interne des pages en analysant les ancres de lien – pour les diversifier, ou mesurer si les différentes ancres correspondent à des positions en SEO
L’export de Screaming Frog est parfait, c’est de la donnée brute que vous pouvez travailler vous-même. C’est par contre un fichier volumineux, 1 lien interne = 1 ligne.
Pour un site de 1000 pages, j’ai par exemple 70 000 lignes.

Ne perdez pas de temps à traiter tout ça avec Google Sheets, il vous faut DATAIKU (ou du python si vous savez ce que vous faites, mais si vous en êtes là, vous n’avez pas besoin de cet article).
Les champs du rapport seront
- Type : type de lien : Hyperlink, Canonical, Redirect
- Source : URL de la page source du lien
- Destination : URL de destination du lien = l’URL du lien
- Size : sans objet
- Alt Text : attribut alt de l’image si elle héberge le lien (l’attibut agit comme ancre de lien)
- Anchor : ancre du lien
- Status Code
- Status
- Follow : oui ou non (nofollow)
- Target : _blank si le lien s’ouvre dans une nouvelle fenêtre
- Rel : vide ou nofollow
- Path Type : lien relatif ou absolu (URL complète)
- Link Path : emplacement du lien dans le code HTML de la page, désigné par son code XPATH
- Link Position : zone d’emplacement du lien dans la page – Navigation, Contenu, Footer
- Link Origin : si le lien provient du code HTML ou est cible d’une redirection
Bref, une quinzaine de champs pas tous utiles. On va chercher à ne garder que des champs pertinents et exploitables. A savoir :

Workflow Dataiku pour préparer votre dataset :

1- Importer l’export all_inlinks en dataset
2 – Prepare :
- Keep rows where Type is Hyperlink
- Remove rows where formula is true : (Source==Destination)
- Keep columns :
- Source
- Destination
- Alt Text
- Anchor
- Status Code
- Link Position
Ce qui nous laissera avec 6 colonnes utiles.
Ici on est dans de l’analyse de données, donc on ne lit pas ses données ligne par ligne, on fait des tableaux croisés dynamiques.
Dataiku a un très bon système de TCD : dans votre dataset préparé,
3 – Allez dans l’onglet Charts

Premier niveau d’analyse : répartition des liens invalides par status code.
- Rows : Destination
- Columns : Status Code – Binning mode : None, use raw values
- Value : Count of records
- Filters : Status Code – Multiple Values – toutes sauf 200
On obtient un la liste des liens inernes invalides les plus maillés, et leur code HTTP.

Deuxième niveau d’analyse : liens invalides par emplacement sur la page source
- Rows : Link Position + Destination
- Columns : Status Code – Binning mode : None, use raw values
- Value : Count of records
- Filters : Status Code – Multiple Values – toutes sauf 200
(identique au premier example, mais ajoutez la dimension Link Position en 1ère colonne)
On quantifie les liens dans chaque zone de la page : Footer, Navigation, Header, Content.

Que faire de tout ça ?
L’idée est de travailler par grands ensembles : corriger une liste de liens en footer est rapide (le footer est un élément unique sitewide), idem pour la navigation, alors que les liens dans le contenu seront à corriger page par page.
La répartition par status code permet aussi de prioriser : les liens vers des 301/302 sont des problèmes mineurs, ceux vers des 404 (ou URLs sans réponses) sont prioritaires.
Préparer un fichier avec uniquement les liens non-HTTP 200 dans le contenu

Créer une recette Prepare sur le dernier dataset :
Prepare :
- Remove rows where Status Code is 200
- Keep rows where Link Position is Content
Votre dataset est prêt, en principe avec un nombre de lignes exploitable, et exportable en CSV.
