L’obfuscation de lien : Méthodologie & Code

Mis à jour le 24/11/2025 | Publié le 18/03/2022 | 0 commentaires

L’obfuscation appelée aussi offuscation de lien ou encore cloacking permet de cacher à Google un ou des liens sur une page web. Pourquoi ? Car à ce jour, le maillage interne interne joue un rôle crucial dans le référencement d’un site internet. Cacher un lien permet d’optimiser la diffusion du PageRank de son maillage interne.

Pourquoi faire de l’obfuscation ?

Le PageRank est comme un fluide qui se transmet de page en page diffusant l'autorité du site. Un schéma étant toujours plus clair qu'un pavé de texte pour comprendre l'optimisation référencement SEO, voici comment se diffuse le jus d'autorité en simplifiant :

Diffusion du PageRank standard

Une page X (pas forcément la home) fait un lien vers 4 autres pages, dans ce cas là on a 100/4 = 25. Le constat ici c’est que nous voulons sculpter le PageRank de notre site, on ne souhaite pas diffuser de jus dans les mentions légales, mais plutôt vers nos pages produits qui ont pour but d’être positionnées sur Google. C’est ce pourquoi nous utilisons l’obfuscation de lien.

Une autre utilité du « cloaking black hat » hormis le sculptage du PageRank est de maintenir l’étanchéité d’un maillage interne optimisé comme pour un cocon sémantique recherche sémantique tout en maintenant une bonne expérience utilisateur. Par exemple, si vous devez faire un lien vers une page pour l’utilisateur comme un lien vers un autre silo, vous pouvez utiliser l’offuscation de lien.

En continuant dans son intérêt relié à l'UX, nous pouvons aussi remarquer qu'il serait judicieux de transformer ses liens externes comme pour citer Wikipédia ou encore vos liens footer menu pour l'utilisateur tout en utilisant l'offuscation pour prioriser le PR pour vos pages.

Il existe bien d'autres raisons pour offusquer, comme pour les sites e-commerce, par exemple la page panier, elle n'apporte aucune valeur au pagerank Google.

Ou plus impactant encore, l'offuscation des navigations à facettes afin de maîtriser la diffusion du jus de lien et optimiser le crawl et indexation :

Diffusion du pagerank avec la navigation à facette

Note : l’offuscation peut apporter d’autres bénéfices que l’optimisation du PageRank comme pour optimiser le crawl budget.

Surfeur raisonnable

En réalité le schéma précédent du PageRank contient d'importantes erreurs. Dû au surfeur raisonnable, le PR ne se diffuse pas de façon proportionnelle. Effectivement en fonction des positions importantes de vos liens, Google donne un coefficient différent. C'est-à-dire qu'un lien plein contenu peut entraîner d'importantes redistributions, soit 50 % du PageRank dont 5 % pourraient être redistribués aux 10 liens du footer (soit 0,5 % par lien).

Illustration du surfeur raisonnable (SEO)

En revanche ne vous méprenez pas, même si seulement 5 % du PR total se diffuse sur votre menu et votre footer parmi une vingtaine de liens c'est tout de même dommage pour votre positionnement sur les moteurs de recherche Google.

Imaginez, un menu et un footer avec leurs liens importantes sont présents sur chaque page. C'est-à-dire que sur plus de 100 pages, l'impact du PageRank qui se diffuse à 5 % x100 n'est plus si anecdotique pour les moteurs de recherche. En somme, l'offuscation c'est important, surtout si vous avez plein de pages.

Comment ça marche l’offuscation

Google calcule la diffusion du PageRank lorsqu’il détecte un lien , en revanche les événements comme <button onclick=""> ne sont pas considérés pour Google, du moins pas pour la diffusion du PR.

Si un lien href possède un attribut autre que Dofollow, cela veut dire que le PR ne sera pas diffusé sur la page cible mais réparti parmi tous les sites indexés du web.

Non au Nofollow !

Peut-être pensez-vous qu'il suffit d'utiliser l'attribut rel nofollow pour optimiser le PageRank auprès des moteurs de recherche ? Surtout pas. Pour les moteurs de recherche, nofollow est ce que l'on appelle « un puits à PageRank », un trou noir.

Je m’explique : pour des détails SEO techniques, le PR d’un lien nofollow est redistribué à l’ensemble du web et non la page en question. Dit d’une autre manière, le jus est quand même divisé dans le lien, mais la page n’en bénéficie pas. Vous comprenez le concept du trou noir ?

Schéma de l'offuscation de liens vs nofollow

