SETUP GUIDE

IndexNow Key File Hosting Guide

The key verification file must be accessible at https://yourdomain.com/{key}.txt. Here is exactly how to host it on every major platform.

Key File Requirements

RequirementValue
File name{your-key}.txt (key string + .txt)
URL pathMust be at domain root: https://domain.com/{key}.txt
File contentsExactly the key string no HTML, no newline, no whitespace
HTTP statusMust return 200 OK
Content-Typetext/plain (recommended)
AuthenticationMust be publicly accessible no login required

Next.js / Vercel

  1. 1Place the file in your /public directory
  2. 2Name it exactly {your-key}.txt
  3. 3Deploy Vercel serves /public at the root path automatically
public/d47a82bc1e9f4a3b8c2d5e6f7a8b9c0d.txt

WordPress

  1. 1FTP or SSH to your server
  2. 2Navigate to the WordPress root (same folder as wp-config.php)
  3. 3Upload the key file: /var/www/html/d47a82bc.txt
  4. 4Do NOT place inside /wp-content/ that is not the web root
/var/www/html/{key}.txt

Shopify

  1. 1Go to Online Store → Themes → Actions → Edit Code
  2. 2Under Assets, click "Add a new asset"
  3. 3Upload the key file as a static asset (it will be at /assets/{key}.txt)
  4. 4Important: Shopify assets are served at /assets/ not /, use keyFileUrl: "https://domain.myshopify.com/assets/{key}.txt" in your API requests
assets/{key}.txt → https://yourdomain.com/assets/{key}.txt

Netlify

  1. 1Add the key file to your repository under /public or /static
  2. 2Or use Netlify's _redirects or _headers to verify
  3. 3Recommended: place in /public/{key}.txt served at root automatically
public/{key}.txt

Apache (.htaccess)

  1. 1Upload the key file to your web root (/var/www/html/ or /public_html/)
  2. 2If .txt files are blocked by your security config, add an exception:
<Files "{key}.txt"> Require all granted </Files>

Nginx

  1. 1Copy the file to your web root: /var/www/yourdomain.com/html/
  2. 2If you have location blocks that block .txt files, add an exception:
location = /{key}.txt { try_files $uri =404; }

Verify Your Key File is Accessible

After hosting, test accessibility before submitting any URLs:

curl -I https://yourdomain.com/{key}.txt
# Must return: HTTP/2 200