Indexing API verwenden

Überblick

Mit der Indexing API kannst du Google anweisen, Seiten zu aktualisieren oder aus dem Google-Index zu entfernen. Bei der Anfrage muss die Webadresse der jeweiligen Webseite angegeben werden. Zusätzlich kannst du den Status der Benachrichtigungen abrufen, die du an Google gesendet hast. Momentan können mit der Indexing API nur Seiten gecrawlt werden, die entweder Stellenausschreibungen oder strukturierte Livestream-Daten enthalten.

Wenn du eine Anfrage an die Indexing API sendest, gib die Webadresse einer einzelnen Webseite an, um Google darauf hinzuweisen, dass diese Seite gecrawlt oder aus dem Index entfernt werden kann.

Die folgenden Beispiele zeigen die Verwendungsmöglichkeiten der Indexing API:

URL aktualisieren

POST https://indexing.googleapis.com/v3/urlNotifications:publish
{
  "url": "https://careers.google.com/jobs/google/technical-writer",
  "type": "URL_UPDATED"
}
URL entfernen

POST https://indexing.googleapis.com/v3/urlNotifications:publish
{
  "url": "https://careers.google.com/jobs/google/technical-writer",
  "type": "URL_DELETED"
}
Benachrichtigungsstatus abrufen

GET https://indexing.googleapis.com/v3/urlNotifications/metadata

Parameter

In der folgenden Tabelle werden die Felder beschrieben, die zum Aktualisieren oder Entfernen einer URL erforderlich sind:

Felder
url

Pflichtfeld

Die vollständig qualifizierte Webadresse des Elements, das du aktualisieren oder entfernen möchtest

type

Pflichtfeld

Der Typ der Benachrichtigung, die du übermittelt hast

Richtlinien

Die folgenden Richtlinien gelten für Anfragen zum Aktualisieren und Entfernen einer URL.

  • In allen Aufrufen von https://indexing.googleapis.com/v3/UrlNotifications:publish muss "application/json" als Content-Type-Header verwendet werden.
  • Im Text einer Aktualisierungsanfrage kann nur eine URL gesendet werden. Du hast aber auch die Möglichkeit, bis zu 100 Anfragen in einem Batch zusammenzufassen. Beschrieben wird dieser Vorgang im Abschnitt Batch-Indexierungsanfragen senden.
  • Der Anfragetext in diesen Beispielen ist der Wert der content Variable, die in den Beispielen für Zugriffstokens verwendet wird.

URL aktualisieren

So informierst du Google über eine neue URL, die gecrawlt werden muss, oder über die Aktualisierung von Inhalten einer bereits übermittelten URL:

  1. Sende eine POST-Anfrage an den folgenden Endpunkt:
    POST https://indexing.googleapis.com/v3/urlNotifications:publish
  2. Gib im Text der Anfrage mit der folgenden Syntax die Webadresse der Seite an:
    {
      "url": "content_location",
      "type": "URL_UPDATED"
    }
  3. Google antwortet auf erfolgreiche Indexing API-Aufrufe mit einem HTTP 200. Eine HTTP 200-Antwort bedeutet, dass Google diese URL demnächst wieder crawlen wird. Der Text der Antwort enthält ein UrlNotificationMetadata-Objekt, dessen Felder identisch mit den zurückgegebenen Feldern einer Benachrichtigungsstatus-Anfrage sind.
  4. Falls du keine HTTP 200-Antwort erhältst, lies bitte die Hinweise zu Indexing API-Fehlern.
  5. Wenn sich der Inhalt der Seite ändert, sende eine Aktualisierungsbenachrichtigung. Google crawlt daraufhin die Seite erneut.
  6. Möglicherweise benötigst du ein höheres Kontingent als das Standardkontingent. Informationen zum Anzeigen deines aktuellen Kontingents und zum Anfordern eines höheren Kontingents findest du auf der Seite "Kontingent".

URL entfernen

Benachrichtige Google nach dem Löschen einer Seite von deinen Servern, damit die Seite aus dem Index entfernt werden kann und die URL nicht mehr gecrawlt wird. Bevor du das Entfernen anforderst, musst du die Seite von deinem Server entfernen und die URL muss den Statuscode 404 oder 410 zurückgeben.

So beantragst du das Entfernen einer Seite aus unserem Index:

  1. Sende eine POST-Anfrage an den folgenden Endpunkt:
    POST https://indexing.googleapis.com/v3/urlNotifications:publish
  2. Gib im Hauptteil der Anfrage die URL an, die du entfernen möchtest, und verwende dabei die folgende Syntax:
    {
      "url": "content_location",
      "type": "URL_DELETED"
    }

    Beispiel:

    {
      "url": "https://careers.google.com/jobs/google/technical-writer",
      "type": "URL_DELETED"
    }
  3. Google antwortet auf erfolgreiche Indexing API-Aufrufe mit einer HTTP 200-Antwort. Eine HTTP 200-Antwort bedeutet, dass Google bereit ist, diese URL aus dem Index zu entfernen. Der Text der Antwort enthält ein UrlNotificationMetadata-Objekt, dessen Felder identisch mit den zurückgegebenen Feldern einer Benachrichtigungsstatus-Anfrage sind.
  4. Falls du keine HTTP 200-Antwort erhältst, lies bitte die Hinweise zu Indexing API-Fehlern.
  5. Möglicherweise benötigst du ein höheres Kontingent als das Standardkontingent. Informationen zum Anzeigen deines aktuellen Kontingents und zum Anfordern eines höheren Kontingents findest du auf der Seite "Kontingent".

