Indexing API verwenden

Mit der Indexing API kannst du Google anweisen, Seiten für Stellenausschreibungen oder Livestream-Veranstaltungen 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. Mit der Indexing API können nur Seiten gecrawlt werden, die entweder JobPosting oder BroadcastEvent eingebettet in ein VideoObject enthalten.

Richtlinien

Bei der Verwendung der Indexing API gelten die folgenden Richtlinien.

  • Unsere Spamrichtlinien gelten für Inhalte, die über die Indexing API eingereicht werden.
  • In allen Aufrufen an 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. Umgehe unsere Einreichungslimits nicht, z. B. durch die Verwendung mehrerer Konten.
  • Der Anfragetext in diesen Beispielen ist der Wert der content-Variable, die in den Beispielen für Zugriffstokens verwendet wird.

Was du mit der API tun kannst

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:

Beispiele
URL aktualisieren

Sende die folgende HTTP-POST-Anfrage an den https://indexing.googleapis.com/v3/urlNotifications:publish-Endpunkt. Beispiel:

{
  "url": "https://careers.google.com/jobs/google/technical-writer",
  "type": "URL_UPDATED"
}
URL entfernen

Sende die folgende HTTP-POST-Anfrage an den https://indexing.googleapis.com/v3/urlNotifications:publish-Endpunkt. Beispiel:

{
  "url": "https://careers.google.com/jobs/google/technical-writer",
  "type": "URL_DELETED"
}
Benachrichtigungsstatus abrufen

Sende eine HTTP-GET-Anfrage an den https://indexing.googleapis.com/v3/urlNotifications/metadata-Endpunkt.

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.

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 HTTP-POST-Anfrage an den folgenden Endpunkt:
    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. Die Indexing API bietet ein Standardkontingent für Tests. Wenn du die API verwenden möchtest, fordere eine Genehmigung und ein Kontingent an.

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 muss ein <meta name="robots" content="noindex" />-meta-Tag enthalten.

So beantragst du das Entfernen einer Seite aus unserem Index:

  1. Sende eine POST-Anfrage an den folgenden Endpunkt:
    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. Die Indexing API bietet ein Standardkontingent für Tests. Wenn du die API verwenden möchtest, fordere eine Genehmigung und ein Kontingent an.

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 gesendet 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.
    https://indexing.googleapis.com/v3/urlNotifications/metadata?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. Die Indexing API bietet ein Standardkontingent für Tests. Wenn du die API verwenden möchtest, fordere eine Genehmigung und ein Kontingent an.

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