AI Visibility — bot detection: Added detection patterns for newer AI agents and grouped the list by vendor for readability. New patterns: Meta-ExternalAgent, Meta-ExternalFetcher, Manus-User (Manus AI; acquired by Meta in Dec 2025), MistralAI-User (Le Chat), DuckAssistBot (DuckDuckGo Duck.ai). Existing patterns are unchanged; the new entries widen coverage of agent-style traffic.
0.3.11
AI Visibility — daily cron: Fixed ap_llmo_daily_cron dispatch so the daily rollup (run_yesterday_rollup) and access-log maintenance actually run. The previous do_action( ‘ap_llmo_daily_cron’ ) inside the same hook caused unbounded recursion and never reached lower-priority callbacks. Core work now runs on internal action ap_llmo_daily_cron_workers (documented in ap-llmo-hooks.php). Extensions should keep using ap_llmo_daily_cron.
0.3.10
robots.txt compatibility: robots_txt filter priority is now late (999) so llms.txt comment and sitemap-ai.xml Sitemap: line remain when other plugins (e.g. XML sitemap plugins) also generate robots output.
0.3.9
Upgrade path: Updated the default Upgrade link in Home/Setup to point to the Freemius checkout for ANDPLUS-LLMO Pro (ap_llmo_pro_upgrade_url still allows overrides).
0.3.8
AI Visibility: When ANDPLUS-LLMO Pro is active and licensed, Top paths and Recent visits include a View trends link that opens Visibility trends with the same path prefilled (ap_llmo_path, exact match). Filter: ap_llmo_visibility_trends_url_for_path.
0.3.7
AI Visibility: Raw log CSV export is now UTF-8 without a BOM (header remains Content-Type: text/csv; charset=utf-8). Use Data → From Text/CSV in Excel if double-click import mis-detects encoding.
0.3.6
Documentation: docs/PRODUCT-MEMO.md updated — clarifies Free vs Pro for daily aggregates, the Rebuild daily aggregates tool (0.3.5), and lists Pro-only planned enhancements (custom date range on trends, path drilldown, threshold alerts). No functional change from 0.3.5.
0.3.5
AI Visibility: Rebuild daily aggregates (advanced) — 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 ap_llmo_visibility_daily_max_backfill_days caps how many days are processed per run (default 366). Action ap_llmo_visibility_daily_backfilled fires when done. The daily table is also auto-created on demand if missing.
WordPress.org compliance: The plugin no longer reads or writes the site root .htaccess file. Setup → Redirect shows a copy-paste Apache mod_rewrite block (and Nginx examples as before). This addresses Plugins Team feedback on server file modifications.
Uninstall no longer attempts to edit .htaccess.
0.3.3
Apache .htaccess: /llms.txt and /sitemap-ai.xml use internal rewrites to index.php?… with [L,QSA] instead of HTTP 302 redirects, so the first request is handled by WordPress (better AI Visibility logging for pretty URLs; one fewer round-trip).
llms / sitemap-ai: Also match canonical request paths (e.g. /llms.txt) when query args are missing, in addition to ?ap_llmo_llms=1 / ?ap_llmo_sitemap_ai=1 (helps stacks without server rules).
AI Visibility: Logged path for these endpoints uses the pretty pathname (e.g. /llms.txt). HEAD requests from known AI crawlers are recorded.
0.3.2
AI Visibility — daily aggregates: After each daily maintenance run, the plugin stores one row per calendar day (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 ap_llmo_visibility_daily_retention_days.
0.3.1
Readme: Short description and Description opening emphasize AI crawler visibility (logs, CSV) before llms.txt / sitemap / head links. Documentation-only; no code changes from 0.3.0.
0.3.0
Branding: Plugin display name is now ANDPLUS-LLMO (aligned with ANDPLUS-SchemaBridge). wp-admin menu and readme use the ANDPLUS-LLMO name; Apache documentation uses the # BEGIN ANDPLUS-LLMO marker in the suggested snippet.
0.2.9
Home (Free plan): wording now says upgrading adds Pro features (AI BYOK, llms.full.txt generation, weekly reports) instead of “unlock,” in EN/JA copy.
0.2.8
Licensing / Pro gate: The free plugin no longer simulates Pro via AP_LLMO_DEV_PRO or the ap_llmo_dev_pro option. Ap_Llmo_License::is_pro() is only apply_filters( ‘ap_llmo_is_pro’, false ) — the paid ANDPLUS-LLMO Pro add-on (or another extension) sets Pro via that filter. For local Pro development without a license, define AP_LLMO_PRO_DEV in wp-config.php while the Pro add-on is active (see Pro add-on readme).
0.2.7
Home: the Plan sidebar shows Pro only when the paid Pro add-on is loaded and Pro is active. Development-only simulation (AP_LLMO_DEV_PRO / developer option) no longer shows a misleading Pro plan label.
0.2.6
AI Visibility & Privacy: disclose the stored row cap (default 5000) alongside the 90-day retention policy—same behavior as before, not a Pro gate; admins see the effective cap on the AI Visibility screen.
0.2.5
AI Visibility / Privacy copy: removed the extra sentence about a maximum stored row count (the ap_llmo_access_log_max_rows filter remains for developers who need it).
0.2.4
AI Visibility: access log timestamps are stored and aggregated in the WordPress site timezone (Settings → General), not UTC. Period filters, retention pruning, and CSV use the same clock. Rows recorded before 0.2.4 were stored in UTC and may look offset by your timezone until they age out.
0.2.3
AI Visibility CSV download filename uses the andplus-llmo-access-log-… prefix (replaces legacy ap-llmo-…). Developers can override the full filename with the ap_llmo_access_log_csv_filename filter.
0.2.2
AI Visibility: period tabs are 7 / 30 / 90 days only (the fourth tab duplicated the 90-day retention window; legacy ?period=all redirects to 90 days).
0.2.1
AI Visibility: raw access log rows are retained for up to 90 days (older rows removed by the plugin’s daily WordPress cron); optional row cap still trims oldest rows when the table is very large.
AI Visibility: Download CSV (current period) for administrators.
Readme: Privacy and FAQ updated for retention and CSV.
0.2.0
Renamed plugin to Andplus LLMO (later ANDPLUS-LLMO in 0.3.0); text domain andplus-llmo (request slug reservation andplus-llmo with the Plugins Team when replying).
AI Visibility: full period filters, top paths, and retention limits for everyone in this plugin (no feature gating).
Removed load_plugin_textdomain(); WordPress 4.6+ loads translations from /languages automatically.
Sanitized access-log REQUEST_URI / HTTP_USER_AGENT and ap_llmo_llms_body on save.
0.1.9
Free: /sitemap-ai.xml includes llms.txt; Pro extends sitemap with additional URLs.
Free: robots.txt comment for llms.txt URL and Sitemap: entry for sitemap-ai.xml.
Free: wp_head outputs rel=”sitemap” for sitemap-ai.xml.
Apache .htaccess block now includes sitemap-ai.xml redirect alongside /llms.txt.