Skip to content

Publishing to WordPress, WooCommerce and Joomla

Update hundreds of pages and products from one spreadsheet.

Drop in your CSV or Excel file. Content Uploader shows you exactly what’s new, what changed and what needs fixing, then publishes it all in one click. No copy-paste, no duplicates, no surprises.

25% off your first payment on any paid plan

  • Nothing goes live until you approve it
  • No site passwords shared
  • CSV and Excel, up to 10,000 rows
Demo: publishing the latest spreadsheet

Yacht listings · latest update

Review first

yacht-listings.xlsx

248 rows · 14 columns

  • Headers read, separator detected
  • All 14 columns found
  • 248 rows checked, field by field
  • Compared with your live site

yacht-listings.xlsx

248 rows checked against your site

Checked
New
6
Updated
17
Unchanged
223
Skipped
2
  • Updated

    Aurora 58 Flybridge

    Price €1,150,000 → €1,095,000

  • New

    Blue Horizon 36

    New category: Sailing yachts › Cruisers

  • Skipped

    Row 131 · Coral Bay 28

    Price: “TBD” is not a number.

Dropping the latest file.

to publish every reviewed change
1 click
per CSV or Excel file
10,000 rows
validated before anything goes live
Every row
when the same file is uploaded again
0 duplicates

Works with

Not tied to one CMS.

Your mappings, checks and reviews stay the same on every platform. A connector on your site does the publishing: today for WordPress, WooCommerce and Joomla, and other platforms can plug into the same workflow.

  • WordPress

    Posts, pages and custom post types, with categories, tags, custom fields and featured images.

    Connect with the Content Uploader plugin.

  • WooCommerce

    Products, variations, prices, sales and stock, with what your shop holds now shown next to what your file says.

    Works on a connected WordPress site with WooCommerce 9.0 or later.

  • Joomla

    Articles with categories, tags, custom fields and images, on Joomla 5 and 6.

    Connect with the Content Uploader extension.

The problem

Your data lives in a spreadsheet. Your website shouldn’t be a second job.

Prices change, listings sell, new items arrive. Then someone opens the site’s admin and edits page after page by hand, or runs an import and hopes for the best.

  • Hours of copy-paste

    Open, edit, save, repeat. The same fields on the same pages, every single time.

  • Duplicates on re-import

    Run a basic import twice and you get two of everything. Cleaning up takes longer than the import did.

  • No idea what changed

    Blind imports overwrite everything. You find out a price was wrong when a customer tells you.

  • One bad column, hundreds of broken pages

    A renamed header or an empty cell slips through, and the damage is live before anyone notices.

What is copy-paste costing you?

Move the sliders to match your work.

40
4
4

Time spent on manual updates

128hours a year

That’s about 3.2 working weeks of opening, editing and saving pages. With Content Uploader, each update is one file drop and one review.

Get those hours back

How it works

Set it up once. After that, it’s drop, check, publish.

The mapping is the hard part, so you only do it once. Every file after that reuses it, and every run gets the same checks.

  1. 1

    Map it once

    Connect your site with the Content Uploader plugin or extension, choose what to create, and match your columns to fields, categories and tags. Templates build titles and page content from several columns at once.

    • Title{{ Model }} for sale in {{ Location }}
    • StatusPublished
    • CategoryType › Class
    • TagsFeatures
  2. 2

    Drop the new file

    Drag your latest file onto its card. Missing or renamed columns are caught before anything runs, and every row is checked field by field.

    yachts-update.csv
    • Semicolon separator detected
    • 14 of 14 columns found
    • Row 88 · Title resolves to an empty value
  3. 3

    Review and publish

    See what’s new, what changed down to the field, and what was skipped and why. One click publishes it in the background, and you get an email when it’s done.

    4 new12 updated231 unchanged1 skipped
    Ready to publish Publish 16 changes

Prefer hands-off? Set a configuration to publish automatically. Clean files go live on their own; anything unusual still waits for you.

Live preview

See the finished page before it exists.

Pick any row to see exactly what will be published: title, content, categories and tags, resolved by the same engine that publishes them. Previews never change your live site.

yacht-listings.xlsx

Pick a row to preview

Sample spreadsheet rows. Choose one to preview its page.
PreviewIDModelLocationTypeClassPriceFeatures
Y-1042Aurora 58 FlybridgePalmaMotor yachtsFlybridge1095000Stabilizers, Jet ski garage
Y-1043Blue Horizon 36SplitSailing yachtsCruisers189000Teak deck, Solar panels, Bow thruster
Y-1051Nordic Cruiser 44KielMotor yachtsTrawlers420000Heated cabin, Bow thruster
Y-1058Marlin Sport 31NiceMotor yachtsSport boats139000T-top, Twin outboards

Title ← {{ Model }} for sale in {{ Location }}

Category ← Type › Class · Tags ← Features, split on commas

Preview · row 2

Nothing is written to your site

Motor yachts › Flybridge

Aurora 58 Flybridge for sale in Palma

yoursite.com/yachts/aurora-58-flybridge-palma/

Price
€1,095,000
Location
Palma
Class
Flybridge
  • Stabilizers
  • Jet ski garage

Status: PublishedRecord ID Y-1042

Features

Everything an update needs. Nothing it doesn’t.

Change review, down to the field

