Dokumentation

Skicka en URL


Om du vill skicka in en URL med hjälp av en HTTP-begäran (ersätt med den URL du fått från sökmotorn), skickar du din begäran till följande URL:

                https://<searchengine>/indexnow?url=url-changed&key=your-key
            
  • url-changed är en URL på din webbplats som har lagts till, uppdaterats eller tagits bort. URL:en måste skrivas med URL-undantagstecken och kodas, och dina URL:er måste följa URI-standarden RFC-3986 .
  • Your-key ska bestå av minst 8 och högst 128 hexadecimala tecken. Nyckeln kan bara innehålla följande tecken: gemener (a–z), versaler (A–Z), siffror (0–9) och streck (-).

Om du till exempel vill tala om för sökmotorer att https://www.example.com/product.html har uppdaterats, och du vill använda nyckeln kommer din URL att se ut så här:

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

Du kan skapa din HTTP-begäran med en webbläsare, wget, curl eller på något annat sätt som du väljer. En lyckad begäran returnerar en HTTP 200-svarskod. Om du får ett annat svar kontrollerar du att du inte skickar begäranden för ofta och att nyckeln och URL:en är giltiga. Skicka sedan begäran igen. HTTP 200-svarskoden visar bara att sökmotorn har tagit emot din URL.

Skicka flera URL:er


Om du vill skicka flera URL:er med en HTTP-begäran skickar du en POST JSON-begäran till den URL du fått från sökmotorn. Ersätt med namnet på sökmotorns värd.

                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"
                      ]
                }
            

Du kan skicka upp till 10 000 URL:er per post, och blanda URL:er med http och https om det behövs.

Du kan skicka HTTP-begäran med wget, curl eller på något annat sätt som du väljer. En lyckad begäran returnerar en HTTP 200-svarskod. Om du får ett annat svar ska du kontrollera begäran och om allt ser ut som det ska skickar du begäran igen. HTTP 200-svarskoden visar bara att sökmotorn har tagit emot dina URL:er.

Bäst är att automatiskt skicka URL:er så fort innehåll läggs till, uppdateras eller tas bort upp till en viss gräns. Metodtips för innehåll som genereras av användare finns i avsnittet Vanliga frågor.

Verifiera ägare via nyckeln


För att kunna skicka in URL:er måste du ”bevisa” att du äger värden du skickar in URL:er för, genom att placera minst en textfil inom värden. När du har skickat URL:erna till sökmotorer kommer motorerna att crawla nyckelfilen för att verifiera ägaren och sedan använda nyckeln tills du byter ut den. Bara du och sökmotorerna ska känna till nyckeln och nyckelfilens plats.

Vi erbjuder två sätt att verifiera ägande.

Alternativ 1
Placera en textnyckelfil i värdens rotkatalog.

Du måste placera en UTF-8-kodad textnyckelfil {your-key}.txt som innehåller nyckeln i filen i din webbplats rotkatalog.

I de tidigare exemplen måste du till exempel placera din UTF-8-nyckelfil vid https://www.example.com/.txt och den filen måste innehålla nyckeln .

Alternativ 2
Placera en textnyckelfil inom din värd.

Du kan även placera en eller flera UTF-8-kodade textnyckelfiler på andra platser inom samma värd. Sedan måste du tala om för sökmotorerna var denna textnyckelfil är placerad i varje IndexNow-avisering genom att specificera platsen med hjälp av variabeln keyLocation.

Om du skickar en URL, ska du specificera nyckelfilens plats som keyLocation URL-parametervärde.

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

Om du skickar flera URL:er specificerar du nyckelfilens plats som variabeln keyLocation i JSON-innehållet.

                    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"
                          ]
                    }
                

I alternativ 2 är det nyckelfilens plats som avgör vilka URL:er som kan inkluderas med den nyckeln. En nyckelfil som är placerad i http://example.com/catalog/key12457EDd.txt kan inkludera alla URL:er som börjar med http://example.com/catalog/, men den kan inte inkludera URL:er som börjar med http://example.com/help/.

Följande URL:er är inte giltiga i http://example.com/catalog/sitemap.xml:

URL:er som inte är giltiga i alternativ 2 kanske inte indexeras. Vi rekommenderar starkt att du använder alternativ 1 och placerar nyckelfilen i webbserverns rotkatalog.

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