Title: Essiow — AI SEO Suite for WooCommerce
Author: boni58
Published: <strong>2026-04-11</strong>
Last modified: 2026-09-24

---

Szukaj wtyczek

![](https://ps.w.org/essiow/assets/banner-772x250.png?rev=3503791)

![](https://ps.w.org/essiow/assets/icon-256x256.png?rev=3503791)

# Essiow — AI SEO Suite for WooCommerce

 Autor: [boni58](https://profiles.wordpress.org/boni58/)

[Pobierz](https://downloads.wordpress.org/plugin/essiow.1.4.2.zip)

 * [Szczegóły](https://pl.wordpress.org/plugins/essiow/#description)
 * [Recenzje](https://pl.wordpress.org/plugins/essiow/#reviews)
 *  [Instalacja](https://pl.wordpress.org/plugins/essiow/#installation)
 * [Rozwój](https://pl.wordpress.org/plugins/essiow/#developers)

 [Wsparcie](https://wordpress.org/support/plugin/essiow/)

## Opis

**Essiow turns your WooCommerce store into a search-traffic machine.** It plugs 
into Google Search Console, watches what your customers actually search for, and
rewrites your product pages, category pages and blog articles to capture every query
you nearly rank on.

You don’t write SEO. You don’t pick keywords. You don’t guess what works. You click
a button and the right pages get fixed.

#### What Essiow does for you

**1. Auto-rewrites your product pages.** Long description, short pitch, meta title,
meta description, focus keyword, image alt texts — all generated from your real 
GSC queries when connected, in 8 languages, in your store’s tone. Compatible with
Yoast SEO, Rank Math and All in One SEO.

**2. Turns empty category pages into landing pages.** Bare category pages don’t 
rank. Essiow generates 1,500-2,500 words of category content with FAQ, comparison
tables and links to your top products — the page Google needs to rank you in position
1 instead of position 30.

**3. Writes blog articles that pull traffic to your products.** 1,500-5,000 word
articles with internal links to the products mentioned, a structured FAQ, automatic
featured image. Suggestions based on what your audience already searches.

**4. Spots and grabs every „almost-ranking” keyword.** When Google Search Console
is connected, Essiow surfaces every query where your store sits at position 11-20—
the closest gains. One click rewrites the matching page targeting that exact query.

**5. Resolves cannibalization in two clicks.** Two of your pages competing for the
same query? Essiow detects it, picks the strongest one, and consolidates the canonical
from the others — without deleting anything.

**6. Indexes everything instantly.** Bing, Yandex, Naver, Seznam, Amazon and Yep
are pinged the second you publish. Google gets the URL pushed via sitemap re-submit
+ URL Inspection refresh + a one-click manual indexation request. The Search Console
page shows clicks, impressions, CTR and position over 7 days to 16 months, the Google
status of every URL, and a diagnostics panel when a sync returns nothing.

**7. Builds your internal mesh.** Every page gets a click depth and an inbound /
outbound count (menus, archives, cross-sells included). Orphans, weakly linked pages
and dead-ends are listed with one-click fixes, suggestions can be inserted in batches
or from the post editor, and the automatic mesh links the right pages together —
reversible, with a mesh score / 100 and an anchor report.

**8. Keeps your link equity.** 301 / 302 / 410 rules (exact or regex) with a live
source tester, automatic redirects when a product, category or article is deleted
or renamed, a grouped 404 monitor with one-click fixes, CSV import / export, and
an on/off switch per rule.

**9. Runs on autopilot.** New products and categories are optimized when published,
declining pages are re-optimized, missing alt texts are written on upload, articles
are scheduled from your Search Console data, and a weekly e-mail report sums it 
up — all within a daily credit cap you control.

**10. AI sales agent on your storefront.** A chatbot that knows your full catalog,
handles objections, can issue promo codes within your discount limit, and quotes
your delivery / returns / payment policy. Conversations and leads are listed in 
the admin (CSV export, GDPR retention).

**11. Exposes your catalog to ChatGPT, Perplexity and Claude.** Toggle on and Essiow
serves a clean `/llms.txt` at your root. It is an answer-engine signal, not a Google
one: Google states it ignores the file, the other assistants read it.

**12. Puts your catalog in the shopping feeds.** One `ProductGroup` markup with 
an offer per variant makes your variable products eligible for Google free listings,
and a product feed file (Google Merchant Center, Meta, Pinterest) is served by your
shop and fetched automatically. The file alone needs no connection: you paste its
URL in the platform and it fetches daily.

**13. Watches your page experience.** Core Web Vitals from real Chrome users (LCP,
INP, CLS) plus a Lighthouse score per page template, a ~40-point technical audit
of your server, database, assets and images, and one-click fixes for the safe ones—
each reversible.

**14. Finds your off-site opportunities.** Essiow searches for pages that mention
your brand without linking to it, lists sites worth contacting, and reports external
links that now hit a 404 so you can redirect them in one click. It detects and drafts
the e-mail — **it never creates a link for you**, and buying links is not part of
the product.

**15. Publishes on a rhythm you set.** The content plan turns keywords, your categories
and your Search Console gaps into a 14-day calendar: pick how many articles per 
day or per week, the days, the hour and the output (draft, scheduled or published).
An activity register keeps every long action marked until it finishes — closing 
the tab or reloading the page changes nothing.

**16. Gets your shop ready for Google Merchant Center.** Most refusals and suspensions
are about the _shop_, not the feed: a return policy left as a draft, the WooCommerce
template text still in place, guest checkout closed, prices shown excluding tax,
a page nobody can reach. Essiow audits 95 of those points the way a Google reviewer
reads your site, tells you what is missing in plain words, and fixes what can safely
be fixed — every fix reversible. Connect your Merchant Center account and you also
get the account and product problems Google reports, in your own language, with 
the exact attribute in cause, plus an e-mail the day the account gets suspended.**
Essiow prepares, diagnoses and fixes; Google decides** — no plugin can promise an
approved account, which is why the review request stays locked until every blocking
check is green (you only get one real appeal).

#### Why it ranks better

When Search Console is connected, every optimization sees the actual queries the
page is already ranking on, the striking-distance keywords just outside page 1, 
and the CTR alerts when a title is converting poorly. The AI doesn’t guess keywords—
it gets them from Google itself, and writes around what’s already working.

#### Made for shop owners, not SEOs

 * No keyword research needed
 * No technical setup beyond pasting an API key
 * Every action shows its credit cost upfront — no surprise billing
 * Bulk optimize, pause, resume, restore original — your content is always recoverable
 * 8 languages, 4 writing tones, 3 content lengths
 * A persistent SEO score / 100 on every product and category, with a factor-by-
   factor audit, filters and sorting
 * One consistent admin: a dashboard with a site score and a prioritized to-do list,
   KPI on every page, server-side filters, side panels for previews, a floating 
   bar for bulk actions
 * Every long action stays marked until it ends, survives a page reload, and is 
   listed in one activity centre

#### Compatible & safe

 * WooCommerce HPOS compatible
 * Works alongside Yoast SEO / Rank Math / All in One SEO (writes to all three)
 * GDPR compliant (auto-delete chat data after 90 days)
 * Original content backed up the first time you optimize — one-click restore

#### How credits work

 * **1 credit** per product optimization
 * **1 credit** per category optimization
 * **3 credits** per blog article
 * **2 credits** per AI Vision alt text generation
 * All indexation actions, audits, internal-link suggestions, mesh-score, /llms.
   txt, product feeds, Core Web Vitals, the off-site scan and the whole Merchant
   Center diagnostic — **free** (no AI involved)
 * Inside Merchant Center, only the **assisted** fixes call the AI (a return, shipping
   or contact page written from your own settings, a product title or description
   rewritten to the feed rules). Automatic fixes — publishing a draft page, reopening
   guest checkout, switching prices to tax-included — cost nothing.
 * Credits are debited only on success. Failed AI calls don’t consume credits.
 * Purchased credits never expire (free trial credits expire after 30 days)

#### External Service

This plugin connects to the Essiow API at `https://essiow.com/api/v1` to process
AI content generation. Your product data (names, descriptions, prices, categories)
is sent to the Essiow servers where it is processed using OpenAI’s models. No data
is stored beyond what is needed to track your credit usage.

 * [Essiow Terms of Service](https://essiow.com/terms)
 * [Essiow Privacy Policy](https://essiow.com/privacy)

## Zrzuty ekranu

[⌊Dashboard: site SEO score, KPI, prioritized to-do list and module overview⌉⌊Dashboard:
site SEO score, KPI, prioritized to-do list and module overview⌉[

Dashboard: site SEO score, KPI, prioritized to-do list and module overview

[⌊Products: SEO score per product, server-side filters, bulk optimization and audit
panel⌉⌊Products: SEO score per product, server-side filters, bulk optimization and
audit panel⌉[

Products: SEO score per product, server-side filters, bulk optimization and audit
panel

[⌊Categories: same workflow for product categories⌉⌊Categories: same workflow for
product categories⌉[

Categories: same workflow for product categories

[⌊Blog: three-step article generator with SEO research, article list and bulk generation⌉⌊
Blog: three-step article generator with SEO research, article list and bulk generation⌉[

Blog: three-step article generator with SEO research, article list and bulk generation

[⌊Internal links: overview, suggestions, automatic mesh and link graph⌉⌊Internal
links: overview, suggestions, automatic mesh and link graph⌉[

Internal links: overview, suggestions, automatic mesh and link graph

[⌊Search Console: connection status, performance, indexation, opportunities⌉⌊Search
Console: connection status, performance, indexation, opportunities⌉[

Search Console: connection status, performance, indexation, opportunities

[⌊Redirects, 404 monitor and lost links⌉⌊Redirects, 404 monitor and lost links⌉[

Redirects, 404 monitor and lost links

[⌊Automation: automations, content plan, queue and log⌉⌊Automation: automations,
content plan, queue and log⌉[

Automation: automations, content plan, queue and log

[⌊Speed: Core Web Vitals, Lighthouse per template and technical audit⌉⌊Speed: Core
Web Vitals, Lighthouse per template and technical audit⌉[

Speed: Core Web Vitals, Lighthouse per template and technical audit

[⌊Off-site: brand mentions, outreach targets and recovered visits⌉⌊Off-site: brand
mentions, outreach targets and recovered visits⌉[

Off-site: brand mentions, outreach targets and recovered visits

[⌊Feeds: feed URLs per platform and free-listing eligibility⌉⌊Feeds: feed URLs per
platform and free-listing eligibility⌉[

Feeds: feed URLs per platform and free-listing eligibility

[⌊Merchant Center: readiness score, the 95-point diagnostic grouped by family with
its one-click fixes, the Google connection, the account and product problems reported
by Google⌉⌊Merchant Center: readiness score, the 95-point diagnostic grouped by 
family with its one-click fixes, the Google connection, the account and product 
problems reported by Google⌉[

Merchant Center: readiness score, the 95-point diagnostic grouped by family with
its one-click fixes, the Google connection, the account and product problems reported
by Google

[⌊AI sales agent: settings with live preview, conversations and leads⌉⌊AI sales 
agent: settings with live preview, conversations and leads⌉[

AI sales agent: settings with live preview, conversations and leads

[⌊Settings and help⌉⌊Settings and help⌉[

Settings and help

## Instalacja

 1. Upload the `essiow` folder to `/wp-content/plugins/`
 2. Activate the plugin through the 'Plugins’ menu in WordPress
 3. Go to **Essiow > Settings** and enter your API key from [essiow.com](https://essiow.com)
 4. Click „Test Connection” to verify
 5. Start optimizing from **Essiow > Products** or **Essiow > Categories**

## Najczęściej zadawane pytania

### Do I need an Essiow account?

Yes. Create a free account at [essiow.com](https://essiow.com) to get your API key
and 10 free credits.

### Do I need technical skills?

No. If you can install a WordPress plugin, you can use Essiow. Everything is done
in a few clicks.

### Do I need to know SEO?

No. Essiow does the SEO work : it picks the keywords (from Google Search Console
when connected), writes the meta tags, generates the schema, builds the internal
links and submits everything to search engines. You just click „Optimize”.

### Why does connecting Google Search Console matter?

With GSC connected, every optimization is fed with the real queries your page already
ranks on. Essiow finds queries where you sit at position 11-20 (just outside page
1) and rewrites the matching page targeting that exact query. Without GSC, optimizations
are still good — but generic. With GSC, they’re surgical.

### Will optimizing break my existing content?

No. The first time a product or category is optimized, the original content is backed
up automatically. One click in the preview modal restores it.

### Which SEO plugins are supported?

Essiow works with Yoast SEO, Rank Math, and All in One SEO. It writes to all three
formats simultaneously, so switching SEO plugin later does not lose your data.

### Is my data safe?

Your product data is sent to Essiow servers only during optimization. It is processed
in real-time and not stored beyond credit-tracking metadata. Chat conversations 
are auto-deleted after 90 days per GDPR requirements.

### Do credits expire?

Purchased credits never expire. The 10 free credits expire after 30 days.

### Can I cancel a bulk optimization?

Yes. Pause / Resume / Cancel buttons appear during a bulk run. Closing the tab also
auto-cancels — items already processed remain saved.

### Can I try before buying?

Yes. Create a free account and get 10 credits to test all features. No credit card
required.

### What is the SEO score shown on products and categories?

A local audit out of 100 (title and meta lengths, focus keyword, description length
and structure, image alt texts, FAQ, schema…). It is computed by the plugin, never
costs a credit, and is stored so you can filter and sort the catalog by score. Rating
a large catalog happens progressively in the background of the Products page.

### Does the plugin slow down my store?

No. Nothing runs on the storefront except the optional chat widget, the JSON-LD 
schemas (cached) and the redirect lookup (cached). Bulk jobs, syncs and automations
run through WP-Cron or on the Essiow servers.

### What happens when I update the plugin?

Nothing to do: the plugin migrates its own data at the first request after an update(
database tables, new options with safe defaults, expired caches). Your API key, 
settings, optimizations and redirects are kept.

### What is removed when I delete the plugin?

All options, cached data, scheduled tasks, tables (agent conversations and leads,
redirects, 404 log, automation queue, content plan, speed runs, off-site findings)
and Essiow metadata. If „Restore originals on uninstall” is enabled in Settings,
the original titles, descriptions, SEO meta and alt texts are put back and the internal
links added by Essiow are removed.

### Does Essiow build backlinks for me?

No, and it never will. The Off-site module searches for pages that already mention
your brand without linking to it, lists sites worth contacting and reports external
links that now hit a 404. It prepares the outreach e-mail; you send it and the other
site decides. Nothing is posted, bought or published anywhere on your behalf.

### What does /llms.txt actually do?

It exposes a clean summary of your catalog to AI assistants. It is an answer-engine
signal, not a Google ranking factor: Google has stated it ignores the file. Keep
it on if you care about ChatGPT, Perplexity or Claude citing your shop; it costs
nothing either way.

### Do I need a Google API key for the Speed module?

Only for the Field tab. Core Web Vitals from real users and the Lighthouse score
come from the free PageSpeed Insights API. The technical audit and its fixes work
without any key.

### Does the product feed need a Google Merchant Center connection?

No. Essiow serves the feed file at your own domain and you paste that URL in the
platform (Google Merchant Center, Meta or Pinterest), which fetches it daily. The
Eligibility tab lists what each item is still missing. Connecting your Merchant 
Center account is a separate, optional step that adds Google’s own verdict on top.

### Will Essiow get my Merchant Center account approved?

No, and no plugin can: Google decides. What Essiow does is remove the reasons for
a refusal before you ask — it audits 95 points the way a reviewer reads your shop,
explains each failure in plain words, and fixes the ones that can be fixed safely.
The review request button stays locked until every blocking check is green, on purpose:
you only get one real appeal, and each refusal lengthens the wait.

### What does the Merchant Center diagnostic actually check?

Your shop, not your feed: HTTPS and reachability, return and shipping policies (
published, not the WooCommerce template, complete), contact details and legal identity,
the checkout end to end (guest checkout, payment method, terms, order e-mails), 
prices and tax display, placeholder content, structured data, and your product data(
titles, descriptions, images, GTIN, category, variants). The probe reads your shop
from your own server, so it cannot see blocking that depends on the visitor’s country
or IP — those checks say so instead of claiming to be covered.

### Do I need a Google Cloud project to connect Merchant Center?

No. The authorization goes through essiow.com: you sign in with Google, accept the
access, and come back. No WordPress.com account, no Cloud project, no API key to
create. Disconnecting removes the link on both sides.

### If I close the tab during a long job, do I lose it?

No. Optimizations, bulk generations, scans and measurements are registered server-
side. The item stays marked until the job finishes, the state comes back after a
reload, and the activity centre in the top bar lists everything currently running.

## Recenzje

Wtyczka nie ma jeszcze żadnej recenzji.

## Kontrybutorzy i deweloperzy

„Essiow — AI SEO Suite for WooCommerce” jest oprogramowaniem open source. Poniższe
osoby miały wkład w rozwój wtyczki.

Zaangażowani

 *   [ boni58 ](https://profiles.wordpress.org/boni58/)

[Przetłumacz wtyczkę “Essiow — AI SEO Suite for WooCommerce” na swój język.](https://translate.wordpress.org/projects/wp-plugins/essiow)

### Interesuje cię rozwój wtyczki?

[Przeglądaj kod](https://plugins.trac.wordpress.org/browser/essiow/), sprawdź [repozytorium SVN](https://plugins.svn.wordpress.org/essiow/)
lub czytaj [dziennik rozwoju](https://plugins.trac.wordpress.org/log/essiow/) przez
[RSS](https://plugins.trac.wordpress.org/log/essiow/?limit=100&mode=stop_on_copy&format=rss).

## Rejestr zmian

#### 1.4.2

 * **Merchant Center — accept the terms from the extension.** An account created
   from Essiow had not accepted the Google Merchant Center terms, and Google then
   refuses everything else on it (site claim, data source, issues). A new step in
   the Connection tab shows the official link to Google’s terms for your country
   and accepts them only when you tick the box yourself — never implicitly. If Google
   publishes a new version in between, you are asked to read it again.
 * **Merchant Center — account creation.** After creating an account, the extension
   tells you which address received Google’s invitation: until it is accepted, you
   have no access to the new account.
 * **Merchant Center — site claim.** When Google refuses the claim, its reason is
   shown instead of an endless „claim still pending”, and the „Verify and claim”
   button disappears once the site is verified and claimed.
 * **Merchant Center — data source and issues.** Declaring the Essiow feed and reading
   the issues Google reports in your language were both refused by Google’s current
   API; both are fixed on the Essiow platform, with no action needed on your side.

#### 1.4.1

 * **One rule for „optimized”.** A product scoring 70 or more now counts as optimized.
   Until now three different rules coexisted: the score badge turned green at 70,
   the score card counted „good” only from 80, and the optimized status also waited
   for 80 — so a product at 75 was green, „medium” and „not optimized” at the same
   time. The badge colour, the score card, the Score filter, its labels and the 
   optimized status now all derive from the single „Optimized score threshold” setting,
   so they can no longer disagree, whatever value you choose. „Medium” starts at
   50 everywhere (the badge used 40).
 * **Automation log and content plan in your language.** Results and errors written
   by a background run („Optimized — SEO score 30  75”, „Invalid API key”) were 
   stored already translated, frozen in the language of the moment they were written.
   They are now stored as message keys and written out in the language of whoever
   reads them, like the Merchant Center diagnostic since 1.4.0. Entries written 
   before the update keep their original wording.
 * **Upgrade.** Shops still on the former default of 80 are moved to 70 once, at
   the first request after the update. A threshold you set yourself is kept.

#### 1.4.0

 * **New — Merchant Center.** A new page that audits your shop the way a Google 
   reviewer reads it: 95 checks in eight families (reachability and indexability,
   policy pages, identity and contact, checkout, prices and tax, content quality,
   structured data, product data), each failure explained by what is actually missing—„
   the return policy does not say who pays the return shipping”, not „policy incomplete”.
   Checks run in steps, products in batches, and the run survives a page reload.
 * **Merchant Center — fixes.** Automatic fixes publish a policy page left as a 
   draft, leave „coming soon” mode, remove a noindex or a password, attach the terms
   to the checkout, reopen guest checkout, switch the price display to tax-included,
   or replace a main image that is too small with a compliant one from the gallery.
   Assisted fixes write a return, shipping or contact page from your own shop settings,
   or rewrite a product title, description, category or attributes. Manual fixes
   ask you only for what you alone know. Everything is logged, reversible, and re-
   checked right after it is applied. A text that falls back to the WooCommerce 
   template or still carries a `{{…}}` marker is never published — that template
   text is exactly what Google sanctions.
 * **Merchant Center — Google connection.** One click through essiow.com: no WordPress.
   com account, no Google Cloud project, no API key. Pick or create the account,
   verify then claim the site, declare the Essiow feed as a data source with its
   daily fetch hour, run the first fetch. A permanent status banner and a five-step
   connection check, on the Search Console model. Site claimed by another account,
   business identity pending, account suspended and revoked token each get a short
   message and one action.
 * **Merchant Center — what Google reports.** Account problems rendered by Google
   in your own language, with severity, explanation, documentation and the local
   check that fixes them; per-product serving status with the exact reason and the
   attribute in cause, filters, search, server-side pagination and bulk re-read.
   Statuses are read in batches, never product by product. A daily check e-mails
   you on a suspension or a new blocking issue — and the review request stays locked
   until every blocking check is green.
 * **Feed.** Feed and markup prices now come from the same source as the page (`
   wc_get_price_to_display`), so the feed can no longer contradict the shop. `sale_price`
   is only sent while the sale actually runs, with its effective date. The brand
   is no longer filled with the site name, and `identifier_exists` is only sent 
   when the answer is known. New columns: Google product category, age group, gender,
   size type and system, custom labels 0-4. A title or description written by the
   AI is declared to Google as such (`structured_title` / `structured_description`
   with `digital_source_type`), as Merchant Center requires.
 * **Product markup.** Every published product is marked up, not only the ones optimized
   by Essiow. The duplicate-markup guard now observes whether another plugin really
   writes a Product block instead of assuming it. No aggregate rating unless reviews
   actually carry a rating.
 * **Consistency.** The Feeds page and the Merchant Center page say what each of
   their counters measures and link to each other; the eligibility lights can no
   longer be green where the diagnostic is red (they name the failing checks instead);
   one date format per screen; the Merchant Center entry sits in the menu, the top
   bar, the Help modules list and the screenshots in the same order.
 * **Upgrade & uninstall.** The audit table and the new options are created at the
   first request after the update, crons are armed, nothing is lost — no reactivation,
   no need to open the page. Uninstall removes the new table, options and scheduled
   tasks; two long-standing causes of leftovers were fixed at the root (the activity
   register recreating its own option, and WordPress rescheduling a recurring event
   through `spawn_cron()` seconds after the purge).
 * **Honest documentation.** No promise that Merchant Center will accept the account:
   Essiow prepares, diagnoses and fixes, Google decides. The probe says what it 
   cannot see (it reads your shop from your own server, so no geo-blocking or WAF),
   and the checks that depend on it are marked partial instead of being presented
   as covered.
 * **Developer.** New AJAX actions `essiow_gmc_*` (22, all covered by the smoke 
   test), the `{prefix}essiow_gmc_audit` table, the `essiow_gmc_audit_weekly` and`
   essiow_gmc_daily` crons, the `essiow_gmc_tabs` and `essiow_gmc_state` filters
   for adding a tab to the page without touching it, a Merchant Center API mock 
   with six failure modes, an upgrade scenario from 1.3.0 across the 15 admin pages,
   and an updated inventory in `CONTRIBUTING.md` and `docs/DESIGN.md`.

#### 1.3.0

 * **New — Speed.** Core Web Vitals from real Chrome users (LCP, INP, CLS, FCP, 
   TTFB) with a 10-month trend, a Lighthouse score per page template (mobile / desktop)
   with its „what to fix first” list, and a technical audit of about forty checks
   on your server, database, assets and images. The safe fixes are applied in one
   click and can be undone; the risky ones stay behind an explicit confirmation.
   Weekly measurement, optional e-mail alert, free PageSpeed API key needed only
   for the field data.
 * **New — Off-site.** Finds pages that mention your brand without linking to it,
   lists sites worth contacting, and drafts the outreach e-mail for you. A „Lost
   links” tab in Redirects shows the external links that now hit a 404 with the 
   visits they used to bring, and turns them into a 301 in one click. **Essiow never
   creates, buys or posts a link** — it detects and prepares, you decide.
 * **New — Product feeds.** One feed file per platform (Google Merchant Center, 
   Meta, Pinterest) served by your own shop and fetched daily — no OAuth, no app
   review. Built-in validation lists every rejected or incomplete item, and an Eligibility
   tab explains what is still missing for Google free listings. Optional exclusion
   of out-of-stock items and a cap on the number of items.
 * **New — Content plan.** Turn keywords, your product categories and your Search
   Console gaps into a publishing rhythm: N articles per day or per week, active
   days, generation hour, publishing window, and output as draft, scheduled or published.
   A 14-day calendar shows what comes next, items can be reordered by priority, 
   and the plan shares the same daily credit cap as the rest of the automations.
   Catch-up after a missed run, pause when credits run low, e-mail when the plan
   is done.
 * **Product schema.** Variable products now emit a single `ProductGroup` with one
   offer per variant (instead of an aggregate), variant attributes as `variesBy`,
   product specifications, and shipping details read from your real WooCommerce 
   shipping zones — which is what Google asks for to consider a variable product
   for free listings.
 * **Front-end SEO.** Image sitemap, `hreflang` with `x-default` on multilingual
   sites (Polylang, WPML), complete sharing tags, and business-profile fields (coordinates,
   price range, area served, Google Business Profile link, X / Twitter handle) feeding
   the Organization / LocalBusiness schema.
 * **Search Console reliability.** The connection banner now shows a real health
   state (healthy, degraded, reconnection required) that survives a reload, a „Check
   the connection” button, and an explicit diagnostic whenever a sync returns nothing.
   Sync results and quota cooldowns are reported everywhere instead of failing silently.
 * **Activity register.** Every long action (optimizations, generations, scans, 
   measurements) is registered server-side: the item stays marked until the job 
   ends, the state comes back after a reload or in another tab, AI generations run
   one at a time per site, and the top-bar activity centre lists what is running.
   One loading indicator per zone, everywhere — a toast now announces a result, 
   never the start of an action.
 * **Consistency.** The Essiow menu follows the same order as the top navigation,
   action columns fit on one line at 1280 px, „Top queries” and „Top pages” no longer
   overflow their card, the dashboard and the Products page count optimized products
   the same way, and duplicated buttons („Run queue now”, „Bulk generation”) appear
   once per screen. Lighter wording across every page: shorter subtitles, one line
   of help per block, no repeated explanations.
 * **Upgrade & uninstall.** `essiow_run_upgrade()` creates the new tables (speed
   runs, off-site findings, content plan) and their default options at the first
   request after the update — no reactivation, no need to open the module’s page.
   Crons for the new modules are armed automatically, and uninstall removes every
   new table, option and scheduled task.
 * **Honest documentation.** No FAQ rich-snippet promise, `/llms.txt` described 
   for what it is (an answer-engine signal Google states it ignores), the IndexNow
   engine list kept accurate (Bing, Yandex, Naver, Seznam, Amazon, Yep), and no 
   backlink-building claim anywhere.
 * **Developer.** New AJAX actions `essiow_speed_*`, `essiow_offsite_*`, `essiow_lost_*`,`
   essiow_feeds_*`, `essiow_plan_*` and `essiow_activity_*`, all covered by the 
   smoke test; a real upgrade scenario from 1.2.0 (`bin/upgrade-test.sh`) checking
   data, schema, defaults and crons across the 14 admin pages; `bin/shot.sh` covering
   every page; inventory of actions, options, tables, crons and storage keys in `
   CONTRIBUTING.md` and `docs/DESIGN.md`; regenerated translation template.

#### 1.2.0

 * **Design** : the whole admin is rebuilt on one design system — top bar with module
   navigation, connection / credits / Search Console / IndexNow status and a quick
   search, a header with primary actions on every page, KPI tiles, server-side filters
   remembered per page, 44 px tables with sticky headers, a floating bar for bulk
   actions, side panels for previews and details, styled confirmations (no more 
   browser dialogs), illustrated empty states, skeleton loaders, SVG icons (Lucide)
   instead of Dashicons, keyboard-friendly panels and tabs, and layouts checked 
   at 1280 / 1024 / 782 px.
 * **Dashboard** : site SEO score ring with breakdown and „Fix” links that open 
   the right tab, four KPI (products, articles, Search Console clicks, indexed pages),
   a second row for the modules (average SEO score, internal mesh score, automation
   queue, redirects and 404), a prioritized „To do now” list that also reports the
   week’s 404s and failed or paused automations, recent activity and shortcuts. 
   The setup wizard is kept for new sites.
 * **Products & Categories** : a persistent SEO score / 100 on every product and
   category (`_essiow_seo_score`, rated progressively in batches), global KPI with
   score distribution, server-side filters (name / SKU, status, score, category,
   sort, page size) kept in the URL and in the browser, a fixed paginated table,„
   select the page” or „select the whole filter” with a floating bar, a preview 
   panel with a factor-by-factor audit, before / after scores, FAQ and restore, 
   and a restyled bulk job (pause, resume, cancel, failed items). Optimizing or 
   restoring no longer reloads the page.
 * **Search Console** : an always-visible connection banner (account, property with
   selector, last sync, rows stored, diagnostics when a sync returns nothing), a
   single Overview tab (7 days to 16 months, KPI with deltas, clicks and impressions
   curve, indexation summary, top queries and pages), plus Indexation, Opportunities,
   Issues, Submission (sitemap, IndexNow queue with „flush now”, llms.txt) and Audit
   tabs; daily totals kept for 16 months, weighted average position, titles decoded.
 * **Internal links** : inventory rules made explicit (published content only, noindex/
   password-protected / system pages excluded, WordPress pages optional, manual 
   exclusions), click depth per page, server-side metrics and mesh score, a real
   automesh plan with configurable quotas, batch suggestions with one-way insertion
   and ignored pairs, a force-directed SVG graph with filters and focus, an anchor
   report, settings tab, and a repaired editor meta box.
 * **Blog** : a three-step generator (topic with SEO research and Search Console
   ideas, options for length / tone / language / linked products / featured image,
   progress), preview in a side panel (score, audit, FAQ, sources; publish, schedule
   or draft), a server-side article list (search, status, source, score, pagination,
   bulk IndexNow), bulk generation as a wizard with job details, and E-E-A-T settings(
   default author, default status, publishing window).
 * **Automation** : one card per automation with an on / off switch, inline settings
   saved automatically, next run and last result, a paused-queue notice, and queue/
   log tables with retry and clear actions.
 * **Redirects** : KPI, server-side filters (type, status, sort), an add / edit 
   panel with a live test of the source path, CSV import in a panel, a grouped 404
   monitor with suggested targets, a settings tab, and an active / inactive switch
   per rule (new `active` column, migrated automatically). Duplicate regex patterns
   are refused.
 * **AI Agent** : status and quota KPI (messages per hour), Settings / Conversations/
   Leads tabs, identity and widget cards with a live preview, knowledge, delivery
   and returns, behaviour, coupons, bank details and privacy cards, conversation
   transcripts in a side panel with deletion, leads list with CSV export, and a 
   modernized storefront widget (SVG icons, Escape to close, `#essiow-chat` deep
   link).
 * **Upgrade & uninstall** : `essiow_maybe_upgrade()` runs idempotent migrations
   at the first request after any update (default options, database tables via dbDelta,
   expired caches purged, orphan cron hooks removed, `essiow_upgraded` action for
   extensions) — no reactivation needed. Uninstall now removes every option, transient,
   table, cron, post / term / user meta added since 1.1.79 and still restores the
   original content when the option is enabled.
 * **Developer** : page styles live in `assets/css/pages/<slug>.css` (loaded automatically),`
   Essiow_Admin::icon / page_header / kpi / empty_state` and `EssiowUI.icon / confirm/
   drawer / bulkBar / pagination / setKpi` helpers documented in `docs/DESIGN.md`,
   a demo environment (`bin/smoke.sh` with `SEED=1`, mock API, `bin/shot.sh` screenshots),
   an upgrade scenario (`bin/upgrade-test.sh`) and an uninstall check (`UNINSTALL
   =1`) in the smoke test, the smoke test covering every page, AJAX action, cron
   and front page, new server filters on the products / categories / articles / 
   redirects lists, and a regenerated translation template.

#### 1.1.81

 * **Langues** : toutes les chaînes sources unifiées en anglais (convention WordPress.
   org), catalogue régénéré (1 665 chaînes) et traductions complètes livrées en 
   français, espagnol, allemand, italien, portugais et néerlandais (.po + .mo). 
   Sur les sites multilingues (Polylang, WPML), la langue de génération suit celle
   du produit, de la catégorie ou de l’article ; le chatbot répond dans la langue
   de la page.
 * **Automatisation** (nouveau menu) : file d’attente avec plafond de crédits par
   jour, optimisation automatique des nouveaux produits et catégories à la publication,
   blog en pilote automatique (sujets tirés de Search Console ou des catégories 
   sans article, N articles par semaine), ré-optimisation des pages en déclin, texte
   alternatif à l’upload, rapport hebdomadaire par email, journal et boutons « Exécuter
   maintenant ».
 * **Design** : pages Produits, Catégories, Blog, Search Console, Maillage et Agent
   alignées sur le tableau de bord (bandeaux KPI, filtres par statut / score / catégorie,
   tri, sélection des non optimisés, états vides, chargements, dashicons à la place
   des emoji, générateur d’articles en deux colonnes, cartes de jobs, responsive).
 * **Performance et robustesse** : JavaScript découpé par écran (seul le script 
   de la page est chargé), schémas Product et Organization mis en cache, catégorie
   des articles bulk « produits » retrouvée, lien support du chat corrigé, intégration
   continue (lint PHP 7.4 / 8.3, syntaxe JS, catalogue à jour, test d’exécution 
   complet dans WordPress + WooCommerce).

#### 1.1.80

 * **SEO technique complet sans plugin SEO** : title, meta description, canonical,
   OpenGraph et Twitter sur produits, catégories, boutique et accueil (modèles configurables);
   schéma Organization / LocalBusiness / Store avec logo, profils sociaux et horaires;
   WebSite + SearchAction.
 * **Robots** : noindex des produits en rupture (option), des archives d’étiquettes
   et de la recherche interne, canonical propre et noindex sur les vues filtrées(`
   orderby`, `filter_*`, prix, utm…), exclusion des produits noindex du sitemap.
 * **Schéma Product enrichi** : marque, SKU, GTIN/MPN, disponibilité (précommande,
   réassort), `priceValidUntil`, politique de retour, frais et délais de livraison,
   AggregateOffer pour les variables — sans doublon avec Yoast WooCommerce / Rank
   Math / AIOSEO.
 * **FAQ produit générée par l’IA** : 3 à 5 questions d’acheteur stockées à l’optimisation,
   affichées en accordéon sur la fiche et balisées FAQPage.
 * **Redirections et 404** (nouveau menu) : règles 301 / 302 / 410 avec regex, redirection
   automatique des produits, catégories et articles supprimés et des changements
   de slug, journal des 404 avec suggestion de cible et création en un clic, import/
   export CSV, alerte par email au-delà d’un seuil.
 * **Blog E-E-A-T** : encart auteur avec profils sociaux et schéma Person, blocs«
   À lire aussi » et « Produits liés », publication étalée du bulk sur N jours, 
   rafraîchissement / remplacement d’un article existant sans doublon, liste enrichie(
   score, intention, temps de lecture, indexation), alertes qualité avant publication.
 * **Interface** : design system unifié, barre supérieure avec état de connexion,
   crédits, Search Console et IndexNow, navigation transversale, tableau de bord
   avec KPIs, détail du score, actions rapides et activités récentes, assistant 
   de démarrage en 4 étapes, réglages par onglets, page d’aide avec statut système.

#### 1.1.79

 * **Sécurité de l’agent IA** : les coordonnées bancaires ne sont plus envoyées 
   à l’IA ni exposées sans activation explicite, les remises créent un coupon à 
   usage unique réservé au client au lieu de modifier le prix réel, coupons et remises
   désactivés par défaut, limitation de débit par empreinte client et globale, jeton
   anti-abus sur l’endpoint public, conversations liées au visiteur (plus de reprise
   d’une conversation tierce), produits non publiés invisibles, email admin retiré
   des pages, leads stockés + export/effacement RGPD, mention de confidentialité
   dans le widget, widget absent du panier/checkout/compte.
 * **Sécurité des données catalogue** : plus aucun forçage de stock à l’optimisation,
   sauvegardes unifiées (titre, nom, descriptions, meta SEO, alt d’images) restaurables
   depuis la liste produits et catégories, jamais d’écrasement par une valeur vide,
   renommage des catégories en option, choix des champs à réécrire et respect des
   meta SEO existantes.
 * **Bulk produits/catégories** : verrou anti-doublon, budget de temps, reprise 
   idempotente, items en échec signalés au lieu de bloquer le job, cron actif uniquement
   pendant un job.
 * **Search Console** : IndexNow asynchrone (plus jamais de publication bloquée),
   sélecteur de propriété rétabli, canonical réversible et liste des canonicals 
   actives (Yoast, Rank Math, AIOSEO, SEOPress), détails par page (requêtes top 
   10 / striking distance), export CSV des opportunités et de l’indexation, vue «
   pages en déclin » avec ré-optimisation en un clic, corrections OAuth (state),
   sous-répertoires, llms.txt en cache sans email.
 * **Maillage interne** : injection sûre (jamais dans une balise, un shortcode, 
   un bloc ou un titre), orphelins réels (archives, menus, ventes croisées comptés),
   plafonds respectés dans toutes les passes, plans déterministes, meta box de suggestions
   dans l’éditeur, auto-link à la publication (option), rapport d’ancres avec alerte
   de sur-optimisation, revert permanent et retrait de tous les liens Essiow, plus
   de révisions ni de dates modifiées en masse.
 * **Blog** : planification de publication (date et heure).
 * **Connexion et réglages** : déconnexion et rotation de clé enfin effectives, 
   clé testée avant enregistrement, réglages réservés aux administrateurs, valeurs
   validées, journal des erreurs API, tableau de bord avec détail du score et checklist
   de lancement, nouvelles options (champs optimisés, IndexNow à la mise à jour,
   restauration des originaux à la désinstallation, multisite).
 * **Cycle de vie** : tous les crons sont retirés à la désactivation, désinstallation
   propre avec restauration optionnelle des contenus d’origine.
 * Nettoyage : une vingtaine d’endpoints morts supprimés, requêtes `ORDER BY RAND()`
   retirées, pagination des catégories, chaînes dupliquées et non traduites corrigées.

#### 1.1.78

 * **Articles ultra-optimisés SEO — recherche avant rédaction** : avant de générer,
   Essiow interroge Google (People Also Ask, recherches associées, pages qui rankent,
   sous-titres des 3 meilleurs concurrents, longueur moyenne) et des sources externes
   autoritaires RÉELLES. L’IA répond à chaque question PAA, couvre tous les sous-
   thèmes des concurrents et ne peut citer que des URLs vérifiées. Bouton « Recherche
   SEO » sur la page Blog pour voir le dossier avant de lancer.
 * **Réponse directe en premier paragraphe** (40-60 mots, featured snippet / AI 
   Overviews), chaque H2 ouvre sur la réponse, tableaux comparatifs, étapes numérotées,
   points « À retenir », sommaire cliquable (ancres H2 conservées dans Gutenberg),
   FAQ normalisée, section « Sources ».
 * **Score SEO /100 et checklist** renvoyés pour chaque article (mots, mot-clé dans
   titre/intro/H2/meta, longueurs meta, H2/H3, images + alt, liens internes/externes,
   FAQ). Affichés dans l’onglet SEO avant publication et stockés (`_essiow_seo_score`).
 * **Liens inventés supprimés** : toute URL absente du catalogue (produits, articles,
   catégories, sources autorisées) est transformée en texte — plus jamais de 404
   publié. Les liens externes reçoivent `rel="noopener"` (+ `nofollow` hors sources
   autoritaires).
 * **Slug SEO** issu du mot-clé (`post_name`), **FAQPage** depuis les données structurées(
   plus de regex cassée par les blocs Gutenberg), **BreadcrumbList**, `BlogPosting`
   enrichi (wordCount, timeRequired, articleSection) — et **plus de doublon** de
   schéma quand Yoast / Rank Math / AIOSEO sont actifs.
 * **Meta title / description / OG / Twitter rendus par Essiow** quand aucun plugin
   SEO n’est installé ; support SEOPress ajouté ; le focus keyword est toujours 
   écrit (bug de l’ancien early-return).
 * **Maillage inverse automatique** : à la publication, 3 articles Essiow plus anciens
   et proches (tags / catégorie) reçoivent un lien « À lire aussi » vers le nouveau—
   le nouvel article a des liens entrants dès la première minute (désactivable :
   option `essiow_auto_backlinks`).
 * **Fixes** : le champ « Titre (optionnel) » et la longueur sont enfin envoyés 
   à l’API ; `$keywords` non défini à la publication (focus keyword vide, exclusion
   GSC cassée) ; auteur 0 en cron bulk ; score dashboard IndexNow lisait la mauvaise
   option ; la longueur « court / moyen / long » du bulk était ignorée (2 500 mots
   forcés).

#### 1.1.77

 * **Parité complète bulk  individuel — contexte GSC ajouté au worker bulk** : c’était
   la dernière différence restante. La génération individuelle d’articles enrichissait
   son prompt avec les vraies queries Google Search Console matchant le keyword (
   28 derniers jours, agrégées par impressions), permettant à l’IA de cibler ce 
   que l’audience tape déjà. Le bulk générait „à l’aveugle”. Désormais : avant chaque
   génération bulk, le worker appelle `_build_gsc_context_for_article(site, item.
   keyword)` et injecte le résultat dans le prompt — exactement comme l’individuel.

#### 1.1.76

 * **CAUSE RACINE TROUVÉE — toutes les images bulk étaient bloquées par un filtre
   silencieux côté backend** : depuis 1.1.69, le plugin envoyait soigneusement le`
   wp_context` (produits avec image_id/image_url, articles, catégories, pool d’images
   vedette) au backend Flask. Mais `BulkArticleService.create_job` reconstruisait
   le dict de configuration en ne retenant qu’une **whitelist de clés** (`tone`,`
   length`, `language`, `blog_id`, etc.) — `wp_context` n’était PAS dans la whitelist,
   donc **silencieusement éliminé**. Conséquences en cascade :
    1. Le worker Celery recevait `cfg.get('wp_context')`  `None`  `products = []`, `
       blog_posts = []`, `featured_image_pool = []`
    2. L’IA recevait un prompt SANS produits  aucune `<img>` générée (l’IA ne pouvait
       pas inventer des URLs valides)
    3. Pas de pool d’images vedette  pas d’image vedette attachée au post
    4. Le sanitizer auto-injection ajouté en 1.1.75 s’appuyait sur `article_data.products`(
       vide aussi)  ne pouvait rien injecter non plus
    5. Conclusion : tous les fixes images depuis 1.1.69 étaient **bloqués en amont**,
       c’est pour cela que les corrections successives ne donnaient rien visible.
 * **Fix** : ajout de `wp_context` et `site_url` dans la whitelist. Les NOUVEAUX
   jobs bulk recevront enfin le contexte produit complet, et toute la chaîne d’images(
   génération IA + auto-injection sanitizer + image vedette via attachment_id) fonctionnera
   bout en bout.
 * **Note** : les jobs créés AVANT 1.1.76 ont un `config` immuable en DB sans wp_context—
   relancer un nouveau bulk job pour bénéficier du fix.

#### 1.1.75

 * **Fix définitif — images vedette + images inline dans les articles bulk** :
    1. **Featured image via attachment ID** : avant, le plugin recevait une URL `https://
       site.com/wp-content/uploads/2024/10/widget-1024x768.jpg` (taille `large`) et
       tentait `attachment_url_to_postid`  souvent échec car cette fonction n’accepte
       que l’URL ORIGINALE sans suffixe `-WxH`. Désormais le plugin envoie l’`image_id`
       directement dans `featured_image_pool` ; le worker stocke `featured_image_id`
       dans `generated_payload` ; le plugin attache via `set_post_thumbnail($post_id,
       $id)` — **zéro HTTP, indestructible**.
    2. **Auto-injection des images inline** : l’IA esquivait parfois les `<img>` même
       quand on lui listait les produits dans le prompt. Le sanitizer compte maintenant
       les `<img>` valides après génération. Si moins de 3, il injecte automatiquement
       les images des produits restants, placées après les premières `<h2>`, wrappées
       dans des `<a>` vers la page produit pour le SEO. Le plugin reçoit un article
       qui a TOUJOURS au moins 3 images contextuelles, peu importe ce que l’IA a fait.
    3. **Prompt durci** : section IMAGES déplacée en MANDATORY (non-négociable), exige
       3-6 `<img>` minimum, format explicite avec wrap `<a href="PRODUCT_URL">` pour
       cumuler valeur SEO.
 * **Fix HTTP 429 sur ping IndexNow** : avant, un 429 (rate limit) cassait l’opération
   sans recovery. Désormais le retry honore le header `Retry-After` quand IndexNow
   l’envoie, sinon backoff plus long. Côté UI, le toast affiche un message clair(«
   IndexNow rate-limited. Try again in a few minutes. ») au lieu d’un cryptique «
   HTTP 429 ».
 * **Fix bouton « Indexer » qui ouvrait GSC dans une nouvelle fenêtre** : avant,
   après IndexNow + sitemap submit, le plugin ouvrait automatiquement Google Search
   Console sur la page d’inspection de l’URL — Google affichait son texte par défaut«
   URL is not on Google. Couldn’t fetch it… » et l’utilisateur croyait à un échec
   de l’indexation. Désormais aucune ouverture automatique ; le toast affiche un
   récap clair des étapes effectuées (« ✓ IndexNow · Sitemap re-submitted · Indexation
   status refreshed »). L’URL GSC reste accessible si besoin via `data-hint-url`
   sur le bouton (extensible plus tard pour une UI dédiée).
 * **Récap d’étapes détaillé** dans `ajax_request_indexing` : chaque sous-action(
   IndexNow, sitemap, inspection cache) renvoie son statut individuel. Les échecs
   partiels sont annoncés (`⚠ IndexNow rate-limited`) sans planter l’opération globale.

#### 1.1.74

 * **Audit de vérification 1.1.73** : aucun handler legacy orphelin, lock transient
   correct, idempotence du pull garantie, sanitizer appelé avant le débit crédit.
   1 seul vrai bug remonté, corrigé ici.
 * **Fix critique — page-close n’annule plus le job** : avant 1.1.74, le `cancelAllBulksOnUnload`
   annulait toujours les bulks au refresh / fermeture d’onglet via `navigator.sendBeacon`,
   ce qui était directement contraire à l’architecture jobs-serveur déployée en 
   1.1.72-73 (« rien ne s’arrête quand l’utilisateur ferme »). Le handler a été 
   neutralisé : les jobs continuent côté serveur, le polling reprend automatiquement
   au rechargement.
 * **Fix sites HTTP + installs en sous-répertoire** : le sanitizer côté Flask reconstruisait`
   https://{domain}` en ignorant le protocole et le subpath réels (info perdue côté
   serveur). Les sites en HTTP ou dans `/shop/` voyaient tous leurs liens internes
   stripés. Désormais le plugin envoie son `site_url` complet (via `home_url('/')`)
   dans le wp_context et dans le payload de `/optimize/article` — le sanitizer l’utilise
   comme base de résolution.
 * **IndexNow retry exponentiel** : avant, un seul shot avec timeout 5s. Un blip
   réseau ou un 503 transitoire perdait définitivement la soumission. Désormais :
   jusqu’à 3 tentatives avec backoff 0s / 1s / 3s. Les 4xx (clé / URLs invalides)
   court-circuitent — pas de retry sur erreurs déterministes. Timeout porté à 10s.
   Le log historique inclut maintenant `attempts` et `error` pour audit.
 * **Cleanup auto des cannibalisations dismissed/resolved obsolètes** : à chaque
   chargement de la page Search Console, on compare les clés stockées en options
   WP avec les paires (query|primary|secondary) actuellement présentes dans les 
   données GSC live. Toute clé absente du live  entrée stale  supprimée. Évite l’accumulation
   indéfinie (plusieurs centaines par an sur sites actifs).
 * **Helper `apiError(xhr, defaultMsg)` côté JS** : les erreurs AJAX étaient toutes
   affichées comme `'Network error'` quelle que soit la cause. Désormais détection
   automatique via le code HTTP et `responseJSON.data.code` :
    - Status 0  « Cannot reach the server. Check your internet connection. »
    - 401/403 ou code `invalid_api_key`  « API key invalid or expired. Reconfigure
      in Settings. »
    - 402 ou code `insufficient_credits`  « Plan ran out of credits. Upgrade in 
      Settings. »
    - 429 ou code `rate_limited`  « …

## Meta

 *  Wersja **1.4.2**
 *  Ostatnia aktualizacja **3 godziny temu**
 *  Włączone instalacje **20+**
 *  Wersja WordPressa ** 5.8 lub nowszej **
 *  Testowano do **6.9.9**
 *  Wersja PHP ** 7.4 lub nowszej **
 *  Język
 * [English (US)](https://wordpress.org/plugins/essiow/)
 * Tagi
 * [AI](https://pl.wordpress.org/plugins/tags/ai/)[merchant center](https://pl.wordpress.org/plugins/tags/merchant-center/)
   [Search Console](https://pl.wordpress.org/plugins/tags/search-console/)[seo](https://pl.wordpress.org/plugins/tags/seo/)
   [woocommerce](https://pl.wordpress.org/plugins/tags/woocommerce/)
 *  [Widok zaawansowany](https://pl.wordpress.org/plugins/essiow/advanced/)

## Oceny

Nie przesłano jeszcze żadnych recenzji.

[Twoja opinia](https://wordpress.org/support/plugin/essiow/reviews/#new-post)

[Zobacz wszystkierecenzje.](https://wordpress.org/support/plugin/essiow/reviews/)

## Zaangażowani

 *   [ boni58 ](https://profiles.wordpress.org/boni58/)

## Wsparcie

Masz coś do dodania? Potrzebujesz pomocy?

 [Zobacz forum wsparcia](https://wordpress.org/support/plugin/essiow/)