If you control the web server, this is the most bulletproof option — the file is served before your application framework sees the request.
Step by step
- 1 Open your server block, usually in /etc/nginx/sites-available/.
- 2 Add the location block below inside the server { } block.
- 3 Run nginx -t to check the configuration, then reload with systemctl reload nginx.
- 4 Confirm the URL loads, then click Verify.
Nginx server block
location = /a1b2c3d4e5f6a7b8c9d0e1f2a3b4c5d6.txt {
default_type text/plain;
return 200 "a1b2c3d4e5f6a7b8c9d0e1f2a3b4c5d6";
}
The key shown is an example. Yours is generated when you add the domain.
Watch out for
- Place the block before any catch-all location that routes to your app.
- Alternatively just place the real file in your document root — no config needed.
Then what?
Hosting the key file proves you own the domain — it doesn't submit anything on its own. You still need something watching for changes and calling the IndexNow API with the right URLs at the right time. You can build that yourself, or let us run it for $12 a year.
Set up automatic submission