Damit eine Suchmaschine relevante Ergebnisse liefern kann, müssen die verfügbaren Webseiten nicht nur gefunden, sondern auch inhaltlich kategorisiert und zugeordnet werden. Bevor die Inhalte analysiert werden können, müssen die jeweilige Webseite und deren Ressourcen gespeichert werden. Das ist die Aufgabe automatisierter Crawler. Laut Google werden täglich Milliarden vom Webseiten mit dem Crawlingprogramm Googlebot geladen.
Wann welche Website wie oft durchsucht wird und wie viele der jeweiligen Unterseiten abgerufen werden, wird anhand eines algorithmischen Prozesses entschieden. Dabei achtet der Googlebot darauf, die zu untersuchende Website nicht durch zu viele Anfragen zu überlasten.
Anfänglich konnten Googles Crawler jeweils ungefähr 300 laufende Verbindungen halten und so schätzungsweise 25 Websites pro Sekunde verarbeiten, heutzutage dürften es jedoch deutlich mehr sein. Neben dem Herunterladen der Seiten führen die Anfragen (engl.: requests) zu einer hohen Auslastung. Daher besitzen die Crawler in der Regel ihren eigenen DNS Cache. Dennoch muss für jede Anfrage der DNS durchsucht, eine Verbindung zum Host aufgebaut, eine Request gesendet und die Antwort empfangen werden. Der Crawler bearbeitet hierbei die laufenden Verbindungen für eine bessere Leistung asynchron.
In der Regel prüft der Crawler vor dem eigentlichen Crawling, also dem Aufruf der Seite, die robot.txt-Datei im Hauptverzeichnis einer Website, falls diese hinterlegt wurde. Diese dient zur Verwaltung des Crawler-Traffics und legt fest, ob beim Laden und Rendering bestimmte Dateien (wie Bilder oder Videos) und Ressourcen (wie externe CSS-Stylesheets oder JavaScript-Codes) ausgeschlossen werden sollen. Das beeinflusst nicht nur die Menge der übertragenen Daten, sondern auch den Renderprozess.
Während des Crawlings wird nicht nur der HTML-Inhalt heruntergeladen, sondern auch der gesamte gefundene JavaScript-Code ausgeführt, um sicherzustellen, dass alle Inhalte, für die JavaScript notwendig ist, ebenfalls angezeigt werden. Nach eigenen Angaben funktioniert das Rendering des Googlebots ähnlich wie das Rendering des Chrome-Browsers.
Nach dem Crawling werden die geladenen Webseiten dem Store-Server übergeben. Dieser speichert die Webseiten komprimiert als Dokument in ein Verzeichnis (engl.: repository). Dabei wird jeder gecrawlten URL eine einzigartige docID zugeordnet. Wurde eine neue URL untersucht, wird die Seite mit einer neuen Identifikationsnummer abgespeichert. Wenn eine URL bereits zuvor geladen worden ist, bleibt die docID bestehen und der gespeicherte Inhalt wird durch die neuere Variante ersetzt.