{
  "generatedAt": "2026-06-28T21:47:01.688Z",
  "project": "LLMs.txt Kit",
  "domain": "llmstxtkit.com",
  "origin": "https://llmstxtkit.com",
  "campaign": "first-distribution",
  "status": "priority_distribution_ready",
  "summary": {
    "priorityActions": 5,
    "readyActions": 5,
    "searchVisibilityObserved": true,
    "organicProofObserved": false,
    "impressions": 30,
    "clicks": 0,
    "measurementStatus": "measurement_final_domain_live_waiting_for_real_distribution_or_organic_proof",
    "realDistributionObserved": false
  },
  "decisionRules": [
    "Prioritize pages and queries already showing Search Console impressions.",
    "Prefer narrow answer-first placements over generic launch posts.",
    "Use direct UTM links, never Google search URLs.",
    "Disclose affiliation for owned tools and pages.",
    "Record the public post URL or the skip reason immediately after each attempt.",
    "Count success only from valid public placement evidence, UTM attribution, Search Console clicks, qualified referrals, or tool events."
  ],
  "platformGuardrailSources": [
    {
      "label": "Reddit Content Policy",
      "url": "https://www.redditinc.com/policies/content-policy",
      "useFor": "Avoid spam, vote manipulation, and non-relevant self-promotion."
    },
    {
      "label": "Reddit Reddiquette",
      "url": "https://support.reddithelp.com/hc/en-us/articles/205926439-Reddiquette",
      "useFor": "Answer the community first and avoid link-only participation."
    },
    {
      "label": "Stack Overflow promotion guidance",
      "url": "https://stackoverflow.com/help/promotion",
      "useFor": "Disclose affiliation and avoid answers that exist mainly to promote a product."
    },
    {
      "label": "Hacker News Show HN guidelines",
      "url": "https://news.ycombinator.com/showhn.html",
      "useFor": "Use launch posts only when the artifact is appropriate for Show HN."
    },
    {
      "label": "Google helpful content guidance",
      "url": "https://developers.google.com/search/docs/fundamentals/creating-helpful-content",
      "useFor": "Keep the traffic tactic useful for people, not search manipulation."
    }
  ],
  "priorityActions": [
    {
      "rank": 1,
      "id": "reddit-llms-validator-checker",
      "status": "ready_to_execute",
      "score": 19,
      "community": "Reddit SEO, webdev, Shopify, or webmaster thread",
      "queryAnswered": "How can I check or validate an llms.txt draft before publishing?",
      "angle": "Help someone validate an llms.txt draft before publishing instead of treating the file as a ranking trick.",
      "reason": "Highest observed landing page signal: the validator page has 10 impressions, and validator/checker query variants total 9 impressions.",
      "executionWindow": "First 24 hours",
      "findTarget": "Search for fresh Reddit, Shopify, webdev, or SEO discussions where someone asks how to validate or check llms.txt before publishing.",
      "searchPrompts": [
        "reddit llms.txt validator",
        "reddit llms.txt checker",
        "site:reddit.com/r/Shopify llms.txt",
        "site:reddit.com/r/webdev llms.txt checker"
      ],
      "searchConsoleSignals": [
        {
          "type": "page",
          "value": "/tools/llms-txt-validator.html",
          "impressions": 10
        },
        {
          "type": "query",
          "value": "llms.txt validator",
          "impressions": 4
        },
        {
          "type": "query",
          "value": "llms txt validator",
          "impressions": 2
        },
        {
          "type": "query",
          "value": "llms.txt checker",
          "impressions": 2
        },
        {
          "type": "query",
          "value": "llms validator",
          "impressions": 1
        }
      ],
      "trackedUrl": "https://llmstxtkit.com/tools/llms-txt-validator.html?utm_source=reddit&utm_medium=community-answer&utm_campaign=first-distribution&utm_content=reddit-llms-validator-checker",
      "draft": "Before publishing llms.txt, I would validate the draft for boring but important mistakes.\n\nCheck:\n- one clear H1 and short summary\n- canonical public URLs only\n- useful Core pages instead of every URL\n- no admin, checkout, account, staging, token, localhost, or customer-specific links\n- no keyword stuffing or ranking claims\n\nI made a free llms.txt validator/checker here: https://llmstxtkit.com/tools/llms-txt-validator.html?utm_source=reddit&utm_medium=community-answer&utm_campaign=first-distribution&utm_content=reddit-llms-validator-checker",
      "prePostChecklist": [
        "The thread or page is directly relevant to the queryAnswered field.",
        "The reply answers the question before linking.",
        "Affiliation is disclosed when posting owned content.",
        "The link points directly to the useful asset, not a Google search URL.",
        "No one is asked for votes, clicks, backlinks, fake searches, or artificial engagement.",
        "The final domain is live; do not use the temporary preview URL for public launch distribution."
      ],
      "successEvidence": [
        "Public post/comment/README URL is saved.",
        "utm_content appears in campaign attribution or a valid manual evidence record is imported.",
        "Any meaningful replies, saves, referrals, Search Console impressions, or funnel events are recorded."
      ],
      "commands": {
        "recordPostedEvidence": "npm run distribution:evidence -- --placement-id 'reddit-llms-validator-checker' --url PUBLIC_POST_URL --posted-at YYYY-MM-DD --status 'posted' --note 'Affiliation disclosed; answer-first placement.'",
        "recordAcceptedEvidence": "npm run distribution:evidence -- --placement-id 'reddit-llms-validator-checker' --url PUBLIC_POST_URL --posted-at YYYY-MM-DD --status 'accepted' --note 'Affiliation disclosed; answer-first placement.'",
        "recordSkippedEvidence": "npm run distribution:evidence -- --placement-id 'reddit-llms-validator-checker' --url PUBLIC_POST_URL --posted-at YYYY-MM-DD --status 'skipped' --note 'Affiliation disclosed; answer-first placement.'",
        "recordRemovedEvidence": "npm run distribution:evidence -- --placement-id 'reddit-llms-validator-checker' --url PUBLIC_POST_URL --posted-at YYYY-MM-DD --status 'removed' --note 'Affiliation disclosed; answer-first placement.'"
      },
      "skipWhen": [
        "The current discussion is not directly asking the question.",
        "The platform rules or moderator norms disallow this kind of owned link.",
        "The answer would not be useful without the link.",
        "Affiliation cannot be disclosed clearly."
      ]
    },
    {
      "rank": 2,
      "id": "reddit-google-robots-generator",
      "status": "ready_to_execute",
      "score": 12,
      "community": "Reddit SEO, webmaster, or Google Search Central-style thread",
      "queryAnswered": "How do I generate robots.txt rules for Googlebot without blocking Google Search?",
      "angle": "Answer a Google robots.txt generator question without encouraging people to block Googlebot by mistake.",
      "reason": "Strongest robots.txt signal: the Google robots.txt generator query has 6 impressions, matching the AI robots generator page with 6 impressions.",
      "executionWindow": "First 24 hours",
      "findTarget": "Search for current robots.txt threads where Googlebot, Google-Extended, GPTBot, or OAI-SearchBot are being discussed.",
      "searchPrompts": [
        "reddit robots txt google generator",
        "site:reddit.com/r/SEO Googlebot Google-Extended robots.txt",
        "site:reddit.com/r/webdev robots.txt Googlebot AI crawler"
      ],
      "searchConsoleSignals": [
        {
          "type": "page",
          "value": "/tools/ai-robots-txt-generator.html",
          "impressions": 6
        },
        {
          "type": "query",
          "value": "robots txt google generator",
          "impressions": 6
        }
      ],
      "trackedUrl": "https://llmstxtkit.com/tools/ai-robots-txt-generator.html?utm_source=reddit&utm_medium=community-answer&utm_campaign=first-distribution&utm_content=reddit-google-robots-generator",
      "draft": "If you are generating robots.txt rules for Google, I would separate Googlebot from Google-Extended.\n\nThe usual safe split is:\n- keep Googlebot allowed if Google Search traffic matters\n- decide separately whether Google-Extended should be allowed or blocked\n- write GPTBot, OAI-SearchBot, Applebot, PerplexityBot, and CCBot rules separately\n- remember robots.txt is not privacy protection; private content still needs login/auth\n\nI made a free Google/AI crawler robots.txt generator here: https://llmstxtkit.com/tools/ai-robots-txt-generator.html?utm_source=reddit&utm_medium=community-answer&utm_campaign=first-distribution&utm_content=reddit-google-robots-generator",
      "prePostChecklist": [
        "The thread or page is directly relevant to the queryAnswered field.",
        "The reply answers the question before linking.",
        "Affiliation is disclosed when posting owned content.",
        "The link points directly to the useful asset, not a Google search URL.",
        "No one is asked for votes, clicks, backlinks, fake searches, or artificial engagement.",
        "The final domain is live; do not use the temporary preview URL for public launch distribution."
      ],
      "successEvidence": [
        "Public post/comment/README URL is saved.",
        "utm_content appears in campaign attribution or a valid manual evidence record is imported.",
        "Any meaningful replies, saves, referrals, Search Console impressions, or funnel events are recorded."
      ],
      "commands": {
        "recordPostedEvidence": "npm run distribution:evidence -- --placement-id 'reddit-google-robots-generator' --url PUBLIC_POST_URL --posted-at YYYY-MM-DD --status 'posted' --note 'Affiliation disclosed; answer-first placement.'",
        "recordAcceptedEvidence": "npm run distribution:evidence -- --placement-id 'reddit-google-robots-generator' --url PUBLIC_POST_URL --posted-at YYYY-MM-DD --status 'accepted' --note 'Affiliation disclosed; answer-first placement.'",
        "recordSkippedEvidence": "npm run distribution:evidence -- --placement-id 'reddit-google-robots-generator' --url PUBLIC_POST_URL --posted-at YYYY-MM-DD --status 'skipped' --note 'Affiliation disclosed; answer-first placement.'",
        "recordRemovedEvidence": "npm run distribution:evidence -- --placement-id 'reddit-google-robots-generator' --url PUBLIC_POST_URL --posted-at YYYY-MM-DD --status 'removed' --note 'Affiliation disclosed; answer-first placement.'"
      },
      "skipWhen": [
        "The current discussion is not directly asking the question.",
        "The platform rules or moderator norms disallow this kind of owned link.",
        "The answer would not be useful without the link.",
        "Affiliation cannot be disclosed clearly."
      ]
    },
    {
      "rank": 3,
      "id": "shopify-community",
      "status": "ready_to_execute",
      "score": 5,
      "community": "Shopify community",
      "queryAnswered": "How should a Shopify store make an AI-readable map?",
      "angle": "Help Shopify stores summarize important pages instead of every product.",
      "reason": "Shopify is already appearing in query data, and the Shopify guide has 3 page impressions plus Shopify-specific query impressions.",
      "executionWindow": "First 48 hours",
      "findTarget": "Search for Shopify community discussions about llms.txt, AI search visibility, product-page indexing, or crawler-safe store maps.",
      "searchPrompts": [
        "Shopify community llms.txt",
        "Shopify AI search visibility"
      ],
      "searchConsoleSignals": [
        {
          "type": "page",
          "value": "/guides/llms-txt-for-shopify.html",
          "impressions": 3
        },
        {
          "type": "query",
          "value": "llms.txt for shopify",
          "impressions": 1
        },
        {
          "type": "query",
          "value": "llms.txt generator for shopify",
          "impressions": 1
        }
      ],
      "trackedUrl": "https://llmstxtkit.com/guides/llms-txt-for-shopify.html?utm_source=shopify&utm_medium=community-answer&utm_campaign=first-distribution&utm_content=shopify-community",
      "draft": "For a Shopify store, I would not list every product in llms.txt.\n\nBetter candidates:\n- homepage\n- top collection\n- flagship product\n- sizing or buying guide\n- shipping and return policies\n- contact or store story\n\nThat gives crawlers and AI tools a cleaner map than a giant catalog dump.\n\nShopify template: https://llmstxtkit.com/guides/llms-txt-for-shopify.html?utm_source=shopify&utm_medium=community-answer&utm_campaign=first-distribution&utm_content=shopify-community",
      "prePostChecklist": [
        "The thread or page is directly relevant to the queryAnswered field.",
        "The reply answers the question before linking.",
        "Affiliation is disclosed when posting owned content.",
        "The link points directly to the useful asset, not a Google search URL.",
        "No one is asked for votes, clicks, backlinks, fake searches, or artificial engagement.",
        "The final domain is live; do not use the temporary preview URL for public launch distribution."
      ],
      "successEvidence": [
        "Public post/comment/README URL is saved.",
        "utm_content appears in campaign attribution or a valid manual evidence record is imported.",
        "Any meaningful replies, saves, referrals, Search Console impressions, or funnel events are recorded."
      ],
      "commands": {
        "recordPostedEvidence": "npm run distribution:evidence -- --placement-id 'shopify-community' --url PUBLIC_POST_URL --posted-at YYYY-MM-DD --status 'posted' --note 'Affiliation disclosed; answer-first placement.'",
        "recordAcceptedEvidence": "npm run distribution:evidence -- --placement-id 'shopify-community' --url PUBLIC_POST_URL --posted-at YYYY-MM-DD --status 'accepted' --note 'Affiliation disclosed; answer-first placement.'",
        "recordSkippedEvidence": "npm run distribution:evidence -- --placement-id 'shopify-community' --url PUBLIC_POST_URL --posted-at YYYY-MM-DD --status 'skipped' --note 'Affiliation disclosed; answer-first placement.'",
        "recordRemovedEvidence": "npm run distribution:evidence -- --placement-id 'shopify-community' --url PUBLIC_POST_URL --posted-at YYYY-MM-DD --status 'removed' --note 'Affiliation disclosed; answer-first placement.'"
      },
      "skipWhen": [
        "The current discussion is not directly asking the question.",
        "The platform rules or moderator norms disallow this kind of owned link.",
        "The answer would not be useful without the link.",
        "Affiliation cannot be disclosed clearly."
      ]
    },
    {
      "rank": 4,
      "id": "reddit-llms-txt-question",
      "status": "ready_to_execute",
      "score": 4,
      "community": "Reddit SEO or webmaster thread",
      "queryAnswered": "How should I create llms.txt?",
      "angle": "Explain llms.txt as a curated map, not a ranking hack.",
      "reason": "The create llm txt query appeared, and the generator guide page has 3 impressions. This is the broadest top-of-funnel entry point.",
      "executionWindow": "First 48 hours",
      "findTarget": "Search for current questions asking what llms.txt is, whether to create one, or how to build the first draft safely.",
      "searchPrompts": [
        "reddit llms.txt generator",
        "site:reddit.com/r/SEO llms.txt",
        "site:reddit.com/r/webdev llms.txt"
      ],
      "searchConsoleSignals": [
        {
          "type": "page",
          "value": "/guides/llms-txt-generator.html",
          "impressions": 3
        },
        {
          "type": "query",
          "value": "create llm txt",
          "impressions": 1
        }
      ],
      "trackedUrl": "https://llmstxtkit.com/?utm_source=reddit&utm_medium=community-answer&utm_campaign=first-distribution&utm_content=reddit-llms-txt-question",
      "draft": "I would treat llms.txt as a curated public map, not as an SEO shortcut.\n\nThe useful version is usually small:\n- one plain-language site summary\n- canonical public pages only\n- notes about what the page should not be used to infer\n- no private URLs, hidden claims, or keyword stuffing\n\nI made a free generator here if you want a starting point: https://llmstxtkit.com/?utm_source=reddit&utm_medium=community-answer&utm_campaign=first-distribution&utm_content=reddit-llms-txt-question",
      "prePostChecklist": [
        "The thread or page is directly relevant to the queryAnswered field.",
        "The reply answers the question before linking.",
        "Affiliation is disclosed when posting owned content.",
        "The link points directly to the useful asset, not a Google search URL.",
        "No one is asked for votes, clicks, backlinks, fake searches, or artificial engagement.",
        "The final domain is live; do not use the temporary preview URL for public launch distribution."
      ],
      "successEvidence": [
        "Public post/comment/README URL is saved.",
        "utm_content appears in campaign attribution or a valid manual evidence record is imported.",
        "Any meaningful replies, saves, referrals, Search Console impressions, or funnel events are recorded."
      ],
      "commands": {
        "recordPostedEvidence": "npm run distribution:evidence -- --placement-id 'reddit-llms-txt-question' --url PUBLIC_POST_URL --posted-at YYYY-MM-DD --status 'posted' --note 'Affiliation disclosed; answer-first placement.'",
        "recordAcceptedEvidence": "npm run distribution:evidence -- --placement-id 'reddit-llms-txt-question' --url PUBLIC_POST_URL --posted-at YYYY-MM-DD --status 'accepted' --note 'Affiliation disclosed; answer-first placement.'",
        "recordSkippedEvidence": "npm run distribution:evidence -- --placement-id 'reddit-llms-txt-question' --url PUBLIC_POST_URL --posted-at YYYY-MM-DD --status 'skipped' --note 'Affiliation disclosed; answer-first placement.'",
        "recordRemovedEvidence": "npm run distribution:evidence -- --placement-id 'reddit-llms-txt-question' --url PUBLIC_POST_URL --posted-at YYYY-MM-DD --status 'removed' --note 'Affiliation disclosed; answer-first placement.'"
      },
      "skipWhen": [
        "The current discussion is not directly asking the question.",
        "The platform rules or moderator norms disallow this kind of owned link.",
        "The answer would not be useful without the link.",
        "Affiliation cannot be disclosed clearly."
      ]
    },
    {
      "rank": 5,
      "id": "devto-log-analyzer",
      "status": "ready_to_execute",
      "score": 3,
      "community": "DEV Community or developer blog comments",
      "queryAnswered": "How can I tell whether AI crawlers are hitting my logs?",
      "angle": "Teach people to inspect actual crawler hits in logs.",
      "reason": "The log analyzer page has 2 impressions and the log analysis for bot detection query appeared. This is a narrow developer-intent placement.",
      "executionWindow": "First 72 hours",
      "findTarget": "Search for DEV, webdev, analytics, or server-log discussions where someone needs to identify bot or AI crawler visits.",
      "searchPrompts": [
        "DEV AI crawler logs",
        "GPTBot access logs OAI-SearchBot"
      ],
      "searchConsoleSignals": [
        {
          "type": "page",
          "value": "/tools/ai-crawler-log-analyzer.html",
          "impressions": 2
        },
        {
          "type": "query",
          "value": "log analysis for bot detection",
          "impressions": 1
        }
      ],
      "trackedUrl": "https://llmstxtkit.com/tools/ai-crawler-log-analyzer.html?utm_source=devto&utm_medium=tutorial-comment&utm_campaign=first-distribution&utm_content=devto-log-analyzer",
      "draft": "If you want to know whether AI crawlers are actually visiting, check access logs, not just robots.txt.\n\nI would look for:\n- Googlebot\n- OAI-SearchBot\n- GPTBot\n- Applebot\n- PerplexityBot\n- CCBot\n- requests to /robots.txt, /sitemap.xml, and /llms.txt\n\nI made a paste-in log analyzer here: https://llmstxtkit.com/tools/ai-crawler-log-analyzer.html?utm_source=devto&utm_medium=tutorial-comment&utm_campaign=first-distribution&utm_content=devto-log-analyzer",
      "prePostChecklist": [
        "The thread or page is directly relevant to the queryAnswered field.",
        "The reply answers the question before linking.",
        "Affiliation is disclosed when posting owned content.",
        "The link points directly to the useful asset, not a Google search URL.",
        "No one is asked for votes, clicks, backlinks, fake searches, or artificial engagement.",
        "The final domain is live; do not use the temporary preview URL for public launch distribution."
      ],
      "successEvidence": [
        "Public post/comment/README URL is saved.",
        "utm_content appears in campaign attribution or a valid manual evidence record is imported.",
        "Any meaningful replies, saves, referrals, Search Console impressions, or funnel events are recorded."
      ],
      "commands": {
        "recordPostedEvidence": "npm run distribution:evidence -- --placement-id 'devto-log-analyzer' --url PUBLIC_POST_URL --posted-at YYYY-MM-DD --status 'posted' --note 'Affiliation disclosed; answer-first placement.'",
        "recordAcceptedEvidence": "npm run distribution:evidence -- --placement-id 'devto-log-analyzer' --url PUBLIC_POST_URL --posted-at YYYY-MM-DD --status 'accepted' --note 'Affiliation disclosed; answer-first placement.'",
        "recordSkippedEvidence": "npm run distribution:evidence -- --placement-id 'devto-log-analyzer' --url PUBLIC_POST_URL --posted-at YYYY-MM-DD --status 'skipped' --note 'Affiliation disclosed; answer-first placement.'",
        "recordRemovedEvidence": "npm run distribution:evidence -- --placement-id 'devto-log-analyzer' --url PUBLIC_POST_URL --posted-at YYYY-MM-DD --status 'removed' --note 'Affiliation disclosed; answer-first placement.'"
      },
      "skipWhen": [
        "The current discussion is not directly asking the question.",
        "The platform rules or moderator norms disallow this kind of owned link.",
        "The answer would not be useful without the link.",
        "Affiliation cannot be disclosed clearly."
      ]
    }
  ],
  "commands": {
    "refreshPriorityPack": "npm run distribution:priority",
    "refreshDistributionQueue": "npm run distribution:queue",
    "refreshCampaignAttribution": "npm run campaign:attribution",
    "importDistributionEvidence": "npm run distribution:evidence",
    "refreshMeasurement": "npm run traffic:measurement",
    "refreshGoalAudit": "npm run goal:audit"
  }
}
