Jim's Depository

this code is not yet written

IndexNow let's me notify search engines when a new article is posted or changed. This should let the articles be discovered in a more timely manner.

It has an interesting authentication mechanism. They care if the entity sending the POST is trusted by the entity running the web site, but they don't want to be bothered managing an account for you. So you put a long random key in your POST and a URL on your server which contains that same key. There is an obvious footgun if you use a static or well known name for that URL then you can leak your key and have no protection, but if you can use the key in the URL then you have an unguessable URL with a secret and can close the authentication loop.

Their example POST looks about like this:

POST /IndexNow HTTP/1.1 
Content-Type: application/json; charset=utf-8 
Host: api.indexnow.org
{
   "host": "www.example.org",    
   "key": "143a8984e0154828be49787a81e732d0",    
   "keyLocation": "https://www.example.org/143a8984e0154828be49787a81e732d0.txt",    
   "urlList": [        
      "https://www.example.org/url1",        
      "https://www.example.org/folder/url2",        
      "https://www.example.org/url3"
   ]
 }