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.
Dozens of plugins means dozens of different vendors, dozens of renewal dates to keep track of, dozens of update cycles that have to keep working alongside each other, and a different support desk to write to depending on which part has gone wrong. 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, and there is a written description of what every one of them is for. All Features prints the figure for your own install, which is the only one that is true for you: how many pages you see depends on which modules apply to your shop.
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. Which products sell and which never do, which pages are read, who bought and who nearly did. The SEO engine, the recommendations, the audiences, the ad ROI report and the AI assistant then all read those same tables. That is why they agree, and why the plugin gets faster to use as you switch more of it on: the heavy work already happened, before the request arrived. The trade-off is timing and we would rather say so plainly. A figure is only as new as its last run.
And it is one plugin to load, not dozens
This part has nothing to do with how well any plugin is written. WordPress loads every active plugin on every request, before it knows whether that request needs it: a file to read from disk, hooks to register, options to fetch, a translation catalogue to load. That toll is paid on the home page, on every admin screen and on every REST call, by every plugin, including the ones that will do nothing at all on that particular request. A site carrying a hundred of them pays it a hundred times before a single line of useful work happens.
Rooster One is one plugin, and the parts you have not switched on register nothing. On Pro, the storefront is served by a separate lightweight runtime rather than the admin half, 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, whose organisation is approved under Anthropic’s Cyber Verification Program for dual-use security work such as penetration testing and vulnerability research. That is the same discipline the plugin’s own defensive features come out of: the bot filtering, the form captcha, the consent and proof-of-consent log, and the login hardening. The AI features run on Anthropic Claude for chat and reasoning and Voyage AI for 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, openable directly. All Features lists every one, with pinnable favourites, and prints the figure for your own install, which is the number that matters: the page count depends on which modules apply to your shop, so it differs between two shops running the same version. Every page carries a written description of what you can do there, and that text feeds the search.
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. Added automatically to the content types you choose, or placed by hand with the AIEO Related content block or the
[aieo_semantic_related]shortcode; either can be narrowed to one kind of content, so a listing recommends listings rather than products.
SEO engine
Imports from, and can take over from, AIOSEO, Yoast or Rank Math. Stays gated behind your current SEO plugin until you decide to switch over; a read-only importer for all three and a head-parity check are included.
- 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 on products you do not sell online, a quote basket the shopper grows as they browse, and the browsing trail behind each request. Booked as valued leads per campaign, so a catalogue stops scoring EUR 0.00.
- 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.
- Streaming feeds — ready-made templates for Amazon Inventory Loader, BestPrice, eBay File Exchange, eFood, EMAG, Etsy, Facebook Product Catalog, Facebook Marketplace, Google Shopping, Google Local, Google AdWords Custom Remarketing, Shopflix, Skroutz, Tolstoy and Wolt, plus Generic CSV and a fully custom builder.
- Sixteen couriers — vouchers, labels, COD, tracking, bulk printing, daily closings. ACS, BOX NOW, Courier Center, ELTA, Geniki Taxydromiki, Speedex, DHL Express, FedEx, UPS, USPS, Royal Mail, DHL Paket, Colissimo, BRT, Correos Express, Sendcloud — plus a manual carrier for one with no API.
- 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.
The withdrawal button — Directive (EU) 2023/2673
Every EU distance seller must now give consumers a prominent, permanently available button to declare withdrawal electronically. No transition period.
- A real button, for the whole statutory period.
- 14 calendar days from receipt — computed from delivery, not the order date.
- Guests included. An account is offered afterwards, never required.
- No reason, no prior contact, partial withdrawal by item and quantity.
- Acknowledgement on a durable medium with content, date and time.
- Cancellation stays distinct from withdrawal — one you may refuse, the other you may not.
- Return vouchers checked by an operator before the customer sees them. Ships disabled.
Content, blocks and regional selling
- Events with RSVP and self-registration, FAQ accordions, Store Pages, Food & Beverages option groups, Google reviews, Media Cleanup that quarantines before it deletes.
- Dozens of server-rendered blocks — store, product, recommendation, swatch, brand, category, blog, competition and event, plus Custom Slot regions.
- Regional checkout — COD by country or courier, “from X,XX €” labels before a postcode is entered, and per-country payment and shipping rules.
Speed and resilience
- Pre-computed into flat tables; the storefront reads single cached rows.
- A thin front-end runtime plugin (Pro) serves the storefront even when the admin plugin is trimmed from the request.
- Self-healing jobs re-arm after updates, stay dormant until used, and collapse runaway third-party tasks.
- Tables are never dropped on update, activation or deactivation — only on explicit uninstall.
Free and Pro
GPLv3. The free version is a complete, working product — not a demo with the useful parts removed.
GPLv3 throughout. There are three separate things here, and it is worth being precise about which is which, because two of them are called “Pro”.
1. This plugin, free. A complete, working product, not a demo with the useful parts removed: AI chat and semantic search, the whole SEO engine, pricing and merchandising, storefront features, measurement and consent, product feeds and marketplace feed export, courier fulfilment across all sixteen carriers, the block library, Ctrl+K — and the complete withdrawal button. That last is a legal obligation for every EU distance seller; charging for it would be a poor thing to do.
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, and Oxygen supplier sync), the catalogue importer for building a product source from a supplier feed, the product exchanger for sharing content between WP sites, the duplicate-product merge engine that auto detects simple products and converts them to variations, semantic internal linking, and the branch stock scanner for counting stock on the shop floor from a phone.
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
Rooster One runs entirely on your own server. Nothing below is required for the plugin to work — each is an opt-in add-on you enable only if you want that capability, 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 …
Screenshots































