Ecommerce

WSH Product Catalog

The free plugin builds one public Google XML feed from WooCommerce. PRO adds more catalogs, Meta and custom feeds, CSV, schedules, category mapping and protected links. The free plugin does not need a license key.

Install, license and updates follow the same steps for every plugin. Those steps are on Getting started. The notes below are only for Product Catalog.

Install

  1. Install and activate WooCommerce, then WSH Product Catalog. Activation creates the catalog table. The free plugin keeps one Google XML catalog.
  2. Open Product Catalog in wp-admin. Choose a category and a stock status, review the field mapping, then click Generate feed now.
  3. Copy the feed URL from the dashboard. Give that address to Google. The address stays the same each time you generate the file again.
  4. For PRO, download the zip from My Account → Plugin files, upload it, and activate it. PRO requires the free plugin, version 1.0.2 or newer, and WooCommerce.
  5. Open Product Catalog → License and paste the license key.

Deactivating either plugin does not delete catalogs or feed files. The free plugin deletes them only if you turn on deletion under Feed settings and then uninstall it while PRO is not active. PRO uninstall removes its own history and private feed files. It does not remove the free catalog or the public Google XML file.

License

The free plugin never asks for a key. PRO checks the key against wppluginspro.io.

  • Plans are 1 site, 5 sites or 25 sites. A staging, localhost or .local address does not use a slot.
  • An Ecommerce suite key unlocks Product Catalog PRO and the other Ecommerce PRO plugins on that one domain. It does not unlock News plugins.
  • When the expiry date has passed, you cannot add catalogs or change PRO settings, and scheduled generation pauses. Catalogs, mappings, history and feed files stay. The free plugin can still generate its Google XML feed.
  • If the license server cannot be reached, a license that was already verified on this site keeps working for up to 7 days. A site that has never completed a successful check does not get that window.
  • A new PRO zip is offered only while the license is active. Download it from Plugin files.

Plans and prices are on the Product Catalog page.

First setup

Go to Product Catalog. WooCommerce stays the place where you edit products. This plugin does not change prices, titles, stock or descriptions.

  • Dashboard. Feed status, the last run, and the stable feed URL. The on-screen sample shows the first 5 matching products. That sample does not limit the file.
  • Catalog. Active or paused. Filter by product category, stock status, and an optional language code for WPML or Polylang.
  • Products. A paged list of matching products. A switch on a row keeps that product out of the feed.
  • Feed settings. The feed name. Currency is taken from WooCommerce and written as 149.99 USD.
  • Field mapping. Each feed field can use a WooCommerce source or a fixed value. Condition defaults to new.
  • Validation. A product missing a title, URL, image or price is skipped and counted. The rest of the feed is still written. WSH checks common requirements. Google decides whether to accept the file. This plugin does not submit the feed.

The public address is /wsh-catalog/{id}/feed.xml. Use that address. Do not link to the file inside the uploads folder.

Feeds and generation

Click Generate feed now after you change filters or mapping, and after WooCommerce product data changes. The dashboard says when the file is older than the products.

Generation walks the catalog in batches and writes every product that matches the filters and passes validation. Each variation is its own item in the free plugin.

With two or more catalogs, a Feeds bar at the top switches the screen you are editing. Settings, the feed link and Generate apply to the catalog selected there.

Free and PRO

The free plugin is a complete Google XML feed. PRO is a separate plugin. It does not hide code behind a lock inside the free zip.

Feature Free PRO
One public Google XML catalog Yes Yes
Every matching product, including variations Yes Yes
Category, stock and language filters Yes Yes
Field mapping and validation Yes Yes
Additional catalogs No While the license is active
Meta catalog and custom feed No While the license is active
CSV file No While the license is active
Parent only, variations only, or both Variations only While the license is active
Include and exclude product IDs, product type No While the license is active
Google category mapping No While the license is active
Schedule Manual only Twice a day, daily, or weekly
Feed history Last run on the catalog Last 10 runs
Protected feed link No Token on the URL

PRO screens that create or change a catalog check the license. A locked screen does not delete catalogs, mappings, history or feed files.

PRO catalogs

Open Product Catalog → All catalogs. Type a name, pick a channel, and click Add feed. Channels are Google product feed, Meta catalog and Custom feed.

  • Format. XML is the file Google and Meta fetch. CSV is the same products as a spreadsheet, at /wsh-catalog/{id}/feed.csv.
  • Variations. Variations only, parent only, or parent and variations. Variations only is the usual choice for Google and Meta.
  • Schedule. Manual only, twice a day, daily, or weekly. A due schedule rebuilds the file from current WooCommerce data, including price and stock changes, even when the catalog settings were not edited.
  • Feed link. Public is a stable address. Protected adds a token. Regenerating the token makes the previous link stop working.
  • Include and exclude product IDs. Leave include empty to use the catalog filters. Excluded IDs are left out even when they match.
  • Product type. Any type, simple, or variable.
  • Price adjustment. A percent applied only in the generated file. WooCommerce prices are not modified.
  • Category Mapping. Match WooCommerce categories to Google’s product taxonomy. You can apply one map to every catalog.
  • Feed History. The last 10 runs for the selected catalog: counts, errors and file size.

What is stored

  • Catalog settings: name, filters, mapping, schedule and the last run.
  • The feed file. A public file is served from the stable URL. A protected file is not meant to be opened without its token.
  • PRO history: the last 10 generation runs per catalog.
  • The license key, on this site only. It is not written into the feed, the history, or a log line.
  • Product rows are read from WooCommerce on your server. They are not sent to wppluginspro.io, Google or Meta. This plugin does not submit the feed.

If a product is missing from the feed

  • It is a draft, or it does not match the category, stock or language filter.
  • It was switched off on the Products screen, or its ID is in the exclude list.
  • Validation skipped it. A title, URL, image or price is missing. Open Validation.
  • The catalog is paused, or its schedule is manual and you have not clicked Generate feed now since the product changed.
  • You are opening the uploads file instead of /wsh-catalog/{id}/feed.xml or feed.csv.
  • The feed is protected and the URL has no token, or the token was regenerated.
  • PRO shows a locked notice. The license is missing or expired, or the free plugin is older than 1.0.2. Existing files stay. New PRO catalogs and PRO setting changes wait for an active license.

Developer notes

There is no shortcode. The feed is a file at a stable URL:

/wsh-catalog/{id}/feed.xml
/wsh-catalog/{id}/feed.csv

A protected catalog adds ?token= to that URL. The token is created in wp-admin. Guessing a shorter token does not reveal how close it was.

The free plugin exposes filters. PRO uses the same hooks for Meta, CSV and protected files. Useful ones:

  • wsh_product_catalog_include_product — return false to skip one row.
  • wsh_product_catalog_field_value — change one mapped value.
  • wsh_product_catalog_query_args — adjust the product query. WPML and Polylang can scope the feed here.
  • wsh_product_catalog_after_generate — runs after a file is written.

There is no REST route for the catalog and no PHP template for a feed row.

Recent changes

Free plugin 1.0.2 is one public Google XML catalog. Extra catalogs, CSV and token links live in PRO. PRO 1.0.3 regenerates a scheduled catalog when the schedule is due, so later product changes are included without editing the catalog settings. PRO requires free plugin 1.0.2 or newer.

Last updated: Sep 2026