Prepare your first spreadsheet
What 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.
- 4 min read
- Updated October 14, 2026
You do not need a special template. Content Uploader reads an ordinary spreadsheet and lets you say, once, what each column is for. What matters is that the file has a clear shape.
The shape that works#
- The first row holds the column names. Each name must be different from the others and may be at most 200 bytes long (about 200 letters); a column without a name is called by its position, such as Column C. A workbook is read from its first worksheet. (An export without a header row can be read too, with its columns named by position: see files without a header row.)
- Each following row is one item: one article, one post, one page. Blank rows are skipped.
- One column should identify each item and never change. Call it
ID. This is what lets next week's file update an item instead of creating it a second time. Any value works (HLJ-001,2041,summer-guide) as long as every row has a different one and the same item keeps the same value in every file. If your sheet has no such column, you can still import (choosing the record ID), but an ID is the safest. - Put each kind of information in its own column: a title, a body, a category, tags, a date. Several tags in one cell are separated by commas (or another single character you choose).
- Bodies can contain HTML.
<p>First paragraph.</p><p>Second.</p>becomes two paragraphs on your site. Plain text works too.
The example file#
Download 01-first-import.csv. It is the sample used throughout this documentation: eight short articles for a made-up sailing magazine.
| ID | Title | Body | Category | Tags |
|---|---|---|---|---|
| HLJ-001 | Anchoring in Mellieha Bay: what to know before you drop the hook | <p>Mellieha Bay is wide, sandy and popular…</p> |
Guides | anchoring, malta, summer |
| HLJ-002 | Five winter projects for your boat | <p>The quiet months are the best time…</p> |
Boat care | maintenance, winter |
| HLJ-003 | A beginner's guide to reading a tide table | <p>A tide table lists the time and height…</p> |
Guides | navigation, beginners |
| … | … | … | … | … |
Open it in your spreadsheet program to see how it is laid out, and change nothing for your first try: it imports to a fresh WordPress or Joomla site without any preparation. All the example files are listed in example spreadsheets.
Making your own#
Start from your real data, not from the example:
- Make sure your data has a header row and one row per item.
- Add an
IDcolumn if it has none, with a different value in every row. - Check that each category is spelled the same way every time (
Boat care, notBoat Carein one row andBoat carein another) and that tags are separated consistently. - Keep the file to what you want to publish: at most 10,000 rows and 100 columns, 10 MB, and no more than 32 KB of text in one cell. Longer files can be split into several uploads.
Saving it#
Content Uploader reads Excel (.xlsx, .xlsm, .xls), OpenDocument (.ods) and CSV files (.csv, .tsv, .txt) of the right size. Which should you choose?
- Excel or OpenDocument keep your formatting and dates, and need no decisions about encoding or separators.
- CSV is a plain text file. Save it as UTF-8 so that accents and symbols survive. In Excel choose File → Save As → CSV UTF-8 (Comma delimited); in Google Sheets File → Download → Comma-separated values (.csv); in LibreOffice Save As → Text CSV and tick Edit filter settings, with the character set Unicode (UTF-8).
Supported file formats and CSV or Excel explain the details, including what is rejected.
Check your file before uploading#
- Open it in your program one last time: is the first row the header? Are there stray columns you do not want to see in Content Uploader? (Unused columns are harmless: Content Uploader just lists them as not used.)
- Is the ID column filled in every row, with no duplicates?
- Do the dates look like dates? See dates and numbers.
Next: publish your first items.
Was this article helpful?
Related articles
- Preparing your spreadsheetThe recommended structure of a spreadsheetOne 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.
- Preparing your spreadsheetSupported file formats and what is rejectedContent Uploader reads Excel, OpenDocument and CSV files and a ZIP of images. Which extensions work, which files are rejected, and the message each rejected file gets.
- 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.
- Getting startedPublish your first itemsCreate a configuration from your first spreadsheet, drop the file, read the review and publish: the whole first import, with what each screen shows and what lands on the site.