Indexing API verwenden

Übersicht

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 JobPosting oder BroadcastEvent eingebettet in ein VideoObject 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
Send the following HTTP POST request to https://indexing.googleapis.com/v3/urlNotifications:publish endpoint
{
  "url": "https://careers.google.com/jobs/google/technical-writer",
  "type": "URL_UPDATED"
}
URL entfernen
Send the following HTTP POST request to https://indexing.googleapis.com/v3/urlNotifications:publish endpoint
{
  "url": "https://careers.google.com/jobs/google/technical-writer",
  "type": "URL_DELETED"
}
Benachrichtigungsstatus abrufen
Send a HTTP GET request to https://indexing.googleapis.com/v3/urlNotifications/metadata endpoint

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 gesendet 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:
    Send a HTTP POST request to 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 reagiert auf erfolgreiche Indexing API-Aufrufe mit einer HTTP 200-Antwort. 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. Wenn 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

Nachdem du eine Seite von deinen Servern gelöscht oder ein <meta name="robots" content="noindex" />-Tag im <head>-Abschnitt einer bestimmten Seite hinzugefügt hast, kannst du Google benachrichtigen, damit die Seite aus dem Index entfernt und die Seite nicht mehr gecrawlt und indexiert wird. Bevor du das Entfernen anforderst, muss die URL den Statuscode 404 oder 410 zurückgeben oder die Seite enthält ein <meta name="robots" content="noindex" />-meta-Tag.

So beantragst du das Entfernen einer Seite aus unserem Index:

  1. Sende eine POST-Anfrage an den folgenden Endpunkt:
    Send a HTTP POST request to 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 reagiert 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. Wenn 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 enthalten. Ersetze beispielsweise : (Doppelpunkte) durch %3A und / (Schrägstriche) durch %2F.
    Send a HTTP GET request to 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 den Google-Eintrag über den Empfang einer 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. Wenn 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, eigenen Headern 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