Un package R pour détecter le duplicate content

U
Formation Data SEO Labs

Avec le développement des générateurs automatiques de textes, la vérification du contenu dupliqué apparaît comme un vrai enjeu SEO. J’ai développé un « Duplicate Content Checker » sous la forme d’un package R afin de mesurer la similarité entre 2 pages web. Je vous le partage ici.

duplicateContentR, le package R

L’outil duplicate Content R permet de contrôler le duplicate content interne et externe, URL par URL. Il est basé sur un scraper qui récupère le contenu textuel principal de chacune des 2 URLs et les compare. Chacun de ces contenus est ensuite transformé en vecteur de mots afin de pouvoir utiliser la distance de Jaccard. Cette distance calcule le pourcentage de termes en commun dans les 2 vecteurs.

Pour l’utilisateur de duplicateContentR, il suffit de préciser les 2 URLs à comparer ainsi que le user agent avec lequel récupérer les contenus des pages.

duplicate content tool r
Mesure de similarité entre 2 pages web pour détecter le contenu dupliqué / plagié

Vous pouvez retrouver le Package R duplicateContentR sur mon compte Github

NB : Les plus avancés d’entre-vous trouveront dans ce package une base pour automatiser la détection du duplicate content sur d’avantages d’URLs.

Je ferais sûrement évoluer ce package au fil de l’eau (et selon vos idées), n’hésitez pas à me suivre sur Twitter pour être informés des prochaines évolutions :

A propos de l'auteur

Rémi Bacha

Passionné de SEO et Data Science. Cofondateur des formations Data SEO Labs.

4 Commentaires

  • Super, Merci Rémi,
    Mais la regex que vous utilisez n’est pas parfaite. Pour l’avoir testé sur des dizaines de sites, il lui arrive de bloquer ou de récupérer l’ensemble des scripts présents dans le footer. Je crois que le fait de ne pas inclure les descendants peut avoir ce type de conséquences.

    • Je peux mettre à jour le package sans problème si tu as mieux pour le scrap. Peux-tu me donner la regex que tu utilises pour contourner les problèmes dont tu parles ?

    • Merci Greg ! J’ai utilisé ce xPath : //text()[not(ancestor::script)][not(ancestor::style)][not(ancestor::noscript)][not(ancestor::form)][string-length(.) > 10] »

Articles récents

Rémi Bacha

Passionné de SEO et Data Science. Cofondateur des formations Data SEO Labs.

Restons en contact

RDV sur les réseaux sociaux pour discuter et être informé de mes prochains articles :