The recommended structure of a spreadsheet
One header row, one row per item, a stable ID column and one column per piece of information: a layout that works for WordPress posts and Joomla articles.
- 3 min read
- Updated October 13, 2026
A spreadsheet that imports well follows a few simple rules. None of them is a requirement you could not work around, but together they make every later import easier.
The layout#
| ID | Title | Slug | Body | Category | Tags | Image | Status | Publish date |
|---|---|---|---|---|---|---|---|---|
| HLJ-401 | Comino Blue Lagoon by boat | by-boat-comino-blue-lagoon | <p>…</p> |
Destinations > Malta | comino, anchoring | p01.png | Published | 2026-09-01 09:00 |
| HLJ-402 | Xlendi Bay by boat | by-boat-xlendi-bay | <p>…</p> |
Destinations > Malta | gozo, diving | p02.png | Draft | 2026-09-02 09:00 |
- Row 1 is the header. One name per column, all different (column headers). A column without a name is called by its position, such as Column C, which changes when a column is added before it. A file without one can be read with its columns named by position, but names are safer (files without a header row).
- One row is one item: one post, one page, one article. Do not spread an item over several rows, and do not use blank rows or subtotal rows between items; blank rows are skipped, but a row with some text in it is an item.
- One column is the item's ID: a value that stays the same for that item in every file you ever upload. It is what makes next week's file update the item instead of creating it again (choosing the record ID).
- One piece of information per column. Title, body, category and tags each have their own column, so each can be mapped to its own field.
- A column for everything that differs between rows. If every row has the same status or author, you do not need a column: set it once as a fixed value in the configuration. If it differs per row, a column lets you control it.
Which columns do you need?#
Only what your destination requires, plus what you want to control. The destination decides what is required: WordPress needs a Title; Joomla needs a Title and a Category. Everything else is optional (required and optional columns).
A useful set for posts or articles:
| Column | What goes in it | See |
|---|---|---|
ID |
A stable identifier | record ID |
Title |
The headline | title and slug |
Slug / Alias |
The URL name, if you want to control it | title and slug |
Body |
The text, plain or HTML | HTML in cells |
Summary |
A short excerpt | content and HTML |
Category |
One category, or a path such as Destinations > Malta |
categories |
Tags |
Several, separated by a comma | tags |
Image |
A file name from your ZIP, or a web address | where images come from |
Status |
Published, Draft, … |
status, dates and authors |
Publish date |
A date and time | text, numbers and dates |
Author |
A person's name on the site | status, dates and authors |
Columns that Content Uploader does not use are harmless: the file's page lists them as not used.
Keep it stable from week to week#
The configuration remembers your columns by name. Keep the names the same from one file to the next, add new columns freely, and remember the rule for changing them: if a column the configuration uses is missing or renamed, the file is not processed and the page says which column is missing (when the columns change).
Several kinds of content#
If you publish different kinds of content (articles and pages, or two sites), keep a separate spreadsheet and configuration for each. A configuration publishes to one site and one content type.
Examples#
The example spreadsheets show these layouts with real data you can import into a test site.
Was this article helpful?
Related articles
- Preparing your spreadsheetColumn headers: names, rules and automatic matchingThe first row needs a different, non-empty name in every column. How column names are matched to fields, which names suggest the ID, and what happens when a name changes.
- Preparing your spreadsheetRequired and optional columnsWhich information every item needs on WordPress and on Joomla, which columns you can leave out, and the messages shown when a required value is missing.
- Getting startedPrepare your first spreadsheetWhat a spreadsheet for Content Uploader looks like: a header row, one row per item, an ID column, plain text or HTML bodies. Start from the example file; save as CSV or Excel.
- Preparing your spreadsheetExample spreadsheets you can download and tryDownload ready-made example spreadsheets for WordPress and Joomla, from a first import to categories, images, problems and a migration, and see which guide uses each one.