Benachrichtigungsstatus abrufen

Mit der Indexing API kannst du überprüfen, wann Google zuletzt eine Benachrichtigung über eine bestimmte URL erhalten hat. Die GET-Anfrage gibt keinen Aufschluss darüber, wann Google eine URL indexiert oder entfernt, sondern informiert dich nur, ob deine Anfrage erfolgreich übermittelt wurde.

So rufst du den Status einer Benachrichtigung ab:

  1. Sende eine GET-Anfrage an den folgenden Endpunkt. Die von dir angegebenen URLs müssen eine URL-Codierung aufweisen. Ersetze beispielsweise : (Doppelpunkte) durch %3A und / (Schrägstriche) durch %2F.
    GET https://indexing.googleapis.com/v3/urlNotifications/metadata?url=url-encoded_url

    Beispiel:

    GET https://indexing.googleapis.com/v3/urlNotifications/metadata?url=https%3A%2F%2Fcareers.google.com%2Fjobs%2Fgoogle%2Ftechnical-writer
    
  2. Die Indexing API antwortet mit einer HTTP 200-Nachricht einschließlich einer Nutzlast, die Details zur Benachrichtigung enthält. Im folgenden Beispiel siehst du den Text einer Antwort, die eine Aktualisierungs- und Löschbenachrichtigung enthält:
    {
      url: “http://foo.com“
      latest_update {
        type: “URL_UPDATED”
        notify_time: “2017-07-31T19:30:54.524457662Z”
      }
      latest_remove {
        type: “URL_DELETED”
        notify_time: “2017-08-31T19:30:54.524457662Z”
      }
    }
    
  3. Falls du keine HTTP 200-Antwort erhältst, lies bitte die Hinweise zu Indexing API-Fehlern.
  4. Möglicherweise benötigst du ein höheres Kontingent als das Standardkontingent. Informationen zum Anzeigen deines aktuellen Kontingents und zum Anfordern eines höheren Kontingents findest du auf der Seite "Kontingent".

Batch-Indexierungsanfragen senden

Um die Anzahl der HTTP-Verbindungen, die dein Client herstellen muss, möglichst gering zu halten, kannst du bis zu 100 Aufrufe an die Indexing API in einer einzigen mehrteiligen HTTP-Anfrage zusammenfassen, die auch als Batch bezeichnet wird.

Verwende beim Senden einer Batchanfrage an die Indexing API den folgenden Endpunkt:

https://indexing.googleapis.com/batch

Der eigentliche Text einer Batchanfrage besteht aus mehreren Teilen. Jeder Teil ist in sich eine vollständige HTTP-Anfrage mit eigenem Verb, eigener URL, eigener Kopfzeile und eigenem Text. Die einzelnen Teile einer Batchanfrage dürfen nicht größer als 1 MB sein.

Um dir das Senden von Batchanfragen zu erleichtern, unterstützen die API-Clientbibliotheken von Google die Batchfunktion. Spezifische Informationen zur Verwendung der Batchfunktion mit den Clientbibliotheken für einzelne Programmiersprachen findest du auf den folgenden Seiten:

Wenn du auf diesen Seiten die Beispiele zur Batchverarbeitung verwendest, musst du möglicherweise deinen Code so aktualisieren, dass die Implementierungsanforderungen erfüllt werden, die unter Zugriffstoken anfordern beschrieben sind.

Das folgende Beispiel für einen Nachrichtentext in einer Batchanfrage enthält eine Benachrichtigung zur Aktualisierung und eine zur Entfernung:

POST /batch HTTP/1.1
Host: indexing.googleapis.com
Content-Length: content_length
Content-Type: multipart/mixed; boundary="===============7330845974216740156=="
Authorization: Bearer oauth2_token

--===============7330845974216740156==
Content-Type: application/http
Content-Transfer-Encoding: binary
Content-ID: <b29c5de2-0db4-490b-b421-6a51b598bd22+2>

POST /v3/urlNotifications:publish [1]
Content-Type: application/json
accept: application/json
content-length: 58

{ "url": "http://example.com/jobs/42", "type": "URL_UPDATED" }
--===============7330845974216740156==
Content-Type: application/http
Content-Transfer-Encoding: binary
Content-ID: <b29c5de2-0db4-490b-b421-6a51b598bd22+1>

POST /v3/urlNotifications:publish [2]
Content-Type: application/json
accept: application/json
content-length: 75

{ "url": "http://example.com/widgets/1", "type": "URL_UPDATED" }
--===============7330845974216740156==
Content-Type: application/http
Content-Transfer-Encoding: binary
Content-ID: <b29c5de2-0db4-490b-b421-6a51b598bd22+3>

POST /v3/urlNotifications:publish [3]
Content-Type: application/json
accept: application/json
content-length: 58

{ "url": "http://example.com/jobs/43", "type": "URL_DELETED" }
--===============7330845974216740156==

Weitere Informationen zum Senden von Batchanfragen