L’article explique comment détecter des pages web similaires, même si leur contenu n’est pas strictement identique, en utilisant l’algorithme SimHash. Contrairement aux fonctions de hachage classiques comme MD5, qui produisent des empreintes radicalement différentes dès qu’un caractère change, SimHash génère des signatures numériques proches pour des contenus proches. Cela permet de repérer des doublons partiels, comme des fiches produits identiques avec une seule ville modifiée.
L’auteur détaille le fonctionnement de SimHash, inspiré d’une méthode publiée en 2002 et popularisée par Google en 2007 pour dédupliquer des milliards de pages. L’algorithme repose sur une "élection" de 64 questions binaires, où chaque mot du texte "vote" en fonction de son propre hachage. Le résultat final est une empreinte de 64 bits reflétant la similarité globale du contenu.
Enfin, l’article propose une implémentation en PHP sans dépendances, adaptée à des comparaisons en base de données pour des millions de pages. Cette approche évite le recours coûteux à des modèles de langage (LLM) tout en restant efficace pour des cas comme le crawler de redirection.io.