it-swarm.com.de

Wie kann ich verhindern, dass Suchmaschinen Tel-Links crawlen?

Ich habe eine Site, die über eine Schaltfläche "Jetzt anrufen" verfügt, über die Mobilgeräte direkt von der Site aus wählen können. Dies funktioniert einwandfrei, aber ich erhalte Fehler in meinem SEO-Berichterstellungstool. Es werden Fehler für jede Seite ausgegeben, auf der sich dieser Code befindet. Grundsätzlich sieht es so aus, als würden die Crawler den Link mit dem href="tel:18005559000" crawlen und ihn wie einen relativen Link behandeln und am Ende der aktuellen Seiten-URL markieren. Anschließend wird ein 404-Fehler ausgegeben.

Es gibt viele Seiten auf unserer Website, die über diese Schaltfläche verfügen. Es gibt also viele Fehler, und ich befürchte, dass dies meine SEO in Mitleidenschaft zieht. Gibt es überhaupt eine Möglichkeit, die href="tel:18005559000" -Links von Bots und Crawlern zu maskieren?

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

Hier gibt es nichts zu reparieren. Dies sind Fehlalarme.

"Ich fürchte, das zieht meine SEO nach unten" - nein. SEO wird durch das definiert, was Google tatsächlich macht, nicht durch das, was einige von Dritten erstelltes defektes SEO-Reporting-Tool sagt.

Das Werkzeug ist kaputt. Es wird behauptet, Google habe Probleme mit Tel: Links, wenn dies nicht der Fall ist. Ich bin mir ziemlich sicher, dass Google mit Tel: links umgehen kann.

Wenn Sie Ihre Website optimieren, um ein schlechtes Analysetool zu befriedigen, hat dies bestenfalls keine Auswirkungen, und im schlimmsten Fall schadet dies Ihrem tatsächlichen Ranking. Natürlich, wenn Sie einen technisch unwissenden Chef haben, der Ihre Arbeit an diesem Tool misst, dann optimieren Sie es für das Tool ...

8
Harper

Okay. Der Grund, warum ich diese Frage gestellt habe, ist für SEO-Zwecke. Bei einem schnellen Scan mit SEO-Crawler-Software (in diesem Fall BrightEdge). Aufgrund der Fülle von 404-Fehlern, die wir bekamen, erzielten wir ziemlich niedrige Ergebnisse. Dies lag daran, dass die Crawler versuchten, den href="tel:5552234" -Links zu folgen. Sie wurden als relative Links behandelt, was zu 404-Fehlern führte. Zum Beispiel würde es versuchen, dem Link zu folgen, indem es ihn an das Ende der URL anfügt .http://www.example.com/tel:5552234 Dies führt zu einem 404-Fehler für jede Seite, auf der sich diese Links befinden. In meinem Fall war es auf fast jeder Seite. Ich habe versucht, rel="nofollow" in dem Link zu verwenden, und das hat nicht geholfen.


Die Lösung: Ändern Sie den href-Link zu einem Javascript-Klick. Grundsätzlich hatte ich das href auf Knopfdruck. Also habe ich einfach die href entfernt und den Button so geschrieben:

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

Das hat das Problem gelöst und die Crawler daran gehindert, ihm zu folgen, und jetzt erhalte ich keine 404-Fehler bei einem SEO-Scan.

3
Lazerbrains

Sie können das Crawlen mit robots.txt unterbinden. Ich bin mir nicht sicher, wie die Anfrage genau aussieht. Ich vermute, die Crawler fordern eines der folgenden Dokumente an, da sie der Meinung sind, dass die Links in irgendeiner Weise relativ zu Ihrem Server sind:

  • /tel:18005559000
  • /18005559000

Sie können beides ablehnen, indem Sie die folgenden Zeilen in robots.txt einfügen:

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

Suchmaschinen-Crawler wie Googlebot benötigen diese Regeln nicht. Googlebot weiß bereits, dass es nicht versucht, tel: Links von Ihrer Website abzurufen. Es erkennt das Protokoll und weiß nicht einmal zu versuchen. Andere weniger anspruchsvolle Crawler werden Probleme haben.

2

Ich bin mir nicht sicher, ob dies die beste Methode ist, aber Sie könnten den Link mit Javascript verdecken. Ich habe diese Methode hauptsächlich verwendet, um "mailto" -Links oder E-Mail-Adressen zu verdecken, aber sie sollte auch in diesem Fall für Sie funktionieren. Der HTML-Link ist in der Seitenquelle nicht sichtbar. Der Benutzer müsste außerdem Javascript aktivieren, da er sonst nur den Text und nicht die Schaltfläche sehen würde.


Beispiel

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);


Ausgabe

Wenn Javascript aktiviert ist, wird die Schaltfläche geladen und beim Klicken wird zum Link tel: weitergeleitet.

With JS enabled

Wenn Javascript deaktiviert ist, wird nur der HTML-Bereich im Klartext geladen und sieht folgendermaßen aus:

With JS disabled

Das Anzeigen der Quelle zeigt Folgendes:

View Source


Jeder HTML-Obscurer kann verwendet werden, aber in diesem Beispiel habe ich das folgende Tool verwendet - hier

Sie können dieses Beispiel live ansehen (mit jsfiddle) hier

2
Analog