SVMPForge Product Feed for WooCommerce

Description

SVMPForge Product Feed for WooCommerce creates optimized product feeds from your WooCommerce store. Filter which products are included, map your data to the correct attributes for each destination, and serve the feed from a clean public URL that the channel fetches on a schedule.

Google Merchant Center gets the deepest support — full Google Shopping attribute coverage plus a bundled copy of Google’s product taxonomy for category mapping — and the same feed engine drives the Meta (Facebook & Instagram) catalog feed.

Features

  • Google Shopping and Meta (Facebook & Instagram) channels.
  • Output formats: XML (RSS 2.0) and CSV.
  • Product types: Simple, Variable, Grouped and External/Affiliate, with variations exported as individual items carrying the correct item group id.
  • Google Shopping attributes: id, title, description, link, image link, availability, price and sale price, brand, GTIN/MPN, condition, Google product category, product type, basic shipping and tax.
  • Product filtering by category, tags, brands, stock status, product type, price range, SKU, featured and on-sale products, plus data-quality toggles (skip products without an image or price).
  • Attribute mapping from standard WooCommerce fields, product attributes, taxonomies, custom fields (post meta) and static values, with optional fallback values.
  • Map WooCommerce categories to the bundled Google product taxonomy, with parent-to-child inheritance.
  • One-click feed duplication.
  • Manual generation plus hourly, twice-daily, daily and weekly scheduled refresh, processed in the background with Action Scheduler.
  • Large catalogs generated as resumable background runs with a live progress bar — generation never hits a PHP or web-server timeout, and an interrupted run picks up where it left off.
  • Public feed URLs with unguessable tokens, or private URLs protected by a secret key.
  • Generation logs and a system status screen.
  • Feed export/import as JSON.

Optional add-on

Everything described above is included and fully functional in this plugin, with no account, licence or usage limit of any kind.

A separate add-on, distributed outside WordPress.org, adds further destinations and writers. It is entirely optional: none of its code ships here, and nothing in this plugin is disabled or reduced without it.

Trademarks

WooCommerce and WordPress are trademarks of their respective owners. Google, Google Shopping and Google Merchant Center are trademarks of Google LLC. Meta, Facebook and Instagram are trademarks of Meta Platforms, Inc. This plugin is an independent project and is not affiliated with, endorsed by or sponsored by any of them. These names are used only to describe the services this plugin generates feeds for.

The bundled Google product taxonomy file (data/taxonomy-with-ids.en-US.txt, version 2021-09-21) is published by Google for merchants and feed tools and is redistributed unmodified as reference data. See data/README.txt for full provenance.

Installation

  1. Upload the plugin files to the /wp-content/plugins/svmpforge-product-feed-for-woocommerce directory, or install the plugin through the Plugins screen in WordPress.
  2. Make sure WooCommerce is installed and active.
  3. Activate the plugin through the Plugins screen in WordPress.
  4. Go to Product Feeds in the admin menu to create your first feed.
  5. Configure the feed, save it, and click Generate to build the feed file. Copy the feed URL into your Google Merchant Center account.

FAQ

Does this plugin require WooCommerce?

Yes. WooCommerce must be installed and active. The plugin will show a notice and stay inactive until WooCommerce is available.

Which output formats are supported?

XML (RSS 2.0) and CSV — the two formats Google Merchant Center and Meta most commonly ingest. Both are fully available.

How many feeds can I create?

As many as you like. This plugin applies no feed limit, no trial period and no licence check of any kind.

Can I schedule automatic feed updates?

Yes. Each feed can be set to regenerate hourly, twice daily, daily or weekly at a time you pick. Generation runs in the background using Action Scheduler (bundled with WooCommerce).

Are product variations supported?

Yes. Variable products can be exported as individual variations, each with the correct item group id so Google groups them together.

Where are feed files stored?

Generated feed files are written to a protected directory inside your uploads folder and served through a clean feed URL such as https://your-store.com/apfw-feed/{unique-token}.xml. The token is a random identifier generated per feed, so feed URLs cannot be guessed. On sites using Plain permalinks the feed is served through an equivalent query-string URL instead.

