Comment faire de l'obfuscation de liens pour votre maillage interne ?

Cloaking du maillage interne ou obfuscation de liens : comment choisir ?

Le cloaking de liens en PHP et l'obfuscation de liens en Javascript sont deux sujets à la fois tendance et subversifs en SEO. Ces deux méthodes d'optimisation du maillage interne entres les pages de votre sites font clairement partie du seo technique dit "avancé" pour l'optimisation du pagerank pour Google. Les consultants expérimentés l'incluent quasiment tous dans leurs audits et depuis cette conférence j'ai vu fleurir les articles, plugin et modules WordPress et autres thèmes  WordPress embarquants ce code offert gratuitement à la communauté. Bref si vous voulez en savoir plus sur l'obfuscation de liens : vous êtes à la source de l'information ! D'ailleurs, si vous souhaitez bénéficier de notre module d'obfuscation pour Magento, contactez nous !

Cloaking is not a crime : La conférence par laquelle tout a commencé !

Suite à mon intervention au seo camp'us en mars 2018 (encore merci à eux pour l'invitation), voici les slides de la conférence. Bien sur en cas de question, n'hésitez pas,  C'est avec plaisir que j'y répondrais.


Définition de l'obfuscation de liens: à quoi ça sert d'obfusquer les liens entre mes pages?

L'obfuscation de liens est l'une de deux grandes techniques de pagerank sculpting, elle permet d'empêcher google de voir un lien <a href="page.html">ancre</a>  comme étant un lien et donc d'éviter la transmission de pagerank non désiré entre deux pages. C'est une technique seo courament utilisée dans le siloing et le cocon sémantique pour parachever l'optimisation du maillage pour les moteurs de recherche.

Rappel sur la notion de page rank : la popularité d'une page sur le web est basé sur son page rank du nom de Larry Page, l'un des deux fondateurs du moteur de recherche Google avec Sergey Brin. Globalement plus une page reçoit de liens depuis d'autres pages, plus elle est puissante. Egalement, chaque page ne peut transmettre qu'une quantité limité de page rank via les liens qu'elle fait. Le pagerank transmis via chaque liens est divisé par le nombre total de liens dans la page. Il est donc particulièrement utile de pouvoir choisir à quelle page on souhaite transmettre du pagerank (priorité SEO / marketing) sans pour autant pénaliser la navigation (priorité marketing).

Un exemple d'obfuscation de lien ?

Comme je déteste les cordoniers mal chaussés ou même tout simplement les SEO qui ne s'appliquent pas leurs propres préconisations techniques, vous pouvez trouver un exemple de lien obfuquer juste en bas de la page : le lien mentions légales. Vous le voyez il fonctionne, met un curseur "main" et en plus est souligné : tout comme un vrai, mais il ne transmet pas de pagerank, de jus. En effet comme vu plus haut il est innutile de "pousser" en seo la page mentions légales dans le footer en lui faisant des liens depuis l'ensemble du site web.

Quels sont les liens à obfusquer en priorité ?

L'obfuscation de liens en référencement passe généralement par trois étapes.

Etape 1 : l'obfuscation des zones communes de vos pages

Vous allez probablement commencer par l'obfuscation de méga menu et du footer. Ces deux premières zone typique d'une page web sont rapidement obfuscable par un utilisateur novice. A cette occasion veillez à bien obfusquer les différents menus du sites Internet, il est fréquent selon votre CMS que les versions Desktop et Mobile soient dans deux ménus techniquements différents.

Etape 2 : L'obfuscation des liens e-commerce

Les pages des sites e-commerce ont vite tendance à faire des liens dans tous les sens. Bien qu'ils soient utilise à votre final, les liens d'ajout à la wishlist, d'envoie par mail à un ami ou encore les facettes de catégories sont de véritables catastrophe en terme de référencement. Vous veillerez donc à les obfusquez en masse eux aussi dans les différents templates de pages concernées.

Etape 3 : l'obfuscation des liens dans le contenu

Les liens dans le contenu même de la page sont les plus puissants car ils sont entouré d'un contexte sémantique généralement riche. Il est donc important d'en exploiter le maximum du potentiel seo. Très souvent d'ailleurs on trouve plusieurs liens sortant vers la même page. Il vous faudra donc étudier lequel (souvent celui avec une ancre riche au sens sémantique) est le plus puissant pour obfusquer les autres. Cette obfuscation là est la plus complexe car elle nécessite que chaque utilisateur du backoffice soit formée à la mise en place d'un bon réglage d'obfuscation.

Comment ça se passe techniquement ?

Une obfuscation d'un lien dans une page web se passe en trois étapes. La première consiste à modifier le html de la page, la seconde à ajouter du javascript qui permet de remplacer le fonctionnement des liens et la troisième en css pour que l'internaute ai l'impression qu'il s'agit d'un lien normal.

Pourquoi on se contente pas du nofollow ?

Il a été prouvé (et ça peut se vérifier dans la couverture de la search console) que google suit les liens nofollow y compris entre les pages d'un site web. Au delà de ce simple crawl le véritables problème des liens no follow est qu'ils diluent le pagerank. Ainsi si votre page contient 10 liens sortants dont 4 liens en nofollow, vous perdez 40% du potentiel de transmission du pagerank de votre page. Pour optimiser le maillage entre les pages et tromper les robots des moteurs de recherche, il faut donc supprimer les liens grâce à la technique seo de l'obfuscation.

L'obfuscation de lien côté en HTML, étape 1/3:

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

Comme vous le voyez ici, on a conservé une ancre standard pour ce "lien" mais fait une modification technique pour que la balise <a> devienne une balise <span>. Nous avons également encodé l'url du lien vers l'autre page en base64 pour éviter que Google ne puisse la reconnaitre comme un format d'url. (Vous pouvez le faire ponctuellement avec cette encodeur en JS (je vous en coderai un en php si je suis motivé ^^)  ou à la volée en PHP dans votre code source). La mise en place d'une balise span est importante car cela garantie que google ne comprenne pas qu'il s'agit d'un lien car span est une balise classique de mise en page uniquement. 

Encoder une url en base64 en ligne !

Cliquez ici pour saisir une url à encoder en base 64

Le code javascript de l'obfuscation - étape 2/3


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

Ce que l'on remarque ici, c'est que seul un clic sur l'un des éléments qui contient la class css "qcd" vient délencher le transfert vers une autre page.

UPDATE du 11/09/2019 : Le script d'obfuscation intègre désormais le click droit dans le système. En gros au click droit, la page s'ouvre un nouvel onglet. Avantages : on bloque "un peu" l'inspect element sur le lien lui même. (ça n'empêchera pas les experts de faire un ctr + U ou autre équivalent).

L'optimisation finale en css pour simuler un vrai lien - étape 3/3

.qcd:hover {
    text-decoration: underline;
    cursor: pointer;
}

Ici on applique simplement un curseur de type main et le soulignement du lien au survol. Bien sur, il faut adapter celui-ci à la couleur de vos liens standards tant au survol qu'au repos. Voilà vous avez désormais tous les éléments en main pour vous aussi profiter d'une technique de référencement avancée et de commencer à obfusquer vos liens !

Bonne obfuscation !

Si cet article vous a plus, n'hésitez pas à le partager ou à me faire un backlink (et pas obfusqué ou cloaké svp ^^)

Autres articles sur le sujet