Même chose s'il y a l'attribut « sponsored » et autre. Si le lien n'est pas pour votre maillage interne et que vous ne voulez pas attribuer de crédit vers l'URL HTTPS, il est nécessaire d'utiliser l'offuscation pour ne pas gâcher le jus de votre site.

White hat ou black hat ?

Plusieurs référenceurs ont posé la question à des gens de chez Google. Actuellement, en 2022, aucun danger de pénalisation quelconque n’est envisagé pour cette pratique. La réponse vient du fait que l’expérience utilisateur est conservée et que cette manière de cloacking ne cache rien à l’utilisateur et n’est pas là pour le tromper.

Le code pour l’offuscation

Les avis diffèrent dans la manière d'obfusquer les liens javascript. Pour certains, un simple <button> ou du code javascript ne suffit pas, Google pourrait quand même détecter le lien. Même si je trouve personnellement que cette analyse n'a aucun fondement technique, je vous apprendrai également à être certain d'obfusquer les liens javascript aux yeux de Google.

L’obfuscation de lien : la méthode simple, rapide et efficace :

<button onclick="window.location.href = '/mentions-legales';"></button>

Un simple lien dans un button. Ni plus ni moins. Facile à mettre en place, rapide et ça marche.

Obfuscation de lien en JavaScript (Base 64) :

Si vous souhaitez être sûr de cacher vos liens url https pour Google, voici une autre manière d'offusquer, on pourrait dire que c'est de l'offuscation de lien cloacké :

1. Le code HTML avec data span pour l'obfuscation :

<span class="urlencode" data-urlencode="aHR0cHM6Ly93d3cuNDEwLWdvbmUuZnIvYS1wcm9wb3MuaHRtbA==">
mentions légales
</span>

Cliquez ici pour encoder votre url en base 64 (invisible aux robots)

Vous devez entrer une url.

2. Le code javascript de l’obfuscation :

<script>
document.addEventListener("DOMContentLoaded", function(event) {
var classname = document.getElementsByClassName("urlencode");
for (var i = 0; i < classname.length; i++) {
classname[i].addEventListener('click', myFunction, false);
classname[i].addEventListener('contextmenu', myRightFunction, false);
}
});
var myFunction = function(event) {
var attribute = this.getAttribute("data-urlencode");
if(event.ctrlKey) {
var newWindow = window.open(decodeURIComponent(window.atob(attribute)), '_blank');
newWindow.focus();
} else {
document.location.href= decodeURIComponent(window.atob(attribute));
}
};
var myRightFunction = function(event) {
var attribute = this.getAttribute("data-urlencode");
if(event.ctrlKey) {
var newWindow = window.open(decodeURIComponent(window.atob(attribute)), '_blank');
newWindow.focus();
} else {
window.open(decodeURIComponent(window.atob(attribute)),'_blank');
}
}
</script>

3. La touche finale en CSS pour simuler un « vrai » lien :

.urlencode:hover {
cursor : pointer;
// Ici mettre le css de vos liens pour simuler vos liens classiques
}

ps : rendre à césar ce qui appartient à césar. Le code en base 64 à été repris de chez 410 Gone.

L’obfuscation de lien en ROT 13 :

Si vous êtes encore plus paranoïaque, cela permet d'encoder vos URL autrement qu'en base64, étant donné qu'il est très répandu. Cette technique permet d'obtenir un résultat probablement plus logique et permet de renforcer la sécurité.

Pour échapper aux robots scrapers et autres robots malveillants, voici un exemple pratique qui trompe efficacement ces robots : <span class="link_obf" data_obf="<?= str_rot13('monlien.html') ?>">lien obfusqué</span>

Le github : https://github.com/drogbadvc/link-obfuscation pour gérer le pagerank et éviter de diluer le pagerank.

L’obfuscation sur WordPress :

Si vous utilisez WordPress, ce sera plus compliqué. Vous pouvez tout de même ajouter un module code sur chacune de vos pages avec la balise title <script>.

Puis insérez le JS ou votre button en html, mais par exemple, pour le menu natif de WordPress, modifier le html sera plus compliqué.

C'est pourquoi je vous conseille des plugins d'offuscation de lien ou de liens nofollow :

  • Obfuscate → 59€
  • WP_Rank → 79€
  • Ghostlink (liens internes) → 99€

L’obfuscation avancée

Parlons de quelque chose qui fâche tous les référenceurs SEO : les mega menus.

Pourquoi ? Parce que dans n'importe quel cas où l'utilisateur est sur une page, à cause du mega menu, des silos sont liés entre eux, ainsi que leurs catégories et sous-catégories. Autrement dit cela n'est pas du tout optimisé pour Google bot ni pour l'utilisateur.

