hero-image
  • Api IndexNow

  • Microsoft Bing

  • Yandex Api

  • Generate API Key

Over 80,000 sites around the world are actively using Xone IndexNow

80K

Happy Customers
Xone IndexNow

4.86

8,376 Rating


Xone IndexNow indexing module

Powerful Features to Increase Sales

Inform search engines right now about the appearance of new ones, updating existing ones, and deleting unnecessary goods and services of your company.

Intuitive Interface

Everything is very simple, there are no abstruse words, a detailed description, the necessary tips

Easy setup, just one minute
Perfect integration, upload folder to server
New opportunities

Quickly informing search engines about changes to the content on the site


Creative Solution

Make your business more efficient with the Xone IndexNow instant indexing module

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.


Indexing packages

A convenient solution for search engine optimization of projects and doing business on the Internet without the use of third-party services and integrations.

SEO Xone Free
$0.00 / month

Feel the freedom and power of optimization with the Xone indexing module.

Learn More

Select Plan
SEO Xone Economy
$149.99 / month

Promote an unlimited number of products and services in search engines.

Learn More

Select Plan
Best Value
SEO Xone Standart
$99.99 / month

Instant indexing of web content in search engines, limit indexing of ten sites.

Learn More

Select Plan

Start your trial now and pick a plan later

Instant indexing in Yandex, Microsoft Bing, IndexNow.

Start Free Trial

Buy indexing module Xone IndexNow

The module instantly indexes in search engines

SEO Xone Fix
$399

Free Updates

  • source Sitemap XML

  • site is unique

  • debugging complete

  • no integration required

  • Learn More

Select Demo
Most Popular
SEO Xone Lot
$1399

Free Updates

  • sites Unlimited

  • no setup required

  • no integration required

  • Ajax add, remove, edit, submit

  • debugging complete

  • documentation detailed

  • Learn More

SelectDemo
SEO Xone Xml
$699

Free Updates

  • source Sitemap XML

  • sites Unlimited

  • no setup required

  • no integration required

  • Learn More

Select Demo

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).

Array of URLs from sitemap.xml Array of URLs from link.txt

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 »

Copy code

  1. <?php
  2. ini_set('error_reporting', E_ALL);
  3. ini_set('display_errors', 1);
  4. ini_set('display_startup_errors', 1);
  5. //-- Options --//
  6. $count = 0;
  7. $dlm = "|~|"; // Pseudo delimiter
  8. $dlmBreack = "\n"; // Delimiter
  9. $dlmCount = "10000"; // Limiting the number of lines read from the file
  10. $txtfile = "url.txt"; // Data file containing a list of URLs
  11. $IndexNowKey = "6352b4ae24df467dbffe0adb9438cd28"; // Key IndoxNew
  12. $uRoor = "example.com"; // Domain
  13. $uHttps = "https"; // http or https
  14. $uEngine = "www.bing.com"; // To whom we transfer data - yandex.com, www.bing.com or api.indexnow.org
  15. //-- Options --//
  16. $uRLS = "".$uHttps."://$uRoor/"; // Final Url with protocol http or https
  17. $txtfile = preg_replace("!^s+!m", "", $txtfile); // Trim spaces at the beginning of the string
  18. $txtfile = preg_replace("![\n\r]+\s*[\n\r]+!", "\r\n", $txtfile); // Remove empty lines
  19. $DoLink = file_get_contents($txtfile);
  20. $Link = explode($dlmBreack, $DoLink, $dlmCount);
  21. for($in = 0; $in < count($Link); $in++){
  22. $Urls = explode($dlm, $Link[$in]);
  23. $uUrl = $Urls[0]; // String with link
  24. if ($uUrl!=='') { $BLGe[]="$uUrl"; $count++; } // Create an array of links
  25. }
  26. $data = array('host' => "$uRoor", 'key' => "$IndexNowKey", 'keyLocation' => "".$uRLS."".$IndexNowKey.".txt", 'urlList' =>array_reverse(array_reverse($BLGe)));
  27. $data_string = json_encode($data);
  28. $ch = curl_init("https://$uEngine/indexnow");
  29. curl_setopt($ch, CURLOPT_HTTPHEADER, array('Content-Type:application/json; charset=utf-8'));
  30. curl_setopt($ch, CURLOPT_POST, 1);
  31. curl_setopt($ch, CURLOPT_POSTFIELDS, json_encode($data, JSON_UNESCAPED_UNICODE));
  32. curl_setopt($ch, CURLOPT_RETURNTRANSFER, true);
  33. curl_setopt($ch, CURLOPT_SSL_VERIFYPEER, false);
  34. curl_setopt($ch, CURLOPT_HEADER, false);
  35. $res = curl_exec($ch);
  36. $result = curl_exec($ch);
  37. $http_code = (int) curl_getinfo($ch, CURLINFO_HTTP_CODE);
  38. curl_close($ch);
  39. $res = json_encode($res, JSON_UNESCAPED_UNICODE);
  40. 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>"; }
  41. 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>"; }
  42. 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>"; }
  43. 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>"; }
  44. 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>"; }
  45. 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>"; }
  46. else { echo "<div class=\"alert alert-danger text-center\" role=\"alert\">$http_code -<b> Error sending list of URLs</b></div>";
  47. ?>

Using the buttons below, submit an array of URLs using the İndexNow API from a sitemap.xml file or a text file.

Array of URLs from sitemap.xml Array of URLs from link.txt

Try Xone IndexNow free for 3 days

Instant indexing in Yandex, Microsoft Bing, IndexNow.

Start Free Trial