Bei DeepCrawl habe ich jedes Jahr Tausende von technischen SEO-Problemen auf einigen der größten Unternehmenswebsites der Welt behoben.
Ich habe einen Googlebot-Simulator in Chrome erstellt, um komplexe technische SEO-Probleme schnell zu replizieren und zu debuggen. Ich nannte es die Chromebot-Technik.
In diesem Handbuch werde ich erklären, wie Sie Ihren eigenen Googlebot-Simulator in Google Chrome erstellen, um komplexe technische SEO-Probleme zu beheben.
Was ist die Chromebot-Technik?
Die Chromebot-Technik ist eine einfache Nicht-Code-Lösung, die es einem Menschen ermöglicht, Chrome-Einstellungen so zu konfigurieren, dass sie sich wie Googlebot-Crawler verhalten (nicht rendern). Es kann SEO-Spezialisten helfen, eindeutige Crawling- und Indexierungsprobleme auf einer Website zu identifizieren.
Warum diese Technik verwenden?
Ich habe diese Technik bei DeepCrawl häufig verwendet, um unzählige Probleme beim Crawlen und Indizieren von Clients zu beheben.
Es ist eine ziemlich einfache, aber effektive Nicht-Code-Technik, die technischen SEOs hilft, mehr wie ein Suchmaschinen-Crawler und weniger wie ein Mensch zu denken.
Viele Websites können lustige Dinge tun, wenn Googlebot-Benutzer Seiten anfordern.
Woher kennen Sie die Einstellungen des Googlebot-Crawlers?
Alle Einstellungen basieren auf der Zeit, die ich damit verbracht habe, mit Ingenieuren zu chatten, die Dokumentation zum Googlebot zu studieren und die DeepCrawl-Dokumentation zum Seiten-Rendering-Service zu aktualisieren.
Ich habe die Originaldokumente aufgelistet, auf denen die Einstellungen basieren:
- Beheben Sie suchbezogene JavaScript-Probleme
- Verstehen Sie das Rendern in der Google-Suche
- JavaScript und SEO: Der Unterschied zwischen Crawling und Indizierung
Was benötigen Sie für diese Technik?
Sie benötigen lediglich Google Chrome Canary und ein virtuelles privates Netzwerk (VPN).
Warum Googlebot in Google Chrome simulieren?
Die Verwendung dieser Technik bietet vier Hauptvorteile, die ich kurz erläutern werde.
Debugging in Google Chrome
Ich habe in meiner Zeit bei DeepCrawl Hunderte von Websites debuggt. Webcrawling-Tools von Drittanbietern sind erstaunlich, aber ich habe immer festgestellt, dass sie Grenzen haben.
Wenn ich versuche, die Ergebnisse dieser Tools zu interpretieren, wende ich mich immer an Chrome, um komplexe Probleme zu verstehen und zu debuggen.
Google Chrome ist immer noch mein bevorzugtes Nicht-SEO-Tool zum Debuggen von Problemen, und wenn es konfiguriert ist, kann es sogar Googlebot simulieren, um zu überprüfen, welche Crawling-Tools aufgenommen werden.
Googlebot verwendet Chromium
Gary stellte klar, dass Googlebot eine eigene benutzerdefinierte Lösung zum Abrufen und Herunterladen von Inhalten aus dem Web verwendet. Die dann an die Indexierungssysteme weitergegeben werden.
Es gibt keine Hinweise darauf, dass Googlebot Crawler Chromium oder Chrome verwendet, aber Joshua Giardino von IPullRank macht ein großartiges Argument dafür, dass Google Chromium verwendet, um einen browserbasierten Webcrawler zu erstellen.
Google Chrome basiert ebenfalls auf dem Open-Source-Chromium-Projekt sowie vielen anderen Browsern.
Es ist dann sinnvoll, einen Chromium-Browser zu verwenden, um Googlebot-Webcrawling zu simulieren, um Ihre Website besser zu verstehen.
Einzigartige SEO-Einblicke
Wenn Sie Google Chrome verwenden, um Webseiten wie Googlebot schnell zu interpretieren, können Sie in wenigen Minuten besser verstehen, warum Crawling- oder Indexierungsprobleme auftreten.
Anstatt Zeit damit zu verbringen, auf die Ausführung eines Webcrawlers zu warten, kann ich diese Technik verwenden, um potenzielles Crawlen und Indizieren schnell zu debuggen.
Ich verwende dann die Crawling-Daten, um das Ausmaß eines Problems zu sehen.
Googlebot ist kein Mensch
Das Web wird komplexer und dynamischer.
Es ist wichtig, sich daran zu erinnern, dass Sie beim Debuggen von Crawling- und Indexierungsproblemen ein Mensch und der Googlebot eine Maschine sind. Viele moderne Websites behandeln diese beiden Benutzer unterschiedlich.
Google Chrome, das entwickelt wurde, um Menschen beim Navigieren im Internet zu helfen, kann jetzt einem Menschen helfen, eine Website wie einen Bot anzuzeigen.
So richten Sie den Googlebot-Simulator ein
Richtig, genug vom Warum. Lassen Sie mich erklären, wie Sie Ihren eigenen Googlebot-Simulator erstellen.
Google Chrome herunterladen
Ich würde empfehlen, Chrome Canary herunterzuladen und nicht Ihren eigenen Google Chrome-Browser zu verwenden (oder wenn Sie zu Firefox gewechselt sind, verwenden Sie Google Chrome).
Der Hauptgrund dafür ist, dass Sie die Browsereinstellungen ändern, was schmerzhaft sein kann, wenn Sie vergessen, sie zurückzusetzen oder eine Million Tabs geöffnet haben. Sparen Sie sich etwas Zeit und verwenden Sie Canary einfach als Ihren speziellen Googlebot-Simulator.
Laden Sie ein VPN herunter oder verwenden Sie es
Wenn Sie sich außerhalb der USA befinden, stellen Sie sicher, dass Sie Zugriff auf ein virtuelles privates Netzwerk (VPN) haben, damit Sie Ihre IP-Adresse in die USA wechseln können.
Dies liegt daran, dass Googlebot standardmäßig aus den USA crawlt und um das Crawling-Verhalten wirklich zu simulieren, müssen Sie so tun, als würden Sie auf eine Website aus den USA zugreifen.
Chrome-Einstellungen
Sobald Sie diese heruntergeladen und eingerichtet haben, müssen Sie die Chrome-Einstellungen konfigurieren.
Ich habe eine Erklärung gegeben, warum Sie jede Einstellung konfigurieren müssen, aber die ursprüngliche Idee, Chromebot zu verwenden, kam mir, als ich das Seitenrendering-Servicehandbuch neu schrieb.
Web Dev Tools
Die Benutzeroberfläche der Web Developer Tools ist ein wichtiger Bestandteil der Anzeige Ihrer Website wie Googlebot. Um sicherzustellen, dass Sie in der Konsole navigieren können, müssen Sie die Web Dev Tools in ein separates Fenster verschieben.
Denken Sie daran, dass Ihr DevTools-Fenster mit der Registerkarte verknüpft ist, in der Sie es geöffnet haben. Wenn Sie diese Registerkarte in Google Chrome schließen, werden auch das Fenster Einstellungen und DevTools geschlossen.
Es ist sehr einfach, dies zu tun, alles was Sie tun müssen, ist:
- Klicken Sie mit der rechten Maustaste auf eine Webseite und klicken Sie auf Element prüfen (oder STRG + UMSCHALT+ I)
- Navigieren Sie zur rechten Seite, klicken Sie auf die 3 vertikalen Punkte und wählen Sie die Option ganz links am Dock.
Die Web Dev Tool-Konsole befindet sich jetzt in einem separaten Fenster.
User-Agent-Token
Eine User–Agent–Zeichenfolge – oder Textzeile – ist eine Möglichkeit für Anwendungen, sich gegenüber Servern oder Netzwerken zu identifizieren. Um den Googlebot zu simulieren, müssen wir den User-Agent des Browsers aktualisieren, damit eine Website weiß, dass wir der Webcrawler von Google sind.
Befehlsmenü
Verwenden Sie das Befehlsmenü (STRG + Umschalt + P) und geben Sie „Netzwerkbedingungen anzeigen“ ein, um die Registerkarte Netzwerkbedingungen in DevTools zu öffnen und den Benutzeragenten zu aktualisieren.
Handbuch
Navigieren Sie dazu zum separaten Fenster Web Dev Tools und drücken Sie die Esc-Taste. Dadurch wird die Konsole geöffnet.
Klicken Sie auf die drei kleinen Schaltflächen links auf der Registerkarte Konsole.
Klicken Sie in der Liste der Optionen auf die Netzwerkbedingungen. Dadurch wird die Registerkarte Netzwerkbedingungen neben der Registerkarte Konsole geöffnet.
Scrollen Sie auf der Registerkarte Netzwerkbedingungen nach unten und deaktivieren Sie die Option ‚User-Agent automatisch auswählen‘.
Mit Google Chrome können Sie jetzt die User-Agent-Zeichenfolge Ihres Browsers in Googlebot oder Googlebot Mobile ändern.
Normalerweise setze ich es standardmäßig auf Googlebot Mobile mit Mobile-Indexing. Ich würde jedoch empfehlen, in der Google Search Console nachzusehen, welcher Googlebot Ihre Website am häufigsten crawlt.
Der Googlebot-User-Agent verwendet automatisch die dev Beta Chrome-Version, nicht die stabile Version. Dies ist normalerweise kein Problem für 99% der Websites, aber wenn Sie müssen, können Sie die benutzerdefinierte Benutzeroberfläche aus stabilem Chrome eingeben.
Nachdem Sie den User-Agent geändert haben, schließen Sie die Konsole (drücken Sie erneut ESC).
Zustandsloses Crawlen aktivieren
Googlebot crawlt Webseiten zustandslos über Seitenladungen hinweg.
Die Entwicklerdokumentation für die Google-Suche besagt, dass dies bedeutet, dass jede neue gecrawlte Seite einen neuen Browser verwendet und nicht den Cache, die Cookies oder den Speicherort zum Ermitteln und Crawlen von Webseiten verwendet.
Unser Googlebot-Simulator muss auch die Zustandslosigkeit (so weit wie möglich) auf jeder neu geladenen Seite replizieren. Dazu müssen Sie den Cache, die Cookies und den Speicherort in Ihrem Chrome deaktivieren.
Cache deaktivieren
Befehlsmenü
Verwenden Sie das Befehlsmenü (STRG + Umschalt + P) und geben Sie „Cache deaktivieren“ ein, um den Cache zu deaktivieren, wenn DevTools geöffnet ist.
Manuell
Um den Cache zu deaktivieren, gehen Sie zum Netzwerk-Panel in DevTools und aktivieren Sie ‚Cache deaktivieren‘.
Cookies deaktivieren
Befehlsmenü
Verwenden Sie das Befehlsmenü (STRG + Umschalt + P) und geben Sie „Cache deaktivieren“ ein, um den Cache zu deaktivieren, wenn DevTools geöffnet ist.
Manuell
Navigieren Sie in Chrome zu chrome://settings/cookies. Wählen Sie in den Cookie-Einstellungen die Option „Cookies von Drittanbietern blockieren“.
Deaktivieren von location
In Chrome navigieren Sie zu chrome://settings/content/location in Ihrem Browser. Schalten Sie „Vor dem Zugriff fragen (empfohlen)“ auf „Blockiert“ um.
Disable Service Worker
Googlebot deaktiviert Schnittstellen, die auf der Service Worker-Spezifikation basieren. Dies bedeutet, dass der Service Worker umgangen wird, der möglicherweise Daten zwischenspeichert und URLs vom Server abruft.
Navigieren Sie dazu zum Anwendungsfenster in DevTools, gehen Sie zu Service Workers und aktivieren Sie die Option ‚Netzwerk umgehen‘.
Nach der Deaktivierung muss der Browser immer eine Ressource aus dem Netzwerk anfordern und keinen Servicemitarbeiter verwenden.
JavaScript deaktivieren
Der Googlebot-Crawler führt beim Crawlen kein JavaScript aus.
Die Crawling- und Rendering-Subsysteme werden im Understand the JavaScript SEO basics Guide und im Googlebot & JavaScript: A Closer Look at the WRS auf der TechSEO Boost 2019 näher erläutert.
Googlebot ist ein sehr komplexes System, und selbst dieses Diagramm oben ist eine zu starke Vereinfachung. Der Googlebot-Crawler muss jedoch unabhängig vom Rendering zuerst eine Webseite abrufen, herunterladen und überprüfen.
Es ist wichtig sicherzustellen, dass wir serverseitiges HTML, HTTP-Statuscodes und Ressourcen ohne JavaScript in unserem Googlebot-Simulator überprüfen können.
Befehlszeile
Verwenden Sie das Befehlsmenü (STRG + Umschalt + P) und geben Sie „JavaScript deaktivieren“ ein, um JavaScript schnell zu deaktivieren.
Handbuch
Um JavaScript in Chrome zu deaktivieren, navigieren Sie zu DevTools und klicken Sie auf das Einstellungszahnrad.
Aktivieren Sie dann das Kontrollkästchen ‚JavaScript deaktivieren‘.
Wenn Sie jetzt Ihren Googlebot-Simulator verwenden, überprüfen Sie nur den anfänglichen serverseitigen HTML-Code. Auf diese Weise können Sie besser verstehen, ob Probleme mit Links, Inhalten oder HTTP-Statuscodes die Crawler-Probleme verursachen.
Netzwerkpanel
Schließlich ist es Zeit, das Netzwerkpanel zu konfigurieren. In diesem Bereich in DevTools werden Sie viel Zeit als Googlebot verbringen.
Das Netzwerkfenster wird verwendet, um sicherzustellen, dass Ressourcen abgerufen und heruntergeladen werden. In diesem Bereich können Sie die Metadaten, HTTP-Header, Inhalte usw. jeder einzelnen URL überprüfen, die beim Anfordern einer Seite heruntergeladen wurde.
jedoch; Bevor wir die vom Server heruntergeladenen Ressourcen (HTML, CSS, IMG) wie Googlebot überprüfen können, müssen wir die Header aktualisieren, um die wichtigsten Informationen im Panel anzuzeigen.
Gehen Sie in DevTools zum Netzwerkfenster (jetzt ein separates Fenster). Klicken Sie in der Tabelle im Bedienfeld mit der rechten Maustaste auf die Spaltenüberschriften und wählen Sie die unten aufgeführten Überschriften aus, die als Spalten im Netzwerkfenster hinzugefügt werden sollen (entfernen Sie alle anderen, die nicht aufgeführt sind).
Ich habe auch eine kurze Erklärung zu jeder Überschrift gegeben und warum sie hinzugefügt werden sollten.
Status
Der https-Statuscode der URL, die vom Server heruntergeladen wird. Googlebot ändert sein Verhalten beim Crawlen abhängig von der Art des HTTP–Statuscodes – eine der wichtigsten Informationen, die beim Auditing von URLs zu verstehen sind.
Schema
Zeigt das unsichere https:// oder sichere https:// Schema der heruntergeladenen Ressource an. Googlebot bevorzugt das Crawlen und Indizieren von HTTPS-URLs, daher ist es wichtig, ein gutes Verständnis für das Schema zu erhalten, das von Ressourcen auf einer Seite verwendet wird.
Domäne
Zeigt die Domäne an, in die die Ressourcen heruntergeladen wurden. Es ist wichtig zu verstehen, ob wichtige Inhalte auf einem externen CDN, einer API oder einer Subdomain basieren, da der Googlebot möglicherweise Probleme beim Abrufen der Inhalte hat.
Remote-Adresse
Google Chrome listet die IP-Adresse des Hosts auf, von dem die Ressourcen heruntergeladen werden. Da das Crawling-Budget einer Website auf der IP-Adresse des Hosts und nicht auf der Domain basiert, ist es wichtig, auch die IP-Adresse jeder abgerufenen URL zu berücksichtigen.
Type
Der MIME-Typ der angeforderten Ressource. Es ist wichtig sicherzustellen, dass wichtige URLs mit dem richtigen MIME-Typ gekennzeichnet sind, da verschiedene Arten von Googlebots an verschiedenen Arten von Inhalten (HTML, CSS, IMG) interessiert sind.
Size
Die kombinierte Größe der Antwortheader plus des Antworttextes, wie vom Server geliefert. Es ist wichtig, die Website-Geschwindigkeit einer Website zu verbessern, da dies sowohl Ihren Benutzern als auch dem Googlebot helfen kann, schneller auf Ihre Website zuzugreifen.
Zeit
Die Gesamtdauer vom Start der Anforderung bis zum Empfang des letzten Bytes in der Antwort. Die Antwort Ihres Servers kann das Crawl-Rate-Limit von Googlebot beeinflussen. Wenn der Server langsamer wird, crawlt der Webcrawler Ihre Website weniger.
Priorität
Die beste Vermutung des Browsers, welche Ressourcen zuerst geladen werden sollen. Dies ist nicht, wie Googlebot kriecht priorisiert URLs zu kriechen, aber es kann nützlich sein, um zu sehen, welche Ressourcen durch den Browser priorisiert werden (mit seiner eigenen Heuristik).
Last Modified
Der HTTP-Header Last-Modified response enthält das Datum und die Uhrzeit, zu der der Ursprungsserver angibt, dass die Ressource zuletzt geändert wurde. Diese Antwort kann vom Googlebot in Kombination mit anderen Signalen verwendet werden, um das Crawlen auf einer Website zu priorisieren.
US-IP-Adresse
Sobald Sie die Netzwerk-Panel-Header in Chrome DevTools aktualisiert haben, ist Ihr Googlebot-Simulator fast fertig.
Wenn Sie es sofort verwenden möchten, müssen Sie zu einer US-IP-Adresse wechseln.
Googlebot crawlt aus den Vereinigten Staaten von Amerika. Aus diesem Grund würde ich immer empfehlen, Ihre IP-Adresse in die USA zu ändern, wenn Sie Ihren Googlebot-Simulator verwenden.
Dies ist der beste Weg, um zu verstehen, wie sich Ihre Website verhält, wenn Sie vom Googlebot besucht wird. Wenn eine Website beispielsweise Besucher mit US-IP-Adressen blockiert oder Besucher basierend auf ihrem Standort geografisch umleitet, kann dies zu Problemen beim Crawlen und Indizieren einer Website durch Google führen.
Ich, Googlebot Chrome
Sobald Ihre IP-Adresse geändert wurde, können Sie Ihren eigenen Googlebot-Simulator erstellen.
Wenn Sie testen möchten, ob es funktioniert, gehen Sie zu angular.io oder eventbrite.com. Diese Websites benötigen JavaScript, um Inhalte und Links zu laden – wenn JavaScript deaktiviert ist, laden diese Websites Inhalte nicht ordnungsgemäß in die Benutzeroberfläche.
Häufig gestellte Fragen
Funktioniert der Simulator nur für eine Registerkarte?
Ja. Die Google DevTool-Einstellungen gelten nur für die Registerkarte, die Sie gerade geöffnet haben. Wenn Sie einen neuen Tab öffnen, werden die Einstellungen JavaScript deaktivieren und User-Agent zurückgesetzt.
Andere Chrome-basierte Einstellungen (Cookies, Servicemitarbeiter) werden weiterhin konfiguriert.
Hilft dies beim Debuggen von JavaScript-SEO-Problemen?
Ja Diese Technik kann verwendet werden, um JavaScript-SEO-Probleme auf einer Website zu debuggen, wenn View-Source mit gerendertem HTML verglichen wird. Obwohl es möglicherweise bessere Erweiterungen und Tools gibt, um dies in großem Maßstab zu tun.
Muss ich die Einstellungen jedes Mal aktualisieren?
Sobald Ihr Tab geschlossen ist, müssen Sie die folgenden Einstellungen aktualisieren:
- JavaScript deaktivieren
- User-Agent-Token aktualisieren
Alle anderen Einstellungen werden vom Browser gespeichert.
Warum muss ich Chrome Canary verwenden?
Ich schlage nur vor, dies zu verwenden, um zu verhindern, dass Sie Ihren Chrome-Browser durcheinander bringen und Zeit zwischen den Einstellungen hin und her gehen müssen.
Wenn Sie Firefox oder Safari verwenden, laden Sie einfach das normale Google Chrome herunter.
Ich habe dies bereits in Headless Chrome oder durch eine andere Automatisierung eingebaut?
Zunächst einmal, gut gemacht! Wenn Sie wie ich sind und (derzeit) nicht die Zeit / Kapazität haben, neue Programmiersprachen zu lernen, dann ist diese Nicht-Code-Methode großartig, um loszulegen.