=== Rooster One === Contributors: oxfordmetadata Tags: woocommerce, ai, seo, automation, right-of-withdrawal Requires at least: 6.7 Tested up to: 7.1 Requires PHP: 8.1 Stable tag: 11.3.7 Woocommerce tested up to: 11.3 License: GPLv3 or later License URI: http://www.gnu.org/licenses/gpl-3.0.html SEO, recommendations, pricing, pixels, couriers, feeds, wishlist, AI chat: 581 tools replacing dozens of plugins. One to load, and they agree. == Description == # One plugin instead of dozens. 581 tools, and they agree with each other. Rooster One does the work that would otherwise take dozens of separate plugins, and it does it from one place, on one set of numbers. One plugin means one licence, one update, one place to ask, and one thing for WordPress to load on every request instead of dozens. **What is actually in it:** a full SEO engine that can take over from Yoast or AIOSEO, importing what they hold first. Product recommendations built from your real sales. Role, wholesale and tiered pricing. Meta, Google Ads, GA4 and TikTok measurement, sent server-side so an ad blocker cannot silence it. Sixteen couriers with vouchers, labels, tracking and daily closings. Marketplace feeds and order import for Skroutz, Shopflix, eMAG, Etsy, Amazon and more. Side cart, wishlist, back-in-stock waitlist, quote requests for catalogue shops, swatches, trust badges. Popups and scheduled announcements. Abandoned-cart recovery, email and web push campaigns, audiences. Surveys, competitions and events. Invoices, packing slips and credit notes. A GDPR consent banner with a cookie scanner. The EU withdrawal button that Directive 2023/2673 now requires. And an AI assistant that answers from your own catalogue rather than making things up. That is **581 tools**, each with a written description of what it is for. ### Why one plugin rather than dozens Because separate plugins cannot see what the others know, so they disagree, and each one works the same thing out again while your customer waits. Rooster One measures your whole business on a schedule instead: every product, page, customer, order and session, written into flat tables. The SEO engine, the recommendations, the audiences, the ad ROI report and the AI assistant all read those same tables. That is why they agree, and why the plugin gets *faster* as you switch more of it on: the heavy work happened before the request arrived. The trade-off is timing: a figure is only as new as its last run. ### And it is one plugin to load, not dozens WordPress loads **every** active plugin on **every** request, whether that request needs it or not; a site carrying a hundred of them pays that toll a hundred times before any useful work happens. Rooster One is one plugin, and the parts you have not switched on register nothing. On Pro, a separate lightweight runtime serves the storefront, so your customer's page load carries the code that draws the page and not the code that runs the shop. **Everything is off by default.** It installs beside your current SEO plugin, pixel manager and consent tool and changes nothing until you switch a piece on. Rooster One runs on your own server. Everything it ever sends to an outside service, and what triggers it, is listed under "What does Rooster One send to an outside service, and when?" in the FAQ below. **The free version is a complete product**, not a demo: 775 of the 1,302 screens, tools and actions are in it. **Pro** adds the operational half and the separate front-end runtime plugin. ### Who builds it Rooster One is built by **Oxford Metadata Ltd**, approved under Anthropic's Cyber Verification Program for security work; the plugin's bot filtering, form captcha, proof-of-consent log and login hardening come out of that discipline. The AI features run on **Anthropic Claude** and **Voyage AI** embeddings. ### It reads your site for what it is * **Shop** — sales and add-to-carts are the measure. * **Catalogue** — products published but not sold; engagement is the measure. * **Content** — no WooCommerce; visits, engagement and forms are the measure. Auto-detected, overridable in one click. Scoring, cornerstones and applicable signals all follow from it. ### You can find all of it **Ctrl+K** reaches every page and each of the 581 tools inside them. **All Features** lists every one, with pinnable favourites, and prints the figure for your own install, since the page count depends on which modules apply to your shop. == What gets measured == Computed on a schedule, stored flat. Everything below reads these. * **Product vitals** — velocity, out-of-stock history, price history, basket role, returns, and a 0–100 demand score. * **Content vitals** — reach, engagement, freshness and a content-demand score for every post, page and custom type. * **Customer vitals** — an omnichannel profile: purchases, affinities, lifecycle stage, survey answers, return risk. * **Session and attribution rollups** — engagement joined to conversion on one session id, with landing page, campaign and five UTMs. * **Effective prices** — every price rule resolved ahead of time into one row per product per audience. == The features == ### AI chat & semantic search * **Chat widget** on **Anthropic Claude**, grounded in your catalogue — only real, in-stock items with exact links. * **Semantic search** on **Voyage AI** embeddings across products, posts, pages and terms. * **A knowledge base you control**, with identity guardrails so it cannot mis-describe you. * **Chat analytics** — what was asked, how it was rated, which questions found nothing, which chats ended in an order. * **Related content** on articles, guides, listings and products, from the same index, automatic or placed by block or shortcode. ### SEO engine Imports from, and can take over from, AIOSEO, Yoast or Rank Math; stays gated behind your current SEO plugin until you switch over. * Head, canonical, robots, Open Graph, Twitter and JSON-LD, assembled once into a cache. * **Commerce schema from the same tables** — `ProductGroup` + `hasVariant`, per-variant colour, `gtin`, brand, shipping and return policy. * **AI titles and descriptions written against the live SERP.** Drafts await approval, or run on Autopilot. * **Opportunity grid** — traffic × conversion: hidden gem, intent mismatch, defend, prune. * **Rank tracking** (optional DataForSEO, under your spend cap). * Redirects and 404s, slug monitor, static sitemap, robots.txt, alt-text filling, EU Omnibus history, hreflang, **Local SEO**. ### Selling more * **Recommendations** — up-sell, cross-sell and same-need alternatives from your real sales patterns. * **Rails you order by drag-and-drop**, block and classic themes, with custom slots. * **Pricing engine** — role and wholesale prices, brand discounts, loyalty tiers, points, free gifts. Stacked, resolved ahead of time. * **Merchandising** — swatches, labels, trust badges, payment logos, galleries, layout builder, custom tabs, one master button style. * **Lift measurement** — the incremental orders and revenue the engine adds. ### Cart, checkout, recovery * **Side cart**, **sticky add-to-cart**, **wishlist**, **back-in-stock waitlist**. * **Quote requests for catalogue shops** — an ask-for-a-price card, a quote basket the shopper grows as they browse, and the browsing trail behind each request, booked as valued leads. * **A premade contact form** — shortcode, block or Elementor widget; messages saved, staff emailed, the visitor thanked in their own language. * **Saved and abandoned carts** — share and resume, cookieless restore that survives CDN caching. * **Checkout tuning** — distraction-free checkout with A/B assignment, minimum order, and business-invoice fields. * Full **block and classic parity**. ### Reaching customers * **Audiences** — top, lapsed, lookalike, abandoned-cart, reactivation, competition entrants. Recomputed nightly. * **Automated campaigns** — abandoned cart, win-back, birthday, back in stock, post-purchase. Email and web push, quiet hours honoured. * **Social posts** from your catalogue, **competitions** on any Gravity Form, **surveys** scored into NPS and voice-of-customer. ### Knowing what worked * **Server-side measurement you own** — Meta CAPI, GA4, Google Ads Enhanced Conversions, TikTok Events API. Deduplicated, sent after the order is saved, with a daily safety net. * **Consent / GDPR CMP** — first-party banner, Consent Mode v2, proof-of-consent log, cookie scanner. * **ROI Wizard** — orders, revenue, cost, net, ROAS and ROI by engine, offer, channel, campaign or creative. * **Ad spend** typed, by CSV, or nightly from Google Ads / Meta / TikTok. **Conversion goals** for non-shops. * **Insights Chat** — ask your shop questions in wp-admin. Customers pseudonymised, no data export. ### Running the shop * **Marketplace order import** — Skroutz, Shopflix, eMAG, eFood, Wolt, Etsy, Amazon → native WooCommerce orders. The **catalogue importer** runs it in reverse: import products from a marketplace listing in one click. * **Streaming feeds** — ready-made templates for Google Shopping, Facebook, Amazon Inventory Loader, eBay File Exchange, Etsy listings, Skroutz, BestPrice, Shopflix, eMAG, eFood, Wolt and Tolstoy, plus a custom builder. * **Sixteen couriers** — vouchers, labels, COD, tracking, bulk printing, daily closings: ACS, BOX NOW, Courier Center, ELTA, Geniki Taxydromiki, Speedex, DHL, FedEx, UPS, USPS, Royal Mail, Colissimo, BRT, Correos, Sendcloud, plus a manual carrier. * **Order documents** — invoices, packing slips, proformas, credit notes. Singly or merged across a date range. * **Delivery economics** — real break-even free shipping from your carrier costs, per-carrier × zone P&L. * **Operational intelligence** — stock recovery, missing hot sellers, out-of-stock predictor, branch stock, barcode scanning, optional ERP and supplier feed (XML) imports. ### The withdrawal button — Directive (EU) 2023/2673 Every EU distance seller must now give consumers a **prominent, permanently available button** to declare withdrawal electronically. * 14 calendar days from delivery, guests included, no reason required, **partial withdrawal** by item and quantity. * **Acknowledgement on a durable medium** with date and time; cancellation stays distinct from withdrawal. * **Return vouchers** checked by an operator before the customer sees them. Ships **disabled**. ### Content, blocks and regional selling * **Events** with RSVP, **FAQ** accordions, **Store Pages**, **Food & Beverages** option groups, **Google reviews**, **Media Cleanup** that quarantines before it deletes. * **Dozens of server-rendered blocks** for stores, products, recommendations, swatches, brands, categories, blog, competitions and events. * **Regional checkout** — COD by country or courier, "from X,XX €" labels before a postcode is entered, per-country payment and shipping rules. ### Speed and resilience * Pre-computed into flat tables; the storefront reads single cached rows, and a thin **front-end runtime plugin** (Pro) serves it without the admin half. * **Self-healing jobs** re-arm after updates and stay dormant until used. Tables are **never dropped** except on explicit uninstall. == Free and Pro == GPLv3 throughout. There are three separate things here, and two of them are called "Pro". **1. This plugin, free.** A complete, working product, not a demo: AI chat and semantic search, the whole SEO engine, pricing and merchandising, the storefront features, measurement and consent, feeds, courier fulfilment, the block library, Ctrl+K and the complete withdrawal button, which is a legal obligation and stays free. **2. A Pro subscription** (or the 14-day trial), activated by connecting the site to your Rooster One account. No per-feature keys. It unlocks the Pro screens whose code is already inside this download: * **Marketplace order import** — Skroutz, Shopflix, eMAG, eFood, Wolt, Etsy, Amazon. * **Attribution and ROI** — dashboard, ROI Wizard, ad-spend connectors, shipping cost against margin. * **Audiences and campaigns** — audience builder, email and web-push flows, social posts, AI-suggested offers. * **Customer intelligence** — customer lookup, surveys, cancellations and returns analysis, chat analytics. * **Insights Chat**, **events and competitions**, Action Scheduler cleanup. **3. Two companion plugins**, included with a Pro subscription and installed separately. A subscription on its own does not put their code on your server, so these screens ask you to install the plugin rather than pretending to work: * **Rooster One Runtime** — serves the storefront, SEO head, sitemap and redirects without loading the admin half. The biggest single speed difference between free and Pro. * **Rooster One Pro** — carries seven engines this download does not contain: supplier invoice scanning, the accounting and ERP connectors (Entersoft, Galaxy, Soft1, Zoho Books, Oxygen), the catalogue importer, the product exchanger, the duplicate-product merge engine, semantic internal linking and the branch stock scanner. Everything Pro-locked stays visible with an explanation of what it does, and where a screen also needs the Pro plugin it says so before you buy, not after. == Optional integrations == Nothing below is required; each is an opt-in add-on using your own account. * **Rooster AI credits** (rooster.systems) — powers the AI chat, AI SEO copy and Insights Chat via Anthropic Claude and Voyage AI embeddings, with no per-provider API keys to manage. * **Recommendations service** (eshop-optimizer.com) — graph-database up-sell/cross-sell analysis of your order history. * **DataForSEO** — optional keyword rank tracking under a spend cap you set. * **Ad and measurement platforms** — Google Ads, GA4, Meta and TikTok, each independently selectable. * **Couriers and marketplaces** — your own carrier and marketplace accounts, for vouchers and order import. * **Google Places / Search Console** for location data and search performance. == Source code == Every compiled or minified file ships with its source beside it. The block stylesheets (`engine/blocks//style.css` and `variants/.css`, and the Contact Form block's `variants/panel.css`) are compiled with Tailwind CSS 4 from the recipes next to them (`style.src.css`, `variants/.src.css`, `variants/panel.src.css`) and the token map they import (`engine/blocks/theme.css`): `npx @tailwindcss/cli -i style.src.css -o style.css --minify` in the block's folder rebuilds one. Every `*.min.js` and `*.min.css` is minified from the file of the same name without `.min`. The admin chrome library in `lib/rooster-admin` ships its sources the same way (`assets/src`). == Installation == Rooster One needs PHP 8.1 or newer, and MySQL 8.0.21 or MariaDB 10.3 or newer. On an older database server everything works except the analytics reports, and the admin says so. 1. Install through **Plugins → Add New** and search for "Rooster One", or upload the plugin zip to `wp-content/plugins/`. 2. Activate it. Nothing changes on your site yet — almost everything ships off by default. 3. Open **Rooster One** in the admin menu. The header shows whether your site was read as a shop, a catalogue or a content site; correct it in one click if it is wrong. 4. Switch on one capability at a time. Each runs alongside your existing tools until you retire them. Press **Ctrl+K** on any admin screen to find anything. == Frequently Asked Questions == = This is an enormous amount of functionality. Am I supposed to use all of it? = No, and nobody does. **Everything is off by default.** Rooster One installs beside your current SEO plugin, pixel manager and consent tool and changes nothing at all until you switch a piece on. Turning one thing on does not commit you to the next. The right way in is to pick the single problem that is costing you most right now and switch on only that. Most shops start with recommendations or the AI chat, see what it does for a fortnight, and only then look further. There is no configuration you must complete before anything works. = Why is this one plugin rather than twelve? = Because it is one idea, not twelve features. Rooster One measures your whole business on a schedule — every product, page, customer, order and session, scored into flat tables — and every feature reads those same tables. That is why the recommendations, the SEO engine, the audiences, the ad ROI and the AI assistant agree with each other instead of each maintaining a private version of the truth. Twelve plugins cannot do that: they would each need their own copy of your catalogue, their own idea of who your best customers are, and their own cron job to build it. It is also why the plugin gets **faster** to use as you switch things on rather than slower. The expensive thinking already happened, on a schedule, off your customer's request. The second feature you enable reads figures the first one already paid for. = How do I find anything in here? = **Ctrl+K** from anywhere in wp-admin reaches every addressable place in the plugin, pages, tabs and individual panels, searchable by what a thing does rather than by what it is called. **All Features** lists every one with pinnable favourites, and every page carries a written description of what it is for. If you cannot remember where something lives, you are not expected to. = Can you help me set it up? = Yes. Pro customers get direct support, and there is a support group one click from the top bar in wp-admin for everyone. Beyond support we offer paid set-up and configuration, and further customisation where a shop needs something the plugin does not do out of the box. Worth saying plainly: the plugin is built for a real shop we run ourselves, so what a working shop needs tends to already be in it, and when it is not, we are the people who can add it. If you would rather hand the configuration to somebody who has done it before, that is a service we sell rather than a favour we occasionally do. = We have our own developers. Can they work with it directly? = Yes, and this is the case we design for rather than tolerate. The plugin is GPLv3, so there is nothing to license and nothing obfuscated. Your team gets **218 filters and 48 actions** with the `aieo_` prefix covering the parts most likely to need bending, a REST surface, and nine WP-CLI commands for anything that belongs in a deployment script rather than in a browser. Behaviour is switchable in code as well as in the admin, so a decision your team wants to own can live in your own plugin instead of in our settings table. Where an integration is genuinely missing we would rather add the hook than have you patch the plugin, since a patched copy stops receiving updates. Send us the case. We are also happy to work alongside an in-house team rather than instead of one: they keep the domain knowledge and the deployment pipeline, we cover the parts of the plugin nobody outside it should have to reverse-engineer. = Do I need WooCommerce? = No. Rooster One works on content sites and catalogues too, and adapts what it measures: a content site is scored on visits, engagement and form submissions rather than sales. A badge in the header tells you which of the three it has decided you are, so you are never guessing why a number looks the way it does. = Is the free version crippled? = No. It is a complete product: the AI assistant, the full SEO engine, the whole pricing and merchandising stack, the storefront features, measurement and consent, product feeds and courier fulfilment are all in the free version. Pro adds operational capability, not the basics. The withdrawal button is free as well, because it is a legal obligation for every EU distance seller and charging for it would be a poor thing to do. = What does Pro add? = The operational half: marketplace order import, attribution and ROI, audiences and automated campaigns, web push, customer intelligence, Insights Chat, and events and competitions. Those screens are already in this download and a subscription switches them on. Pro also includes two companion plugins you install separately — **Rooster One Runtime**, which serves the storefront without loading the admin half and is the biggest single speed difference between free and Pro, and **Rooster One Pro**, which carries supplier invoice scanning, the accounting and ERP connectors, the catalogue importer, the product exchanger, the duplicate-product merge engine and semantic internal linking. = I started the trial. Why does one screen still say a plugin is missing? = Because two different things are called Pro, and only one of them arrives when you connect. The trial and the subscription grant an **entitlement**, which unlocks the Pro screens whose code is inside this plugin — AI chat, managed AI credits, attribution, audiences and the rest. Seven features live in the separate **Rooster One Pro plugin**: invoice scanning, the accounting and ERP connectors, the catalogue importer, the product exchanger, the merge engine, semantic internal linking and the branch stock scanner. An entitlement cannot switch on code that is not on the server, so those screens tell you to install the plugin, which your subscription includes. Install and activate it and they come alive with no further setup. = If my Pro licence lapses, does my storefront change? = No, and that is deliberate. Pro gates the screens where you curate and configure, never the code that draws your shop. The semantic related-content section, the recommendation rails and the policies you have already set keep rendering from what was already worked out, on the free plugin, with no Pro plugin loaded at all. What you lose is the ability to change them: the Duplicate products screen, Semantic Internal Linking and the feed-source generator stop opening, and their controls stop answering. We would rather a lapsed licence cost you the settings screen than blank a live section of your website in front of your customers. = Do I have to pay for AI to use the plugin? = No. The plugin is GPLv3 and a great deal of it — the chat, recommendations, the SEO engine and every storefront and pricing tool — runs without any subscription. Only features that actually call a model consume Rooster AI credits, and the ones that do say so before they run rather than after. = Will it slow my site down? = The design goal is the opposite. Expensive work is pre-computed on a schedule into flat tables, and the storefront reads single cached rows, so enabling a feature adds a feature rather than a per-request query. On Pro the runtime plugin serves the front end without loading the admin half at all. = Will it cope with a large catalogue? = That is what the architecture is for. Heavy analysis runs on a schedule into flat pre-computed tables; the storefront reads single cached rows regardless of how many products sit behind them. Background jobs re-arm themselves after updates, stay dormant until a feature is actually used, and will collapse a runaway third-party task rather than queue politely behind it. = What can the AI chat actually answer? = Questions about your catalogue, grounded in it. It recommends only real, in-stock products and links to them exactly, because it answers from your data rather than from a general model's memory. You control a knowledge base for the things a catalogue cannot tell it — opening hours, delivery times, returns policy — and identity guardrails stop it describing your business as something it is not. = What happens when the chat does not know something? = It says so, and then tells you. Chat analytics show what was asked, how answers were rated, which questions found nothing, and which conversations ended in an order. The list of questions that found nothing is usually the most valuable screen in the plugin: it is your customers writing your content backlog for you. = Can the chat quote a wrong price? = It reads the same prices the storefront does, including role and wholesale pricing, so a logged-in trade customer and a retail visitor are told different and correct numbers. It is not working from a snapshot taken when the model was trained. = Where does my data go when the AI features run? = Chat runs on **Anthropic Claude** and semantic search on **Voyage AI** embeddings. Nothing else leaves your site for those features. Insights Chat, which answers questions about your own shop inside wp-admin, pseudonymises customers and exports no data at all. Every external service the plugin can talk to is listed under "What does Rooster One send to an outside service, and when?" below. = Does semantic search replace the WooCommerce search box? = It can. Semantic search indexes products, posts, pages and terms as embeddings, so "something for dry hair in winter" finds the right products without those words appearing in any title. It runs alongside the built-in search rather than ripping it out, so you can compare before you commit. = How do the recommendations decide what to show? = From what your customers actually did, not from tags you maintain by hand. Up-sells, cross-sells and same-need alternatives are derived from real order history and refreshed on a schedule, so a new product earns its place as soon as it starts selling and a discontinued one leaves without you remembering to remove it. = Can I control where recommendations appear? = Yes. You order the rails by drag and drop, they work on both block and classic themes, and custom slots let you place one anywhere a theme accepts a block. Each rail can be turned off independently, which matters more than it sounds: the commonest cause of a slow product page is four rails nobody asked for. = Can I tell whether the recommendations are actually working? = Yes, and this is the part most plugins leave out. Lift measurement reports the **incremental** orders and revenue the engine adds, rather than counting every order that happened to contain a recommended product. The second number is always bigger and always flattering, which is presumably why it is the one usually reported. = Can I do wholesale or B2B pricing? = Yes. The pricing engine handles role and wholesale prices, brand-level discounts, loyalty tiers, points and free gifts, and it stacks them in a defined order rather than letting the last filter to run win. Prices are resolved ahead of time into the same pre-computed tables everything else reads, so a complicated rule set does not become a slow product page. = Do you support variation swatches? = Yes, with colour, image and button styles, and they render on archives and product pages from a cache rather than by loading every variation. Alongside them sit labels, trust badges, payment logos, gallery handling, a layout builder, custom tabs, and one master button style so the shop stops looking like four plugins bolted together. = How does abandoned-cart recovery work, and do I need an email service? = Carts are saved server-side, and the restore is cookieless so it survives CDN caching and a customer moving device. Recovery messages go out through automated campaigns by email or web push, using WordPress's own mail path or your SMTP plugin. You do not need a third-party marketing service, and quiet hours are honoured so nobody is pushed a cart at three in the morning. = What else can the campaigns do? = Win-back, birthday, back-in-stock, post-purchase follow-ups and reactivation, all triggered from the same audience data. Audiences themselves — top customers, lapsed, lookalike, abandoned-cart, reactivation, competition entrants — are recomputed nightly, so a campaign aimed at "lapsed" means lapsed today rather than lapsed whenever the segment was last built by hand. = How are audiences built? = From behaviour the plugin already records, recomputed nightly rather than assembled by hand. The ready-made ones are top customers, lapsed, lookalike, abandoned-cart, reactivation and competition entrants, so "lapsed" means lapsed as of last night rather than lapsed whenever somebody last exported a spreadsheet. = Can I define my own audiences? = Yes. The audience builder takes rules over what customers bought, browsed, abandoned or responded to, combined the way you would say them out loud: ever purchased this brand, not in the last ninety days, opted in. An audience is a live definition, not a frozen list, so it repopulates itself as people move in and out of it. = What can I do with an audience once it exists? = Send it a campaign, target an offer at it, exclude it from another campaign, or push it as a segment for advertising. The same definitions feed the ROI reporting, so you can ask what a segment actually returned rather than only how many people are in it. = Do I need a separate service for web push? = No. Push is served from your own site with its own opt-in gating, and the same quiet-hours rules apply. It is part of the campaign engine rather than a separate product with its own dashboard. = Will it conflict with my current SEO plugin? = No. The SEO engine self-gates behind AIOSEO, Yoast and Rank Math and stays dormant until you explicitly switch it on. There is a read-only importer for all three — page and category settings, site-wide settings and redirect rules — and a head-parity check, so you can compare the output before cutting over, and switch back if you do not like what you see. = What does the SEO engine do that a general SEO plugin does not? = It knows what you sell. Commerce schema is assembled from the same tables the rest of the plugin uses: `ProductGroup` with `hasVariant`, per-variant colour, `gtin`, brand, shipping and return policy. Titles and descriptions are written against the live search results page and wait for your approval, or run on Autopilot if you would rather they did not. = Will I lose rankings if I switch SEO plugins? = That is exactly what the head-parity check exists to answer. It compares what your current plugin emits against what Rooster One would emit, page by page, before anything changes. The importer is read-only, so your existing plugin's data is never altered, and the engine stays gated until you decide. = Which SEO problems does it actually find? = The opportunity grid plots traffic against conversion and sorts pages into hidden gems, intent mismatches, pages to defend and pages to prune. That is a different question from "what is my score out of a hundred", and a more useful one. Underneath it sit redirects and 404 monitoring, a slug monitor, a static sitemap, robots.txt, alt-text filling, hreflang, Local SEO, and EU Omnibus price history. = Do you track keyword rankings? = Optionally, through DataForSEO, under a spend cap you set. It is off unless you turn it on and give it your own credentials, because rank tracking is the one part of SEO with a per-query cost and we would rather you decided the size of that bill. = Does it work with the block checkout? = Yes, with full block and classic parity. That is deliberate and tested rather than assumed: the newer block checkout behaves differently enough that features working in one can silently do nothing in the other. Several bugs we have reported upstream to WooCommerce were exactly that shape. = Do I need my own courier accounts? = Yes. The plugin holds sixteen carrier integrations and talks to each with your credentials; it is not a reseller and takes no cut of your shipping. Vouchers, labels, cash on delivery, tracking, bulk printing and daily closings are handled in wp-admin, and a manual carrier covers anyone without an API. = How do I know what free-shipping threshold to set? = Delivery economics computes the real break-even from your actual carrier costs rather than from a round number that felt about right. It also reports profit and loss per carrier and per zone, which usually reveals that one zone has been quietly subsidised by the rest for a long time. = Can I print invoices and packing slips? = Yes: invoices, packing slips, proformas and credit notes, singly or merged across a date range for a whole day's dispatch. They are generated from the order rather than from a template you keep in sync by hand. = Can I sell on marketplaces from my catalogue? = Both directions. Ready-made feed templates cover the major marketplaces and shopping engines, with a custom builder for anything not on the list, and marketplace orders come back as native WooCommerce orders rather than into a separate silo. The catalogue importer runs the same road in reverse when you want to pull a marketplace listing set in. = Does the measurement replace GA4 and the Meta pixel? = It complements them and makes them survive ad blockers and consent choices. Conversions go server-side to Meta CAPI, GA4, Google Ads Enhanced Conversions and the TikTok Events API, deduplicated against the browser tags you already have, sent **after** the order is saved so a failed send can never cost you an order, with a daily safety net that re-sends anything that slipped. = How does it handle consent? = A first-party consent banner with Google Consent Mode v2, a proof-of-consent log so you can show what a visitor agreed to and when, and a cookie scanner that reports what your site actually sets rather than what you believe it sets. Measurement respects the answer rather than working around it. = Can I see the return on my ad spend? = The ROI Wizard reports orders, revenue, cost, net, ROAS and ROI by engine, offer, channel, campaign or creative. Ad spend can be typed in, uploaded as CSV, or synced nightly from Google Ads, Meta and TikTok. Shops that do not sell can set conversion goals instead and be measured on those. = Does it suggest what to advertise? = Yes. The composer turns what the shop already knows — your product sets, brands, categories and demand signals — into a complete draft Google Ads campaign, written down in full before anything touches Google's API. You read the campaign, the ad groups and the actual copy as plain text and decide. = Will it spend my ad budget without asking? = No, and this is the part we would want you to check rather than take on trust. A plan has three states. **Draft** exists only on your site. **Created** means it has been pushed to Google Ads and is sitting there **paused**, real objects spending nothing. **Activated** means a human enabled it in Google. Rooster One records that third step. It never performs it. There is no code path in the plugin that turns a campaign on, which is deliberate: composing an advert and committing your money are different decisions and only one of them should be automatable. = What should I write about next? = Ask the customers who already told you. Content gaps are distilled from the storefront chat agent's own conversations: the questions that returned no products, and the answers customers rated badly, weighted by how often they come up. That turns "what do people keep asking that we answer poorly" into a ranked list of things to write, sourced from demand rather than from a keyword tool's guess. It is the loop we are most pleased with in the whole plugin: the chat widget's failures become the SEO team's brief. = Can it write social posts for me? = In two steps, kept separate on purpose. First it ranks which of your products and posts are worth promoting, using the same demand scores the SEO engine uses, so you are not promoting whatever happened to be published last. Then, for one object you choose, it drafts platform-native copy for Facebook, Instagram, X, LinkedIn or TikTok. It only ever drafts. Nothing is published, and no social account tokens are touched by the drafting step. Ranking candidates is free; writing the copy is the part that consumes AI credits. = What is Insights Chat? = Somewhere to ask your shop a question in plain language inside wp-admin, instead of building a report. Customers are pseudonymised and no data is exported. It is the one AI feature aimed at you rather than at your visitors. = What does it do about stock? = Stock recovery finds sales you lost to out-of-stocks, missing-hot-sellers finds products you should be carrying, and an out-of-stock predictor warns you before the shelf empties. There is branch stock for multi-location retail, barcode scanning, and an optional ERP bridge. = What happens to my data if I update or deactivate? = Nothing is removed. Tables are never dropped on update, activation or deactivation — only when you explicitly uninstall the plugin. Deactivating to test something is safe. = Is it translated? = Yes. Admin and storefront are both fully translatable, a complete translation ships with the plugin, and source strings are English and extractable with Poedit. = Does this make my shop compliant with the withdrawal-button law? = It gives you the mechanism **Directive (EU) 2023/2673** requires: a permanent, prominent withdrawal button that works for guests, a separate confirmation step, partial withdrawal on multi-item orders, and an email acknowledgement recording the content, date and time of the declaration. That is the part software can do. Every EU member state transposes the Directive into national law, so check the date that applies in your own market. The rest is yours: your terms of sale, who pays return postage (**Directive 2011/83/EU article 14** leaves that partly to your terms), and actually processing the declarations and refunds you receive. The plugin will not pretend those are done because a button exists. The feature ships **disabled** for that reason — switch it on when your policy is ready. = Is "cancel my order" the same as withdrawal? = No, and treating them as the same is the commonest way a compliant-looking implementation fails. Cancelling an unshipped order is a commercial courtesy you grant on your own terms and may refuse once the parcel has left. Withdrawal is a statutory right exercisable for 14 calendar days **from receipt**, which you cannot refuse and whose window you do not set. Rooster One keeps them as two separate flows. = What does Rooster One send to an outside service, and when? = Rooster One runs on your own server. It contacts an outside service only in the cases listed here, and every one of them is either something you switched on or something you pressed Send on. **rooster.systems** — our own service. Privacy policy: https://rooster.systems/privacy/ * **Feedback.** When you press Send in the feedback window, we receive your message, the category and star rating you chose, the Rooster One screen you were on, your site address, an install identifier, and the versions of Rooster One, WordPress, WooCommerce and PHP. Your reply address is included unless you tick "send anonymously". Nothing is sent if you close the window. * **Surveys.** When you press Send on the welcome or check-in survey, we receive your answers as short codes (never the wording you saw, so every language answers can be counted together), your site address, an install identifier, an opaque per-person identifier that lets us tell two administrators of the same shop apart without telling us who either of them is, the Rooster One version, your admin language, and whether the site reports itself as production or staging. Your reply address is included only if you leave it in. Closing the window sends nothing. * **Feature usage — Pro and trial only, and off unless you switch it on.** A weekly report of which Rooster One controls have been used on this site: a control name, a screen and a count. Never an order, a customer, a price, or anything typed into a field. A free installation schedules no background task and makes no request. Turn it off under Rooster One and the schedule is removed on the next admin page load. * **AI credits.** If you connect a Rooster account, AI chat, AI SEO copy and Insights Chat are served through rooster.systems, which relays them to Anthropic (Claude) and Voyage AI. Only the text needed to answer is sent. **No user agent and no browsing history is collected on any of these paths, and none of them runs on your storefront** — they are admin-only, and the first two happen only when a human presses a button. **Store maps.** The Store Map block shows a store's location from OpenStreetMap (https://www.openstreetmap.org; terms https://wiki.osmfoundation.org/wiki/Terms_of_Use, privacy https://osmfoundation.org/wiki/Privacy_Policy), or from Google Maps (https://maps.google.com; terms https://policies.google.com/terms, privacy https://policies.google.com/privacy) where a Google key is configured or the block is set to it. The map loads in the visitor's browser only when it comes into view after the visitor's first scroll, tap or key press, or when they press "Show the map"; their browser then requests the map for the store's coordinates from that service. The "Get directions" and "View larger map" links open Google Maps or OpenStreetMap only when pressed. Other services are listed under Optional integrations above; each is off until you supply your own account details for it. = How is personal data handled? = For WooCommerce stores, product recommendations are produced by our graph-database service at https://eshop-optimizer.com. It is **privacy-centric**: you can opt out of sharing product and category names and prices with limited impact on quality, and withhold customer IDs for anonymity. Oxford Metadata Ltd maintains privacy provisions approved by both Google and Facebook — see https://eshop-optimizer.com/compliance. Hashed PII is never stored or logged raw. Customers are pseudonymised in Insights Chat. Consent is recorded with an IP/UA-hashed proof-of-consent audit log. == Screenshots == 1. Every feature in one catalogue - search all 581 tools and open any of them from here. 2. The module grid: turn on only what your shop needs. Each card says what it does before you enable it. 3. Ask your shop a question in plain language and get an answer from your own data. 4. Couriers: print vouchers, track parcels and reconcile what each carrier actually billed you. 5. Withdrawal and returns handled to the letter of EU consumer law: one click for the customer, and a queue that runs from request to refund. 6. Role pricing: wholesale, trade and member prices per customer role, without a second catalogue. 7. Discounts across a whole brand or category, including the monthly-offer CSV import. 8. Customer discount tiers that move with what a shopper has actually spent. 9. Free gifts triggered by basket value, brand or category. 10. Free shipping and cash-on-delivery rules, per country and per payment method. 11. Price history with the EU Omnibus 30-day lowest price recorded on every change. 12. Table rate shipping by weight, value, zone and courier. 13. Marketplace and comparison-shopping feeds, generated and kept current. 14. Catalogue importer: bring products in from a supplier file and map the columns once. 15. SEO health: what is wrong across the catalogue, ranked by how much traffic it costs. 16. The SEO engine: titles, descriptions and indexing rules for every product and category. 17. Product schema that search engines and AI assistants can actually read. 18. Redirects, including the ones a migration would otherwise have left broken. 19. The search queries bringing people to the shop, and the pages they land on. 20. Content opportunities: what to write next, argued from your own search data. (Pro) 21. Storefront display: every customer-facing element in one place. 22. Colour and image swatches on the product page and across the catalogue. 23. AI Chat: Embeddings population. (Pro) 24. A side cart that shows the basket without leaving the page. 25. The Navigator: help shoppers find a product by what they need it for. 26. Performance: which channel, campaign and landing page produced the revenue. (Pro) 27. Units sold online against each physical branch, so you can see where stock belongs. (Pro) 28. GDPR consent, with tags and pixels that genuinely wait for it. 29. Pixels and conversions for Google, Meta and TikTok, measured the same way once. 30. Star ratings analytics: what is rated well, what is not, and what changed. 31. Web push: the opt-in prompt, who subscribed, and what to send them. (Pro) == Changelog == Only the current release line is listed here; every earlier release is in changelog.txt, which ships with the plugin. = 11.3.7 - 2026-11-08 = * **Vote from the shop pages.** Visitors rate a product from its card on the shop, category and search pages, not only on its page. Until they vote they see five full stars; after it, the product's average. The prompt and the average sit under the stars, and the shop pages and the product page each have their own star size and spacing (Ratings). * **Read-only stars never ask for a vote.** Stars that cannot take a vote show the average's numbers, or your own words from the new Ratings field "Prompt on read-only stars". * **Stars or swatches under the picture.** Choose which of the two sits right under the product picture on Rooster One's cards (Product cards, "Under the picture"); the title sits close to them, and the cards of a row keep them on the same lines. * **A lighter side cart.** A compact quantity stepper, badges over the product's picture, rows whose text never runs under the heart, and a basket button in place of "Add to bag" in Recently viewed and Favourites. * **Quantity in Recently viewed and Favourites (a test).** An optional switch in Side cart turns a row's basket into − 1 + once the product is in the bag, as on delivery apps; the minus at one takes it out again. * **The wishlist heart, flat.** On product cards the heart is a plain black line with no circle and no shadow, red once added; the circle and an embossed outline stay as choices (Wishlist, Heart colours and size). * **One design on every admin screen.** Every Rooster One screen is drawn with the shared Rooster admin library: the same fields, buttons, folds, dialogs and status lines, no colours of its own, every page and card saying what it is for, explanations that Compact folds away, menu titles without emoji, and the sections in Rooster LMS's colours. Edit layout works on every screen, Revenue against ad spend and the marketplace order importer included, and the Interactivity and Recommendations Cache settings are back. * **Product pages served from the page cache.** Recently viewed is recorded by the product page's own script instead of a cookie set with the page, so a page cache can serve product pages as it serves the rest of the shop. * **Trust this browser, by choice.** Two-factor sign-in's code screen offers "Trust this browser for N days" whenever Login security's "Trusted browsers" is above 0, unticked; only a ticked box trusts the browser, so a shared computer is never trusted unasked, and a browser trusted before this release is asked for its code once more. A sign-in waiting for its code no longer leaves a working session behind on the server, and a social sign-in (Google and the others) asks for the code too when the account has one. * **Fixes.** The product page no longer grows after its first paint: the product meta and a brand's gift offer print with it; a file chosen in a form before the page finished loading is kept; Orders export's "Save field map" keeps the map; saving the marketplace feeds' availability words unchanged keeps them; the minimum order message keeps its default wording in every language; the split-test editor saves again; Fulfillment's date ranges follow the shop's own days; Pro's notices on PHP 8.4 are gone; Social no longer shows an Instagram card that did nothing. = 11.3.6 - 2026-11-06 = * **What each page makes its visitors do.** Calls, WhatsApp, Viber, Messenger and e-mail taps, forms sent and quotes started and sent are counted for each page, apart from your campaign reports and from Google Analytics, with no cookie and no visitor id. The posts, pages and products lists get a Contacts column beside Engaged, and each form shows the pages it came from: on its editor, on Product Requests ("Where quotes start"), on Contact Form and, for Gravity Forms, on Form insights. * **A catalogue within the shop.** Two master switches turn prices and add to cart off, so the shop works as a catalogue with or without the request form; or mark a category or a single product, whose cards then offer "Request a quote" instead. A quote can ask for several of a product's shades, and the shades already in it stay ticked. The SEO site profile Catalog brings catalogue mode with it, and one card on Product Requests shows how quotes work on your shop. * **A button for each form.** Every form gets a button that opens it in a window or goes to the page that holds it, as a block, an Elementor widget or a shortcode. Beside it can stand its location's call, WhatsApp, Viber and Messenger buttons, and its entries also reach the location's e-mail. * **Forms say where an entry came from.** Every form of your site records the campaign and the pages the visitor read before sending it, and thanks the visitor whether or not it mails your staff. * **New submissions your way.** Each staff address chooses a mail for every submission or one list every few hours; each staff member sets it on their own profile. * **The sitemap you choose.** List only the content types you want, leave items out by any field, and mark an item Always or Never. Sitemap priority scores every item from its sales, searches, visitors and freshness, cuts each content type to its top N or top share, and appends the archives. * **Roles without a roles plugin.** Customer Profiling → Roles finds an account, shows every role it holds and gives or takes the ones you may; WordPress's user screens keep every role an account holds. Only customer roles are handed out, and only by someone who may give them. * **Signing in.** A signed-out visitor's "Log in" link opens My Account and comes back to the page, and a broken private sign-in address never shuts your staff out. * **Consent: no answer is no.** With a cookie banner on, pixels, analytics and the visitor id wait for the visitor's choice. * **Protective headers by default.** Security headers are sent, the public user list is hidden, and social preview tags are printed wherever the SEO cache prints none. * **Easier with a keyboard and a screen reader.** The open Navigator keeps the keyboard and gives the focus back when it closes, its buttons say whether it is open, the phone's bottom bar shows its focus, and a chosen shade says so. * **Your own layout on every Rooster One screen.** Edit layout chooses each row's columns from eleven layouts, each drawn as a picture, adds your own rows and moves any card into any row; Reset layout brings back the screen's own. Nothing changes for anyone who does not personalise. * **Faster pages on a phone (Rooster Zero).** The card scripts load without holding the page, a hidden pop-up's picture waits for its trigger, the rating stars are drawn lighter, an empty cart paints at once, the menu's dropdowns arrive on the first sign of life, and product lists carry only the product data they read. * **The shop pages as a grid or a list.** Choose the default view on the Product cards screen, and turn the request form on from the Product page screen, on classic themes too. * **Smaller touches.** The wishlist heart is a ring in its own colour, your star colours win under Rooster Zero's design, the announcement bar has no close on a phone, and the order documents and the manuals' viewer are translated. = 11.3.5 - 2026-11-04 = * **The cookie banner in dark themes.** The full consent banner draws on your theme's colours in its light and dark schemes, the pinned row of buttons included. Buttons still at the colours they shipped with follow the theme; colours you picked stay. * **Promo sliders turn again.** A promo surface's top slider shows every slide: its carousel script never reached the page, so only the first slide showed. * **The product page in dark mode.** The customer needs box, the sale message (now with a border, on a calm surface, in the theme's type size), the free-shipping bar and the rating caption follow your theme's light and dark schemes. * **The free-shipping bar keeps its words.** On the product page the message sits on the bar, as in the side cart, and stays through every change of the cart. * **Ratings beside their stars.** On the product page the rating caption stays on the stars' line on every phone; with Rooster Zero a long caption takes a smaller size instead of wrapping. * **Recommendations in your shop's card (Rooster Zero).** The product page's recommendation rails show the shop's own product card: the labels and the wishlist heart on the picture, everything centred, and no jump while they load. * **Engaged views for products, and SEO scores you can sort.** The Products list gets the Engaged column the pages already had, and the SEO column of the list tables sorts by score, the lowest first. * **Clearer fulfilment actions.** The order screen and the orders list show the fulfilment actions as buttons with icons, and a step already done says so. * **A tidier promo slots table.** Choose the columns you see; each column is as wide as its field, and Save and Delete sit on one line. * **Your shop's history kept for good.** Each visitor's visits, the daily summaries and each day's engagement are kept whole; moving old events to the archive deletes only what it copied, the add-to-cart archive keeps every column, and the engagement repair takes seconds instead of minutes on busy days. * **The mega menu and the block library (Rooster Zero).** The mega menu's panel is frosted glass that stays easy to read, sits a little below the header, keeps one row rhythm and shows descriptions in the phone drawer; a new Tabs block; the comparison table scrolls inside itself on a phone. * **The Customer intelligence screen opens again.** * **WordPress 6.7 or newer.** Rooster One, Pro and the Runtime require WordPress 6.7. = 11.3.4 - 2026-11-03 = * **Store maps without a Google key.** The Store Map block shows the store on OpenStreetMap where no Google key is set up, loads the map only when the visitor reaches it, and is also an Elementor widget. * **A closed pop-up stays closed in every tab.** A pop-up the visitor closes stays away in their other tabs too, for the rest of the browser session. * **Excel exports in your shop's currency.** Every Excel export shows amounts in the shop's currency, counts and rates as numbers and dates as real dates, so the files sort, filter and add up in Excel. * **Every Rooster One table in your WordPress tables' collation.** The update brings all of Rooster One's tables to the collation of your WordPress tables, in the background where they are large, so sales forecasts, engagement reports and the reports that join your orders and customers no longer fail on sites set up under an older database setting. * **MySQL 8 and MariaDB 10.6.** The sales forecast, the nightly data preparation and the survey insights now run on MySQL and on MariaDB before 10.10 as they do on newer MariaDB. * **ERP jobs wait for your ERP.** The analytics jobs that read ERP data are skipped, not failed, on a shop whose ERP is not installed or connected yet. * **Reports on a restored or moved site.** Reports and nightly jobs keep working on a site restored from a backup or moved to another host under another database user. * **No database errors after an update.** Rooster One updates its tables one request at a time, so a busy shop no longer shows "Duplicate column" database errors while an update finishes. = 11.3.3 - 2026-11-02 = * **Product lists at half the weight.** A product card's shades load when the shopper first reaches for them, so a category page of swatch cards weighs about half as much and the first tap on a shade is never lost. * **Professional and student sign-up without Gravity Forms.** The professional sign-up block now runs on Rooster One's own application forms, and approving an application from the form's answers creates the customer's account and gives the professional or student prices. * **Social login buttons you can see while editing.** In the block editor, in Elementor and to a signed-in manager, the social login block shows what signed-out visitors see, with samples marked "not set up" and a link to the settings where no provider is set up yet. * **A closed pop-up stays closed.** A pop-up the visitor closes stays away for the rest of the visit, whatever its frequency, and shows again only when its content changes. * **Nothing pops up while you edit.** The site's pop-ups and cookie banner no longer open over a page in Elementor's editor or the Customizer. * **Storefront blocks in dark mode.** Reviews, stores, brands, categories, competitions, events, forms, trust badges and the article cards follow the theme's light and dark colours with readable contrast. * **Blocks for the item they sit with.** Post, product and archive blocks show the item of the loop they are placed in, and the archive blocks and the breadcrumb take a chosen term or post, with a picker in the editor and in Elementor. * **Questions and accordions in the theme's look.** Rooster One's frequently asked questions and accordions take the theme's accordion style. * **The announcement bar follows the theme.** Rooster One's announcement bar uses the theme's close button and its one-line scroller. * **The manuals on a phone.** The manuals' chapters open from a bar and a bottom sheet on a phone, screenshots open full screen, pages no longer jump as images load, and the Greek manuals are in Greek. * **Engaged views on the content lists.** The post and page lists show Rooster One's own count of engaged views beside the theme's. * **Exports that follow your columns.** A report's CSV and Excel files hold the columns you show, in your order, and the Excel file has a frozen, filtered header with numbers as numbers and codes as text. * **Customer needs on variable products.** Variable products get their customer needs, kept once on the product, for the needs suggestions and the chat assistant. * **Brands on older databases.** The brands step of the data preparation no longer fails where the site's tables are older than its database server's defaults, and a failed data step now says so. * **Fewer editor warnings.** Block patterns and the landings' buttons no longer ask to "Attempt recovery", the data table shows in the editor's preview, and Elementor's editor loads on Rooster sites. = 11.3.2 - 2026-11-01 = * **A table of contents for any theme.** The Table of Contents block lists the headings of the post it is shown with, in the content, in a block theme's sidebar or template part, as the `[aieo_toc]` shortcode in a classic editor or widget, and as an Elementor widget. On a page that shows one, headings without an id get a readable one (Greeklish for Greek), never one the content already uses, and headings with an id keep it, so an author's or an importer's anchors stay valid; a page without a table of contents keeps its markup; numbered, sticky and collapsible options, smooth scroll with the header offset, the current section marked while reading. * **Rooster One's blocks as Elementor widgets.** A "Rooster One" category in Elementor's panel offers 26 of Rooster One's blocks as widgets, each with the block's own settings and printing exactly what the block prints. * **A block library for Rooster Zero.** Eight blocks, each with its looks as variants: Card (feature, family, grid, tagged, role, link, detail), Plan (price, plan), Table (compare, data, matrix), Call to action (panel, buttons), List (checks, facts, stages, chips), Picture (frame, screens, figure, stack, track), Mark (crumb, pill, note, nav) and Questions (rows, boxed). Edited in the sidebar with a live preview, toned by a family's colour or a semantic tone, each look with its own compiled stylesheet on the theme's tokens, loaded only where it renders; the comparison table reads as one column per plan on a phone, or in a scroll region. * **A page compiler for site builders and agents.** `wp aieo page apply|diff|export|validate` and `wp aieo menu apply` turn a JSON page spec (rooster-page@1) into blocks a human edits in place; a re-run keeps human edits, reports conflicts and removes only what nobody touched; the abilities rooster/validate-page, export-page, apply-page and apply-menus do the same for agents. * **The manuals, the account navigation and the route content as blocks (Rooster Zero).** The chapter tree (the other chapters' pages arrive on the first tap, the filter box, the sidebar's scroll remembered), the breadcrumb, the "Get the plugin" and "Request a quote" cards, the grouped account navigation (Log out last) and the route content print through blocks; the manuals' paths, chapter moves and screenshot sizes are handled for every Rooster Zero site. * **The compiler, hardened.** Sections below the first screen wait in the theme's deferred layer by default; no muted text on a contrast surface; an SVG from the content repository is sideloaded after a sanitising pass; block attributes with a quote, a dash pair or an angle bracket are written as the editor writes them (they used to empty the block); the menus accept the site family's shape (family and tagline kept on the navigation post, a badge and an accent on a link). * **The cookie banner's buttons keep their contrast on every theme.** The banner and its buttons draw on the theme's base and contrast colours as a pair, under the banner's own selector, so a host stylesheet cannot recolour them. * **A mega menu that carries only its top level (Rooster Zero).** One block for the header: the page holds one link per menu entry; a family's panel (its products, features and documentation columns, tagline and call to action, from the menus the Site Editor edits) arrives on the first hover, focus or tap from a versioned file kept in the visitor's browser until a menu is saved; a dialog with accordions on a phone. Badges, icons, accents and illustrations are fields on the navigation blocks. * **Your own forms on a page, in a new look of the Contact Form block.** Choose the Panel look to place one of your forms (Rooster One's forms: their fields, widths, messages, consent and words are the form's, edited in its form screen) in a landing's form panel, in a card or a toned wash; each entry is kept in the form's entries and mailed to you, with the contact form's spam protection. A premade Project enquiry form to start from, and `wp aieo form apply` for forms kept as content files. The contact form itself, its fields and its look are unchanged. * **The landings to parity with the legacy pages.** The compiler follows Rooster Zero 1.2.0: the open landing hero with the family crumb and the compact stat strip, left-aligned section heads, the two-column FAQ for more than six questions, area cards with their count, four plans two by two; the comparison table reads an empty cell as "no", keeps its first column semibold and its highlighted column tinted, without a card around it. * **PHP 8.1 or newer.** Rooster One and the Runtime now say what their code needs: PHP 8.1, as the admin screens' library and the performance engine do. * **Every form's campaign in the report.** Every form, contact message, newsletter sign-up, survey response, competition entry and event registration now counts as a lead with its campaign, whatever its goal setting, so the campaign report shows forms it did not count before. * **Where each lead came from.** Each lead's screen shows its campaign and the pages the visitor read before and after sending the form, and the attribution report lists every lead of the period by campaign and form. = 11.3.1 - 2026-11-01 = * **MySQL 8 and older MariaDB.** Rooster One now installs and runs cleanly on MySQL 8 and on MariaDB before 10.10, analytics included. * **Database requirement.** Rooster One needs MySQL 8.0.21 or MariaDB 10.3 or newer; on an older server everything except the analytics reports works, and the admin says so. * **Hosts that block must-use plugins.** The site no longer stops with an error when the plugin's helper files cannot be installed. = 11.3.0 - 2026-10-29 = * **Faster pages with the Rooster Zero theme.** Rooster One now carries the theme's performance engine, so pages load lighter, respond sooner to the first tap, and product lists need a third of the database work. * **A lighter cookie notice where the law allows it.** A new consent mode shows a short notice with a "Your privacy choices" link, honours Global Privacy Control, and keeps the full banner for visitors in the EEA, the UK and Switzerland. * **Coupons in the side cart.** Shoppers apply a coupon without leaving the side cart and see at once whether it worked and what it took off. * **Picking several shades is quicker and says what happened.** Each pick responds faster, the add says how many items went in and what was left out, and it all works from the keyboard. * **Search suggestions work from the keyboard,** and every suggestion is an ordinary link that also opens in a new tab. * **The cart count agrees everywhere,** in the header and the side cart, from the first view of the next page. 11.2.5 and earlier releases are listed in changelog.txt, which ships with the plugin. == Upgrade Notice == = 11.3.7 = Vote from the shop pages, stars or swatches under the picture, a lighter side cart, a flat wishlist heart, one design on every admin screen, product pages served from the page cache, and a two-factor sign-in fix. Update Rooster One, Pro and Runtime together. = 11.3.6 = What each page makes its visitors do, a catalogue within the shop, a button for each form, the sitemap you choose, roles without a roles plugin, and your own layout on every screen. Update Rooster One, Pro and Runtime together. = 11.3.5 = The cookie banner and the product page in dark themes, promo sliders that turn again, engaged views for products, and your shop's history kept for good. Requires WordPress 6.7. Update Rooster One, Pro and Runtime together. = 11.3.4 = Store maps without a Google key, a closed pop-up staying closed in every tab, Excel exports in your currency, every table in your WordPress tables' collation, and fixes for MySQL and for restored or moved sites. Update Rooster One, Pro and Runtime together. = 11.3.3 = Lighter product lists, the professional sign-up on Rooster One's own forms, storefront blocks in dark mode, exports that follow your columns and customer needs on variable products. Update Rooster One, Pro and Runtime together. = 11.3.2 = Marketing, manual, account and mega-menu blocks for Rooster Zero, a page compiler (wp aieo page, the rooster/*-page abilities), your own forms in the Contact Form block's Panel look, a table of contents for any theme, Rooster One's blocks as Elementor widgets, the landings to parity, and the cookie banner's contrast fix. Needs PHP 8.1. Update Rooster One, Pro and Runtime together. = 11.3.0 = Rooster One now carries Rooster Zero's performance engine and adds a lighter cookie-notice mode. Update Rooster One, Pro and Runtime together. Details in the changelog.