Dashboard / Docs / llms.txt

AI Discoverability

llms.txt deployment guide

SEOGrove generates a markdown-formatted llms.txt file for your site following the llmstxt.org spec. When hosted at /llms.txt on your domain, AI assistants can read it directly to understand who you are, what you do, and which content to cite.

What is llms.txt?

llms.txt is an emerging open standard (similar to robots.txt) that tells large language models about your site. When placed at https://yourdomain.com/llms.txt, AI assistants that support the spec — including Perplexity, some Anthropic tooling, and third-party crawlers that feed LLM training and RAG pipelines — can parse it to understand:

  • Your brand name, category, and one-liner description
  • Who you are (founder, founding date, key profiles)
  • Your most important content pieces with titles and URLs
  • What you do not want cited (optional exclusions)

The spec is new and adoption is growing. Hosting it now is low-cost and compounds over time as more AI crawlers begin supporting it. It also makes SEOGrove's citation monitoring data more actionable — when AI assistants can find structured context about your site, citations improve.

Generating your file

SEOGrove generates a llms.txt file for each site automatically:

  • After every keyword research run (when new clusters and content are added)
  • On demand via the Regenerate button in the llms.txt section of your site dashboard

To regenerate manually: go to your site dashboard → scroll to the llms.txt panel → click Regenerate. Generation takes about 30 seconds. The result is saved automatically and available for download immediately.

Best practice: Regenerate after publishing a batch of 3–5 new articles so the file reflects your most current and authoritative content. Once per month is usually sufficient.

Deploying the file

The file must be accessible at exactly https://yourdomain.com/llms.txt (root path, no subdirectory). Steps by platform:

WordPress

  1. Download the file from your site dashboard.
  2. In your WordPress admin, go to Appearance → File Editor or use an FTP/SFTP client.
  3. Upload llms.txt to the root of your WordPress installation (same level as wp-config.php).
  4. Verify it loads at https://yoursite.com/llms.txt.

Alternatively, use a plugin like WP File Manager or upload via cPanel File Manager. Make sure the file is not blocked by your .htaccess or security plugin.

Next.js / static sites

  1. Download the file from your site dashboard.
  2. Place it in your /public directory as public/llms.txt.
  3. Redeploy your site — Next.js serves everything in /public at the root path.

Custom backend / CDN

  1. Download the file or copy its content from the dashboard.
  2. Create a route that serves the content with Content-Type: text/plain; charset=utf-8 at GET /llms.txt.
  3. Alternatively, upload the file to your CDN bucket and add a redirect/rewrite rule from /llms.txt to the CDN object URL.

Webhook automation

If you use the SEOGrove webhook to auto-publish articles, you can extend your receiver to also fetch and update llms.txt on a schedule. The file is available at:

GET /sites/:site_id/llms-txt
Authorization: (standard session — authenticated users only)

A public unauthenticated endpoint for programmatic download is on the roadmap. For now, download manually from the dashboard or trigger regeneration via the API.

File format reference

SEOGrove generates a llms.txt file following the llmstxt.org spec. The file is plain markdown with a defined structure:

# [Brand Name]

> [One-liner description]

[Optional longer context paragraph]

## Content

- [Article Title](https://yourdomain.com/slug): Brief description of what it covers
- [Article Title 2](https://yourdomain.com/slug2): Description
...

## About

[Company/founder information, founding date, category, key profiles]

## Optional: Exclusions

- [What NOT to cite or attribute to this site]

SEOGrove populates this automatically from your site's entity data (brand name, one-liner, category, founder — configured in Settings → Entity data), your most recent published articles, and your site's niche analysis context. The more complete your entity data, the better the generated file.

Keeping the file fresh

SEOGrove automatically regenerates your llms.txt after each keyword research run — at most once per 7 days to avoid unnecessary AI calls. This means the file stays up to date as your content library grows without manual effort.

However, SEOGrove cannot automatically push the updated file to your site. After a regeneration, you'll see the updated content in your dashboard. Re-download and re-deploy when you want to push changes live.

Recommended cadence: Regenerate and redeploy once per month, or after publishing a significant batch of new content. For most sites, the initial deployment and monthly updates are sufficient.

Verifying the deployment

After deploying, verify the file is accessible by visiting https://yourdomain.com/llms.txt in your browser. You should see the plain-text markdown content with Content-Type: text/plain.

Common issues:

  • 404: File not at root level. Check your upload path and retry.
  • HTML returned instead of plain text: Serving as the wrong MIME type. Check your web server / CDN configuration to serve .txt files as text/plain.
  • WordPress security plugin blocking it: Some security plugins block access to unknown root files. Add llms.txt to the allowed list.
  • Cached old version: If you've updated the file, clear your CDN cache so crawlers fetch the latest version.