Title: Product Sheet Importer for WooCommerce
Author: asymetria
Published: <strong>September 26, 2026</strong>
Last modified: September 26, 2026

---

Search plugins

![](https://s.w.org/plugins/geopattern-icon/product-sheet-importer-for-woocommerce.
svg)

# Product Sheet Importer for WooCommerce

 By [asymetria](https://profiles.wordpress.org/asymetria/)

[Download](https://downloads.wordpress.org/plugin/product-sheet-importer-for-woocommerce.1.3.2.zip)

 * [Details](https://wordpress.org/plugins/product-sheet-importer-for-woocommerce/#description)
 * [Reviews](https://wordpress.org/plugins/product-sheet-importer-for-woocommerce/#reviews)
 *  [Installation](https://wordpress.org/plugins/product-sheet-importer-for-woocommerce/#installation)
 * [Development](https://wordpress.org/plugins/product-sheet-importer-for-woocommerce/#developers)

 [Support](https://wordpress.org/support/plugin/product-sheet-importer-for-woocommerce/)

## Description

Entering products by hand means copying a dozen fields from a document into a dozen

boxes, one product at a time. This plugin adds a single box to the product edit 
screen: paste the whole sheet, click **Import Product Sheet**, and every recognised
section goes where it belongs.

**What it fills**

 * Product title and permalink
 * Short description and description, with the HTML kept exactly as written
 * Product attributes, as global attribute terms where that is possible
 * Product tags
 * SEO title, focus keyword and meta description, in whichever SEO plugin is active
 * ALT text, title, caption and description of the featured image

**Nothing is deleted by accident.** A section that is missing from the sheet, or

present but empty, is skipped – it never blanks a field that already has content.
An `Attributes` block replaces only the attributes it names, and an attribute that
is already on the product keeps its position, its visibility and its “used for variations”
flag.

**Attributes are resolved properly.** The label from the sheet is matched against

the shop’s global attributes by label, slug and taxonomy name. On a match the values
become real terms and the product is attached to them, so layered navigation, attribute
filters and attribute archives can see it. If you tick “Create global attributes
the shop does not have yet”, missing ones are created for you; otherwise the attribute
is stored as a local one, exactly as before.

**Supported SEO plugins:** Yoast SEO, Rank Math, SEOPress and All in One SEO. The

active one is detected automatically and named in the meta box.

Prices, stock, SKU and images are deliberately out of scope – this plugin fills

editorial fields and never touches what your shop sells or how much for.

## Installation

 1. Upload the plugin through _Plugins > Add New > Upload Plugin_, or copy the folder
    
    into `wp-content/plugins/`.
 2. Activate it. WooCommerce has to be active as well; if it is not, the plugin says
    
    so and does nothing.
 3. Edit any product, find the **Import Product Sheet** box, paste your sheet and
     
    click **Import Product Sheet**.

## FAQ

### What does a sheet look like?

Each section header sits on its own line, a trailing colon is optional and case 
does
 not matter. Everything until the next recognised header belongs to that section:

    ```
    Product Title
    Ethiopia Yirgacheffe Single-Origin Coffee - Whole Bean 340g

    Attributes
    Roast Level: Light-Medium
    Tasting Notes: Jasmine | Citrus | Black Tea

    Tags
    single-origin, ethiopia, whole bean
    ```

Attribute values accept `|` or `,`; tags accept commas or new lines.

### Will importing twice overwrite my work?

Only the sections your sheet actually contains are written. Anything the sheet does

not mention is left alone.

### Why was my attribute stored as a local one?

Either the box for creating global attributes was not ticked, or the product already

had a local attribute with that name – in which case it is filled in place rather
than gaining a global twin next to it. The notice after the import says which of
the two happened for every line.

### Can I stop it creating attributes on a client’s shop?

Yes, with a filter:

    ```
    add_filter( 'psifw_create_missing_attribute', '__return_false' );
    ```

### Does it change my HTML?

Not if you are allowed to post unfiltered HTML. Anyone else gets the same `wp_kses`

treatment the editor applies, so a sheet cannot smuggle markup past the rules that
already apply to that user.

## Reviews

There are no reviews for this plugin.

## Contributors & Developers

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

Contributors

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

[Translate “Product Sheet Importer for WooCommerce” into your language.](https://translate.wordpress.org/projects/wp-plugins/product-sheet-importer-for-woocommerce)

### Interested in development?

[Browse the code](https://plugins.trac.wordpress.org/browser/product-sheet-importer-for-woocommerce/),
check out the [SVN repository](https://plugins.svn.wordpress.org/product-sheet-importer-for-woocommerce/),
or subscribe to the [development log](https://plugins.trac.wordpress.org/log/product-sheet-importer-for-woocommerce/)
by [RSS](https://plugins.trac.wordpress.org/log/product-sheet-importer-for-woocommerce/?limit=100&mode=stop_on_copy&format=rss).

## Changelog

#### 1.3.2

 * The meta box stylesheet and script are enqueued from assets/ instead of being
   
   printed inline, and only on the product editor.

#### 1.3.1

 * Declares compatibility with WooCommerce’s high-performance order storage and 
   the
    cart and checkout blocks, and declares that the classic meta box does not
   appear in the block product editor – so WooCommerce stops listing the plugin 
   as untested.

#### 1.3.0

 * Creating missing global attributes is now an explicit choice on the product screen.
 * Sheets from users without the `unfiltered_html` capability go through `wp_kses_post()`.
 * Renamed everything to its own prefix and dropped the manual translation loading.

#### 1.2.4

 * A second copy of the plugin no longer takes the site down on activation.
 * The notice names the plugin version, lists what the Attributes block did line
   by
    line, and reports the exact error when an attribute or term cannot be created.

#### 1.2.0

 * Missing global attributes can be created, with their taxonomy registered straight
   
   away so terms attach in the same request.
 * Added the Import Product Sheet button.

#### 1.1.0

 * Attributes resolve to global attribute terms when the shop has a matching one.
 * An Attributes section replaces only the attributes it names.
 * A rejected paste is kept instead of emptying the box.

#### 1.0.0

 * First release.

## Meta

 *  Version **1.3.2**
 *  Last updated **1 day ago**
 *  Active installations **Fewer than 10**
 *  WordPress version ** 5.8 or higher **
 *  Tested up to **7.1.2**
 *  PHP version ** 7.4 or higher **
 * Tags
 * [attributes](https://wordpress.org/plugins/tags/attributes/)[import](https://wordpress.org/plugins/tags/import/)
   [products](https://wordpress.org/plugins/tags/products/)[seo](https://wordpress.org/plugins/tags/seo/)
   [woocommerce](https://wordpress.org/plugins/tags/woocommerce/)
 *  [Advanced View](https://wordpress.org/plugins/product-sheet-importer-for-woocommerce/advanced/)

## Ratings

No reviews have been submitted yet.

[Your review](https://wordpress.org/support/plugin/product-sheet-importer-for-woocommerce/reviews/#new-post)

[See all reviews](https://wordpress.org/support/plugin/product-sheet-importer-for-woocommerce/reviews/)

## Contributors

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

## Support

Got something to say? Need help?

 [View support forum](https://wordpress.org/support/plugin/product-sheet-importer-for-woocommerce/)