AgentReadyAgentReady Back home

Installation

Put your agent files where scanners look

Choose your platform for exact steps. Every method ends with the same public files AgentReady checks—no SDK and no hidden integration.

Choose your platform

Install on WordPress

For self-hosted WordPress and managed WordPress hosting.

  1. 1

    Download all three AgentReady files

    In AgentReady, open the website and download llms.txt, agents.md and agent.json. Keep those exact lowercase filenames.

  2. 2

    Upload to the web root

    Use your host’s file manager or SFTP. Open the document root containing wp-config.php—commonly public_html, htdocs or www—and upload there. Create or edit robots.txt in the same folder.

    hosting file manager
    public_html/
    ├── wp-config.php
    ├── llms.txt       → /llms.txt
    ├── agents.md      → /agents.md
    ├── agent.json     → /agent.json
    └── robots.txt     → /robots.txt
  3. 3

    Use Yoast when direct upload is unavailable

    Yoast SEO can generate llms.txt under Settings → Site features → AI tools. For robots.txt, use Yoast SEO → Tools → File editor. You still need host file access or a root-file plugin for agents.md and agent.json.

  4. 4

    Add JSON-LD safely

    Use your SEO plugin’s custom schema field for the matching page. If it has none, use a trusted code-injection plugin or child theme hook to print the JSON-LD script in that page’s head; do not replace schema already produced by WooCommerce or your SEO plugin.

  5. 5

    Clear caches and verify

    Clear WordPress, host and CDN caches. Open each root URL in a private window before running Verify installation.

Watch for: WordPress Media Library changes filenames and serves uploads under /wp-content/uploads. AgentReady will not count those as root files.

AgentReady will check

https://yourdomain.com/llms.txthttps://yourdomain.com/agents.mdhttps://yourdomain.com/agent.jsonJSON-LD on the matching page

What you are publishing

AgentReady serves working examples from its own root. Your downloaded files contain your scan results and should replace these examples on your domain.

llms.txt

A concise map of your business, important pages and human contact details.

https://yourdomain.com/llms.txt

text/plain

agents.md

Rules for agents: permitted actions, boundaries, rate limits and contacts.

https://yourdomain.com/agents.md

text/markdown

agent.json

A machine-readable manifest of capabilities, entry points and policy links.

https://yourdomain.com/agent.json

application/json

Allow AI crawlers in robots.txt

Add these specific permissions before restrictive wildcard rules. Replace the sitemap URL with yours. AgentReady audits all 18 listed bots; firewall and bot-protection rules must allow them too.

robots.txt
User-agent: GPTBot
Allow: /

User-agent: OAI-SearchBot
Allow: /

User-agent: ChatGPT-User
Allow: /

User-agent: ClaudeBot
Allow: /

User-agent: Claude-Web
Allow: /

User-agent: anthropic-ai
Allow: /

User-agent: PerplexityBot
Allow: /

User-agent: Perplexity-User
Allow: /

User-agent: Google-Extended
Allow: /

User-agent: Applebot-Extended
Allow: /

User-agent: CCBot
Allow: /

User-agent: Bytespider
Allow: /

User-agent: meta-externalagent
Allow: /

User-agent: Amazonbot
Allow: /

User-agent: cohere-ai
Allow: /

User-agent: DuckAssistBot
Allow: /

User-agent: YouBot
Allow: /

User-agent: Diffbot
Allow: /

Sitemap: https://example.com/sitemap.xml

The methodology page explains what each bot supports and the effect of blocking it.

Verify the production install

Deploy first, then verify. AgentReady fetches each path from the public internet, rejects homepage-style soft 404s, checks JSON-LD and updates the readiness score. Pro monitoring alerts you if a later deployment removes something.

Catch breakages in CI (GitHub Action)

Add this workflow to your repository. It fails the pull request or deploy if llms.txt turns into an HTML page, agent.json breaks, robots.txt blocks AI crawlers, or the firewall starts rejecting GPTBot. Change SITE_URL to your domain.

# .github/workflows/agentready.yml
name: AgentReady audit
on:
  pull_request:
  push:
    branches: [main]
  schedule:
    - cron: "0 6 * * 1" # every Monday

jobs:
  agent-readiness:
    runs-on: ubuntu-latest
    env:
      SITE_URL: https://your-site.com # change me
    steps:
      - name: llms.txt is served as plain text
        run: |
          code=$(curl -s -o llms.txt -w "%{http_code}" "$SITE_URL/llms.txt")
          test "$code" = "200" || { echo "llms.txt returned $code"; exit 1; }
          if grep -qi "<html" llms.txt; then echo "llms.txt is an HTML page, not a file"; exit 1; fi
      - name: agent.json is valid JSON
        run: curl -sf "$SITE_URL/.well-known/agent.json" -o agent.json || curl -sf "$SITE_URL/agent.json" -o agent.json && jq . agent.json > /dev/null
      - name: robots.txt does not block AI crawlers
        run: |
          curl -sf "$SITE_URL/robots.txt" -o robots.txt || exit 0
          for bot in GPTBot ClaudeBot PerplexityBot Google-Extended; do
            if awk -v b="$bot" 'tolower($0) ~ "user-agent: *"tolower(b){f=1;next} /user-agent/{f=0} f && /^disallow: *\/ *$/{exit 1}' robots.txt; then :; else echo "$bot is blocked"; exit 1; fi
          done
      - name: AI crawlers are not challenged by the firewall
        run: |
          code=$(curl -s -o /dev/null -w "%{http_code}" -A "GPTBot/1.0" "$SITE_URL/")
          test "$code" -lt 400 || { echo "GPTBot gets HTTP $code"; exit 1; }

Common install mistakes

  • Returning the app’s HTML shell instead of the raw file.
  • Putting files under a subpath such as /docs/llms.txt.
  • Redirecting to a storage URL instead of serving content at the root path.
  • Breaking agent.json syntax during a manual edit.
  • Allowing robots.txt while a CDN firewall still challenges AI bots.

Still stuck? Email support@agentready.app or open a ticket on support.