Auteurs : Wolfangel Cyril
Traduit par : Léo - W-Seils
L'optimisation de la structure des sites web et la pertinence du contenu sont des éléments cruciaux pour une expérience utilisateur optimale et un bon référencement. Dans cet article, je vais partager mon parcours dans le développement d'une suite d'extensions TYPO3 conçues pour améliorer les liens internes des sites web.
Mon aventure avec le web sémantique a commencé en 2008 avec l'extension TYPO3 Solr, une plateforme de recherche open-source. Alors que je me concentrais initialement sur l'amélioration des capacités de recherche, j'ai rapidement compris l'importance cruciale des liens internes - la façon dont les pages sont interconnectées au sein d'un site.
Les méthodes traditionnelles de création manuelle de liens ne sont pas seulement chronophages, elles sont aussi souvent inefficaces pour garantir une structure optimale. Cette constatation m'a amené à explorer l'utilisation des technologies sémantiques et de l'intelligence artificielle pour automatiser et optimiser les connexions entre les pages sur la base de la similarité du contenu.
Après des années de recherche et de développement, j'ai présenté la solution logicielle ATLAS (Automated Topological Link Analysis System) lors de la 25e édition de la Conférence Extraction and Knowledge Management (EGC25) en 2025.
Des études de cas ont démontré l'efficacité d'ATLAS :
« ATLAS est un outil conçu pour automatiser la création de liens internes sur les sites web en utilisant des techniques avancées d'intelligence artificielle. Cette recherche s'inscrit dans un effort d'optimisation du référencement naturel par l'amélioration structurelle des sites web ».
Le travail présenté dans cet article a abouti au développement d'une suite d'extensions TYPO3 complémentaires, permettant l'application pratique des concepts théoriques explorés dans notre recherche.
Cette suite comprend trois extensions principales :
Ensemble, ces extensions forment une solution complète pour optimiser les liens internes des sites TYPO3.
Examinons chacune d'entre elles en détail.
<?php // Exemple de représentation d'un lien entre deux pages $link = [ 'sourcePageId' => $sourceId, 'targetPageId' => $targetId, 'contentElement' => [ 'uid' => $element['uid'], 'type' => $element['CType'], 'header' => $element['header'] ] ] ;
L'extension utilise un graphe D3.js pour visualiser les connexions entre les pages, avec des couleurs différentes représentant les différents types de liens et une taille de nœud proportionnelle à leur importance.
plugin.tx_semanticsuggestion { settings { parentPageId = 1 proximityThreshold = 0.7 maxSuggestions = 3 excerptLength = 150 recursive = 1 excludePages = 8,9,3456 recencyWeight = 0.2 analyzedFields { titre = 1.5 description = 1.0 keywords = 2.0 résumé = 1.2 contenu = 1.0 } } }
Cette configuration vous permet de :
L'extension NLP Tools constitue la base technique de l'analyse sémantique avancée au sein de la suite. Actuellement en 'beta' et compatible avec TYPO3 v12/v13, elle fournit un ensemble de services modulaires utilisables par d'autres extensions via l'injection de dépendances de TYPO3.
Ces services prennent en charge les opérations essentielles de traitement du langage naturel (NLP) :
<?php // Exemple d'injection et d'utilisation dans un autre service TYPO3 use Cywolf\NlpTools\Service\TextAnalysisService ; use Cywolf\NlpTools\Service\LanguageDetectionService ; class MyContentProcessor { private TextAnalysisService $textAnalyzer ; private LanguageDetectionService $languageDetector ; public function __construct( Service d'analyse de texte $textAnalyzer, LanguageDetectionService $languageDetector ) { $this->textAnalyzer = $textAnalyzer ; $this->languageDetector = $languageDetector ; } public function analyze(string $rawText) : array { $language = $this->languageDetector->detectLanguage($rawText) ; // Nettoie, tokenise et supprime les mots vides. $cleanedText = $this->textAnalyzer->removeStopWords($rawText, $language) ; // Réduit les mots à leur racine (stemming) $stemmedWords = $this->textAnalyzer->stem($cleanedText, $language) ; // Retourne un tableau de mots tronqués return [ 'langue' => $language, 'texte_traité' => implode(' ', $stemmedWords) // ... autres analyses possibles ] ; } }
Grâce à cette base solide et à ses fonctionnalités étendues (qui vont au-delà de la simple suppression des mots vides pour inclure la vectorisation, le clustering et la modélisation des sujets), NLP Tools permet à d'autres extensions comme Semantic Suggestion d'effectuer des analyses sémantiques complexes et pertinentes.
Un aspect particulièrement important de NLP Tools est sa prise en charge de plusieurs langues. L'extension comprend des dictionnaires de mots vides et des règles spécifiques pour plusieurs langues européennes :
La détection automatique des langues permet de traiter correctement les sites multilingues sans configuration supplémentaire.
Outre l'optimisation des liens internes, la suite d'extensions s'intègre parfaitement à Apache Solr pour améliorer les résultats de recherche.
Les métriques calculées par Page Link Insights (PageRank, centralité) sont utilisées pour pondérer les résultats de recherche :
plugin.tx_solr { search { pertinence { multiplicateur { pagerank = 2.0 inboundLinks = 1.5 } formula = sum( mul(queryNorm(dismax(v:1)), 1.0), mul(fieldValue(pagerank_f), 2.0), mul(fieldValue(inbound_links_i), 1.5) ) } } }
Cette configuration augmente la pertinence des pages importantes dans la structure du site lors des recherches effectuées par les utilisateurs.
Sur les sites d'actualités, l'extension Semantic Suggestion peut générer automatiquement des sections « Articles connexes » en identifiant les articles partageant des thèmes similaires. Cela permet aux lecteurs de rester plus longtemps sur le site en leur offrant un contenu supplémentaire pertinent.
Dans un contexte d'e-commerce, la suite d'extensions peut améliorer les recommandations de produits en analysant les descriptions et les catégories pour suggérer des produits complémentaires ou alternatifs, augmentant ainsi les opportunités de ventes croisées.
Pour les sites institutionnels comportant de nombreuses pages d'information, l'analyse thématique permet de créer des sections « Voir aussi » cohérentes, facilitant la navigation de l'utilisateur vers des informations connexes sans intervention manuelle.
L'un des défis majeurs du traitement sémantique est la gestion des performances, en particulier sur les sites de grande taille. La suite d'extensions utilise plusieurs stratégies pour maintenir des performances optimales :
La suite d'extensions Page Link Insights, Semantic Suggestion, et NLP Tools pour TYPO3 représente une approche innovante pour l'optimisation automatique des liens internes des sites web. En combinant des techniques d'analyse linguistique, de vectorisation de contenu et de visualisation interactive, elle offre une solution complète pour améliorer la structure du site, l'expérience utilisateur et le référencement naturel (SEO).
Ces extensions transforment une tâche traditionnellement manuelle et chronophage en un processus semi-automatisé guidé par l'analyse sémantique du contenu. Le résultat est un site web plus cohérent, mieux structuré et offrant une meilleure expérience de navigation aux utilisateurs.
Dans un monde où le contenu ne cesse de croître et de se complexifier, ces outils offrent aux administrateurs de sites TYPO3 un avantage significatif dans le maintien d'une architecture de contenu optimale, favorisant ainsi un meilleur engagement de l'utilisateur et une visibilité accrue dans les moteurs de recherche.
Vous voulez optimiser la structure de liens internes de votre site TYPO3 ? Essayez ces extensions dès aujourd'hui :
Ce projet évolue activement, et j'apprécie les contributions, les commentaires et les tests de la part de la communauté TYPO3. Que vous ayez des idées d'amélioration, que vous ayez besoin d'aide pour la mise en œuvre ou que vous souhaitiez contribuer au code, n'hésitez pas à me contacter !
Connectez-vous avec moi sur TYPO3 Slack dans le canal #semantic_suggestion pour discuter de ces extensions, partager vos expériences ou poser des questions.
N'hésitez pas à me contacter directement :
Travaillons ensemble pour améliorer la structure des sites web grâce à des liens internes intelligents et automatisés !