Every upload becomes a change set: new, updated, unchanged and skipped. Updated items show exactly which fields changed, with the old value right next to the new one.

  • Aurora 58 Flybridge

    Price €1,150,000 → €1,095,000

  • Nordic Cruiser 44

    Location Hamburg → Kiel

  • Marlin Sport 31

    Tags + Twin outboards

Categories and tags, sorted

Nested categories, tags from several columns and new terms created parents-first, all listed before you approve.

Sailing yachts

Cruisers NEW

Templates for any field

Build titles, slugs, excerpts and page bodies from {{ Column }} placeholders, with a visual editor for formatted content.

Autopilot when it’s safe

Review every file, or let clean files publish themselves. Errors, skipped rows and changed columns still wait for you.

Safe to run again

Every row is matched to its page or product by a record ID, such as a SKU, or by its slug or title when your file has none. Upload again or retry a failure: items get updated, never duplicated.

Connect without passwords

Install the Content Uploader plugin or extension and approve the connection. No site password is ever shared, and you can disconnect at any time.

Emails when it matters

Hear when a file needs you or publishing is done, only for the runs you started.

Many sites, one workspace

Connect several WordPress, WooCommerce or Joomla sites and keep each one’s configurations and publishing history in one place.

Built-in safeguards

Nothing goes live by accident.

Publishing hundreds of pages should feel boring. Every file passes the same checks before a single page changes, and you can see every one of them.

  • Columns checked first

    A missing or renamed header stops the file before any row is processed, and names every field that uses it.

  • Errors you can act on

    “Price: ‘TBD’ is not a number.” Every problem names its row and field, and those rows are skipped, not published.

  • Previews never write

    Previews and checks only read from your site. Nothing changes until you publish.

  • You publish what you reviewed

    Exactly the reviewed changes are sent. If your site’s fields changed since the check, publishing stops and asks you to check again.

  • Protected items stay protected

    Items that are trashed or can’t be edited on your site are skipped and explained, never overwritten.

  • Every change on record

    Each mapping change is saved as a new version with who made it, and every run keeps the version it was checked with.

Preflight report

yachts-update.xlsx

Columns
14 of 14 found
Rows
246 ready · 2 skipped with reasons
Your site
Reachable, fields unchanged
New terms
Sailing yachts › Cruisers
Duplicates
None, matched by record ID
23 changes ready Publish

Who it’s for

For teams whose website runs on a spreadsheet.

  • Listings and directories

    Boats, properties, vehicles, jobs. Keep prices, availability and details in sync across hundreds of listing pages.

  • Agencies

    Set up each client’s site once. After that, every update is a file drop, whenever you need one, with no CMS training needed.

  • Shops and catalogs

    Keep prices, sales and stock up to date from a supplier file, or turn spec sheets into consistent pages laid out by one body template.

  • Location and landing pages

    Generate city, venue or service pages from one sheet with templates like {{ Service }} in {{ City }}.

  • Migrations

    Moving to a new site? Map the export’s columns once, keep every address, date and status, and read each article before it goes live.

FAQ

Questions, answered.

Everything worth knowing before your first upload.

Which CMSs does it work with?

WordPress, including WooCommerce shops, and Joomla 5 and 6. Content Uploader keeps your files, mappings and reviews independent of any one CMS. Each platform has a connector of its own that plugs into the same workflow, so more platforms can be added.

Does it work with WooCommerce?

Yes, with WooCommerce 9.0 or later. Create products and update the ones your shop already has, and the variations of variable products, with price, sale dates, stock, attributes, images and galleries. Before anything changes, the review shows what your shop holds now next to what your file says, and a price that suddenly moves a lot waits for your confirmation. Products that are not in a file are left exactly as they are. Grouped products and downloadable files are not written yet.

Do I have to share my site password?

No. You install the Content Uploader connector on your site (a plugin for WordPress, an extension for Joomla), start the connection there and approve your workspace. No WordPress or Joomla login or application password is ever entered in Content Uploader, and you can disconnect from either side at any time.

Which files can I upload?

Excel workbooks (.xlsx, .xlsm and older .xls), OpenDocument spreadsheets (.ods) from LibreOffice or Google Sheets, and CSV or text files (comma, semicolon or tab separated, detected automatically), up to 10 MB and 10,000 rows each. The first row holds your column names; workbooks use their first sheet.

What happens if I upload the same file twice?

Nothing changes on your site. Each row is matched to its page or product by a record ID column you choose, or by its slug or title when your file has none, so unchanged items are left alone and changed items update the existing page instead of creating a new one.

What can I fill in on my pages?

The writable fields your site offers for the content type, such as title, content, excerpt, slug, status, author and dates, plus categories, tags and other taxonomies, custom fields and images. On a WooCommerce shop that includes a product’s price, sale, stock, SKU and attributes. Each field can come from a column, a fixed value or a template that combines several columns.

Can it create new categories and tags?

Yes, when the account that publishes to your site is allowed to. New terms, including parent categories, are listed before you approve and created parents-first when you publish. You can also turn creation off and have those items skipped instead.

Do I have to review every file?

Only if you want to. Each configuration can wait for your review, or publish automatically when a file has no errors, no skipped items and nothing unusual, like changed columns or a changed site. Either way, you get an email when it needs you or when it’s done.

Make your next update the last one you do by hand.

Create your workspace, connect your site and publish your first spreadsheet. Update daily, weekly, monthly or whenever you like: you decide the rhythm, and nothing goes live until you say so.