Dokumentation

Absenden einer URL


Zum Absenden einer URL mit einer HTTP-Anforderung (ersetzen Sie durch die von der Suchmaschine bereitgestellte URL) stellen Sie Ihre Anforderung an die folgende URL aus:

                https://<searchengine>/indexnow?url=url-changed&key=your-key
            
  • „url-changed“ ist eine URL Ihrer Website, die hinzugefügt, aktualisiert oder gelöscht wurde. Die URL muss URL-Escapezeichen verwenden und codiert sein. Stellen Sie zudem sicher, dass Ihre URLs dem RFC-3986-Standard für URIs entsprechen.
  • „your-key“ muss mindestens 8 und darf maximal 128 hexadezimale Zeichen enthalten. Der Schlüssel darf nur die folgenden Zeichen enthalten: Kleinbuchstaben (a-z), Großbuchstaben (A-Z), Zahlen (0-9) und Bindestriche (-).

Wenn Sie z. B. Suchmaschinen darüber informieren möchten, dass https://www.example.com/product.html aktualisiert worden ist, und diesen Schlüssel verwenden möchten, lautet Ihre URL:

                https://<searchengine>/indexnow?url=https://www.example.com/product.html&key=
            

Sie können die HTTP-Anforderung mit Ihrem Browser, wget, curl oder einem anderen Mechanismus Ihrer Wahl ausstellen. Bei einer erfolgreichen Anforderung wird ein HTTP 200-Antwortcode zurückgegeben. Wenn Sie eine andere Antwort erhalten, müssen Sie sicherstellen, dass Sie nicht zu oft senden und dass der Schlüssel und die URL gültig sind. Senden Sie die Anforderung dann erneut. Der HTTP 200-Antwortcode gibt nur an, dass die Suchmaschine Ihre URL empfangen hat.

Absenden einer Gruppe von URLs


Um eine Gruppe von URLs mit einer HTTP-Anforderung abzusenden, stellen Sie Ihre POST JSON-Anforderung an die URL aus, die von Suchmaschinen bereitgestellt wird. Ersetzen Sie durch den Hostnamen der Suchmaschine.

                POST /indexnow HTTP/1.1
                Content-Type: application/json; charset=utf-8
                Host: <searchengine>
                {
                  "host": "www.example.com",
                  "key": "",
                  "urlList": [
                      "https://www.example.com/url1",
                      "https://www.example.com/folder/url2",
                      "https://www.example.com/url3"
                      ]
                }
            

Sie können bis zu 10.000 URLs pro Beitrag absenden, wobei HTTP- und HTTPS-URLs bei Bedarf gemischt werden können.

Sie können die HTTP-Anforderung mit wget, curl oder einem anderen Mechanismus Ihrer Wahl ausstellen. Bei einer erfolgreichen Anforderung wird ein HTTP 200-Antwortcode zurückgegeben. Wenn Sie eine andere Antwort erhalten, überprüfen Sie Ihre Anforderung, und senden Sie die Anforderung dann erneut, sobald alles richtig ist. Der HTTP 200-Antwortcode gibt nur an, dass die Suchmaschine Ihre Gruppe von URLs empfangen hat.

Es wird empfohlen, die Übermittlung von URLs zu automatisieren, sobald der Inhalt hinzugefügt, aktualisiert oder bis zu einem bestimmten Grad gelöscht wird. Weitere Informationen hierzu finden Sie in den Best Practices für nutzergenerierte Inhalte in den Häufig gestellten Fragen.

Prüfen des Besitzes über den Schlüssel


Zum Senden von URLs müssen Sie den Besitz am Host, für den URLs gesendet werden, „nachweisen“, indem mindestens eine Textdatei innerhalb des Hosts gehostet wird. Sobald Sie Ihre URLs an Suchmaschinen senden, werden die Suchmaschinen die Schlüsseldatei durchforsten, um den Besitz zu prüfen. Der Schlüssel wird dann solange verwendet, bis Sie ihn ändern. Nur Sie und die Suchmaschinen sollten den Schlüssel und den Speicherort Ihrer Schlüsseldatei kennen.

Wir bieten zwei Möglichkeiten zur Prüfung des Besitzes.

Option 1
Hosten einer Textschlüsseldatei im Stammverzeichnis Ihres Hosts.

Sie müssen eine UTF-8-verschlüsselte Textschlüsseldatei {your-key}.txt hosten, die den Schlüssel in der Datei im Stammverzeichnis Ihrer Website auflistet.

Für die vorherigen Beispiele müssen Sie Ihre UTF-8-Schlüsseldatei unter https://www.example.com/.txt hosten, und diese Datei muss den Schlüssel enthalten.

Option 2
Hosten einer Textschlüsseldatei innerhalb Ihres Hosts.

Sie können auch eine oder mehrere UTF-8-verschlüsselte Textschlüsseldateien an verschiedenen Speicherorten innerhalb desselben Hosts hosten. Sie müssen Suchmaschinen den Speicherort dieser Textschlüsseldatei in jeder IndexNow-Benachrichtigung mitteilen, indem Sie den Speicherort mit der Variable „keyLocation“ angeben.

Wenn Sie eine URL senden, geben Sie den Speicherort dieser Textschlüsseldatei als keyLocation URLs-Parameterwert an.

                    https://<searchengine>/indexnow?url=http://www.example.com/product.html&key=&keyLocation=http://www.example.com/myIndexNowKey63638.txt
                

Wenn Sie eine Gruppe von URLs senden, geben Sie den Speicherort der Textschlüsseldatei als keyLocation-Variable im JSON-Inhalt an.

                    POST /indexnow HTTP/1.1
                    Content-Type: application/json; charset=utf-8
                    Host: <searchengine>
                    {
                      "host": "www.example.com",
                      "key": "",
                      "keyLocation": "https://www.example.com/myIndexNowKey63638.txt",
                      "urlList": [
                          "https://www.example.com/url1",
                          "https://www.example.com/folder/url2",
                          "https://www.example.com/url3"
                          ]
                    }
                

Bei dieser Option 2 wird durch den Speicherort einer Schlüsseldatei die Gruppe von URLs festgelegt, die in diesem Schlüssel enthalten sein können. Eine Schlüsseldatei unter http://example.com/catalog/key12457EDd.txt kann alle URLs enthalten, die mit http://example.com/catalog/ beginnen, es können jedoch keine URLs enthalten sein, die mit http://example.com/help/ beginnen.

Folgende URLs gelten in „http://example.com/catalog/sitemap.xml“ als ungültig:

Die in Option 2 als ungültig geltenden URLs werden bei der Indizierung nicht berücksichtigt. Es wird strengstens empfohlen, dass Sie Option 1 verwenden und Ihre Schlüsseldatei im Stammverzeichnis Ihres Webservers platzieren.

Response format


HTTP Code
Response
Reasons
200
OK
URL submitted successfully
202
Accepted
URL received. IndexNow key validation pending.
400
Bad request
Invalid format
403
Forbidden
In case of key not valid (e.g. key not found, file found but key not in the file)
422
Unprocessable Entity
In case of URLs which don’t belong to the host or the key is not matching the schema in the protocol
429
Too Many Requests
Too Many Requests (potential Spam)

Requirement for search engines


Search engines adopting the IndexNow protocol agree that submitted URLs will be automatically shared with all other participating search engines. To participate, search engines must have a noticeable presence in at least one market or be closely linked to the search market and make a significant contribution to the number of url submissions. Learn more