Warum wird in meinen URLs in den Google-Suchergebnissen eine Abfragezeichenfolge angezeigt?

7

Wenn ich eine URL von meiner Website in die Google-Suche eingebe, erhalte ich diese URL zurück, jedoch mit einer hinzugefügten Abfragezeichenfolge in den Ergebnissen. Wenn ich zum Beispiel suche https://example.com/blog/blog/2013/02, wird es in den Suchergebnissen mit den Parametern as angezeigt https://example.com/blog/blog/2013/02?limit=200.

Ich habe die Parameter in der robots.txt- Datei als nicht zugelassen Disallow: /*?. Jetzt zeigt das Google-Suchergebnis die Nachricht als

Eine Beschreibung für dieses Ergebnis ist aufgrund der robots.txt-Datei dieser Site nicht verfügbar. Weitere Informationen.

Wie kann ich vermeiden, dass diese Abfragezeichenfolge in der URL hinzugefügt wird?

Alamelu
quelle
1
Wird diese Abfragezeichenfolge überhaupt von Ihrer Site / Seite verwendet?
MrWhite
2
Wenn der Parameter kein tatsächliches Problem verursacht, würde ich alles tun, um es zu korrigieren, aber nicht blockieren. Sie können die Anforderung zum Entfernen des Parameters neu schreiben. Aber es zu blockieren ist eine schlechte Idee. Tatsächlich haben Sie alle Zugriffe mithilfe von Parametern blockiert und damit Google vollständig blockiert. Ich bin also nicht überrascht von der Nachricht in den SERPs.
Closetnoc
1
Nein, die Abfragezeichenfolge wird auf meiner Website nicht verwendet @ w3d
alamelu
@closetnoc - Wenn wir die Anforderungs-URL wie ohne Querystring umschreiben, wird die oben genannte Nachricht in der Google-Suche nicht angezeigt?
Alamelu
Ich habe eine Antwort hinzugefügt. Versuchen Sie dies und lassen Sie es mich wissen. Meine Pläne gingen in die Luft und so sollte ich den größten Teil des Tages hier sein.
Closetnoc

Antworten:

6

Robots.txt verhindert nur, dass Bots die nicht zugelassenen URLs crawlen und nicht indizieren. Wenn die nicht zugelassenen URLs extern oder intern von einer Seite aus verlinkt sind, die nicht nicht zulässig ist, werden sie im Index mit dem von Ihnen zitierten Snippet-Text angezeigt.

Wenn Sie sie vollständig aus dem Index ausschließen möchten, ist die beste Option wahrscheinlich das kanonische Linkelement:

<head> <link rel="canonical" href="http://www.example.com"> </head>

In dem von Ihnen angegebenen Beispiel https://example.com/blog/blog/2013/02?limit=200würde die Seite Folgendes enthalten:

<head> <link rel="canonical" href="https://example.com/blog/blog/2013/02"> </head>

Dies setzt voraus, dass HTTPS Ihr bevorzugtes Protokoll ist. Wenn dies nicht der Fall ist, sollten Sie dies über die 301-Umleitung normalisieren.

Der Vorteil dieses Ansatzes besteht darin, dass Sie die Webmaster-Tools für Suchmaschinen nicht konfigurieren müssen.

Verwenden von Webmaster-Tools

Eine Alternative ist die Verwendung von URL-Parameterfiltern in den Google- und Bing-Webmaster-Tools. In Google finden Sie es unter Crawl> URL-Parameterfilter .

In der Regel wird diese Seite bereits mit Parametern gefüllt, die der Crawler erkannt hat. Sie können diese jedoch auch manuell angeben.

Angenommen, Sie ?limit=200steuern, wie viele Elemente auf einer Seite angezeigt werden, konfigurieren Sie sie in Google WMT wie folgt:

Wählen Sie "Ja: Seiteninhalt ändert, neu ordnet oder einschränkt"

Wählen Sie "Narrows"

Wählen Sie "Keine URLs"

GDav
quelle
Es scheint (aus Kommentaren), dass ?limit=200es von der Site doch nicht verwendet wird, daher wirkt sich dies wahrscheinlich auf die Regeln für URL-Parameter aus, die Sie in GWT festlegen möchten.
MrWhite
Kombinieren Sie außerdem kein rel = canonical mit der robots.txt - Google sieht das rel = canonical in diesen Fällen nicht.
John Mueller
@ JohnMueller Guter Punkt. Bearbeitet.
GDav
3

Okay. Zunächst werde die los Disallow: /*?in der robots.txt - Datei. Dies verursacht die Nachricht von Google. Google sagt, dass es überhaupt keinen Zugriff auf Ihre Website hat.

Versuchen Sie in Ihrer .htaccess-Datei Folgendes:

RewriteCond %{REQUEST_URI} ^(*.)\?limit=\d+$ [NC]
RewriteRule .* https://example.com/%1 [R=301,L]

Ich habe dies nicht getestet, aber ich bin sicher, dass der reguläre Ausdruck (regulärer Ausdruck) korrekt ist. Ich habe das hier zumindest unter einem anderen Szenario getestet. Versuchen Sie dies und stellen Sie mehrere Anfragen an Ihre Site, indem Sie eine Vielzahl von ?limit=200am Ende der Anfrage hinzugefügten verwenden, um festzustellen, ob eine Weiterleitung zu einer URL ohne diese vorhanden ist.

Ich sage immer noch, dass der Parameter keine wirkliche Wirkung haben und keinen Schaden anrichten sollte. Es sollte in Ordnung sein, es einfach zu verlassen.

Schranknoc
quelle
Ich denke, $1sollte %1in der RewriteRuleSubstitution sein, um sich auf das in RewriteCondKlammern gesetzte Untermuster zu beziehen (im Gegensatz zum RewriteRuleMuster). (+1)
MrWhite
@ w3d werde ich überprüfen. Ich mache seltsame Dinge mit .htaccess, so dass ich mein Denken neu anpassen muss, wenn ich versuche, etwas im normalen Bereich zu tun. Ich mache häufig Regexe im Code, aber was .htaccess betrifft, scheinen sie zu bestimmten Mustern zu passen, so dass ich die .htaccess-Seite meines Gehirns wirklich nicht trainieren kann. Wäre das nun rechts oder links? Oder ist es oben oder unten?
Schranknoc
1
@ w3d Verstanden! Sie haben Recht - natürlich habe ich nicht an Ihnen gezweifelt - ich wollte nur mehr Nachforschungen anstellen, um meine Gedanken zu klären. Glauben Sie mir - das ist eine echte Aufgabe! Danke für die Hilfe!
Schranknoc
0

Sie sind sich nicht sicher, woher der Abfrageparameter stammt, aber es gibt eine Möglichkeit, ihn in Google Analytics zu entfernen. Siehe https://support.google.com/analytics/answer/1010249?hl=de , Thema "URL-Abfrageparameter ausschließen".

Martin Voorzanger
quelle
1
Bezieht sich das nicht nur auf GA-Berichte? In den Google Webmaster-Tools gibt es ähnliche Optionen für Abfragezeichenfolgenparameter, die sich speziell auf die Google-Suche beziehen.
MrWhite