Api IndexNow
Microsoft Bing
Yandex Api
Generate API Key
Happy Customers
Xone IndexNow
8,376 Rating
Inform search engines right now about the appearance of new ones, updating existing ones, and deleting unnecessary goods and services of your company.
Everything is very simple, there are no abstruse words, a detailed description, the necessary tips
Quickly informing search engines about changes to the content on the site
If you want to get more customers, but you can't find the IndexNow module for your site, it doesn't matter, we have a simple and effective solution. The Xone indexing module will quickly inform search engines of content changes on the site by sending a single or array of URLs using the IndexNow protocol.
A convenient solution for search engine optimization of projects and doing business on the Internet without the use of third-party services and integrations.
Feel the freedom and power of optimization with the Xone indexing module.
Learn More
Select PlanPromote an unlimited number of products and services in search engines.
Learn More
Select PlanInstant indexing of web content in search engines, limit indexing of ten sites.
Learn More
Select PlanInstant indexing in Yandex, Microsoft Bing, IndexNow.
The module instantly indexes in search engines
Free Updates
source Sitemap XML
site is unique
debugging complete
no integration required
Learn More
Free Updates
sites Unlimited
no setup required
no integration required
Ajax add, remove, edit, submit
debugging complete
documentation detailed
Learn More
Free Updates
source Sitemap XML
sites Unlimited
no setup required
no integration required
Learn More
The above prices do not include applicable taxes based on your billing address. The final price will be displayed on the checkout page, before the payment is completed.
How to use Curl to submit URLs İn Bulk With İndexNow API?
Two cases of the appearance of a list of URLs are considered, in which arrays of links are found, but all of them are found from different sources without exception.
The first will be the sitemap.xml file that almost every site has, the next one is a simple text file.
Below are examples of using Curl to bulk send URLs using the İndexNow API from a sitemap.xml file or plain text file that offers a link request, each link starts with the string (download file).
Working Curl code to bulk send URLs using the İndexNow API from a text file.
Let's slightly change the code below, move the parameters to a separate file, add a form for sending data via AJAX and display html (response) of the result of the JSON request. Full code and manual »
<?php ini_set('error_reporting', E_ALL); ini_set('display_errors', 1); ini_set('display_startup_errors', 1); //-- Options --// $count = 0; $dlm = "|~|"; // Pseudo delimiter $dlmBreack = "\n"; // Delimiter $dlmCount = "10000"; // Limiting the number of lines read from the file $txtfile = "url.txt"; // Data file containing a list of URLs $IndexNowKey = "6352b4ae24df467dbffe0adb9438cd28"; // Key IndoxNew $uRoor = "example.com"; // Domain $uHttps = "https"; // http or https $uEngine = "www.bing.com"; // To whom we transfer data - yandex.com, www.bing.com or api.indexnow.org //-- Options --// $uRLS = "".$uHttps."://$uRoor/"; // Final Url with protocol http or https $txtfile = preg_replace("!^s+!m", "", $txtfile); // Trim spaces at the beginning of the string $txtfile = preg_replace("![\n\r]+\s*[\n\r]+!", "\r\n", $txtfile); // Remove empty lines $DoLink = file_get_contents($txtfile); $Link = explode($dlmBreack, $DoLink, $dlmCount); for($in = 0; $in < count($Link); $in++){ $Urls = explode($dlm, $Link[$in]); $uUrl = $Urls[0]; // String with link if ($uUrl!=='') { $BLGe[]="$uUrl"; $count++; } // Create an array of links } $data = array('host' => "$uRoor", 'key' => "$IndexNowKey", 'keyLocation' => "".$uRLS."".$IndexNowKey.".txt", 'urlList' =>array_reverse(array_reverse($BLGe))); $data_string = json_encode($data); $ch = curl_init("https://$uEngine/indexnow"); curl_setopt($ch, CURLOPT_HTTPHEADER, array('Content-Type:application/json; charset=utf-8')); curl_setopt($ch, CURLOPT_POST, 1); curl_setopt($ch, CURLOPT_POSTFIELDS, json_encode($data, JSON_UNESCAPED_UNICODE)); curl_setopt($ch, CURLOPT_RETURNTRANSFER, true); curl_setopt($ch, CURLOPT_SSL_VERIFYPEER, false); curl_setopt($ch, CURLOPT_HEADER, false); $res = curl_exec($ch); $result = curl_exec($ch); $http_code = (int) curl_getinfo($ch, CURLINFO_HTTP_CODE); curl_close($ch); $res = json_encode($res, JSON_UNESCAPED_UNICODE); if ($http_code == 200) { echo "<div class=\"alert alert-success text-center\" role=\"alert\">$http_code <b>OK - Prepared and successfully submitted $count URLs</b></div><div class=\"alert alert-secondary text-center\" role=\"alert\">site - <b>$uHost</b>, request - <b>$uEngine</b></div>"; } elseif ($http_code == 202) { echo "<div class=\"alert alert-primary text-center\" role=\"alert\">$http_code <b>Prepared and sent successfully $count URLs, pending verification of the IndexNow key</b></div><div class=\"alert alert-secondary text-center\" role=\"alert\">site - <b>$uHost</b>, request - <b>$uEngine</b></div>"; } elseif ($http_code == 400) { echo "<div class=\"alert alert-danger text-center\" role=\"alert\">$http_code <b>Invalid request. Wrong format</b></div><div class=\"alert alert-secondary text-center\" role=\"alert\">site - <b>$uHost</b>, request - <b>$uEngine</b></div>"; } elseif ($http_code == 403) { echo "<div class=\"alert alert-danger text-center\" role=\"alert\">$http_code <b>Forbidden. Invalid key (e.g. key not found, file found but key not in file)</b></div><div class=\"alert alert-secondary text-center\" role=\"alert\">site - <b>$uHost</b>, request - <b>$uEngine</b></div>"; } elseif ($http_code == 422) { echo "<div class=\"alert alert-danger text-center\" role=\"alert\">$http_code <b>Unprocessed object. The URLs do not belong to the host or the key does not match the scheme in the protocol</b></div><div class=\"alert alert-secondary text-center\" role=\"alert\">site - <b>$uHost</b>, request - <b>$uEngine</b></div>"; } elseif ($http_code == 429) { echo "<div class=\"alert alert-danger text-center\" role=\"alert\">$http_code <b>Too many requests. Counted as potential spam</b></div><div class=\"alert alert-secondary text-center\" role=\"alert\">site - <b>$uHost</b>, request - <b>$uEngine</b></div>"; } else { echo "<div class=\"alert alert-danger text-center\" role=\"alert\">$http_code -<b> Error sending list of URLs</b></div>"; ?>
Using the buttons below, submit an array of URLs using the İndexNow API from a sitemap.xml file or a text file.
Instant indexing in Yandex, Microsoft Bing, IndexNow.