{"id":299955,"date":"2026-04-22T07:02:04","date_gmt":"2026-04-22T07:02:04","guid":{"rendered":"https:\/\/ja.wordpress.org\/plugins\/ap-llmo\/"},"modified":"2026-05-08T10:38:24","modified_gmt":"2026-05-08T10:38:24","slug":"andplus-llmo","status":"publish","type":"plugin","link":"https:\/\/bn-in.wordpress.org\/plugins\/andplus-llmo\/","author":23471140,"comment_status":"closed","ping_status":"closed","template":"","meta":{"_crdt_document":"","version":"0.3.12","stable_tag":"0.3.12","tested":"6.9.4","requires":"6.2","requires_php":"7.2","requires_plugins":null,"header_name":"ANDPLUS-LLMO","header_author":"Andplus Co. Ltd.","header_description":"Publish llms.txt for AI assistants and add the official &lt;link rel=\"llms\"&gt; in your theme head. Includes AI crawler visibility logging (retention, CSV export). Optional ANDPLUS-LLMO Pro add-on adds AI-assisted drafting (BYOK).","assets_banners_color":"807f80","last_updated":"2026-05-08 10:38:24","external_support_url":"","external_repository_url":"","donate_link":"","header_plugin_uri":"","header_author_uri":"https:\/\/www.andplus.co.jp\/","rating":0,"author_block_rating":0,"active_installs":0,"downloads":203,"num_ratings":0,"support_threads":0,"support_threads_resolved":0,"author_block_count":0,"sections":["description","installation","faq","changelog"],"tags":{"0.3.10":{"tag":"0.3.10","author":"andplus","date":"2026-04-22 09:05:50"},"0.3.11":{"tag":"0.3.11","author":"andplus","date":"2026-04-30 10:58:46"},"0.3.12":{"tag":"0.3.12","author":"andplus","date":"2026-05-08 10:38:24"},"0.3.8":{"tag":"0.3.8","author":"andplus","date":"2026-04-22 07:01:27"},"0.3.9":{"tag":"0.3.9","author":"andplus","date":"2026-04-22 08:19:16"}},"upgrade_notice":{"0.3.7":"<p><strong>CSV:<\/strong> AI Visibility raw log export is UTF-8 <strong>without BOM<\/strong>. If Excel mis-reads the file when opened directly, import via <strong>Data \u2192 From Text\/CSV<\/strong> and choose UTF-8.<\/p>","0.3.4":"<p><strong>Apache:<\/strong> Does not auto-write <code>.htaccess<\/code>. Copy the <strong>Setup \u2192 Redirect<\/strong> mod_rewrite block into site root <code>.htaccess<\/code> before <code># BEGIN WordPress<\/code>. Replace any old <code># BEGIN ANDPLUS-LLMO<\/code> block if your site used a release that wrote rules automatically.<\/p>","0.3.3":"<p><strong>Apache:<\/strong> Internal rewrite rules for <code>\/llms.txt<\/code> and <code>\/sitemap-ai.xml<\/code> (see 0.3.3 changelog). When upgrading to <strong>0.3.4<\/strong>, follow the Upgrade Notice for 0.3.4 for <code>.htaccess<\/code> handling.<\/p>","0.3.2":"<p>Adds a <strong>daily aggregate<\/strong> table (no action required). After the next <strong>daily<\/strong> WordPress cron run, one row per calendar day is stored for trends; Pro can use it for charts and weekly email.<\/p>","0.3.1":"<p>Documentation-only readme update (AI Visibility\u2013first copy). No migration required.<\/p>","0.3.0":"<p>Display name is now <strong>ANDPLUS-LLMO<\/strong>. Apache: use the suggested snippet in Setup (see current version\u2019s Upgrade Notice for whether the plugin writes to <code>.htaccess<\/code>).<\/p>","0.2.9":"<p>Minor admin copy: Home \u201cPlan\u201d text uses \u201cadds\u201d instead of \u201cunlocks\u201d for Pro features.<\/p>","0.2.8":"<p>The free plugin removes Pro simulation constants\/options; use the Pro add-on (and optional <code>AP_LLMO_PRO_DEV<\/code> for dev) for Pro behavior.<\/p>","0.2.7":"<p>Home \u201cPlan\u201d no longer shows Pro when only development-mode Pro simulation is enabled.<\/p>","0.2.6":"<p>readme Privacy and the AI Visibility screen now mention the stored row cap (default 5000) alongside the 90-day retention policy.<\/p>","0.2.5":"<p>Documentation-only clarification on AI Visibility storage; no behavior change from 0.2.4.<\/p>","0.2.4":"<p>AI Visibility times now follow your WordPress timezone. Older CSV rows may still show UTC until those rows are removed.<\/p>","0.2.3":"<p>CSV exports from AI Visibility now use filenames starting with <code>andplus-llmo-access-log-<\/code>.<\/p>","0.2.2":"<p>Minor UI: AI Visibility period tabs simplified to match the 90-day retention policy.<\/p>","0.2.1":"<p>AI Visibility now prunes access log rows older than 90 days (daily). Export CSV from AI Visibility if you need a local backup.<\/p>","0.2.0":"<p>Renamed to Andplus LLMO; re-activate after upload if WordPress does not pick up the new main file automatically. Replace the plugin folder completely when updating from unofficial ZIPs.<\/p>"},"ratings":[],"assets_icons":{"icon-128x128.png":{"filename":"icon-128x128.png","revision":3519396,"resolution":"128x128","location":"assets","locale":"","width":128,"height":128},"icon-256x256.png":{"filename":"icon-256x256.png","revision":3519396,"resolution":"256x256","location":"assets","locale":"","width":256,"height":256}},"assets_banners":{"banner-1544x500.png":{"filename":"banner-1544x500.png","revision":3519396,"resolution":"1544x500","location":"assets","locale":"","width":1544,"height":500},"banner-772x250.png":{"filename":"banner-772x250.png","revision":3519397,"resolution":"772x250","location":"assets","locale":"","width":772,"height":250}},"assets_blueprints":{},"all_blocks":[],"tagged_versions":["0.3.10","0.3.11","0.3.12","0.3.8","0.3.9"],"block_files":[],"assets_screenshots":{"screenshot-1.png":{"filename":"screenshot-1.png","revision":3519396,"resolution":"1","location":"assets","locale":"","width":1280,"height":800},"screenshot-2.png":{"filename":"screenshot-2.png","revision":3519396,"resolution":"2","location":"assets","locale":"","width":1280,"height":800},"screenshot-3.png":{"filename":"screenshot-3.png","revision":3519396,"resolution":"3","location":"assets","locale":"","width":1280,"height":800},"screenshot-4.png":{"filename":"screenshot-4.png","revision":3519396,"resolution":"4","location":"assets","locale":"","width":1280,"height":800}},"screenshots":{"1":"<strong>ANDPLUS-LLMO Home<\/strong> \u2014 Overview and quick links to Setup and AI Visibility.","2":"<strong>Setup<\/strong> \u2014 Edit llms.txt content and review redirect setup notes for Apache\/Nginx.","3":"<strong>AI Visibility<\/strong> \u2014 Period tabs, bot totals, top paths, recent visits, and CSV download.","4":"<strong>Public endpoints<\/strong> \u2014 Verify <code>\/llms.txt<\/code> and <code>\/sitemap-ai.xml<\/code> are publicly available after setup."},"jetpack_post_was_ever_published":false},"plugin_section":[],"plugin_tags":[2353,226124,244604,186,1121],"plugin_category":[55],"plugin_contributors":[259490],"plugin_business_model":[],"class_list":["post-299955","plugin","type-plugin","status-publish","hentry","plugin_tags-ai","plugin_tags-llm","plugin_tags-llms-txt","plugin_tags-seo","plugin_tags-structured-data","plugin_category-seo-and-marketing","plugin_contributors-andplus","plugin_committers-andplus"],"banners":{"banner":"https:\/\/ps.w.org\/andplus-llmo\/assets\/banner-772x250.png?rev=3519397","banner_2x":"https:\/\/ps.w.org\/andplus-llmo\/assets\/banner-1544x500.png?rev=3519396","banner_rtl":false,"banner_2x_rtl":false},"icons":{"svg":false,"icon":"https:\/\/ps.w.org\/andplus-llmo\/assets\/icon-128x128.png?rev=3519396","icon_2x":"https:\/\/ps.w.org\/andplus-llmo\/assets\/icon-256x256.png?rev=3519396","generated":false},"screenshots":[{"src":"https:\/\/ps.w.org\/andplus-llmo\/assets\/screenshot-1.png?rev=3519396","caption":"<strong>ANDPLUS-LLMO Home<\/strong> \u2014 Overview and quick links to Setup and AI Visibility."},{"src":"https:\/\/ps.w.org\/andplus-llmo\/assets\/screenshot-2.png?rev=3519396","caption":"<strong>Setup<\/strong> \u2014 Edit llms.txt content and review redirect setup notes for Apache\/Nginx."},{"src":"https:\/\/ps.w.org\/andplus-llmo\/assets\/screenshot-3.png?rev=3519396","caption":"<strong>AI Visibility<\/strong> \u2014 Period tabs, bot totals, top paths, recent visits, and CSV download."},{"src":"https:\/\/ps.w.org\/andplus-llmo\/assets\/screenshot-4.png?rev=3519396","caption":"<strong>Public endpoints<\/strong> \u2014 Verify <code>\/llms.txt<\/code> and <code>\/sitemap-ai.xml<\/code> are publicly available after setup."}],"raw_content":"<!--section=description-->\n<p><strong>AI Visibility<\/strong> logs which known AI crawlers request your public pages. Filter by period, compare bots and paths, and download a UTF-8 CSV\u2014all stored in your database on this site.<\/p>\n\n<p>You also get <strong>llms.txt<\/strong> and an <strong>AI sitemap<\/strong> so crawlers can understand your site: public <code>\/llms.txt<\/code> and <code>\/sitemap-ai.xml<\/code>, plus standard head tags. Many sites already output structured data (such as schema.org), but AI crawlers may still miss context\u2014llms.txt and sitemap help close that gap.<\/p>\n\n<p>ANDPLUS-LLMO helps you:<\/p>\n\n<ul>\n<li>Monitor AI crawler activity inside WordPress (period filters, bot breakdown, top paths, recent visits, CSV export of the access log)<\/li>\n<li>Provide a public <code>\/llms.txt<\/code> endpoint for AI visibility<\/li>\n<li>Add official &lt;link rel=\"llms\"&gt; and &lt;link rel=\"sitemap\"&gt; tags via <code>wp_head<\/code><\/li>\n<li>Automatically generate <code>\/sitemap-ai.xml<\/code> including your llms.txt<\/li>\n<\/ul>\n\n<p>All of the above works in this plugin without payment. No physical llms files are created on disk, and visibility data stays in your database on this site. <strong>Apache:<\/strong> copy the mod_rewrite block from <strong>Setup \u2192 Redirect<\/strong> into your site root <code>.htaccess<\/code> (the plugin does not write to <code>.htaccess<\/code>). <strong>Nginx:<\/strong> configure as shown in Setup. WordPress <code>robots.txt<\/code> can include a comment for the llms.txt URL and a <code>Sitemap:<\/code> line for sitemap-ai.xml (disable or customize via filters <code>ap_llmo_robots_append_llms_comment<\/code>, <code>ap_llmo_robots_append_sitemap_ai<\/code>, <code>ap_llmo_robots_txt_append<\/code>). <strong>Home<\/strong> can show optional rule-based hints (no API).<\/p>\n\n<p><strong>Optional Pro add-on<\/strong> (separate download): Adds AI-assisted content workflows (BYOK with OpenAI), extended endpoints (<code>llms.full.txt<\/code>, <code>.ai-context<\/code>, <code>docs\/ai<\/code>), weekly reports, and extended sitemap-ai.xml URLs. Licensing is handled only in the Pro add-on. In the free plugin, upgrade links use the filter <code>ap_llmo_pro_upgrade_url<\/code>; AI Visibility \u201crecent visits\u201d list length can be tuned with <code>ap_llmo_visibility_recent_limit<\/code> (default 100).<\/p>\n\n<p>Filters: <code>ap_llmo_llms_public_url<\/code>, <code>ap_llmo_sitemap_ai_public_url<\/code> are available for custom environments without pretty URLs. AI Visibility retention and export can be tuned with <code>ap_llmo_access_log_retention_days<\/code> (default 90), <code>ap_llmo_access_log_max_rows<\/code>, <code>ap_llmo_access_log_export_max_rows<\/code>, and <code>ap_llmo_access_log_csv_filename<\/code> (default <code>andplus-llmo-access-log-{period}-{date}.csv<\/code>). Extensions can supply <code>ap_llmo_visibility_trends_url_for_path<\/code> (empty string, path) so the access log shows an extra link per path (ANDPLUS-LLMO Pro uses this for <strong>Visibility trends<\/strong> when licensed).<\/p>\n\n<h4>Support<\/h4>\n\n<ul>\n<li><strong>Directory plugin:<\/strong> Community support and documentation; individual replies are not guaranteed.<\/li>\n<li><strong>Pro:<\/strong> Support as described when you purchase <strong>ANDPLUS-LLMO Pro<\/strong> (see vendor or product page linked from the add-on).<\/li>\n<\/ul>\n\n<p>We do not support custom theme\/plugin conflicts, server configuration, or general WordPress usage beyond this plugin.<\/p>\n\n<h3>Privacy<\/h3>\n\n<ul>\n<li><strong>AI Visibility:<\/strong> When a request is detected as a known AI crawler user-agent, the plugin may store a row with <strong>timestamp<\/strong>, <strong>request path<\/strong>, <strong>user agent<\/strong>, and derived <strong>bot name \/ service<\/strong> in a custom database table on this site. A separate <strong>daily summary table<\/strong> stores <strong>one row per calendar day<\/strong> (totals only, no per-request paths) for analytics; it follows the same retention policy unless changed via <code>ap_llmo_visibility_daily_retention_days<\/code>. Data stays on your server; it is not sent to the plugin author by this plugin. <strong>Timestamps follow your WordPress timezone<\/strong> (Settings \u2192 General). Rows are <strong>kept for a limited time<\/strong> (default <strong>90 days<\/strong>, removed by WordPress\u2019s scheduled tasks). The log also has a <strong>maximum row count<\/strong> (default <strong>5000<\/strong>); when that limit is reached, the <strong>oldest rows are removed first<\/strong>, so on very busy sites you may see fewer days of history than the retention window. <strong>This cap applies to all users of this plugin<\/strong>\u2014it is not a Pro-only restriction. Administrators can <strong>download a CSV<\/strong> of stored rows from the AI Visibility screen; the file stays local to your browser.<\/li>\n<li><strong>No telemetry:<\/strong> This plugin does not load a licensing SDK and does not call the plugin author\u2019s servers for licensing or analytics.<\/li>\n<\/ul>\n\n<!--section=installation-->\n<ol>\n<li>Upload the plugin folder to <code>\/wp-content\/plugins\/<\/code> or install from ZIP.<\/li>\n<li>Activate the plugin.<\/li>\n<li>Go to <strong>ANDPLUS-LLMO \u2192 Setup \u2192 Redirect<\/strong>:<\/li>\n<\/ol>\n\n<ul>\n<li><strong>Apache:<\/strong> paste the provided <strong>mod_rewrite<\/strong> block into your site root <code>.htaccess<\/code> <strong>before<\/strong> <code># BEGIN WordPress<\/code>.<\/li>\n<li><strong>Nginx:<\/strong> add the server rules shown in Setup.\n\n<ol>\n<li>Edit llms content and save. Open <code>\/llms.txt<\/code> (plain text) and <code>\/sitemap-ai.xml<\/code> (XML) after your server rules are in place.<\/li>\n<\/ol><\/li>\n<\/ul>\n\n<!--section=faq-->\n<dl>\n<dt id=\"translations%3F\"><h3>Translations?<\/h3><\/dt>\n<dd><ul>\n<li><strong>Bundled:<\/strong> Japanese (<code>languages\/andplus-llmo-ja.mo<\/code>, <code>andplus-llmo-ja_JP.mo<\/code> when present). Site language <code>ja<\/code> \/ <code>ja_JP<\/code> will load automatically.<\/li>\n<li><strong>Template:<\/strong> <code>languages\/andplus-llmo.pot<\/code> \u2014 for translators using Poedit.<\/li>\n<li><strong>Maintainers \/ POT:<\/strong> See <code>languages\/README.md<\/code> in the plugin folder (WP-CLI <code>wp i18n make-pot<\/code> workflow).<\/li>\n<\/ul><\/dd>\n<dt id=\"why%20byok%20for%20ai%3F\"><h3>Why BYOK for AI?<\/h3><\/dt>\n<dd><p>You bring your own OpenAI API key so token usage stays on your account.<\/p><\/dd>\n<dt id=\"does%20the%20plugin%20connect%20to%20external%20services%3F\"><h3>Does the plugin connect to external services?<\/h3><\/dt>\n<dd><p>This plugin does not load any licensing SDK. OpenAI is contacted only when using AI features via <strong>ANDPLUS-LLMO Pro<\/strong> (BYOK). Upgrade links in wp-admin can be customized via the filter <code>ap_llmo_pro_upgrade_url<\/code> (default: https:\/\/www.andplus.co.jp\/).<\/p><\/dd>\n<dt id=\"can%20i%20export%20ai%20visibility%20data%3F\"><h3>Can I export AI Visibility data?<\/h3><\/dt>\n<dd><p>Yes. On <strong>ANDPLUS-LLMO \u2192 AI Visibility<\/strong>, use <strong>Download CSV (current period)<\/strong> to download UTF-8 CSV (no BOM). The export matches the period tab you selected (7 \/ 30 \/ 90 days). Very large exports are capped for stability (see filter <code>ap_llmo_access_log_export_max_rows<\/code> in the plugin).<\/p><\/dd>\n\n<\/dl>\n\n<!--section=changelog-->\n<h4>0.3.12<\/h4>\n\n<ul>\n<li><strong>AI Visibility \u2014 bot detection:<\/strong> Added detection patterns for newer AI agents and grouped the list by vendor for readability. New patterns: <strong>Meta-ExternalAgent<\/strong>, <strong>Meta-ExternalFetcher<\/strong>, <strong>Manus-User<\/strong> (Manus AI; acquired by Meta in Dec 2025), <strong>MistralAI-User<\/strong> (Le Chat), <strong>DuckAssistBot<\/strong> (DuckDuckGo Duck.ai). Existing patterns are unchanged; the new entries widen coverage of agent-style traffic.<\/li>\n<\/ul>\n\n<h4>0.3.11<\/h4>\n\n<ul>\n<li><strong>AI Visibility \u2014 daily cron:<\/strong> Fixed <code>ap_llmo_daily_cron<\/code> dispatch so the daily rollup (<code>run_yesterday_rollup<\/code>) and access-log maintenance actually run. The previous <code>do_action( 'ap_llmo_daily_cron' )<\/code> inside the same hook caused unbounded recursion and never reached lower-priority callbacks. Core work now runs on internal action <code>ap_llmo_daily_cron_workers<\/code> (documented in <code>ap-llmo-hooks.php<\/code>). Extensions should keep using <code>ap_llmo_daily_cron<\/code>.<\/li>\n<\/ul>\n\n<h4>0.3.10<\/h4>\n\n<ul>\n<li><strong>robots.txt compatibility:<\/strong> <code>robots_txt<\/code> filter priority is now late (<code>999<\/code>) so llms.txt comment and sitemap-ai.xml <code>Sitemap:<\/code> line remain when other plugins (e.g. XML sitemap plugins) also generate robots output.<\/li>\n<\/ul>\n\n<h4>0.3.9<\/h4>\n\n<ul>\n<li><strong>Upgrade path:<\/strong> Updated the default <strong>Upgrade<\/strong> link in Home\/Setup to point to the Freemius checkout for ANDPLUS-LLMO Pro (<code>ap_llmo_pro_upgrade_url<\/code> still allows overrides).<\/li>\n<\/ul>\n\n<h4>0.3.8<\/h4>\n\n<ul>\n<li><strong>AI Visibility:<\/strong> When <strong>ANDPLUS-LLMO Pro<\/strong> is active and licensed, <strong>Top paths<\/strong> and <strong>Recent visits<\/strong> include a <strong>View trends<\/strong> link that opens <strong>Visibility trends<\/strong> with the same path prefilled (<code>ap_llmo_path<\/code>, exact match). Filter: <code>ap_llmo_visibility_trends_url_for_path<\/code>.<\/li>\n<\/ul>\n\n<h4>0.3.7<\/h4>\n\n<ul>\n<li><strong>AI Visibility:<\/strong> Raw log <strong>CSV export<\/strong> is now <strong>UTF-8 without a BOM<\/strong> (header remains <code>Content-Type: text\/csv; charset=utf-8<\/code>). Use <strong>Data \u2192 From Text\/CSV<\/strong> in Excel if double-click import mis-detects encoding.<\/li>\n<\/ul>\n\n<h4>0.3.6<\/h4>\n\n<ul>\n<li><strong>Documentation:<\/strong> <code>docs\/PRODUCT-MEMO.md<\/code> updated \u2014 clarifies <strong>Free vs Pro<\/strong> for daily aggregates, the <strong>Rebuild daily aggregates<\/strong> tool (0.3.5), and lists <strong>Pro-only<\/strong> planned enhancements (custom date range on trends, path drilldown, threshold alerts). No functional change from 0.3.5.<\/li>\n<\/ul>\n\n<h4>0.3.5<\/h4>\n\n<ul>\n<li><strong>AI Visibility:<\/strong> <strong>Rebuild daily aggregates<\/strong> (advanced) \u2014 recompute the daily summary table from the raw access log for a chosen calendar date range (site timezone). Use when WordPress cron did not run (e.g. local dev) or after restoring a database. Filter <code>ap_llmo_visibility_daily_max_backfill_days<\/code> caps how many days are processed per run (default 366). Action <code>ap_llmo_visibility_daily_backfilled<\/code> fires when done. The daily table is also auto-created on demand if missing.<\/li>\n<li>Developer: <code>Ap_Llmo_Visibility_Daily::ensure_table_exists()<\/code>, <code>::backfill_range_inclusive( $start, $end )<\/code>.<\/li>\n<\/ul>\n\n<h4>0.3.4<\/h4>\n\n<ul>\n<li><strong>WordPress.org compliance:<\/strong> The plugin <strong>no longer reads or writes<\/strong> the site root <code>.htaccess<\/code> file. <strong>Setup \u2192 Redirect<\/strong> shows a copy-paste <strong>Apache mod_rewrite<\/strong> block (and Nginx examples as before). This addresses Plugins Team feedback on server file modifications.<\/li>\n<li>Uninstall no longer attempts to edit <code>.htaccess<\/code>.<\/li>\n<\/ul>\n\n<h4>0.3.3<\/h4>\n\n<ul>\n<li><strong>Apache <code>.htaccess<\/code>:<\/strong> <code>\/llms.txt<\/code> and <code>\/sitemap-ai.xml<\/code> use <strong>internal rewrites<\/strong> to <code>index.php?\u2026<\/code> with <code>[L,QSA]<\/code> instead of <strong>HTTP 302<\/strong> redirects, so the first request is handled by WordPress (better <strong>AI Visibility<\/strong> logging for pretty URLs; one fewer round-trip).<\/li>\n<li><strong>llms \/ sitemap-ai:<\/strong> Also match <strong>canonical request paths<\/strong> (e.g. <code>\/llms.txt<\/code>) when query args are missing, in addition to <code>?ap_llmo_llms=1<\/code> \/ <code>?ap_llmo_sitemap_ai=1<\/code> (helps stacks without server rules).<\/li>\n<li><strong>AI Visibility:<\/strong> Logged <strong><code>path<\/code><\/strong> for these endpoints uses the <strong>pretty pathname<\/strong> (e.g. <code>\/llms.txt<\/code>). <strong>HEAD<\/strong> requests from known AI crawlers are recorded.<\/li>\n<\/ul>\n\n<h4>0.3.2<\/h4>\n\n<ul>\n<li><strong>AI Visibility \u2014 daily aggregates:<\/strong> After each daily maintenance run, the plugin stores <strong>one row per calendar day<\/strong> (site timezone) with total AI bot visits and per-bot counts in a dedicated table. Used for long-term trends and by the Pro add-on (weekly email \/ charts). Retention defaults to match raw log retention (90 days); extend with filter <code>ap_llmo_visibility_daily_retention_days<\/code>.<\/li>\n<\/ul>\n\n<h4>0.3.1<\/h4>\n\n<ul>\n<li><strong>Readme:<\/strong> Short description and Description opening emphasize <strong>AI crawler visibility<\/strong> (logs, CSV) before llms.txt \/ sitemap \/ head links. Documentation-only; no code changes from 0.3.0.<\/li>\n<\/ul>\n\n<h4>0.3.0<\/h4>\n\n<ul>\n<li><strong>Branding:<\/strong> Plugin display name is now <strong>ANDPLUS-LLMO<\/strong> (aligned with <strong>ANDPLUS-SchemaBridge<\/strong>). wp-admin menu and readme use the <strong>ANDPLUS-LLMO<\/strong> name; Apache documentation uses the <code># BEGIN ANDPLUS-LLMO<\/code> marker in the suggested snippet.<\/li>\n<\/ul>\n\n<h4>0.2.9<\/h4>\n\n<ul>\n<li>Home (Free plan): wording now says upgrading <strong>adds<\/strong> Pro features (AI BYOK, llms.full.txt generation, weekly reports) instead of \u201cunlock,\u201d in EN\/JA copy.<\/li>\n<\/ul>\n\n<h4>0.2.8<\/h4>\n\n<ul>\n<li><strong>Licensing \/ Pro gate:<\/strong> The free plugin no longer simulates Pro via <code>AP_LLMO_DEV_PRO<\/code> or the <code>ap_llmo_dev_pro<\/code> option. <code>Ap_Llmo_License::is_pro()<\/code> is only <code>apply_filters( 'ap_llmo_is_pro', false )<\/code> \u2014 the paid <strong>ANDPLUS-LLMO Pro<\/strong> add-on (or another extension) sets Pro via that filter. For local Pro development without a license, define <code>AP_LLMO_PRO_DEV<\/code> in <code>wp-config.php<\/code> <strong>while the Pro add-on is active<\/strong> (see Pro add-on readme).<\/li>\n<\/ul>\n\n<h4>0.2.7<\/h4>\n\n<ul>\n<li>Home: the <strong>Plan<\/strong> sidebar shows <strong>Pro<\/strong> only when the <strong>paid Pro add-on<\/strong> is loaded and Pro is active. Development-only simulation (<code>AP_LLMO_DEV_PRO<\/code> \/ developer option) no longer shows a misleading Pro plan label.<\/li>\n<\/ul>\n\n<h4>0.2.6<\/h4>\n\n<ul>\n<li>AI Visibility &amp; Privacy: disclose the <strong>stored row cap<\/strong> (default 5000) alongside the 90-day retention policy\u2014same behavior as before, not a Pro gate; admins see the effective cap on the AI Visibility screen.<\/li>\n<\/ul>\n\n<h4>0.2.5<\/h4>\n\n<ul>\n<li>AI Visibility \/ Privacy copy: removed the extra sentence about a maximum stored row count (the <code>ap_llmo_access_log_max_rows<\/code> filter remains for developers who need it).<\/li>\n<\/ul>\n\n<h4>0.2.4<\/h4>\n\n<ul>\n<li>AI Visibility: access log <strong>timestamps are stored and aggregated in the WordPress site timezone<\/strong> (Settings \u2192 General), not UTC. Period filters, retention pruning, and CSV use the same clock. <strong>Rows recorded before 0.2.4 were stored in UTC<\/strong> and may look offset by your timezone until they age out.<\/li>\n<\/ul>\n\n<h4>0.2.3<\/h4>\n\n<ul>\n<li>AI Visibility CSV download filename uses the <code>andplus-llmo-access-log-\u2026<\/code> prefix (replaces legacy <code>ap-llmo-\u2026<\/code>). Developers can override the full filename with the <code>ap_llmo_access_log_csv_filename<\/code> filter.<\/li>\n<\/ul>\n\n<h4>0.2.2<\/h4>\n\n<ul>\n<li>AI Visibility: period tabs are <strong>7 \/ 30 \/ 90 days<\/strong> only (the fourth tab duplicated the 90-day retention window; legacy <code>?period=all<\/code> redirects to 90 days).<\/li>\n<\/ul>\n\n<h4>0.2.1<\/h4>\n\n<ul>\n<li>AI Visibility: raw access log rows are <strong>retained for up to 90 days<\/strong> (older rows removed by the plugin\u2019s daily WordPress cron); optional <strong>row cap<\/strong> still trims oldest rows when the table is very large.<\/li>\n<li>AI Visibility: <strong>Download CSV<\/strong> (current period) for administrators.<\/li>\n<li>Readme: Privacy and FAQ updated for retention and CSV.<\/li>\n<\/ul>\n\n<h4>0.2.0<\/h4>\n\n<ul>\n<li>Renamed plugin to <strong>Andplus LLMO<\/strong> (later <strong>ANDPLUS-LLMO<\/strong> in 0.3.0); text domain <code>andplus-llmo<\/code> (request slug reservation <strong>andplus-llmo<\/strong> with the Plugins Team when replying).<\/li>\n<li>AI Visibility: full period filters, top paths, and retention limits for everyone in this plugin (no feature gating).<\/li>\n<li>Removed <code>load_plugin_textdomain()<\/code>; WordPress 4.6+ loads translations from <code>\/languages<\/code> automatically.<\/li>\n<li>Sanitized access-log <code>REQUEST_URI<\/code> \/ <code>HTTP_USER_AGENT<\/code> and <code>ap_llmo_llms_body<\/code> on save.<\/li>\n<\/ul>\n\n<h4>0.1.9<\/h4>\n\n<ul>\n<li>Free: <code>\/sitemap-ai.xml<\/code> includes llms.txt; Pro extends sitemap with additional URLs.<\/li>\n<li>Free: <code>robots.txt<\/code> comment for llms.txt URL and <code>Sitemap:<\/code> entry for sitemap-ai.xml.<\/li>\n<li>Free: <code>wp_head<\/code> outputs <code>rel=\"sitemap\"<\/code> for sitemap-ai.xml.<\/li>\n<li>Apache <code>.htaccess<\/code> block now includes <code>sitemap-ai.xml<\/code> redirect alongside <code>\/llms.txt<\/code>.<\/li>\n<\/ul>","raw_excerpt":"Monitor AI crawler visits (filters, CSV export), llms.txt, sitemap-ai.xml, and head links for AI discovery via wp_head.","jetpack_sharing_enabled":true,"_links":{"self":[{"href":"https:\/\/bn-in.wordpress.org\/plugins\/wp-json\/wp\/v2\/plugin\/299955","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/bn-in.wordpress.org\/plugins\/wp-json\/wp\/v2\/plugin"}],"about":[{"href":"https:\/\/bn-in.wordpress.org\/plugins\/wp-json\/wp\/v2\/types\/plugin"}],"replies":[{"embeddable":true,"href":"https:\/\/bn-in.wordpress.org\/plugins\/wp-json\/wp\/v2\/comments?post=299955"}],"author":[{"embeddable":true,"href":"https:\/\/bn-in.wordpress.org\/plugins\/wp-json\/wporg\/v1\/users\/andplus"}],"wp:attachment":[{"href":"https:\/\/bn-in.wordpress.org\/plugins\/wp-json\/wp\/v2\/media?parent=299955"}],"wp:term":[{"taxonomy":"plugin_section","embeddable":true,"href":"https:\/\/bn-in.wordpress.org\/plugins\/wp-json\/wp\/v2\/plugin_section?post=299955"},{"taxonomy":"plugin_tags","embeddable":true,"href":"https:\/\/bn-in.wordpress.org\/plugins\/wp-json\/wp\/v2\/plugin_tags?post=299955"},{"taxonomy":"plugin_category","embeddable":true,"href":"https:\/\/bn-in.wordpress.org\/plugins\/wp-json\/wp\/v2\/plugin_category?post=299955"},{"taxonomy":"plugin_contributors","embeddable":true,"href":"https:\/\/bn-in.wordpress.org\/plugins\/wp-json\/wp\/v2\/plugin_contributors?post=299955"},{"taxonomy":"plugin_business_model","embeddable":true,"href":"https:\/\/bn-in.wordpress.org\/plugins\/wp-json\/wp\/v2\/plugin_business_model?post=299955"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}