Why do some CSV values start with an apostrophe?

Values beginning with =, +, - or @ are escaped with a leading apostrophe in CSV feeds, the same way WooCommerce’s own CSV exporter does, so they cannot execute as formulas when a feed is opened in a spreadsheet. Plain numeric values are never escaped. Developers can disable this via the apfw_csv_escape_formulas filter.

Which currency and language is the feed labelled with?

Products are exported exactly as WooCommerce stores them, so every feed is labelled with your store currency and your site language. Developers can relabel a feed with the apfw_feed_currency and apfw_feed_language filters — for example from a multi-currency plugin that has actually converted the prices.

Does this plugin phone home?

No. This plugin does not contact any external server. Licensing and automatic updates apply only to a separately sold add-on hosted outside WordPress.org.

Where does the Google product category list come from?

The plugin bundles Google’s official product taxonomy file (version 2021-09-21), published by Google at https://www.google.com/basepages/producttype/taxonomy-with-ids.en-US.txt for merchants and feed tools to use. It is redistributed unmodified as reference data so the category mapping screen can search and validate categories offline, without any external request. See data/README.txt in the plugin folder for full provenance. Developers can supply a different or localized list with the apfw_google_taxonomy filter.

How are very large catalogs handled?

Every generation — scheduled, manual or started from the editor — is one resumable run made of short steps. Each step processes products for a bounded number of seconds (it checks the clock and the memory limit after every product), appends them to a temporary file and saves its position; the next step continues from the last product written. Steps are chained in the background through Action Scheduler (bundled with WooCommerce) or, without it, through WP-Cron, so no single request can hit a PHP or web-server timeout and a host with a hard max_execution_time of 60 seconds still completes a 500 MB feed. Products are fetched with keyset pagination (ID > last id), so the millionth product costs the same query as the first.

If a step is killed by a fatal error, the run is not lost: the next step resumes from the saved position with the temporary file trimmed to its last good byte, so no product is ever duplicated. After three failures at the same position the run stops and the log names the product that caused it. When you start a generation from the editor, the browser drives the steps so you see live progress; closing the tab hands the run to the background and the feeds list keeps showing its progress. The finished file is swapped into place atomically, so the previously published feed is never served half-written, and feeds of 1 MB or more are also stored pre-compressed for clients that accept gzip. Feed URLs support HEAD and byte-range requests, and very large files can be handed to the web server (X-Sendfile / X-Accel-Redirect) from Settings.

Reviews

There are no reviews for this plugin.

Contributors & Developers

“SVMPForge Product Feed for WooCommerce” is open source software. The following people have contributed to this plugin.

Contributors

Changelog

1.0.2

  • Removed the feed-count cap and every trace of its enforcement — feeds are unlimited.
  • Removed the per-feed currency and language gate; feeds are labelled with the store currency and site language, adjustable with the new apfw_feed_currency and apfw_feed_language filters.
  • Removed add-on advertising from the feed wizard; the destination picker now lists only channels this plugin can build.
  • Sanitized every admin form array with map_deep() so sanitization is verifiable by static analysis.
  • Sanitized the REST search parameter everywhere and made every request read array-safe.
  • Refusing, rather than silently emptying, a category-map save with a missing or malformed payload.
  • Rewrite-rule self-healing no longer runs on front-end requests.
  • Uninstall and deactivation now clear queued feed-generation cron events, and uninstall removes the storage directory’s .htaccess.

1.0.1

  • Distinctive plugin name and slug for the WordPress.org directory (svmpforge-product-feed-for-woocommerce).
  • All features included in this plugin are fully usable without a license.
  • Sanitize settings and feed config before they are passed to filters.
  • Raise PHP time limits only during feed generation (never on the Status screen) and restore them afterwards.

1.0.0

  • Initial release: Google Shopping and Meta feeds, XML/CSV output, full core Google Shopping attribute support, category and stock filtering, category and attribute mapping, daily/weekly scheduled generation, public feed URLs, logs and system status.