Description
Product Data Optimizer for Google Merchant Center
Most feed plugins export what WooCommerce already has. QWeb Merchant Feed improves the product data Google actually sees, and it keeps the work simple: generate, copy one URL, paste it into Merchant Center, done.
A technically valid XML file can still contain bad titles, missing identifiers, slug-cased sizes and incomplete apparel attributes. Those problems do not show up as a broken file. They show up later as disapprovals and weak Shopping listings.
This plugin creates optimized product data from WooCommerce, detects product data problems in plain words, and applies reversible one-click corrections without changing your shop pages.
Designed to improve millions of product records and detect thousands of product data issues before they reach Google Merchant Center. Generation streams, so a large catalogue is a normal case, not a special mode.
Live in minutes
- Activate. WooCommerce with published products is the whole prerequisite.
- Click Generate. The plugin writes the feed file and shows you its stable URL.
- Paste that URL into Merchant Center as a scheduled fetch.
That is the whole setup. No account, no API key, no Google login, nothing to configure first. The plugin ships with sensible defaults and rebuilds the feed on its own schedule from then on. A built-in Help tab walks through every step with the exact clicks.
Find problems with one Scan
One Scan button reads your catalogue. Each row is one problem type, explained in plain words: what was detected, how many products are affected and what to do next. Most rows have a one-click Apply, and Undo takes the last apply back.
QWeb Merchant Feed checks for issues such as:
- Missing or duplicate GTINs
- Missing brand
- Missing Google product category
- Missing apparel attributes such as gender and age group
- ALL CAPS, short, long or HTML-filled titles
- Duplicate titles
- Thin, duplicate or promotional descriptions
- HTML and capitalization problems in descriptions
- Many colours sold off one single photo
- Product data that needs human review rather than an automatic guess
Create optimized product data
- XML, TSV or CSV for Google Merchant Center
- Stable public feed URL for scheduled fetch
- Simple and variable WooCommerce products
- Unique offer IDs based on WooCommerce product or variation IDs
- Atomic writes so a failed regeneration does not serve a half-written feed
- Streaming generation designed for large catalogues
- No invented GTINs
- Google product category mapping when the match is reliable
- Per-product fields for titles, descriptions, GTIN, MPN, brand, size, colour, material, availability, condition, adult, custom labels and more
Optimize Google without touching WooCommerce
Corrections are stored separately from WooCommerce product-page content.
Priority is:
Per-product override > rule > WooCommerce mapping > omit
That means you can optimize data sent to Google without changing the title or description customers see on your store.
Mechanical fixes can be applied in batches with one click, and the most recent Apply batch can be undone with one more.
Standardize product information
Rules are plain forms, not code: who it applies to, which Google field, what to do. Starter chips fill the common ones in. Create rules based on:
- All products
- Category
- Product title
- SKU
- Product tag
Then set, prefix, suffix or replace Google product data fields.
Free edition
The free WordPress.org edition includes:
- Optimized product data output in XML, TSV and CSV
- Stable scheduled-fetch URL
- Local catalogue scan
- Mechanical Apply and Undo
- Rules to standardize product information
- Per-product Google Feed tab
- Bundled Google taxonomy
- WP-CLI tools for status, doctor, generate, audit, history, fix, explain and category mapping
The free edition does not phone home, call an LLM or require a Google login.
QWeb Merchant Feed PRO
PRO is the AI Product Data Optimizer for Google Merchant Center. It adds:
- Improve product titles and descriptions with AI-assisted rewrites
- Hosted 83-point product data audit
- Optional Merchant Center connection
- Merchant API / Content API workflow
- License-based site plans
AI suggestions do not automatically clear sensitive or policy-related findings that require human review.
Learn more at https://qwebmerchantfeed.com
External services
This free edition does not phone home. Product data generation, the local scan and mechanical
fixes all run on your own server. Google’s public product taxonomy is bundled as a local
data file, so category matching makes no request to Google.
A paid edition exists that can call QWeb for AI rewrites. That code is not in this zip.
Screenshots




