{"id":385525,"date":"2026-10-25T08:32:52","date_gmt":"2026-10-25T08:32:52","guid":{"rendered":"https:\/\/wordpress.org\/plugins\/okibako-ai\/"},"modified":"2026-10-25T08:32:42","modified_gmt":"2026-10-25T08:32:42","slug":"okibako-ai","status":"publish","type":"plugin","link":"https:\/\/wordpress.org\/plugins\/okibako-ai\/","author":23584730,"comment_status":"closed","ping_status":"closed","template":"","meta":{"version":"1.0.0","stable_tag":"1.0.0","tested":"7.1.4","requires":"6.3","requires_php":"7.4","requires_plugins":null,"header_name":"Okibako AI","header_author":"\u6709\u9650\u4f1a\u793e\u30de\u30ea\u30f3\u30d0\u30fc\u30b9\u30af","header_description":"AI\u304c\u30b5\u30a4\u30c8\u3092\u8aad\u3081\u308b\u3088\u3046\u306b llms.txt \u3068\u5168\u6587\u3092\u81ea\u52d5\u3067\u51fa\u3057\u3001\u3069\u306eAI\u304c\u3069\u306e\u30da\u30fc\u30b8\u3092\u8aad\u307f\u306b\u6765\u305f\u304b\u3092\u8a18\u9332\u3057\u307e\u3059\u3002\u8a18\u4e8b\u3092\u66f8\u304f\u305f\u3073\u306b\u4f5c\u308a\u76f4\u3059\u306e\u3067\u3001\u7f6e\u304d\u3063\u3071\u306a\u3057\u3067\u4e2d\u8eab\u304c\u305a\u308c\u307e\u305b\u3093\u3002","assets_banners_color":"14172c","last_updated":"2026-10-25 08:32:42","external_support_url":"","external_repository_url":"","donate_link":"","header_plugin_uri":"","header_author_uri":"https:\/\/okibako.jp\/","rating":0,"author_block_rating":0,"active_installs":0,"downloads":66,"num_ratings":0,"support_threads":0,"support_threads_resolved":0,"author_block_count":0,"sections":["description","installation","faq","changelog"],"tags":{"1.0.0":{"tag":"1.0.0","author":"hokkaidoweb","date":"2026-10-25 08:32:42","revision":3764117}},"upgrade_notice":[],"ratings":[],"assets_icons":{"icon-128x128.png":{"filename":"icon-128x128.png","revision":3764117,"resolution":"128x128","location":"assets","locale":"","width":128,"height":128},"icon-256x256.png":{"filename":"icon-256x256.png","revision":3764117,"resolution":"256x256","location":"assets","locale":"","width":256,"height":256}},"assets_banners":{"banner-1544x500.png":{"filename":"banner-1544x500.png","revision":3764117,"resolution":"1544x500","location":"assets","locale":"","width":1544,"height":500},"banner-772x250.png":{"filename":"banner-772x250.png","revision":3764117,"resolution":"772x250","location":"assets","locale":"","width":772,"height":250}},"assets_blueprints":{},"all_blocks":[],"tagged_versions":["1.0.0"],"block_files":[],"assets_screenshots":{"screenshot-1.png":{"filename":"screenshot-1.png","revision":3764117,"resolution":"1","location":"assets","locale":"","width":1200,"height":2030},"screenshot-2.png":{"filename":"screenshot-2.png","revision":3764117,"resolution":"2","location":"assets","locale":"","width":1200,"height":833},"screenshot-3.png":{"filename":"screenshot-3.png","revision":3764117,"resolution":"3","location":"assets","locale":"","width":1200,"height":833}},"screenshots":{"1":"The report: how often AI crawlers fetched the site, which ones came, and which pages they took.","2":"The diagnosis: the site fetched as GPTBot, checking that the text is really in the HTML and that nothing is emitted twice.","3":"Settings: what to serve, which crawlers to refuse, how long to keep the records."}},"plugin_section":[],"plugin_tags":[2353,9837,247966,244604,186],"plugin_category":[55],"plugin_contributors":[288332],"plugin_business_model":[],"class_list":["post-385525","plugin","type-plugin","status-publish","hentry","plugin_tags-ai","plugin_tags-crawler","plugin_tags-gptbot","plugin_tags-llms-txt","plugin_tags-seo","plugin_category-seo-and-marketing","plugin_contributors-hokkaidoweb","plugin_committers-hokkaidoweb"],"banners":{"banner":"https:\/\/ps.w.org\/okibako-ai\/assets\/banner-772x250.png?rev=3764117","banner_2x":"https:\/\/ps.w.org\/okibako-ai\/assets\/banner-1544x500.png?rev=3764117","banner_rtl":false,"banner_2x_rtl":false},"icons":{"svg":false,"icon":"https:\/\/ps.w.org\/okibako-ai\/assets\/icon-128x128.png?rev=3764117","icon_2x":"https:\/\/ps.w.org\/okibako-ai\/assets\/icon-256x256.png?rev=3764117","generated":false},"screenshots":[{"src":"https:\/\/ps.w.org\/okibako-ai\/assets\/screenshot-1.png?rev=3764117","caption":"The report: how often AI crawlers fetched the site, which ones came, and which pages they took."},{"src":"https:\/\/ps.w.org\/okibako-ai\/assets\/screenshot-2.png?rev=3764117","caption":"The diagnosis: the site fetched as GPTBot, checking that the text is really in the HTML and that nothing is emitted twice."},{"src":"https:\/\/ps.w.org\/okibako-ai\/assets\/screenshot-3.png?rev=3764117","caption":"Settings: what to serve, which crawlers to refuse, how long to keep the records."}],"raw_content":"<!--section=description-->\n<p><strong>Note: the admin interface of this plugin is currently in Japanese.<\/strong><\/p>\n\n<p>Most llms.txt plugins stop at writing the file. This one is built around the question that comes next: <strong>did any AI actually come and read it?<\/strong><\/p>\n\n<p>It keeps a lightweight log of AI crawler visits (no database tables, no human visits, no IP addresses), charts them by crawler and by page, and lets you fetch your own site as GPTBot to see whether the text is really in the HTML. llms.txt is included so the whole loop \u2014 publish, measure, check \u2014 lives in one place.<\/p>\n\n<h4>1. Files for AI, generated on the fly<\/h4>\n\n<ul>\n<li><strong>llms.txt<\/strong> \u2014 a map of the site: what the business is, and what is on each page.<\/li>\n<li><strong>llms-full.txt<\/strong> \u2014 the body text of every post and page in one file, each entry carrying its URL and last-modified date so an AI can cite the source.<\/li>\n<li><strong>robots.txt<\/strong> \u2014 AI crawlers listed by name, so refusing one later is a single click.<\/li>\n<\/ul>\n\n<p>Nothing is written to disk. The files are built when they are requested, so they match the site the moment you edit a post. There is no \"generate\" button and no sync setting to remember.<\/p>\n\n<h4>2. Measurement: is anything actually reading it?<\/h4>\n\n<p>The plugin records visits from 19 crawlers \u2014 GPTBot, OAI-SearchBot, ChatGPT-User, ClaudeBot, Claude-User, PerplexityBot, Googlebot, bingbot and others \u2014 and charts them by day, by crawler and by page.<\/p>\n\n<ul>\n<li><strong>Human visits are never recorded.<\/strong> A line is written only when the User-Agent matches a known AI crawler.<\/li>\n<li><strong>No IP addresses are stored.<\/strong><\/li>\n<li><strong>No database tables are created.<\/strong> One file per day under <code>wp-content\/uploads\/<\/code>.<\/li>\n<\/ul>\n\n<p>If a page cache is active, cached responses never run PHP, so visits go uncounted. The plugin detects this and tells you exactly which user agents to exclude in your cache plugin.<\/p>\n\n<h4>3. See your site the way an AI sees it<\/h4>\n\n<p>One button fetches your own site while identifying as GPTBot, and reports:<\/p>\n\n<ul>\n<li>Whether the body text is actually in the HTML. <strong>Page builders and lazy loading routinely leave text visible to people but absent from the HTML<\/strong>, which is easy to miss when you only look at the page in a browser.<\/li>\n<li>Whether structured data (JSON-LD), <code>h1<\/code> and <code>title<\/code> are present.<\/li>\n<li>Whether <code>llms.txt<\/code> and <code>robots.txt<\/code> are really being served, or shadowed by a real file on disk.<\/li>\n<li>Whether canonical, description, og:title or the analytics tag appear <strong>twice<\/strong> \u2014 a common and quietly destructive conflict between a theme and a plugin.<\/li>\n<\/ul>\n\n<h4>4. SEO and analytics basics<\/h4>\n\n<p>Title, meta description, canonical, Open Graph, and JSON-LD (Organization, WebSite, BlogPosting, BreadcrumbList). Optional noindex for thin archive pages. A field for a Google Analytics 4 measurement ID.<\/p>\n\n<p><strong>If another SEO or analytics plugin is active, these parts switch themselves off.<\/strong> Yoast SEO, Rank Math, All in One SEO, SEO SIMPLE PACK, The SEO Framework, Slim SEO, SEOPress, Site Kit by Google, MonsterInsights and others are detected. Emitting a second canonical tag or a second analytics tag does real damage, so the plugin yields. llms.txt and the measurement keep running either way, because they do not conflict with those plugins.<\/p>\n\n<h4>What this plugin cannot tell you<\/h4>\n\n<p>It counts <strong>fetches<\/strong>. It does not show whether an AI quoted your page in an answer; a crawler visit is not the same as a citation.<\/p>\n\n<p>Placing an llms.txt file is also no guarantee of being picked up by anything. What this plugin does is prepare the content properly and measure what actually arrives.<\/p>\n\n<h3>External services<\/h3>\n\n<p>This plugin can load one external service, and only if you turn it on.<\/p>\n\n<h4>Google Analytics (gtag.js)<\/h4>\n\n<ul>\n<li>What it is: Google Analytics 4, a web analytics service provided by Google LLC. It is used to measure visits by people, separately from the AI crawler log.<\/li>\n<li>When: only if you enter a Google Analytics measurement ID in the settings. With the field empty, nothing is loaded.<\/li>\n<li>What is sent: visitors' browsers load <code>https:\/\/www.googletagmanager.com\/gtag\/js<\/code> and send Google the usual page-view data (page URL, referrer, browser and device information, IP address, and Google Analytics cookies). The plugin itself sends nothing from your server.<\/li>\n<li>Options: logged-in editors can be excluded, and browsers sending \"Do Not Track\" can be skipped.<\/li>\n<li>Google Terms of Service: https:\/\/policies.google.com\/terms<\/li>\n<li>Google Analytics Terms of Service: https:\/\/marketingplatform.google.com\/about\/analytics\/terms\/us\/<\/li>\n<li>Google Privacy Policy: https:\/\/policies.google.com\/privacy<\/li>\n<\/ul>\n\n<p>No other external service is contacted. The diagnose button fetches only your own site, from your own server.<\/p>\n\n<h3>Privacy<\/h3>\n\n<p>The AI crawler log stays on your own server and is never sent anywhere.<\/p>\n\n<h4>What is recorded<\/h4>\n\n<p>When an AI crawler requests a page, four fields are appended to a file on your own server: the time (UTC), the crawler name, the HTTP status, and the request path with the query string removed. Files live at <code>wp-content\/uploads\/okibako-ai\/YYYY-MM-DD.tsv<\/code>, protected by an <code>.htaccess<\/code> file.<\/p>\n\n<p>Human visits, IP addresses and cookies are not involved, and no database table is created.<\/p>\n\n<h4>Outbound connections<\/h4>\n\n<ol>\n<li>Pressing the diagnose button fetches <strong>your own site<\/strong> from your own server. The result is not sent anywhere.<\/li>\n<li>Google Analytics is loaded only if you enter a measurement ID. See \"External services\" above.<\/li>\n<\/ol>\n\n<!--section=installation-->\n<ol>\n<li>Upload and activate the plugin.<\/li>\n<li>Open <strong>\u30aa\u30ad\u30d0\u30b3AI \u2192 \u8a2d\u5b9a<\/strong> and write one line describing what the site is.<\/li>\n<li>Open <strong>\u30aa\u30ad\u30d0\u30b3AI \u2192 \u30ec\u30dd\u30fc\u30c8<\/strong> and press the diagnose button. Every row should come back green.<\/li>\n<\/ol>\n\n<p>Numbers only become readable after about two weeks. Crawlers do not visit every day.<\/p>\n\n<!--section=faq-->\n<dl>\n<dt id=\"llms.txt%20returns%20404\"><h3>llms.txt returns 404<\/h3><\/dt>\n<dd><p>Open <strong>Settings \u2192 Permalinks<\/strong> and save without changing anything. If it still fails, a real <code>llms.txt<\/code> file exists in your web root; delete it.<\/p><\/dd>\n<dt id=\"my%20robots.txt%20does%20not%20include%20the%20ai%20lines\"><h3>My robots.txt does not include the AI lines<\/h3><\/dt>\n<dd><p>A real <code>robots.txt<\/code> file on disk overrides the one WordPress generates. The diagnose screen detects this. Note also that some SEO plugins rebuild robots.txt and drop comment lines while keeping the rules.<\/p><\/dd>\n<dt id=\"i%20have%20several%20hundred%20posts.%20will%20this%20slow%20the%20site%20down%3F\"><h3>I have several hundred posts. Will this slow the site down?<\/h3><\/dt>\n<dd><p>llms-full.txt is streamed rather than held in memory, and the number of entries is configurable. llms.txt is cached for a day and rebuilt only when a post changes.<\/p><\/dd>\n<dt id=\"does%20uninstalling%20delete%20my%20measurements%3F\"><h3>Does uninstalling delete my measurements?<\/h3><\/dt>\n<dd><p>Settings and per-post fields are removed. <strong>Measurement files are kept.<\/strong> Delete <code>wp-content\/uploads\/okibako-ai\/<\/code> yourself if you do not want them.<\/p><\/dd>\n<dt id=\"google-extended%20never%20appears%20in%20the%20report\"><h3>Google-Extended never appears in the report<\/h3><\/dt>\n<dd><p>Correct, and it never will. <code>Google-Extended<\/code> and <code>Applebot-Extended<\/code> are robots.txt tokens only; they are never sent as a User-Agent. Allowing or refusing them still works from the settings screen.<\/p><\/dd>\n\n<\/dl>\n\n<!--section=changelog-->\n<h4>1.0.0<\/h4>\n\n<ul>\n<li>First release.<\/li>\n<\/ul>","raw_excerpt":"Records which AI crawlers actually fetch your pages, checks what they can read, and serves llms.txt \u2014 no database tables, no IPs stored.","jetpack_sharing_enabled":true,"_links":{"self":[{"href":"https:\/\/wordpress.org\/plugins\/wp-json\/wp\/v2\/plugin\/385525","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/wordpress.org\/plugins\/wp-json\/wp\/v2\/plugin"}],"about":[{"href":"https:\/\/wordpress.org\/plugins\/wp-json\/wp\/v2\/types\/plugin"}],"replies":[{"embeddable":true,"href":"https:\/\/wordpress.org\/plugins\/wp-json\/wp\/v2\/comments?post=385525"}],"author":[{"embeddable":true,"href":"https:\/\/wordpress.org\/plugins\/wp-json\/wporg\/v1\/users\/hokkaidoweb"}],"wp:attachment":[{"href":"https:\/\/wordpress.org\/plugins\/wp-json\/wp\/v2\/media?parent=385525"}],"wp:term":[{"taxonomy":"plugin_section","embeddable":true,"href":"https:\/\/wordpress.org\/plugins\/wp-json\/wp\/v2\/plugin_section?post=385525"},{"taxonomy":"plugin_tags","embeddable":true,"href":"https:\/\/wordpress.org\/plugins\/wp-json\/wp\/v2\/plugin_tags?post=385525"},{"taxonomy":"plugin_category","embeddable":true,"href":"https:\/\/wordpress.org\/plugins\/wp-json\/wp\/v2\/plugin_category?post=385525"},{"taxonomy":"plugin_contributors","embeddable":true,"href":"https:\/\/wordpress.org\/plugins\/wp-json\/wp\/v2\/plugin_contributors?post=385525"},{"taxonomy":"plugin_business_model","embeddable":true,"href":"https:\/\/wordpress.org\/plugins\/wp-json\/wp\/v2\/plugin_business_model?post=385525"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}