Voici à quoi ressemble un mega menu si vous ne saviez pas :

Exemple de mega menu

Pour palier ce problème, il est possible de mettre en place de l'offuscation en mode actif. Visuellement, la diffusion du PageRank d'un mega menu dans un article contenu ressemble à ça, même s'il est siloisé correctement à l'intérieur des pages :
La diffusion du pagerank d'un mega menu sans offuscation

Dit autrement, les mega menus détruisent toute votre structure de référencement. Alors qu'en offusquant les liens des megas menus, cela ressemble à ça :

La diffusion du pagerank d'un mega menu avec offuscation de lien

L’obfuscation dynamique

Pour limiter la diffusion du PageRank des mega menus (entre autres), il est nécessaire de mettre en place de l'obfuscation dynamique. Ainsi, vous ne devez pas mettre en clair des

Auteur

Stan De Jesus Oliveira
Propriétaire et fondateur de createur2site

Stan De Jesus Oliveira est le propriétaire de createur2site, il accompagne les entreprises dans leur création de site web, le Web Design et le référencement naturel SEO.

0 commentaires

Soumettre un commentaire

Votre adresse e-mail ne sera pas publiée. Les champs obligatoires sont indiqués avec *

Foire Aux Questions

L'obfuscation est une pratique essentielle dans le développement web moderne. Cette section répond aux questions les plus fréquentes sur cette technique de protection du code source.

Qu'est-ce que l'obfuscation de code ?

L'obfuscation est une technique qui consiste à rendre du code source difficile à lire et à comprendre pour les humains, tout en maintenant sa fonctionnalité. Elle transforme le code en une version complexe et confuse par des méthodes comme le renommage de variables, la suppression d'espaces, ou l'ajout de code inutile. Cette pratique est couramment utilisée en JavaScript, Java, et d'autres langages de programmation.

Pourquoi faire de l'obfuscation de son code source ?

L'obfuscation protège votre propriété intellectuelle en empêchant la copie facile de votre code. Elle complique également la rétro-ingénierie, rendant difficile la découverte de vulnérabilités ou de logiques métier sensibles. Pour les développeurs web, elle sécurise les algorithmes propriétaires et décourage le vol de code JavaScript côté client. C'est une couche de sécurité supplémentaire, particulièrement utile pour les applications commerciales et les boutiques en ligne.

Quels sont les principaux avantages de l'obfuscation ?

Les avantages incluent la protection de la propriété intellectuelle, la réduction du risque de vol de code, et la difficulté accrue pour les attaquants d'analyser le code. Elle réduit également la taille des fichiers en supprimant les espaces et commentaires, améliorant ainsi les performances de chargement et le score FCP. L'obfuscation rend plus complexe la modification non autorisée du code et protège les secrets commerciaux intégrés dans les applications.

Quels sont les inconvénients de l'obfuscation ?

L'obfuscation complique le débogage et la maintenance du code, nécessitant de conserver une version source lisible. Elle peut ralentir l'exécution dans certains cas et rend difficile le travail d'équipe sans documentation appropriée. L'obfuscation n'est pas une sécurité absolue : un attaquant déterminé peut toujours désобfusquer le code. De plus, elle peut créer une fausse impression de sécurité si elle est utilisée comme unique mesure de protection.

Quels outils peut-on utiliser pour obfusquer son code ?

Pour JavaScript, les outils populaires incluent UglifyJS, Terser, et JavaScript Obfuscator. Pour Java, ProGuard et DexGuard sont largement utilisés. En Python, Pyarmor offre une protection robuste. En PHP, on trouve IonCube et Zend Guard. Le choix dépend du langage, du niveau de protection souhaité, et des besoins en performance. Certains outils offrent également la minification combinée à l'obfuscation.

L'obfuscation remplace-t-elle les mesures de sécurité classiques ?

Non, l'obfuscation ne remplace jamais les bonnes pratiques de sécurité. Elle doit être considérée comme une couche de défense supplémentaire, et non comme une solution unique. Les pratiques essentielles comme la validation des entrées, le chiffrement des données sensibles, l'authentification forte, et les mises à jour de sécurité restent indispensables. L'obfuscation complète une stratégie de sécurité globale mais ne la substitue pas.

Comment optimiser son site web au-delà de l'obfuscation ?

L'obfuscation n'est qu'un aspect de l'optimisation web. Il est important d'optimiser sa balise title pour le référencement, d'améliorer les performances globales du site, et d'éviter les pièges comme l'utilisation de templates génériques qui peuvent compromettre l'unicité de votre projet. Une approche holistique combinant sécurité du code, performance et optimisation technique garantit les meilleurs résultats.