Installation
- Install and activate the plugin. WooCommerce must be active.
- Go to Merchant Feed in the admin menu.
- Generate the feed, then open Audit and fix issues.
- Copy the feed URL. In Google Merchant Center, add a product data source pointing at that URL.
FAQ
-
Do I need to connect a Google account?
-
No. The free edition can generate a file and public feed URL. Add that URL as a scheduled data source in Merchant Center.
-
Does the plugin change my WooCommerce product pages?
-
No. Feed-level overrides are stored separately from the content customers see on your shop.
-
What is product data quality?
-
A feed can be valid XML and still contain weak or incorrect product data. QWeb Merchant Feed scans for missing identifiers, duplicate identifiers, title problems, missing apparel attributes and other product data issues before that file reaches Google.
-
Can it help with missing GTINs?
-
It can detect missing and duplicate GTINs and use a stored barcode when one is actually present. It never invents a GTIN. If an identifier genuinely does not exist, the feed can represent that truth instead.
-
Does it support variable products?
-
Yes. Product variations use unique WooCommerce variation IDs as offer IDs.
-
Can I use it for apparel?
-
Yes. The scanner understands common apparel fields such as gender, age group, colour and size.
-
Does my catalogue leave my site in the free edition?
-
No. Product data generation and the local scanner run on your WordPress server.
-
What does PRO add?
-
PRO is the AI Product Data Optimizer. It adds AI-assisted title and description improvements, a hosted 83-point audit and optional Merchant Center API workflows.
Reviews
There are no reviews for this plugin.
Contributors & Developers
“QWeb Merchant Feed” is open source software. The following people have contributed to this plugin.
ContributorsTranslate “QWeb Merchant Feed” into your language.
Interested in development?
Browse the code, check out the SVN repository, or subscribe to the development log by RSS.
Changelog
1.2.1
- Changed: price rounding for a market uses a site price function only when you name it on the market (or add it with the qweb_mf_price_snap_functions filter). There is no built-in default function any more.
- Changed: a “Price function” field on each market in Settings.
- Changed: code comments and the changelog no longer refer to any particular store.
1.2.0
- New: per-profile item exclusion, per-language title and description overrides, and a public link address for staging copies.
- Includes everything listed under 1.1.0, which was not released on its own.
1.1.0
- New: markets. One extra feed file per country, currency and language, each for its own Merchant Center data source. Prices are converted with CURCY (rates, fees, fixed per-product prices) or WooCommerce Multilingual, links carry the language path (Weglot, WPML, Polylang) and the currency parameter, and every variation link preselects its variation.
- New: excluded and included destinations, shopping ads excluded countries, multipack, bundle, unit pricing (also derived from a pack-size attribute), shipping rows, shipping label, handling times, product dimensions, size type, certification, lifestyle images, mobile link, expiration date, pause, return policy label, US tax and product details. Each one works as a product override, a rule target and a CSV/TSV column.
- New: an MPN field on products and variations. The SKU is only sent as MPN when Settings say so (on for sites updated from 1.0, so nothing changes for them).
- New: rules can match on price (ranges for price bands), on any product or variation attribute, on stock and on brand, and can write the matched value into a custom label.
- New: Google’s disclosure for AI-written text. A title or description written by the AI rewriter is also sent as structured_title or structured_description with the trained_algorithmic_media source type.
- New: landing-page price check. Loads a sample of product pages and compares the price in their product schema with the feed.
- Fixed: a scheduled sale was sent as a live sale before it started. It now goes out only while it runs, or with a sale_price_effective_date.
- Fixed: with SKUs as offer ids, Apply wrote fixes onto the wrong product.
- Fixed: the settings for variations, out-of-stock and external products were saved but never used.
- Fixed: grouped products sent their children twice.
- Fixed: CSV and TSV feeds left out custom labels and promotion ids.
- Fixed: a rule on a list attribute wrote the word “Array” into the feed.
- Fixed: password-protected and hidden products were in the feed.
- Fixed: shipping weight in pounds was written as “lbs”, a unit Google does not accept.
- Fixed: the AI claims filter now checks every AI text, titles included, and catches “#1” and claim verbs.
- Changed: the audit score weighs each problem by the share of products it affects; a missing Google category is a warning; gender and age group are only checked on apparel; variations of one product sharing a description are no longer duplicates.
1.0.4
- Changed: an order no longer rebuilds the feed. WooCommerce saves a product when an order lowers its stock, and every such save started a full feed generation, although the feed only carries in stock or out of stock, never a quantity. Saves that only change the stock count are now ignored. A stock change that makes an item go out of stock (or back in stock) still rebuilds, as does any other product edit.
1.0.3
- Fixed: on a site with a persistent object cache (Redis, Memcached) feed generation no longer flushes cache groups there. With the Redis Object Cache plugin each group flush scans the whole Redis store, which on a shared Redis server froze every site on it for about two minutes per feed run. Memory is now released inside the feed process only.
1.0.2
- New: duplicate variations (same product, same attributes, usually the same SKU from a repeated import) are sent to Google only once. The one that has sold is kept, the rest are listed as excluded with the reason “duplicate variation” and shown in the audit, so they can be deleted in WooCommerce.
- New: text pasted from Word or an old system often carries invisible Windows characters (a dash stored as U+0096). They are now turned into the character that was meant before the feed is written. Google reports the raw characters as “encoding problem”.
- New: additional images also come from variation-gallery plugins, and when a product has no gallery at all the parent’s main photo is added to variations whose own photo differs.
- New: optional Google attributes material (from a material or fabric attribute, or an explicit “Fabric type:” line or a percentage blend in the description), product_highlight (up to six bullet points from the description) and size_system (US automatically for US stores). Each is only written when the product states it, and each can be turned off.
- New: the feed dashboard and wp qweb-feed status show how much of the catalogue the feed covers (“Feed covers 24 of 90 published products”) and which categories are outside the scope, plus why items were excluded.
- Changed: the local audit now covers the whole feed instead of stopping at 2,000 items, and it refreshes itself in the background after every successful generation.
1.0.1
- Fixed: a fatal error on the front end. The plugin registered a request handler for a component that is not part of the free edition, so every page load ended in a blank page. The handler is now only registered when that component is present.
- New: Variation titles setting. Keep WooCommerce’s own name (Base – Colour, Size) or match the dashes format most feed plugins emit (Base – Colour – Size), so a migration keeps titles identical and Google keeps their history.
- Security: the log file name now carries per-site entropy (like WooCommerce logs), so servers that ignore .htaccess (nginx, OpenLiteSpeed) cannot serve it at a guessable URL. Existing logs are renamed automatically.
- The logs folder .htaccess now uses both Apache 2.4 and 2.2 deny syntax.
- Doctor reports it when it repairs feed directory ownership instead of fixing it silently, and explains that a feed URL timeout can be the server failing to reach its own public URL (containers, NAT).
- Uninstall removes the logs folder completely (the .htaccess used to survive and keep the folder behind).
1.0.0
- First public wordpress.org release.
- Product Data Optimizer for Google Merchant Center.
- Create optimized product data as XML, TSV or CSV with a stable scheduled-fetch URL.
- Choose which shop categories go into the feed, or exclude some.
- Detect product data problems: missing fields, shared barcodes, title issues and apparel gaps.
- Mechanical Apply and Undo. Shop pages are not edited.
- Rules to standardize product information, plus a per-product Google Feed tab.
