Belgeler

Bir URL Gönderme


HTTP isteği kullanarak bir URL göndermek için, ( öğesini arama alt yapısı tarafından sağlanan URL ile değiştirin), isteğinizi aşağıdaki URL’ye gönderin:

                https://<searchengine>/indexnow?url=url-changed&key=your-key
            
  • url-changed, web sitenizin eklenen, değiştirilen veya silinen bir URL’sidir. URL’de kaçış olması ve URL’nin kodlanmış olması gerekir, ayrıca lütfen URL’nizin URI’ler için RFC-3986 standardını izlediğinden emin olun.
  • Your-key en az 8 ve en fazla 128 onaltılık karaktere sahip olmalıdır. Anahtar yalnızca şu karakterleri içerebilir: küçük harfler (a-z), büyük harfler (A-Z), sayılar (0-9) ve kısa çizgiler (-).

Örneğin, https://www.example.com/product.html öğesinin güncelleştirildiğini arama alt yapılarına bildirmek ve bu anahtarı kullanmak istiyorsanız URL’niz şu olur:

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

HTTP isteğini tarayıcınızı, wget, curl veya kendi seçtiğiniz başka bir mekanizmayı kullanarak gönderebilirsiniz. Başarılı bir istek HTTP 200 yanıt kodu döndürür; farklı bir yanıt alırsanız, çok sık istek göndermediğinizi ve anahtarın ve URL’nin geçerli olduğunu doğrulayın ve isteği yeniden gönderin. HTTP 200 yanıt kodu yalnızca arama alt yapısının URL’nizi aldığını gösterir.

Bir URL Kümesi Gönderme


HTTP kullanarak bir URL kümesi göndermek için, POST JSON isteğinizi Arama Alt Yapıları tarafından sağlanan URL’ye gönderin. öğesini arama alt yapısının konak adıyla değiştirin.

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

Gerekirse http ve https URL’lerini karıştırarak, gönderi başına en fazla 10.000 URL gönderebilirsiniz.

HTTP isteğini wget, curl veya kendi seçtiğiniz başka bir mekanizmayı kullanarak gönderebilirsiniz. Başarılı bir istek HTTP 200 yanıt kodu döndürür; farklı bir yanıt alırsanız, isteğinizi doğrulayın ve her şey doğru görünüyorsa isteği yeniden gönderin. HTTP 200 yanıt kodu yalnızca arama alt yapısının URL kümenizi aldığını gösterir.

Önerilen yol, içerik eklendiği, güncelleştirildiği veya silindiği anda URL’lerin gönderilmesini otomatikleştirmektir; Sık Sorulan Sorular’da kullanıcılar tarafından oluşturulan içerik için en iyi uygulamalara bakın.

Anahtar ile sahipliği doğrulama


URL’leri göndermek için, konak içinde en az bir metin belgesi barındırarak URL’lerin gönderildiği konağın sahibi olduğunuzu "kanıtlamanız" gerekir. URL’leri arama alt yapılarına gönderdikten sonra, arama alt yapıları sahipliği doğrulamak için anahtar dosyasında gezinir ve siz anahtarı değiştirene kadar anahtarı kullanır. Anahtarı ve dosya anahtarınızın konumunu yalnızca sizin ve arama alt yapılarının bilmesi gerekir.

Sahipliği doğrulamak için iki yol sunarız.

Seçenek 1
Konağınızın kök dizininde bir metin anahtar dosyası barındırma.

Web sitenizin kök dizininde anahtarı listeleyen bir UTF-8 ile kodlanmış bir metin anahtar dosyası {your-key}.txt barındırmanız gerekir.

Önceki örnekler için, UTF-8 anahtar dosyanızı https://www.example.com/.txt konumunda barındırmanız ve bu dosyanın anahtarı içermesi gerekir

Seçenek 2
Konağınızda bir metin anahtar dosyası barındırma.

Ayrıca aynı konaktaki diğer konumlarda bir-çok UTF-8 ile kodlanmış anahtar dosyası barındırabilirsiniz. Her IndexNow bildiriminde keyLocation değişkenini kullanarak konumu belirtmeniz ve arama alt yapılarına bu metin anahtar dosyasının konumunu bildirmeniz gerekir.

Bir URL gönderirseniz, anahtar dosyası konumunu keyLocation URL’lerinin parametre değeri olarak belirtin.

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

Bir URL kümesi gönderirseniz, anahtar dosyası konumunu JSON içeriğinde keyLocation değişkeni olarak belirtin.

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

Seçenek 2’de, anahtar dosyasının konumu bu anahtar ile eklenebilecek URL kümesini belirler. http://example.com/catalog/key12457EDd.txt konumunda bulunan bir anahtar http://example.com/catalog/ ile başlayan herhangi bir URL’yi içerebilir ancak http://example.com/help/ ile başlayan URL’leri içeremez.

http://example.com/catalog/sitemap.xml içinde geçerli olarak kabul edilmeyen URL’ler şunları içerir:

Seçenek 2’de geçerli olarak kabul edilmeyen URL’ler dizin oluşturma için dikkate alınmayabilir. Seçenek 1’i kullanmanız ve dosya anahtarınızı web sunucunuzun kök dizinine yerleştirmeniz önerilir.

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