{"id":308287,"date":"2026-05-22T20:27:18","date_gmt":"2026-05-22T20:27:18","guid":{"rendered":"https:\/\/wordpress.org\/plugins\/lolacore-ai-admin-agent\/"},"modified":"2026-05-22T21:34:57","modified_gmt":"2026-05-22T21:34:57","slug":"lolacore","status":"publish","type":"plugin","link":"https:\/\/wordpress.org\/plugins\/lolacore\/","author":18282614,"comment_status":"closed","ping_status":"closed","template":"","meta":{"version":"1.4.1","stable_tag":"1.4.1","tested":"7.0","requires":"7.0","requires_php":"8.1","requires_plugins":null,"header_name":"LolaCore \u2013 AI Admin Agent","header_author":"Fran Barbero","header_description":"An AI agent inside your wp-admin that remembers your site between sessions. 51 abilities across plugins, content, SEO, security, users, and WooCommerce \u2014 managed through conversation.","assets_banners_color":"f6f1e9","last_updated":"2026-05-22 21:34:57","external_support_url":"","external_repository_url":"","donate_link":"","header_plugin_uri":"https:\/\/lolacore.com","header_author_uri":"https:\/\/profiles.wordpress.org\/vanguardhive\/","rating":0,"author_block_rating":0,"active_installs":0,"downloads":39,"num_ratings":0,"support_threads":0,"support_threads_resolved":0,"author_block_count":0,"sections":["description","installation","faq","changelog"],"tags":{"1.4.0":{"tag":"1.4.0","author":"vanguardhive","date":"2026-05-22 20:26:56"},"1.4.1":{"tag":"1.4.1","author":"vanguardhive","date":"2026-05-22 21:34:57"}},"upgrade_notice":[],"ratings":[],"assets_icons":{"icon-128x128.png":{"filename":"icon-128x128.png","revision":3544434,"resolution":"128x128","location":"assets","locale":"","width":128,"height":128},"icon-256x256.png":{"filename":"icon-256x256.png","revision":3544434,"resolution":"256x256","location":"assets","locale":"","width":256,"height":256}},"assets_banners":{"banner-1544x500.png":{"filename":"banner-1544x500.png","revision":3544434,"resolution":"1544x500","location":"assets","locale":"","width":1544,"height":500},"banner-772x250.png":{"filename":"banner-772x250.png","revision":3544434,"resolution":"772x250","location":"assets","locale":"","width":772,"height":250}},"assets_blueprints":{},"all_blocks":[],"tagged_versions":["1.4.0","1.4.1"],"block_files":[],"assets_screenshots":{"screenshot-1.png":{"filename":"screenshot-1.png","revision":3544434,"resolution":"1","location":"assets","locale":"","width":1280,"height":800},"screenshot-2.png":{"filename":"screenshot-2.png","revision":3544434,"resolution":"2","location":"assets","locale":"","width":1280,"height":800},"screenshot-3.png":{"filename":"screenshot-3.png","revision":3544434,"resolution":"3","location":"assets","locale":"","width":1280,"height":800},"screenshot-4.png":{"filename":"screenshot-4.png","revision":3544434,"resolution":"4","location":"assets","locale":"","width":1280,"height":800},"screenshot-5.png":{"filename":"screenshot-5.png","revision":3544434,"resolution":"5","location":"assets","locale":"","width":1280,"height":800}},"screenshots":{"1":"Lola's first scan \u2014 a specific, actionable report about your site, not a generic greeting.","2":"Security audit results with severity flags and fix suggestions.","3":"Plugin installation through chat \u2014 Lola finds, downloads, and asks before installing.","4":"Action confirmation flow \u2014 every write operation shows a preview and requires approval before executing.","5":"The ability panel \u2014 52 abilities across 8 domains, each toggleable from the settings page."}},"plugin_section":[],"plugin_tags":[83,232494,148285,569,286],"plugin_category":[45],"plugin_contributors":[259995],"plugin_business_model":[],"class_list":["post-308287","plugin","type-plugin","status-publish","hentry","plugin_tags-admin","plugin_tags-ai-agent","plugin_tags-ai-assistant","plugin_tags-automation","plugin_tags-woocommerce","plugin_category-ecommerce","plugin_contributors-vanguardhive","plugin_committers-vanguardhive"],"banners":{"banner":"https:\/\/ps.w.org\/lolacore\/assets\/banner-772x250.png?rev=3544434","banner_2x":"https:\/\/ps.w.org\/lolacore\/assets\/banner-1544x500.png?rev=3544434","banner_rtl":false,"banner_2x_rtl":false},"icons":{"svg":false,"icon":"https:\/\/ps.w.org\/lolacore\/assets\/icon-128x128.png?rev=3544434","icon_2x":"https:\/\/ps.w.org\/lolacore\/assets\/icon-256x256.png?rev=3544434","generated":false},"screenshots":[{"src":"https:\/\/ps.w.org\/lolacore\/assets\/screenshot-1.png?rev=3544434","caption":"Lola's first scan \u2014 a specific, actionable report about your site, not a generic greeting."},{"src":"https:\/\/ps.w.org\/lolacore\/assets\/screenshot-2.png?rev=3544434","caption":"Security audit results with severity flags and fix suggestions."},{"src":"https:\/\/ps.w.org\/lolacore\/assets\/screenshot-3.png?rev=3544434","caption":"Plugin installation through chat \u2014 Lola finds, downloads, and asks before installing."},{"src":"https:\/\/ps.w.org\/lolacore\/assets\/screenshot-4.png?rev=3544434","caption":"Action confirmation flow \u2014 every write operation shows a preview and requires approval before executing."},{"src":"https:\/\/ps.w.org\/lolacore\/assets\/screenshot-5.png?rev=3544434","caption":"The ability panel \u2014 52 abilities across 8 domains, each toggleable from the settings page."}],"raw_content":"<!--section=description-->\n<p>Every AI tool you've used to manage WordPress has the same problem: amnesia. You open a chat, explain your setup, get a useful answer \u2014 and tomorrow it's all gone. New session, same questions, same context dump. Multiply that by 10 client sites and you've lost your morning.<\/p>\n\n<p>LolaCore fixes this with something no other AI plugin for WordPress has: <strong>a memory that persists across sessions, built natively on the WordPress 7.0 AI Client and the new Abilities API.<\/strong><\/p>\n\n<p>Her name is Lola. She lives inside your wp-admin, scans your site on first launch, and remembers what she finds \u2014 not for one conversation, but permanently. Plugin conflicts from last month. Database cleanup you ran on Tuesday. The SEO fix you asked about in March. She retains it all, and the irrelevant stuff fades naturally over time. Important events anchor themselves. Noise disappears.<\/p>\n\n<p>The result: <strong>every conversation picks up where the last one left off.<\/strong> No context window resets. No copy-pasting your plugin list into ChatGPT for the fifth time this week.<\/p>\n\n<h4>What Lola is NOT<\/h4>\n\n<p>Lola is not a content generator. She doesn't write blog posts, invent marketing copy, or hallucinate data she doesn't have. She doesn't browse the web, scrape pages, or fetch arbitrary URLs. She doesn't touch your theme files or edit PHP.<\/p>\n\n<p>Lola is a site admin who happens to be an AI. She reads real data from your WordPress database, reasons about it, and executes real actions \u2014 with your explicit approval, every single time.<\/p>\n\n<p>If you want an AI that writes articles for you, this is the wrong plugin. If you want an AI that actually knows your site and manages it through conversation, keep reading.<\/p>\n\n<p>For the complete picture \u2014 memory mechanics, ability reference, prompt library, and configuration walkthrough \u2014 see the <a href=\"https:\/\/lolacore.com\/documentation\/\">full documentation<\/a>.<\/p>\n\n<h4>Persistent memory<\/h4>\n\n<p>This is the part that changes how you work.<\/p>\n\n<p>Lola remembers facts across sessions. Plugin conflicts, security findings, your preferences, decisions you've made \u2014 stored locally in your WordPress database.<\/p>\n\n<p>Her memory works the way human memory works: recent and important findings stay sharp, trivial details from months ago fade out, and critical events \u2014 like a fatal plugin conflict \u2014 stay forever.<\/p>\n\n<p>When you start a new conversation, Lola already knows what happened last time. You don't re-explain your stack. You don't repeat what was decided last month. You pick up the thread.<\/p>\n\n<p>How decay, boosting, and export\/import work under the hood: <a href=\"https:\/\/lolacore.com\/documentation\/#persistent-memory\">persistent memory guide<\/a>.<\/p>\n\n<h4>52 abilities. 8 domains. One chat.<\/h4>\n\n<p>Lola ships with 52 built-in abilities split across 8 functional domains:<\/p>\n\n<p><strong>Site diagnostics<\/strong> \u2014 WordPress version, PHP status, HTTPS, database size, permalink structure, security headers, SEO audit, debug mode detection. Lola tells you what's broken before your client does.<\/p>\n\n<p><strong>Plugins<\/strong> \u2014 Search WordPress.org, install, activate, deactivate, update one or all at once. \"Update all plugins\" \u2014 done in one sentence. No clicking through 14 update screens.<\/p>\n\n<p><strong>Content &amp; metadata<\/strong> \u2014 Create pages, edit posts, change status, update slugs, read and write post meta. \"Create a draft page called Services with this text\" \u2014 done. \"Change the SEO title of post 42\" \u2014 done. Works with Yoast, RankMath, and any plugin that stores data in post meta.<\/p>\n\n<p><strong>Users<\/strong> \u2014 Create accounts, change roles, remove users with automatic content reassignment. The kind of admin task that takes 6 clicks, solved in one sentence.<\/p>\n\n<p><strong>Database maintenance<\/strong> \u2014 Clean post revisions, expired transients, orphaned cron jobs, spam comments. The cleanup WordPress never does for you.<\/p>\n\n<p><strong>Taxonomies, comments, media, menus, themes, options<\/strong> \u2014 Read and manage across the board. Every write action requires your confirmation first.<\/p>\n\n<p>Full breakdown of every ability with domain details: <a href=\"https:\/\/lolacore.com\/documentation\/#what-lola-can-do\">ability reference<\/a>.<\/p>\n\n<h4>WooCommerce: 13 dedicated tools<\/h4>\n\n<p>If WooCommerce is active, Lola detects it automatically and unlocks 13 additional abilities:<\/p>\n\n<ul>\n<li>List and inspect products with price, stock, SKU, and status<\/li>\n<li>Get full order details \u2014 line items, billing, shipping, payment method<\/li>\n<li>View customer history \u2014 total spent, order count, registration date<\/li>\n<li>Browse product categories with hierarchy and product counts<\/li>\n<li>Manage coupons \u2014 create, edit, delete with discount type, limits, and expiration<\/li>\n<li>Sales reports \u2014 total revenue, net sales, taxes, items sold, and top 5 products for any period<\/li>\n<li>Create products, update prices, change order status \u2014 all from the chat<\/li>\n<\/ul>\n\n<p>\"How much revenue did we do this week?\" \u2014 Lola pulls the number from your actual WooCommerce data. No dashboard required.<\/p>\n\n<p>Full WooCommerce tool reference with examples: <a href=\"https:\/\/lolacore.com\/documentation\/#woocommerce-core\">WooCommerce abilities<\/a>.<\/p>\n\n<h4>How Lola stays safe<\/h4>\n\n<p><strong>Your data never touches our servers.<\/strong> There are no LolaCore servers. No telemetry. No analytics. No \"anonymous usage data.\" Your conversations go from your hosting to your AI provider. That's it.<\/p>\n\n<p><strong>Nothing happens without your approval.<\/strong> Every write action \u2014 every plugin update, every post edit, every database cleanup \u2014 shows a preview card with exactly what Lola is about to do. You confirm or cancel. No background operations. No surprises.<\/p>\n\n<p><strong>Every change is logged.<\/strong> Before\/after snapshots for every action executed. If something goes wrong, you know exactly what changed and when.<\/p>\n\n<p><strong>Admin-only by design.<\/strong> Lola only appears for users with full administrator capabilities. No accidental exposure to editors, authors, or subscribers.<\/p>\n\n<h4>Any model, your choice<\/h4>\n\n<p>Lola works natively with whatever AI provider you configure in your WordPress 7.0 settings. You are never locked into a single ecosystem. We highly recommend these agentic models for optimal performance:<\/p>\n\n<ul>\n<li><strong>OpenAI<\/strong> \u2014 GPT-5.5, GPT-5.5 Pro<\/li>\n<li><strong>DeepSeek<\/strong> \u2014 DeepSeek V4 Pro, DeepSeek V4 Flash<\/li>\n<li><strong>Anthropic<\/strong> \u2014 Claude 4.6 Sonnet, Claude Opus 4.7<\/li>\n<\/ul>\n\n<p>However, because Lola relies on the native WordPress connector, you can also use Gemini, Grok, local models via Ollama, or access thousands of models (including free ones) through OpenRouter.<\/p>\n\n<p>You pay your provider directly. LolaCore doesn't charge per token and doesn't add a markup. The conversation goes from your WordPress server directly to your configured AI provider. Nobody else sees it.<\/p>\n\n<p>Step-by-step setup for providers: <a href=\"https:\/\/lolacore.com\/documentation\/#api-provider-setup\">connecting your AI provider<\/a>.<\/p>\n\n<h4>Native to WordPress 7.0<\/h4>\n\n<p>LolaCore runs entirely on the native WordPress AI Client and Abilities API introduced in WordPress 7.0. No external HTTP libraries. No custom credential vaults maintained by one developer. No vendor folder full of third-party packages.<\/p>\n\n<p>When WordPress updates its AI infrastructure, LolaCore updates with it. That's why we require WordPress 7.0 \u2014 and that's why the plugin stays small, fast, and current.<\/p>\n\n<h4>Lola's lane<\/h4>\n\n<p>A tool that does everything does nothing well. Lola is built narrow on purpose.<\/p>\n\n<ul>\n<li>She doesn't edit code \u2014 no PHP, no theme files, no server config<\/li>\n<li>She doesn't see your frontend \u2014 Lola lives inside wp-admin<\/li>\n<li>She works on one site at a time \u2014 multi-site management is on the roadmap<\/li>\n<\/ul>\n\n<p>Why these boundaries exist and what's on the roadmap: <a href=\"https:\/\/lolacore.com\/documentation\/#what-lola-cannot-do\">what Lola cannot do<\/a>.<\/p>\n\n<h4>MCP compatible \u2014 use Lola from your IDE<\/h4>\n\n<p>Every one of Lola's 52 abilities is exposed through the WordPress Abilities API. If you have the MCP Adapter installed, Lola becomes a full MCP server.<\/p>\n\n<p>That means you can connect Claude Desktop, Cursor, or any MCP-compatible client and use Lola's memory, scanner, and all 52 tools without opening your browser.<\/p>\n\n<p>One engine. Two doors. The chat widget for people who think in conversations. The MCP endpoint for people who think in terminals.<\/p>\n\n<h4>Skills: teach Lola new behaviors<\/h4>\n\n<p>Skills are short behavioral guides written in plain Markdown. When a conversation matches certain triggers, the relevant skill loads \u2014 shaping how Lola approaches the task without granting new abilities or data access.<\/p>\n\n<p>LolaCore ships with 10 built-in skills, active by default. You can also create your own: write a Markdown file with YAML frontmatter, import it through the settings panel, or ask Lola to build one for you directly in the chat.<\/p>\n\n<p>Skills are Lola's judgment layer. Abilities define what she can do. Skills define how she thinks about doing it.<\/p>\n\n<p>How skills work, trigger conditions, and the custom skills beta: <a href=\"https:\/\/lolacore.com\/documentation\/#skills\">skills guide<\/a>.<\/p>\n\n<h4>Don't know what to say? Start here.<\/h4>\n\n<p>Lola understands natural language \u2014 no commands, no syntax. But if you want a head start, here are six prompts you can copy and paste right now:<\/p>\n\n<blockquote>\n  <p>\"Give me a quick briefing on the site \u2014 anything that needs attention today.\"<\/p>\n  \n  <p>\"Run a complete security audit. Tell me what actually needs attention, not just a checklist.\"<\/p>\n  \n  <p>\"Update all plugins except Elementor and [plugin name]. Show me the list first.\"<\/p>\n  \n  <p>\"How much have we sold this week? Compare it to last week.\"<\/p>\n  \n  <p>\"Check the database and tell me what's worth cleaning up.\"<\/p>\n  \n  <p>\"Remember that [important fact about your site or client preference].\"<\/p>\n<\/blockquote>\n\n<p>These six cover diagnostics, security, plugins, WooCommerce, database, and memory. There are 42 more in the complete library \u2014 daily check-ins, content workflows, and multi-step session combos: <a href=\"https:\/\/lolacore.com\/documentation\/#prompt-library\">prompt library<\/a>.<\/p>\n\n<h3>Documentation &amp; Resources<\/h3>\n\n<p>This readme covers the essentials. The full documentation goes deeper \u2014 memory mechanics, the complete ability catalog with examples, a prompt library with 42 ready-to-use conversation starters, and a detailed settings walkthrough.<\/p>\n\n<p><strong><a href=\"https:\/\/lolacore.com\/documentation\/\">LolaCore Documentation<\/a><\/strong><\/p>\n\n<p>Key sections:<\/p>\n\n<ul>\n<li><a href=\"https:\/\/lolacore.com\/documentation\/#what-is-lolacore\">What is LolaCore?<\/a> \u2014 Architecture, philosophy, and the agent-vs-chatbot distinction<\/li>\n<li><a href=\"https:\/\/lolacore.com\/documentation\/#persistent-memory\">Persistent Memory<\/a> \u2014 How decay, boosting, and fact scoring work<\/li>\n<li><a href=\"https:\/\/lolacore.com\/documentation\/#settings-panel\">Settings Panel Reference<\/a> \u2014 Every option explained<\/li>\n<li><a href=\"https:\/\/lolacore.com\/documentation\/#what-lola-can-do\">Ability Reference<\/a> \u2014 The full table of every tool across all domains<\/li>\n<li><a href=\"https:\/\/lolacore.com\/documentation\/#prompt-library\">Prompt Library<\/a> \u2014 42 conversation starters organized by task<\/li>\n<li><a href=\"https:\/\/lolacore.com\/documentation\/#faq\">Frequently Asked Questions<\/a> \u2014 45+ answers across 12 categories<\/li>\n<li><a href=\"https:\/\/lolacore.com\/add-ons\/\">Extending Lola with addons<\/a> \u2014 How Lola's capabilities extend into specialized domains<\/li>\n<\/ul>\n\n<h3>External Services<\/h3>\n\n<p>LolaCore connects to the following external services. Each connection is documented below with what triggers it, what data is sent, and links to the relevant terms and privacy policies.<\/p>\n\n<h4>AI Providers (Chat Feature)<\/h4>\n\n<p>When you use the chat widget, your messages are sent to whichever AI provider you have configured in WordPress's built-in AI settings (Settings \u2192 AI). LolaCore does not operate its own servers and does not route data through any intermediary.<\/p>\n\n<p><strong>Data sent to your provider:<\/strong>\n- Your chat messages\n- A summary of your site scan (WordPress version, active plugin list, PHP version)\n- Relevant memory facts (site observations stored in your local database)<\/p>\n\n<p><strong>Data never sent:<\/strong>\n- Passwords, API keys, wp-config values, or database credentials\n- Personal user data (emails, addresses, payment info)<\/p>\n\n<p><strong>When this happens:<\/strong> Only when you actively send a message in the chat widget. No background calls.<\/p>\n\n<p><strong>Supported providers:<\/strong>\n- OpenAI \u2014 <a href=\"https:\/\/openai.com\">https:\/\/openai.com<\/a> | <a href=\"https:\/\/openai.com\/policies\/terms-of-use\">Terms of Use<\/a> | <a href=\"https:\/\/openai.com\/privacy\">Privacy Policy<\/a>\n- Anthropic \u2014 <a href=\"https:\/\/anthropic.com\">https:\/\/anthropic.com<\/a> | <a href=\"https:\/\/www.anthropic.com\/legal\/consumer-terms\">Terms of Service<\/a> | <a href=\"https:\/\/www.anthropic.com\/privacy\">Privacy Policy<\/a>\n- DeepSeek \u2014 <a href=\"https:\/\/deepseek.com\">https:\/\/deepseek.com<\/a> | <a href=\"https:\/\/chat.deepseek.com\/downloads\/DeepSeek%20Terms%20of%20Use.html\">Terms of Use<\/a> | <a href=\"https:\/\/chat.deepseek.com\/downloads\/DeepSeek%20Privacy%20Policy.html\">Privacy Policy<\/a><\/p>\n\n<h4>Wordfence Vulnerability API<\/h4>\n\n<p>LolaCore can check your installed plugins against the public Wordfence vulnerability database to identify known security issues.<\/p>\n\n<p><strong>Endpoint:<\/strong> <code>https:\/\/www.wordfence.com\/api\/intelligence\/v2\/vulnerabilities\/scanner<\/code><\/p>\n\n<p><strong>Data sent:<\/strong> An HTTP GET request with no request body. LolaCore sends only a User-Agent header identifying itself (<code>LolaCore WordPress Plugin<\/code>). No plugin lists, site URLs, or user data are transmitted to Wordfence.<\/p>\n\n<p><strong>Data received:<\/strong> A public JSON feed of known WordPress plugin vulnerabilities. LolaCore compares this list locally against your installed plugin slugs and versions to surface relevant findings.<\/p>\n\n<p><strong>When this happens:<\/strong> Only when you explicitly request a vulnerability check through the chat (e.g., \"check my plugins for vulnerabilities\"). This call is never made automatically during plugin activation, scheduled scans, or background operations.<\/p>\n\n<p><strong>Service links:<\/strong>\n- Wordfence \u2014 <a href=\"https:\/\/www.wordfence.com\">https:\/\/www.wordfence.com<\/a> | <a href=\"https:\/\/www.wordfence.com\/terms-of-use-and-privacy-policy\/\">Terms of Service<\/a> | <a href=\"https:\/\/www.wordfence.com\/privacy-policy\/\">Privacy Policy<\/a><\/p>\n\n<h4>WordPress.org Plugin API<\/h4>\n\n<p>When you ask Lola to search for or install plugins, LolaCore queries the official WordPress.org Plugin API.<\/p>\n\n<p><strong>Data sent:<\/strong> Plugin search keywords or slug identifiers.\n<strong>Data received:<\/strong> Plugin metadata, descriptions, and download URLs from the WordPress.org repository.<\/p>\n\n<p><strong>When this happens:<\/strong> Only when you use plugin search or install features through the chat.<\/p>\n\n<ul>\n<li>Service: <a href=\"https:\/\/wordpress.org\">https:\/\/wordpress.org<\/a> | <a href=\"https:\/\/codex.wordpress.org\/WordPress.org_API\">API Documentation<\/a><\/li>\n<\/ul>\n\n<h4>Google Fonts<\/h4>\n\n<p>The admin settings page loads two font families (Plus Jakarta Sans and JetBrains Mono) from Google Fonts for the plugin's admin interface.<\/p>\n\n<p><strong>Data sent:<\/strong> Standard HTTP font file requests. Google receives the requesting IP address and browser User-Agent.\n<strong>When this happens:<\/strong> Each time an administrator opens the LolaCore settings page.<\/p>\n\n<ul>\n<li>Service: <a href=\"https:\/\/fonts.google.com\">https:\/\/fonts.google.com<\/a> | <a href=\"https:\/\/developers.google.com\/terms\">Terms of Service<\/a> | <a href=\"https:\/\/policies.google.com\/privacy\">Privacy Policy<\/a><\/li>\n<\/ul>\n\n<!--section=installation-->\n<ol>\n<li>Upload the <code>lolacore<\/code> folder to <code>\/wp-content\/plugins\/<\/code> or install via the WordPress plugin screen.<\/li>\n<li>Activate the plugin through the \"Plugins\" screen in WordPress.<\/li>\n<li>Configure your AI provider through WordPress's built-in AI settings (Settings \u2192 AI).<\/li>\n<li>Open the floating chat widget in your admin dashboard.<\/li>\n<li>Start managing your site through conversation.<\/li>\n<\/ol>\n\n<h4>Requirements<\/h4>\n\n<ul>\n<li>WordPress 7.0 or higher<\/li>\n<li>PHP 8.1 or higher<\/li>\n<li>MySQL 5.7+ or MariaDB 10.3+ (JSON column support required)<\/li>\n<li>An AI provider configured through WordPress's AI Client settings<\/li>\n<li>WooCommerce 8.0+ (optional \u2014 for store management abilities)<\/li>\n<\/ul>\n\n<p>Detailed setup instructions and first-conversation tips: <a href=\"https:\/\/lolacore.com\/documentation\/#installation\">getting started guide<\/a>.<\/p>\n\n<!--section=faq-->\n<dl>\n<dt id=\"where%20is%20my%20data%20stored%3F\"><h3>Where is my data stored?<\/h3><\/dt>\n<dd><p>All data \u2014 memory facts, chat history, configuration \u2014 is stored in your WordPress database. Five dedicated tables are created on activation. Nothing is sent to external servers except your chat messages to your configured AI provider when you actively use the chat.<\/p><\/dd>\n<dt id=\"what%20data%20is%20sent%20to%20ai%20providers%3F\"><h3>What data is sent to AI providers?<\/h3><\/dt>\n<dd><p>When you chat with Lola: your messages, a summary of your site scan (WordPress version, plugin list, PHP version), and relevant memory facts. Passwords, API keys, and personal user data are never included in the AI context.<\/p><\/dd>\n<dt id=\"can%20lola%20break%20my%20site%3F\"><h3>Can Lola break my site?<\/h3><\/dt>\n<dd><p>Every write action requires explicit confirmation. Lola shows you exactly what she is about to do, and you approve or cancel. Safety guards prevent deactivating LolaCore itself, deleting the last administrator, and permanent content deletion without warning. All executed actions are logged with before\/after snapshots.<\/p><\/dd>\n<dt id=\"what%20happens%20when%20i%20deactivate%20the%20plugin%3F\"><h3>What happens when I deactivate the plugin?<\/h3><\/dt>\n<dd><p>Deactivation clears scheduled cron events but preserves all your data. Uninstalling the plugin permanently deletes all database tables and stored options. Your choice.<\/p><\/dd>\n<dt id=\"does%20lolacore%20work%20with%20woocommerce%3F\"><h3>Does LolaCore work with WooCommerce?<\/h3><\/dt>\n<dd><p>Yes. If WooCommerce is active, Lola automatically detects it and enables 13 additional abilities for product management, order tracking, customer data, coupons, categories, and sales reporting.<\/p><\/dd>\n<dt id=\"does%20lolacore%20work%20with%20other%20plugins%3F\"><h3>Does LolaCore work with other plugins?<\/h3><\/dt>\n<dd><p>Lola reads and writes standard WordPress data \u2014 options, post meta, users. She works alongside Yoast SEO, RankMath, ACF, Contact Form 7, and any plugin that stores data in the WordPress database.<\/p><\/dd>\n<dt id=\"can%20i%20use%20lolacore%20for%20client%20sites%3F\"><h3>Can I use LolaCore for client sites?<\/h3><\/dt>\n<dd><p>Yes. Install LolaCore on each client site independently. Each installation has its own memory, its own logs, its own context. Many consultants use it to speed up monthly maintenance and generate faster client reports.<\/p><\/dd>\n<dt id=\"does%20lolacore%20work%20with%20mcp%20clients%3F\"><h3>Does LolaCore work with MCP clients?<\/h3><\/dt>\n<dd><p>Yes. LolaCore exposes all 52 abilities through the WordPress Abilities API. With the MCP Adapter plugin installed, Lola works as a full MCP server compatible with Claude Desktop, Cursor, and any MCP client.<\/p><\/dd>\n<dt id=\"why%20does%20lolacore%20require%20wordpress%207.0%3F\"><h3>Why does LolaCore require WordPress 7.0?<\/h3><\/dt>\n<dd><p>LolaCore is built entirely on the native AI Client introduced in WordPress 7.0. This eliminates external HTTP dependencies, uses WordPress's own credential management, and ensures long-term compatibility as the platform evolves. No shims, no polyfills, no fallback layers.<\/p>\n\n<p>These are the quick answers. For 45+ questions across memory, skills, licensing, safety, and troubleshooting, see the <a href=\"https:\/\/lolacore.com\/documentation\/#faq\">complete FAQ<\/a>.<\/p><\/dd>\n\n<\/dl>\n\n<!--section=changelog-->\n<h4>1.4.1<\/h4>\n\n<ul>\n<li>Fix: Resolved a critical \"Bad Request (400)\" error triggered by orphan tool_call_ids during multi-tool execution (e.g. bulk plugin updates). The root cause was non-deterministic message ordering \u2014 MySQL's 1-second datetime resolution caused tool responses to appear out of sequence when multiple tools executed within the same second.<\/li>\n<li>Fix: Message history query now uses the auto-increment primary key for ordering instead of the datetime column, guaranteeing insertion-order fidelity regardless of timestamp collisions.<\/li>\n<li>Fix: The history sanitizer now detects and drops stale tool messages that reference tool_call_ids never declared by any assistant message in the session.<\/li>\n<li>Improvement: Added a defense-in-depth architecture for tool_call\/tool_response pairing with four validation layers: deterministic DB ordering, history sanitizer with per-ID logging, post-sanitization assertion, and an HTTP-layer safety net that patches orphans in the final API request body.<\/li>\n<li>Improvement: Sanitizer telemetry now logs the exact orphaned tool_call_ids and function names, replacing the previous generic message.<\/li>\n<\/ul>\n\n<h4>1.4.0<\/h4>\n\n<ul>\n<li>Feature: Skills.MD \u2014 Lola can now author, store and apply behavioral skills described in plain Markdown with YAML frontmatter. Skills inject specialized instructions into Lola's reasoning under deterministic conditions (always-on, keyword triggers, or environment conditions) without touching PHP.<\/li>\n<li>Feature: Skills are loaded from four sources with documented precedence (built-in, addon-registered, user filesystem at <code>wp-content\/lolacore-skills\/<\/code>, and database). The <code>lolacore_register_skills<\/code> filter lets addons register their own skill directories.<\/li>\n<li>Feature: Settings \u2192 Skills panel \u2014 visualize every loaded skill grouped by origin, toggle each one on or off, view the source markdown, import skills from .md files, and configure advanced parameters (max active, char budget, max per prompt).<\/li>\n<li>Feature: Conversational skill authoring \u2014 ask Lola \"create a skill that\u2026\" and she generates the markdown, saves it inactive, and asks before activating. Full toolset: <code>addSkill<\/code>, <code>activateSkill<\/code>, <code>deactivateSkill<\/code>, <code>updateSkill<\/code>, <code>deleteSkill<\/code>, <code>listSkills<\/code>.<\/li>\n<li>Architecture: Single-axis state model for skills. Each skill is either <code>active<\/code> (firing) or <code>inactive<\/code> (off) \u2014 managed by one toggle in the admin, one verb in the chat. Runtime diagnostics (<code>no-triggers<\/code>, <code>incompatible<\/code>, <code>unmet-dependencies<\/code>) surface as informational badges, not as states the user manipulates.<\/li>\n<li>Architecture: Two-layer skill cache \u2014 hot transient with filesystem-hash validation and cold snapshot in <code>wp_lolacore_config<\/code> (capped at 1 MB serialized) \u2014 keeps the loader budget under 5 ms on the cache-hit path.<\/li>\n<li>Architecture: Skills system is gated behind a master toggle (Beta) so the entire feature can be disabled with a single switch without uninstalling.<\/li>\n<li>Database: Migration to schema version 0.3.0 \u2014 adds the <code>wp_lolacore_skills<\/code> table and consolidates legacy in-progress states into the unified <code>active<\/code>\/<code>inactive<\/code> model.<\/li>\n<li>Improvement: <code>SystemPromptBuilder<\/code> enforces a ground-truth rule (<code>listSkills<\/code> before answering any state question) that prevents Lola from confabulating phantom skills from stale session summaries.<\/li>\n<li>Improvement: Session summaries now respect the language the user spoke in during the conversation rather than forcing a single locale.<\/li>\n<\/ul>\n\n<h4>1.3.0<\/h4>\n\n<ul>\n<li>Performance: Memory fact extraction (<code>extractFacts<\/code>) is now deferred out of the user-facing response path via a non-blocking background request. Reduces perceived response time by ~5\u201319s on fact-heavy sessions (47% of observed median latency). Compatible with all PHP SAPIs \u2014 uses <code>fastcgi_finish_request()<\/code> on PHP-FPM (Linux\/production) and <code>wp_remote_post(blocking=false)<\/code> with HMAC authentication on CGI\/other environments.<\/li>\n<li>Performance: DeepSeek V4 think-mode is now disabled for the intent classifier call. The classifier task is pure JSON categorization \u2014 disabling reasoning reduces classifier latency by ~34% with no accuracy regression.<\/li>\n<li>Fix: Meta-tool query patterns (\"\u00bfqu\u00e9 puedes hacer?\", \"\u00bfqu\u00e9 funciones tienes?\") were stored with mojibake-encoded characters that never matched real UTF-8 input. Replaced with accent-agnostic character classes (<code>qu[e\u00e9]<\/code>, <code>cu[a\u00e1]ntas<\/code>, etc.).<\/li>\n<li>Fix: Holistic and meta-intent detectors now inspect only the current user message, not the conversation history window. Eliminates false positives on subsequent turns when a prior message happened to contain a capability-query phrase.<\/li>\n<\/ul>\n\n<h4>1.2.0<\/h4>\n\n<ul>\n<li>Feature: Memory Bootstrap \u2014 Lola now seeds baseline facts from each active addon on activation and refreshes them every 6 hours via a unified background job. Compatible addons (WooCommerce Pro, WPCode Snippets, Fluent Support) contribute live site-state data so Lola has meaningful context from the very first conversation, with no manual \"remember this\" prompting required.<\/li>\n<li>Feature: Holistic monitoring queries (\"what needs my attention?\", \"give me a full site overview\", \"morning briefing\") now automatically activate the full tool set across all active domains without requiring a round-trip escalation. Extensible via the <code>lolacore_holistic_monitoring_patterns<\/code> filter.<\/li>\n<li>Architecture: Added <code>MemoryBootstrapInterface<\/code> and <code>MemoryBootstrapRunner<\/code> with an adaptive global budget (24 baseline facts, minimum 2 guaranteed per addon, competitive allocation by importance score). Bootstrap facts are immune to the memory decay engine and capped at 40% of the context window to prevent crowding out conversational memory.<\/li>\n<li>Improvement: Category affinity map expanded with bidirectional links across all Business Bundle domains (WooCommerce Pro \u2194 WPCode Snippets \u2194 Fluent Support). Cross-addon queries now resolve in a single pass without requiring a follow-up escalation.<\/li>\n<li>Improvement: The semantic intent classifier maximum category cap is now adaptive \u2014 scales from 3 to 5 based on the number of active addon domains, allowing genuine multi-domain queries (e.g., \"compare my WooCommerce revenue against open support tickets\") to resolve correctly on complex sites.<\/li>\n<li>Fix: Resolved \"insufficient tool messages following tool_calls message\" (HTTP 400) errors that could surface after an abandoned write confirmation, leaving the chat session permanently broken until reload. Affected DeepSeek and OpenAI-compatible providers.<\/li>\n<li>Fix: Added a defensive history sanitizer that detects orphan <code>tool_call_id<\/code>s in stored conversation history and injects synthetic placeholders before each provider request, preserving the assistant\u2192tool pairing contract required by the OpenAI message format.<\/li>\n<li>Fix: Widened executor exception capture from <code>\\Exception<\/code> to <code>\\Throwable<\/code> so that a <code>TypeError<\/code> in any Domain Handler still produces a valid <code>tool<\/code> message instead of orphaning the assistant's <code>tool_call<\/code>.<\/li>\n<li>Fix: Provider responses with missing or null <code>tool_call_id<\/code> are now backfilled with a synthetic UUID, preventing silent round-trip pairing failures.<\/li>\n<li>Fix: Memory extraction job now uses an explicit 30-second transport timeout, eliminating silent extraction failures (<code>cURL error 28<\/code>) on reasoning-capable providers such as DeepSeek.<\/li>\n<li>Fix: DeepSeek V4 <code>reasoning_content<\/code> is now re-injected only when the assistant message includes <code>tool_calls<\/code>, following the V4 spec exactly. Previously re-injected unconditionally, wasting 500\u20132,000 tokens per conversational turn.<\/li>\n<li>Improvement: DeepSeek V4 models (<code>deepseek-v4-pro<\/code>, <code>deepseek-v4-flash<\/code>) now appear first in the model selector. Legacy V3 models (<code>deepseek-chat<\/code>, <code>deepseek-reasoner<\/code>, deprecated 2026-07-24) are sorted last.<\/li>\n<li>Improvement: Reduced average token usage per request by ~30\u201340% through four independent optimizations: system prompt restructuring to maximise prefix cache hits, site scan summary compression (JSON \u2192 compact text), adaptive memory budget that scales with message length (10\/20\/30 facts), and tool schema description compression for always-present tools.<\/li>\n<\/ul>\n\n<h4>1.1.3<\/h4>\n\n<ul>\n<li>Architecture: Major overhaul of the Long-Term Memory persistence pipeline to prevent \"amnesia\" and ensure context retention across sessions.<\/li>\n<li>Architecture: Introduced \"Immortal Facts\" (is_pinned schema column). Important memory facts can now be pinned, making them permanently immune to the decay relevance engine.<\/li>\n<li>Architecture: Importance-Aware Decay. The memory decay formula now scales mathematically based on fact importance \u2014 critical facts decay 2x slower than trivial observations.<\/li>\n<li>Feature: Proactive Memory Directives. Lola is now instructed at the system-prompt level to automatically save structural decisions, stack choices, and business preferences without waiting to be told \"remember this\".<\/li>\n<li>Feature: Contextual Fact Boosting. The retrieval engine now dynamically filters and boosts memory relevance in real-time based on keyword matches with your current chat message.<\/li>\n<li>Feature: Session Summary Persistence. Chat session summaries are now preserved as high-priority memory facts instead of being destructively overwritten by the newest session.<\/li>\n<li>Fix: Multi-Turn Memory Extraction. The background memory extraction job now observes the last 5 conversation turns (instead of just 1), preventing blind spots in extended discussions.<\/li>\n<li>Fix: Model Desync. Memory extraction now actively resolves the selected AI provider\/model from settings, fixing a bug where extraction would fail silently on non-default models like DeepSeek.<\/li>\n<li>Fix: Scanner Budgeting. Scanner-generated facts (site_state) are now hard-capped at 35% of the memory window, preventing plugin lists from crowding out actual conversational memory.<\/li>\n<li>Fix: Added robust local PHP diagnostic logging (via error_log) to the memory extraction background job to eliminate silent failures.<\/li>\n<li>Compliance: Replaced hardcoded AJAX endpoint with dynamically localized URL via wp_localize_script.<\/li>\n<li>Compliance: Migrated widget state injection from inline script tag to wp_add_inline_script for WordPress enqueue standards.<\/li>\n<li>Compliance: Updated DOMPurify to 3.4.2 and marked.js to 18.0.3 (latest stable releases).<\/li>\n<li>Compliance: Escaped all dynamic values in exception messages across all Domain Handlers (esc_html).<\/li>\n<li>Compliance: Converted raw DB_NAME concatenation to $wpdb-&gt;prepare() in database size query.<\/li>\n<li>Compliance: Fixed translators comment placement for PHPCS MissingTranslatorsComment compliance.<\/li>\n<li>Compliance: Removed development-only files (scratch.php, extractor.php) from plugin root.<\/li>\n<\/ul>\n\n<h4>1.1.2<\/h4>\n\n<ul>\n<li>Architecture: Complete refactoring of ActionExecutor into 12 modular Domain Handlers (ContentHandler, PluginHandler, UserHandler, SystemHandler, MediaHandler, MetaHandler, TaxonomyHandler, CommentHandler, NavigationHandler, MemoryHandler, WooReadHandler, WooWriteHandler) behind a HandlerRouter with ActionHandlerInterface contract.<\/li>\n<li>Architecture: Introduced HandlerRouter with deterministic dispatch \u2014 each handler declares its owned actions via getSupportedActions(), eliminating the monolithic switch\/case in ActionExecutor.<\/li>\n<li>Feature: Added getDiscoveredAbilities tool for Lola to introspect all registered WordPress Abilities at runtime.<\/li>\n<li>Feature: Added manageRoles tool enabling Lola to create, delete, and modify WordPress user roles and capabilities from chat.<\/li>\n<li>Fix: Intent Router reordering \u2014 meta-intent detection (Layer 0.5) now executes before keyword matching (Layer 1), preventing false-positive category captures on meta-queries like \"What tools do you have?\".<\/li>\n<li>Fix: Enabled 'meta' as a valid category in the semantic classifier (Layer 2), providing a second safety net for meta-queries that bypass Layer 0.5.<\/li>\n<li>Fix: Plugin search (searchPlugins) now handles both object and array response formats from the WordPress.org plugins_api(), resolving empty results on certain PHP\/WP versions.<\/li>\n<li>Fix: Chat UI now auto-links plain-text URLs in assistant responses, converting them into clickable links.<\/li>\n<li>Fix: Export download links (.xml, .json, .csv, .zip) now include the HTML download attribute, forcing browser download instead of inline rendering.<\/li>\n<li>Fix: URL autolink regex excludes backtick characters to prevent trailing %60 in generated links.<\/li>\n<li>Improvement: Keyword inference from tool descriptions is now isolated from meta-query routing, reducing false-positive matches in the intent router.<\/li>\n<li>Improvement: Removed legacy direct-method dispatch from ActionExecutor \u2014 all 51 actions now route exclusively through Domain Handlers.<\/li>\n<li>Improvement: Addon integration updated \u2014 WooCommerce Pro tools route through category affinity system for reliable domain escalation.<\/li>\n<li>Architecture: New <code>LolaCore\\I18n<\/code> namespace with <code>ErrorMessages<\/code> and <code>StatusMessages<\/code> classes \u2014 every user-facing string is now centralized and WordPress i18n-ready (<code>__()<\/code> wrappers for future translation).<\/li>\n<li>Architecture: Backend error sanitization via <code>ErrorMessages::wrapServerError()<\/code> \u2014 stack traces, PHP class names, and raw exception details are filtered before reaching the frontend.<\/li>\n<li>Improvement: Chat error messages rewritten for cognitive ergonomics \u2014 first-person voice, no jargon, actionable next step in every message.<\/li>\n<li>Improvement: Replaced emoji-prefixed error indicators (<code>\u26a0\ufe0f<\/code>) with CSS-driven visual treatment (<code>.lola-error-message<\/code> class with salmon accent border and tinted background).<\/li>\n<li>Improvement: <code>appendMessage()<\/code> in chat JS now accepts an <code>isError<\/code> flag for proper error styling without breaking Markdown rendering or autolink functionality.<\/li>\n<li>Improvement: All hardcoded error strings in <code>Controller.php<\/code>, <code>Settings.php<\/code>, and <code>WPAIClientAdapter.php<\/code> replaced with centralized <code>ErrorMessages<\/code> \/ <code>StatusMessages<\/code> method calls.<\/li>\n<\/ul>\n\n<h4>1.1.1<\/h4>\n\n<ul>\n<li>Fix: Added full taxonomy assignment support (categories and tags) to createContent and editContent.<\/li>\n<li>Fix: Added featured_image assignment support to createContent and editContent.<\/li>\n<li>Feature: Added uploadMedia tool to allow autonomous sideloading of external images into the Media Library.<\/li>\n<\/ul>\n\n<h4>1.1.0<\/h4>\n\n<ul>\n<li>UI Redesign: Complete overhaul of the settings panel to match LolaCore's design system.<\/li>\n<li>Feature: Added ability to manage Lola's persistent memory directly from the settings panel (Maintenance ops: Scan, Export, Import, Compact).<\/li>\n<li>Feature: Autonomous Tool Escalation added. Lola can now dynamically break out of restricted domains when she determines a tool is needed but restricted.<\/li>\n<li>Improvement: Modularized system prompt generation and unified safety toggles using a SafetyConfig architecture.<\/li>\n<li>Improvement: Integrated addon infrastructure (Door 4 &amp; 5) enabling unified management and license validation for extensions like WPCode.<\/li>\n<li>Improvement: Minor UI updates and padding adjustments for broader screen compatibility.<\/li>\n<\/ul>\n\n<h4>1.0.2<\/h4>\n\n<ul>\n<li>Fix: Preserved raw HTML\/code syntax in user chat messages without stripping tags.<\/li>\n<li>Enhancement: Implemented Markdown rendering in chat UI for rich text, tables, and formatted code blocks (ChatGPT-like experience).<\/li>\n<li>Enhancement: Enqueued marked.js and DOMPurify for secure frontend Markdown parsing.<\/li>\n<\/ul>\n\n<h4>1.0.1<\/h4>\n\n<ul>\n<li>Added: <code>lolacore_execute_external_action<\/code> filter for external addon action dispatch.<\/li>\n<li>Added: <code>lolacore_sop_map<\/code> filter for dynamic SOP injection by addon plugins.<\/li>\n<li>Improvement: LolaCore is now fully extensible for third-party addon plugins.<\/li>\n<\/ul>\n\n<h4>1.0.0<\/h4>\n\n<ul>\n<li>Initial public release.<\/li>\n<li>51 abilities across 13 domains (27 read + 24 write).<\/li>\n<li>Persistent memory engine with decay-based relevance scoring.<\/li>\n<li>Algorithmic site scanner with 11 data collection modules.<\/li>\n<li>13 dedicated WooCommerce tools \u2014 products, orders, customers, coupons, categories, sales reports.<\/li>\n<li>Built on the WordPress 7.0 native AI Client \u2014 zero external production dependencies.<\/li>\n<li>All abilities exposed via the WordPress Abilities API.<\/li>\n<li>MCP server compatibility \u2014 works with Claude Desktop and any MCP client.<\/li>\n<li>Intent router \u2014 filters abilities per message to reduce token usage and improve accuracy.<\/li>\n<li>Floating chat widget with drag, minimize, and session persistence.<\/li>\n<li>Preview \u2192 Confirm \u2192 Execute pattern for all write operations.<\/li>\n<li>Safety guards: self-deactivation block, last-admin protection, delete limit warnings.<\/li>\n<li>Three AI providers supported: Anthropic, OpenAI, DeepSeek.<\/li>\n<\/ul>","raw_excerpt":"The AI admin for WordPress 7.0 that doesn&#039;t forget. Executes 52 actions through chat \u2014 every change confirmed before it runs.","jetpack_sharing_enabled":true,"_links":{"self":[{"href":"https:\/\/wordpress.org\/plugins\/wp-json\/wp\/v2\/plugin\/308287","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=308287"}],"author":[{"embeddable":true,"href":"https:\/\/wordpress.org\/plugins\/wp-json\/wporg\/v1\/users\/vanguardhive"}],"wp:attachment":[{"href":"https:\/\/wordpress.org\/plugins\/wp-json\/wp\/v2\/media?parent=308287"}],"wp:term":[{"taxonomy":"plugin_section","embeddable":true,"href":"https:\/\/wordpress.org\/plugins\/wp-json\/wp\/v2\/plugin_section?post=308287"},{"taxonomy":"plugin_tags","embeddable":true,"href":"https:\/\/wordpress.org\/plugins\/wp-json\/wp\/v2\/plugin_tags?post=308287"},{"taxonomy":"plugin_category","embeddable":true,"href":"https:\/\/wordpress.org\/plugins\/wp-json\/wp\/v2\/plugin_category?post=308287"},{"taxonomy":"plugin_contributors","embeddable":true,"href":"https:\/\/wordpress.org\/plugins\/wp-json\/wp\/v2\/plugin_contributors?post=308287"},{"taxonomy":"plugin_business_model","embeddable":true,"href":"https:\/\/wordpress.org\/plugins\/wp-json\/wp\/v2\/plugin_business_model?post=308287"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}