Blocks
This plugin provides 45 blocks.
- Rooster One Post Related Needs Need-tag chips for the current blog post. Reads wp_aieo_dmm_term_relations for pa_need → post edges. Each chip links to the need archive.
- Rooster One Lowest Price Message EU Omnibus: on on-sale products, shows the operator-configured message with the lowest price before the reduction. Auto-hides when the product is not on sale.
- Rooster One Recommendations Renders one Rooster One recommendation surface (same_needs / crosssells / upsells / related / recently_viewed / semantic_related) as the placeholder div the lazy-recommendations.js bundle hydrator picks up on first user interaction. Same emitted markup as the legacy inline `<div id="aieo-X-placeholder">` blocks so the existing JS hydrator works unchanged.
- Rooster One Post Related Brands Brand-logo slider for the current blog post. Reads wp_aieo_dmm_term_relations for product_brand → post edges.
- Rooster One Popup Panel The split layout for a popup: a content pane you fill with any blocks, and a full-bleed image pane that sits beside it on desktop and moves above it on mobile — with a separate mobile image so a landscape photo never gets cropped to nothing on a phone. Built for the aieo_popup post type, but usable inline on any page.
- Competition Renders a competition — hero image, title, short description, the entry form and share buttons. Auto-binds to the competition page it's placed on, or pick a specific competition.
- Rooster One Product Needs Renders the 'This product covers:' Επιθυμίες (needs) list for the current single-product page. Wraps the existing AIEO_DMM_Product_Needs renderer so non-block themes keep their PHP path; on a block-themed PDP this is the canonical entry. Reads from `wp_aieo_dmm_product_needs` and `pa_need` taxonomy.
- Rooster One Post Related Product Categories Dropdown of related product categories for the current blog post. Reads wp_aieo_dmm_term_relations for product_cat → post edges.
- Rooster One Free Shipping (PDP bar) Per-product free-shipping progress bar. Reads threshold + messages + appearance from AIEO_DMM_Free_Shipping (admin: DMM → Free Shipping + COD) and the current cart subtotal from WC()->cart. Self-hides when the operator's `display_product` setting is off, when the threshold is 0, when the product is on the no-free-shipping exclusion list, or when the cart is empty AND the operator chose to suppress the empty-cart message. Updates client-side on every cart change via a tiny REST poll.
- Rooster One Product Post Meta (SKU + Barcodes) Renders the SKU + per-variation barcode rows for the current product. Wraps AIEO_DMM_Product_Meta — the same module the `[om_ppe_product_meta]` shortcode uses (admin-configurable via DMM settings: show_sku, show_barcode, label customisation). On variable products the barcode row expands to one barcode per variation, hidden behind a `+ more` toggle.
- Rooster One Product Variations Gallery Variation-aware product gallery: when a shopper selects a variation, the main product image and its gallery swap in place to that variation's own images. Reads each variation's existing image set, so there is no data migration.
- Rooster One Product Slider A horizontal product slider with the SAME look as the product-page recommendations (thin uppercase title + line, then cards). Set the title manually and pick products by category, tag and/or specific product IDs.
- Rooster One Brand Archive Hero Per-brand hero for the brand archive (taxonomy-product_brand). Reads queried brand term, joins core_brand_vitals + dmm_brand_extras. Renders hero image, logo overlay, headline, product count, wishlist heart, rating stars.
- Rooster One Custom Slots Region Placeholder block that, at render time, enumerates every enabled slot from the Custom Slots admin store and emits each as a sibling div. Designed to sit inside the .ff-recommendations-cluster flex container so each slot participates in the Recommendations Ordering CSS (`order:` / `display:none`) alongside the built-in aieo/recos rails. This block emits NO wrapper of its own — slot divs are direct flex children of the parent group.
- Rooster One Breadcrumb SEO-consistent breadcrumb. Uses the SAME pinned canonical category as Rooster One's canonical URL and JSON-LD BreadcrumbList, so the visible trail never disagrees with what Google reads.
- Rooster One Brand Slider Lazy-hydrated brand carousel. Modes: top, new_brand, new_product, favourites (per-user affinity), manual. Server-renders the first N cards as a noscript fallback; client hydrates into a vanilla scroll-snap carousel with arrow nav.
- Rooster One Sale Eligibility Message Conditional badge that appears under the price WHEN the current product is on sale, telling the shopper how they qualify for the sale price (everyone, signed-in only, PRO role, etc.). Auto-hides on non-sale products. Token replacement: {regular_price}, {sale_price}, {savings_amount}, {savings_pct}, {role}.
- Rooster One Taxonomy Archive Hero Generic per-term archive hero. Auto-detects queried taxonomy (product_brand / pa_need / product_tag / product_cat) and dispatches to the right data source — brand vitals + extras for product_brand, need_extras for pa_need, term thumbnail + description for product_tag, category extras for product_cat. Filterable via aieo_taxonomy_archive_hero_data for new taxonomies.
- Rooster One Custom Slot Renders one operator-defined slot (Tolstoy widget OR free-form HTML/code) from the Custom Slots admin store. Used inside the single-product recommendations cluster so each slot can be drag-positioned alongside the built-in reco rails. Resolve target via slotId.
- Rooster One Loyalty Connection Bonus-card loyalty — connect/identify, then show the most recent points.
- Rooster One Taxonomy Archive Footer Per-term editorial / SEO footer copy. Reads the queried taxonomy's *_extras table footer column when present (need_extras.footer_text, brand_extras.footer_text, category_extras.footer_text). Emits nothing when no footer copy exists for the term.
- Event Registration A self-registration form for an event — guests sign up by email and are taken to their RSVP page. Auto-binds to the event it's placed on, or pick a specific event.
- Rooster One Brand Story Renders brand long-form copy (history, ambassadors, importer, footer) on the brand archive page. Reads queried brand term + wp_aieo_dmm_brand_extras. Emits nothing for sections with no copy.
- Rooster One Taxonomy Related Articles Renders 'From the Blog' article cards related to the queried term — works for any taxonomy (product_cat, pa_need, product_tag, supplier, custom). Reads bidirectional edges from wp_aieo_dmm_term_relations (the same source brand-related uses for product_brand). On the brand archive itself, prefer aieo/brand-related — this block is for the OTHER taxonomies.
- Rooster One Product Swatches Variation swatches for a product. Inside a block product loop it picks up the current product automatically; anywhere else, set a product ID. Renders the same cached swatch HTML every other placement uses.
- Rooster One Brand Related Cross-link strip for the brand archive: related product categories (chips), related blog articles (3-card row), and 'other brands you love' for logged-in viewers. Reads wp_aieo_dmm_term_relations + customer brand affinity.
- Rooster One Latest Posts Overlay Latest blog posts with image overlay + category badge. Mobile: horizontal slider with bullet nav. Desktop: grid.
- Rooster One Brand Rails Stacked curated brand rails (Featured / New / Your Favourites / Top). Each rail has its own count and slides-per-view, configurable in the inspector.
- Rooster One Professional Signup Professional / student registration via Gravity Forms (renders [membership_gf]).
- Rooster One Related content Related articles, guides and products, chosen by the semantic engine.
- Rooster One Brand A-Z Index Server-rendered A-Z brand directory. Every letter A–Z (plus '#' for non-Latin brands) is always present; empty letters render disabled. Sticky letter bar + per-letter brand grid with product counts. Reads exclusively from wp_aieo_core_brand_vitals.
- Rooster One Store Locator Grid or list of all your store locations — address, phone, opening hours and Google Maps / review links.
- Rooster One Opening Hours A store location's opening hours. Auto-resolves on a store page, or set a location slug.
- Rooster One Store Map A single store's location map (keyless Google Maps embed) plus a directions link. Auto-resolves on a store page, or set a location slug.
- Rooster One Business Info A store location's address, phone, opening hours and Google links — from your Locations & Reviews data.
- Rooster One Google Reviews Live Google reviews pulled from the local cache. Single location, mixed feed, or cards grid.
- Rooster One Store Hero Shop-page header hero in the category-hero style (centred image, title, horizontal line). Listing title, heading and description come from the bound location. Auto-resolves on a store page, or set a location slug.
- Rooster One Store Info (address, phone, hours) Structured store contact info — address, clickable phone, and per-day hours. Reads from post meta + the linked Google location row.
- Rooster One Category Lead The current category's description, falling back to its name when it has none. For blog category archive headers.
- Rooster One Blog Hero (Latest Post) Featured latest-post hero with the category-hero look: a top title, the newest post's title as the headline, its excerpt as the description and its featured image — all clickable. On a blog category/tag archive it features that term's latest post.
- Rooster One Category Hero The queried category's hero — image, title and description — auto-filled from the term, for product or blog category archive headers.
- Rooster One Blog Subcategories (Dropdown) A dropdown of the current blog category's subcategories, styled like the blog-post categories dropdown. Renders nothing when the category has none.
- Rooster One Page Hero Manual hero — top title, left headline, right description and desktop/mobile images. Identical look to the category hero, usable on any page.
- Rooster One Category Footer Hero The category's SEO footer text beside the category image (image left, rich text right) with the hero divider line. Auto-fills from the queried product category.
- Rooster One Category Chips A row of clickable category chips for the current archive — the term's child categories.
Installation
- Install through Plugins Add New and search for “Rooster One”, or upload the plugin zip to
wp-content/plugins/. - Activate it. Nothing changes on your site yet — almost everything ships off by default.
- 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.
- 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.
FAQ
-
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:
ProductGroupwithhasVariant, 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.
-
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.
-
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.Other services are listed under Optional integrations above; each is off until
you supply your own account details for it. - Feedback. When you press Send in the feedback window, we receive your
-
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.
Reviews
Contributors & Developers
“Rooster One” is open source software. The following people have contributed to this plugin.
Contributors“Rooster One” has been translated into 2 locales. Thank you to the translators for their contributions.
Translate “Rooster One” into your language.
Interested in development?
Browse the code, check out the SVN repository, or subscribe to the development log by RSS.
Changelog
Earlier releases are listed in full in changelog.txt, which ships with the
plugin. Only the most recent are repeated here, to stay inside the length
WordPress.org allows for this section.
11.1.17 – 2026-09-08
- Your profit figures say when they rest on a default. A margin or cost built on a default rather than a number you entered is now labelled as such, so an estimate is never read as a measurement.
- Every locked Pro screen says what it would answer. Opening a Pro feature you do not have now explains the question it answers instead of showing you a locked panel.
- Five more dashboard cards can be pinned. The cards that could not be pinned before now behave like the rest.
- Opening a trial tells you what it needs and how long it runs. The trial asks for a work address, confirms your email, and shows the trial length Rooster Systems set rather than a fixed number.
- Your API keys are no longer loaded on every page view. Keys and login tokens have been moved out of the data WordPress loads for every visitor, which also trims what your storefront reads on each page.
11.1.16 – 2026-09-07
- No more white screen after a cache restart. A rare fatal error, when the main plugin and the front-end runtime both loaded the same class, is fixed for good.
- Simplify your site now names your server. The scan also sends which server your shop runs on, so it is filed with your other sites at Rooster Systems, and it asks for your consent again because of it.
- The trial asks for your name and company. A Rooster Systems account is now opened with a real person and company behind it.
11.1.15 – 2026-09-06
- Pro and the front-end runtime stop hiding their updates. Update checks are spread out and respect the channel’s limits instead of retrying through them, so a waiting release is no longer left unoffered while the free plugin updates normally.
- Pro and the runtime have their own icon. The Updates screen shows the Rooster mark for all three plugins instead of WordPress’s grey placeholder for two of them.
- The storefront product table works with only the front-end runtime active. A shop running the runtime without the main plugin could not draw the table at all; it now serves it on its own.
- A page tells you when a plugin you run also does its job. One line above the page names the plugin and links to its card on Overlaps, where the decision lives.
- PixelYourSite and Rooster One no longer count your purchases twice in silence. When both send to Meta, the Conversions page and Overlaps say so, show which pixel each sends to, and leave the choice to you.
- Overlaps now knows SiteGround Security, Google Site Kit, the caching plugins and the old checkout plugin. Each gets an honest card only when it is on this site, with a line on the page it overlaps, and Ctrl+K finds every one by name.
- Simplify your site. One button sends the names and versions of your plugins to Rooster Systems, with your consent and nothing else, and the answer comes back on Overlaps: which do a job Rooster One also does, which have a verified path across, and which we are still reviewing.
11.1.14 – 2026-09-06
- A product finder you can put on any page. The new Rooster One Data Table block puts your catalogue on the storefront with type-ahead search, filter dropdowns and paging, and loads none of its code on pages that do not use it.
- OpenAI Ads. Conversions are sent to OpenAI, the browser pixel ships with both plugins, and your catalogue exports in the format OpenAI Ads reads.
- Subscription, AI credits and models on one screen. Rooster One Pro now holds your plan, your credit balance and top-ups, and the choice of chat and embedding model, with each buy button beside the thing it buys.
- Model lists come from rooster.systems. Anthropic and Voyage models are checked centrally on a schedule and served to your shop, so a retired model never sits in your dropdown.
- Store pages belong to the plugin. One post type, English addresses instead of Greek ones, and templates that survive a change of theme, with a dry run and a way back before anything moves.
- A survey can follow a completed withdrawal. Withdrawals now record their completion, and a post-withdrawal survey can be set to run only at that point.
- Choose which columns are shown and which are filters. Data tables lets you drop a column from a table while keeping it as a filter, one table at a time.
- Every block is listed under Rooster One. Blocks in the editor carry the product’s name once instead of twice.
11.1.13 – 2026-09-04
- Your Pro standing is on every screen. A label in the header says whether Pro is on, on trial with days left, or paused because this site holds no seat, and opens the same three-line install status the settings screen shows.
- Insights Chat opens in a window of its own. A button under the search box on every admin page opens the chat as a separate window you can leave beside your work, and the page steps aside while it is open so one conversation is never overwritten by two.
- Post-order survey answers are read on one screen now. The Insights entry has been retired in favour of User Survey results, and the old address still takes you there.
- Customer order averages sit with the sales reports. The report reads one row per order, so it now belongs beside Order Patterns and All Products in Carts.
- Needs coverage sits with the editor that fixes it. The report was called “Needs filter management” though it manages nothing; it is now named for what it shows and sits directly under Product Needs in Operations Orders & Feeds.
- ERP raw order data sits with the orders. The staging viewer moved from e-Shop Insights Helpers to Operations Orders & Feeds, beside Orders Export and Order Documents.
- The first SEO page says what it is. “When the engine writes the head” is now “Engine & Provider”.
- The form answers report is called Form Insights. Its menu entry and its heading now use the name the rest of the plugin already used for it.
- Cart adds are counted once, from one place, on any theme. Detection moved into a single block that runs before the page is clickable, so an add is recorded whether the button posts a form, uses AJAX or belongs to a theme with its own events.
- Adds made through the block storefront are recorded at last. The All Products and Product Collection blocks add straight through the Store API, which carried none of the markup we watched, so those adds appeared nowhere at all.
- A “Select options” link is no longer counted as a sale. On a catalogue of variable products that button only opens the product page, and one category page was reporting ten of them as cart adds.
- Cart adds now say which product they were. An add reported without its button was being stored against no product, which quietly emptied per-product cart reporting while leaving the totals looking right.
- Every cart add can be traced back to the visit that made it. The side cart, bulk swatch add and complementary picker recorded their adds under an identity the browser never saw, so those adds could not be tied to a session.
- The front-end runtime records cart adds on its own. A shop running the runtime without the main plugin was writing every add into a table that had never been created.
- Internal linking is no longer described as Greek-only. The feature works in any language and the menu now says so.
11.1.12 – 2026-09-03
- Say who you are and your groups come first. Getting set up asks “Who are you?” with six roles to pick from, and the menu and Home put that role’s groups first, fold the rest under “Everything else” with a count, and hide nothing.
- Set-up is a six-step wizard, and every step is on the wizard. Who you are, what the shop is, what you already run, what is connected, what is already on and a closing page of recommendations each render in place under a stepper; “Get started” on the welcome screen opens the same wizard inside that window.
- The menu bar shows who it is showing for. A “For:” pill on every admin page switches roles with one tick or goes back to everything, without opening the set-up screen.
- The menu wears one colour per group, and no two neighbours look alike. The thirteen groups now run from blue to amber in the order of the Rooster mark, and your role’s colour matches the group it lives in.
- “Performance” is now “Results & ROI”. The group that answers what your money and effort produced no longer shares a name with site speed.
- The welcome screen gets to the point. Its two sections now show a title and one line, and open when you want the argument behind them.
- Your subscription has a page of its own. Set Up Rooster One Pro now holds the subscription, both Pro downloads, the Content Connector key and Remote Transfer, instead of sitting near the bottom of the Analytics page.
- Shops without a subscription can see what Pro adds. Every Pro screen is listed with what it would answer about this shop’s own products, orders and customers, and the list is built from the features themselves so it cannot fall behind them.
- Download Pro and the runtime from inside the plugin. Set Up Rooster One Pro offers both downloads and a “check for updates now” whenever your subscription allows, not only when a file is missing.
- Core updates say when the runtime should follow. The Plugins screen adds one line under a Rooster One update when your runtime is behind it.
- A licence belongs to one site. The entitlement is bound to the host it was issued for and signed by rooster.systems; a staging copy keeps working read-only and a moved site gets three days’ grace.
- Over the seat limit, Pro pauses and the shop keeps selling. Pro screens lock while the storefront is untouched, and the runtime steps aside for core rather than stopping.
- The deadline for setting up two-factor authentication is a real date. It runs from the day you switch two-factor on, or from the day an account is created if that is later, instead of restarting for each person at their own next sign-in.
11.1.11 – 2026-09-02
- Quote requests show what anonymous shoppers looked at. The browsing trail, with time spent on each product, now fills in for shoppers who are not signed in.
- Each lead counts once. Quote requests and waitlist signups were booked twice in campaign reports; the duplicates are cleaned up on your first admin visit.
- Paid clicks on return visits are credited. A campaign click a week after a first visit no longer reads as direct.
- Admin search works in every installed language. An English word on a Greek screen finds the page, and “GDPR” finds cookie consent.
- Ready for WooCommerce 11.1. Variation galleries follow core’s always-on behaviour.
11.1.10 – 2026-09-01
- Your Meta advertising is reported under one name again. The same Facebook and Instagram campaigns were being filed under five different channels depending on how each ad’s link was tagged, so every report split one account into pieces. They now report as one.
- Paid visits that were counted as free traffic are counted as paid. Where an ad’s link did not describe itself as paid, the click was filed as organic, which flattered free traffic and understated what each order cost to win.
- One campaign is one row. Campaign names arriving with “+” where a space belonged were counted separately from the same campaign written with spaces, splitting its orders and its cost across two lines.
- Search boxes that pick brands, categories, needs and products open a proper panel. It was rendering narrow, detached from the field, with small text, and it moved under the pointer while results loaded.
- Fields adopt the colour of the section they are in. Focusing a box, picking an option and the chips you have chosen now all match the menu colour of the page, instead of always being pink.
11.1.9 – 2026-08-31
- Staff accounts can no longer be password-reset from the customer form, and the sign-in security screen now checks that your private address works.
- Quote cards keep their own colours instead of inheriting the theme’s, and staff notification emails no longer show every recipient to the others.
11.1.8 – 2026-08-31
- Post-order questionnaires now record what your customers tell you. Answers given on the thank-you page had never been stored.
- A results screen for every questionnaire. The average for each question, how it has moved since a date you choose, and one row per person so you can read what they wrote.
- The questionnaire introduces itself, in your words, with a title, an opening line, a thank-you and four text sizes you set. Answering keeps the customer on their order, and ranking questions can be dragged on a phone.
- Security Tightening, a new screen under Tools & Settings. Hide the WordPress version, switch off the theme and plugin editors, refuse XML-RPC and feeds, and send protective response headers. All off until you switch them on.
- Your browser tab now names the screen you are on.
11.1.7 – 2026-08-30
- Quote requests, for shops that use WooCommerce as a catalogue. A card on the product page takes an email and a question, shown by default wherever a product cannot actually be bought.
- The quote grows as they browse. Every later product offers “add this one to my quote as well”, and the visitor gets one email rather than one per product.
- You see what else they were looking at. Three panels per request: what they asked you to quote, what they viewed before asking, and what they have viewed since.
- Campaigns that create demand you cannot sell stop scoring zero. Quote requests and back-in-stock signups are now real conversions against the campaign that produced them, with a value you set yourself.
- Conversion Goals lists every goal it counts. The card showed four while the plugin counted six, and each goal now has a box for what one completion is worth to you.
- Your product pages stay cached. The card is delivered identically to every visitor and revealed in the browser, so one cached page still serves everybody.
11.1.6 – 2026-08-30
- Migrate from Yoast SEO and Rank Math, not just All in One SEO. SEO Migrations reads whichever of the three has data on your site and carries across titles, descriptions, canonicals, robots settings, social cards, the site-wide settings and the redirects.
- Two safeguards worth naming. A page you forced to index in Yoast is no longer read as noindex, and a leftover per-type “noindex” behind a switched-off Rank Math toggle no longer deindexes that whole post type at cut-over.
- The assistant suggests eight more kinds of question. Nineteen categories now, 236 questions, every one of them something it can genuinely answer.
- Every number now sits under its own heading. Figures were lined up right while their heading stayed left, so in a wide table a value appeared directly beneath the next column’s heading.
- “Each page and its bound location” is now called Store Pages, which is what the page itself has always been titled.
- Reports can be pinned again, all of them. Twenty-eight of the thirty-nine report pages drew no pin button, because the list of pinnable pages was written by hand while the reports register themselves.
- “Old URLs to the right place” is now called Redirects, which is what it is and what you would look for.
- Priority list is back where it belongs. It now sits beside Stock Recovery under Performance Missed & Recovered Revenue, instead of appearing as its own top-level menu button.
- The Insights menu reads as one menu again. Its six column headings are shades of the group’s own colour now, and Customer Order Averages and Post-Order Survey Results gained a heading of their own.
11.1.5 – 2026-08-29
- Search, consent and tracking scripts work again on cached pages. One entry in the list Rooster One hands WP Rocket contained a slash it cannot escape, which silently disabled every inline exclusion on the site, ours and every other plugin’s.
- Thumbnails under a product image now work on a phone. Tapping a thumbnail moves the main image, and swiping the main image scrolls the strip to keep the current thumbnail in view.
- The lightbox filmstrip is centred. Thumbnails that fit across the viewer sit in the middle rather than pinned to the left edge.
- Variation images no longer depend on which script loaded first. With WooCommerce’s variation gallery switched on it swaps the whole gallery and Rooster One stands aside; with it off Rooster One swaps the image in place.
- Private sign-in address and sign-up fixes. The custom sign-in address no longer leaks through a second path, sign-ups are no longer closed by accident, and two-factor enrolment works again.
- SEO redirects: fewer loops and a cleaner table. Loops that travel through WordPress’s own canonical hop are now caught.
11.1.4 – 2026-08-27
- Branch restock worksheets with a real approval flow (Pro). Each branch gets a worksheet over the preorder-eligible catalogue with its own 30/60-day sales, and submitted lines file under Supplier Orders for approval, ordering, receiving and reconciliation.
- Branch staff see only their own branch. Four assignable “Branch staff” roles, one per branch, with the cross-branch approval queue staying with the administrator.
- A fullscreen product lightbox of Rooster One’s own. Built on the image viewer WooCommerce already ships, with a thumbnail filmstrip, pager dots, an image counter, autoplay and a choice of backdrop.
- The lightbox can open by itself when a visitor arrives. The decision is made in the visitor’s own browser, so it stays correct behind full-page caching.
- Choose whose look the gallery, the lightbox and the recommendation rails wear. Theme compatibility now covers each of those surfaces separately, and nothing changes until you choose.
- Four ERP purchasing reports (Pro). Purchases by supplier, VAT reconciliation, landed cost and margin, and supplier price drift, built from the invoice scanner’s own data.
- The first charts on reports. A report can now carry a chart above its table, drawn from the current view and refreshed by the same filters and search as the rows.
- Every admin data table now behaves the same way. Some 250 tables across the admin share one component, with server-side sorting, filters, search, exports, bulk actions and honest empty states.
- Who may see, edit, run and export reports is now yours to decide. Four new capabilities and two assignable roles, seeded so nothing changes on upgrade day and revocable from day two.
- The event guest-list export now requires the export permission. Names, emails and phones no longer leave the site with any account that can edit posts.
- Stock Recovery honours the quantity you type. The Qty box was posted and ignored; an empty box still uses the engine’s suggestion.
- Both recoverable-value readings, side by side. The in-store-anchored figure and the sales predictor’s modelled estimate are two labelled columns, because they measure different things.
- Customer records finally carry the shop’s own latest-order date. The eshop latest-transaction field had been empty since the day it was created.
- A product mapped onto one of your subcategories now lands in the whole tree (Pro). Every category attach carries the ancestors too, and “Refresh all details” repairs the products already imported without their tree.
- The variable parent gets the SKU rule too (Pro). Parents imported earlier with the bare vendor code are found and re-keyed automatically instead of turning into duplicates.
- Rule the category mapping in bulk (Pro). Row selection with Confirm, Reject and “Set category on selected”, and every mass ruling teaches the matcher the way a one-by-one ruling does.
- A real import log (Pro). Every finished feed run lands in an Import run history kept for 30 days, naming what was created, what was updated and what errored.
- The feed source tables join the house tables. “Your feed sources” and “Feed imports on a clock” now render through the same sortable component as every other table.
11.1.3 – 2026-08-23
- Product pages with many variations open in a fraction of the time. The variation list was being rebuilt once for every swatch on the page, so sixty shades built it sixty times; measured on a live shop, 15.5 seconds down to 1.2.
- A new screen decides what Rooster One takes over from your theme. Storefront Display now names the theme it found and lets you choose, for each part of the shop separately, whether the theme keeps it or Rooster One takes it over.
- Our variation pickers can wear your theme’s design. The page gets the speed without being redesigned.
- Rooster One now works out what your attributes are. A one-off detection reads your own products to recognise colour and image attributes, whatever the swatch plugin that made them called them.
- Variation swatches can be placed anywhere. A new
[aieo_product_swatches]shortcode, and a block that no longer has to sit inside a product loop. - A Greek label read as a hardware term. The recommendations surface was translated as a name for mounting rails rather than a part of a shop page.
11.1.2 – 2026-08-22
- Feeds can bring weight and box dimensions with them (Pro). Weight, Length, Width and Height can now be mapped, from three separate fields or from one written as “10x20x30”, for simple products and for each variation of a variable one.
- When the feed’s units are not your shop’s (Pro). Make a field that multiplies the supplier’s and map that, so a supplier publishing kilograms into a shop that works in grams is no longer out by a factor of a thousand.
- “Refresh all details” (Pro). A button beside a feed’s “Run now” re-reads it once and fills in what earlier imports arrived without, leaving anything you pinned alone.
- Signing in by email works again. The address the form posts to was only ever created on ordinary page views, and never on the request that actually uses it.
- The sign-in form no longer stops accepting you. The security check behind the login and registration forms stopped renewing itself after about ninety seconds, and submissions were then rejected with nothing on screen to explain why.
- The “connect by email” button and its window survive any theme. Both now carry their own appearance, so a theme that discards the stylesheet can no longer break them.
- Greek wording that said the wrong thing is corrected, across the whole admin. Sixty-two labels had been translated into a real Greek word with the wrong meaning, which is why nothing looked broken.
- “Event” now reads correctly in both of its meanings. One entry was serving both the heading over the tracking-event log and the name of the Events feature, and Greek has a separate word for each.
11.1.1 – 2026-08-22
- Text that should have been in your language, and was not. Built-in wording was saved into the database instead of being looked up as the page is drawn, so it stuck in English whatever your shop was set to; anything you typed yourself is left exactly as you typed it.
- Wording set by one language of admin no longer reaches everyone else. Search engine descriptions are now built in the shop’s language rather than in the language of whoever last edited the product.
- Two hundred pieces of text can be translated for the first time. The marketplace importer’s messages were written against a translation file that was never loaded.
- Some text could not be translated at all. The badge labels, the add-to-cart button text, the product code labels and the trust badges are translatable now, Greek included.
- Your shop’s own loyalty points are recorded again. The “Eshop Loyalty Points” field on a customer is now filled from the points ledger, including for shops that were already awarding points before this update.
- A faster storefront on every page a visitor loads uncached. Table checks and character-set lookups are remembered rather than repeated on every page view, removing about 22 milliseconds of database work per page.
- Table creation no longer runs on shopper page views. Setting up the database now happens in the admin, on the command line and on scheduled tasks.
11.1.0 – 2026-08-20
This release also carries everything listed under 11.0.13 in changelog.txt, which was never published separately.
- Pro features now carry their code in the Pro plugin. The catalogue importer, product feeds between sites, duplicate products, and the Greek text matching all three rely on, have moved into Rooster One Pro. The free plugin keeps every screen, every description and the upgrade path, so you can still find these features, read what they do and see what they would give you — and a screen whose engine is not installed says exactly that instead of failing. If you use any of them, update Rooster One Pro to 11.1.0 at the same time.
- Screens that were always Pro now say so. “Import products from a marketplace” and “Product feeds between sites” have been Pro in the capability list since it was written, but neither screen showed it and the feeds screen never checked. Both now show what Pro gives you, and the Connections page marks every Pro service in its directory instead of listing them as though they were included.
- The one-click marketplace import (eFood, Wolt, Etsy, Amazon) requires Pro. It always counted as a Pro feature; it simply never enforced it.
- Nothing changes on your storefront. Recommendation rails, related content and audience filtering keep reading what was already computed for them, exactly as before, and keep working if the Pro plugin is ever deactivated. Behavioural data collection stays in the free plugin so a shop that upgrades later still has its history.
Earlier versions
10.x and earlier releases are listed in changelog.txt, which ships with the plugin.
