4 min read

How to Set Up Shirely for the First Time

The best first Shirely import is intentionally small. Its job is not to move the entire catalog. Its job is to prove that the file, field mapping, matching keys, WooCommerce configuration, and—when used—WPML languages agree with one another.

Once that sample behaves correctly, the same decisions can be applied to a larger batch with much less uncertainty.

Check the environment first

Shirely requires WordPress 6.0+ and PHP 8.0+. For product workflows, use WooCommerce 8.0 or newer. WPML Multilingual CMS is needed only for Matrix Mode and WPML-specific multilingual behavior.

Before any write to an existing store:

  • work on staging;
  • take a current database backup;
  • confirm the target languages and their WPML codes;
  • pause other imports that could change the same catalog records;
  • decide which product key the source owns.

For standard cross-store products, SKU is the usual key. Matrix ID / External ID belongs to multilingual Matrix workflows. Do not use post IDs copied from another WordPress installation as portable identity.

Build a representative sample

Begin with two or three records, not rows chosen only because they are easy. Include a normal product and one feature that matters to your catalog, such as a variation, category assignment, image, or translated field.

A minimal multilingual example is:

sku,title|en,title|pl,regular_price
DRILL-100,Power Drill,Wiertarka,149.99

Only translated fields need language suffixes. Shared values such as SKU, price, and stock remain single columns unless your store's supported workflow requires something else.

Save the file as UTF-8. Keep column names clear and avoid exporting hundreds of empty fields from another system.

Upload, map, and preview

Open the Shirely import flow, select the appropriate content type, and upload the CSV. Review the proposed mapping instead of accepting it blindly.

Confirm:

  • the SKU or intended identity field is mapped;
  • prices and stock have not shifted into translated columns;
  • language suffixes match configured WPML codes;
  • parent and variation references resolve as expected;
  • category fields use the intended format;
  • columns you do not want to write remain unmapped.

If language-suffixed columns are present and WPML is active, verify that Matrix Mode is detected and that the preview shows the create, update, skip, and warning outcomes you expect.

Run the sample and inspect the store

Start the import only after the preview makes sense. Then open the resulting records in WooCommerce admin and on the storefront.

Check the product title, price, SKU, stock, category, and image. For a multilingual test, open every language version and use the language switcher in both directions. For a variable product, select every test variation and confirm SKU, price, and stock.

Run the same sample a second time. A repeat test is essential because it proves whether matching updates the intended records rather than creating duplicates.

Add Google Sheets only when the CSV path is understood

A local CSV is the clearest first diagnostic because the exact input is easy to keep. Once the mapping is proven, you can use a Google Sheet if it fits the team's review process.

A public published Sheet can be imported without credentials. Private Sheet import and every Google Sheets export require a Service Account with access to the relevant Sheet.

Keep this distinction clear: Shirely runs explicit import and export jobs; a spreadsheet edit does not immediately change the store.

Save Automation after the job works manually

Shirely 1.3 can save supported import and catalog/content export configurations as Automation slots. Use Run now to test the saved slot deliberately, then inspect Run History.

WP-Cron schedules are available as hourly, twicedaily, and daily, but WP-Cron is traffic-driven and does not guarantee an exact start time. For larger or time-sensitive jobs, system cron invoking Shirely through WP-CLI is more predictable.

Do not schedule jobs that can update the same products, terms, or WPML/WCML groups to overlap. Same-slot and same-Sheet protections are not a global lock for every writer.

Move from sample to production carefully

Increase the batch size in controlled steps. Keep the tested source file, export or record the result counts, and compare a sample after each meaningful change.

For the live run:

  1. take a fresh backup;
  2. use the same reviewed mapping;
  3. keep overlapping writers paused;
  4. run the import;
  5. inspect warnings and representative records;
  6. clear only the relevant cache after the data is correct.

The complete field reference and Automation guidance are in the Shirely documentation. Continue with the WooCommerce product CSV guide or the WPML import overview for the workflow you need.