web-dev-qa-db-fra.com

Comment puis-je empêcher les moteurs de recherche d'explorer les liens tel?

J'ai un site qui a un bouton d'appel maintenant pour que l'appareil mobile compose directement depuis le site. Cela fonctionne bien, mais je reçois des erreurs sur mon outil de reporting SEO. Il génère des erreurs pour chaque page comportant ce code. En gros, il semble que les robots explorent le lien avec le href="tel:18005559000", le traitent comme un lien relatif et le balisent à la fin de l'URL de la page en cours, puis une erreur 404 est générée.

Il y a beaucoup de pages sur notre site qui ont ce bouton, donc il y a beaucoup d'erreurs et je crains que cela ne ralentisse mon référencement. Est-il possible de masquer les liens href="tel:18005559000" de bots et de robots d'exploration?

<span itemprop="telephone">
  <a href="tel:18005559000" rel="nofollow"><button>Call Today</button></a>
</span>
6
Lazerbrains

Il n'y a rien à réparer ici. Ce sont de fausses alarmes.

"Je crains que cela ne ralentisse mon référencement" - non. Le référencement est défini par ce que Google en fait fait, pas ce que certains outil de reporting SEO cassé créé par un tiers.

L'outil est cassé. C'est prétendre que Google a des problèmes avec les liens Tel:, alors que ce n'est pas vrai. Je suis presque sûr que Google sait comment gérer les liens Tel:.

Si vous optimisez votre site pour satisfaire un mauvais outil d'analyse, au mieux, cela n'aura aucun effet et, au pire, cela nuira à votre classement réel. Bien sûr, si vous avez un patron techniquement ignorant qui mesure votre travail à l'aide de cet outil, alors oui, optimisez-le pour l'outil ...

8
Harper

D'accord. La raison pour laquelle j'ai posé cette question est à des fins de référencement. Sur une analyse rapide en utilisant le logiciel de robot de référencement (dans ce cas BrightEdge). Nous marquions assez bas en raison de l'abondance de 404 erreurs que nous obtenions. Cela était dû aux robots qui essayaient de suivre les liens href="tel:5552234". Il les traitait comme des liens relatifs et entraînait ainsi 404 erreurs. Par exemple, il essaierait de suivre le lien en l'ajoutant à la fin de l'URL .http://www.example.com/tel:5552234, entraînant ainsi une erreur 404 pour chaque page où ces liens étaient activés. Dans mon cas, c'était à peu près toutes les pages. J'ai essayé d'utiliser rel="nofollow" dans le lien et cela n'a pas aidé.


La solution: changer le lien href en javascript onclick. En gros, j'avais le href sur un bouton. Donc, je viens de prendre le href et scripté le bouton comme suit:

<span itemprop="telephone"><button onclick="window.location.href='tel:18005559000'">Toll-Free</button></span> 

Cela a résolu le problème et empêché les robots d'exploration de le suivre. Maintenant, je ne reçois plus d'erreur 404 lors d'une analyse SEO.

3
Lazerbrains

Vous pouvez interdire l’exploration à l’aide de robots.txt. Je ne sais pas exactement à quoi ressemble la demande. Je suppose que les robots demandent l’un des documents suivants car ils pensent que les liens sont en quelque sorte relatifs à votre serveur:

  • /tel:18005559000
  • /18005559000

Vous pouvez interdire les deux en plaçant les lignes suivantes dans robots.txt:

User-agent: *
Disallow: /tel
Disallow: /1800

Les moteurs de recherche comme Googlebot n’auront pas besoin de ces règles. Googlebot sait déjà qu'il ne faut pas chercher à extraire les liens tel: de votre site. Il reconnaît le protocole et sait même ne pas essayer. Les autres robots d'exploration moins sophistiqués seront ceux qui ont des problèmes.

2

Pas sûr que ce soit la meilleure méthode, mais vous pourriez masquer le lien en utilisant javascript. J'ai principalement utilisé cette méthode pour masquer les liens "mailto" ou les adresses électroniques, mais cela devrait également fonctionner pour vous. Le lien HTML ne serait pas visible dans la source de la page. L'utilisateur devrait également avoir javascript activé, sinon il ne verrait que le texte et pas le bouton.


Exemple

CSS

#obscure b {
display:none;
}

HTML

<span id="obscure">Call Today:18005559000</span>

JS

var s="=tqbo!jufnqspq>#ufmfqipof#?=b!isfg>#ufm;2911666:111#!sfm>#opgpmmpx#?=cvuupo?Dbmm!Upebz=0cvuupo?=0b?=0tqbo?";m="";for(i=0; i<s.length; i++)m+=String.fromCharCode(s.charCodeAt(i)-1);document.getElementById('obscure').innerHTML=(m);


Sortie

Si javascript est activé, le bouton se chargera et, une fois cliqué, ira au lien tel:.

With JS enabled

Lorsque javascript est désactivé, seul l'envergure html se charge en texte brut et se présente comme suit:

With JS disabled

Voir la source montrera ceci:

View Source


Tout obscurcisseur HTML peut être utilisé, mais dans cet exemple, j’ai utilisé l’outil suivant - Here

Vous pouvez voir cet exemple en direct (avec jsfiddle) ici

2
Analog