CSV export and import
The CSV tools are in the toolbar of the Category editor tab. They work on the list you have open: categories, tags or brands. The export and the import use the same columns, so an export is also the template for an import.
Export
Section titled “Export”Click Export CSV. Your browser downloads a file named after the list, like brainrune-cat-2026-10-27-142530.csv, brainrune-tag-… or brainrune-brand-…, with one row per term, empty ones included.
Take an export before any bulk change. It is your backup.
Columns
Section titled “Columns”| Column | Content |
|---|---|
term_id |
The term ID. Used to find the term on import. |
slug |
The slug. |
name |
The name. |
description |
The description. |
seo_title |
The SEO title from your SEO plugin. |
seo_description |
The meta description from your SEO plugin. |
robots |
The robots setting. Empty when the default applies. |
The robots column holds index or noindex, followed by ,nofollow when nofollow is set. For example noindex,nofollow. An empty cell means the site-wide default applies.
The file is UTF-8, comma separated, and starts with a byte order mark so Excel shows accented letters correctly.
Import
Section titled “Import”-
Edit the exported file in any spreadsheet. Keep the header row as it is.
-
Save it as CSV, UTF-8, comma separated.
-
On the Category editor tab, open the same list the file came from (Categories, Tags or Brands), click Choose CSV and pick the file.
-
Click Import CSV.
The page reloads on that list with “Import finished. N categories updated.” If the file cannot be read, you get “The CSV could not be read. Check the file and try again.”
How rows are matched
Section titled “How rows are matched”Each row is matched to an existing term of the open list by term_id. If there is no term_id, or it does not match, the row is matched by slug instead. A row that matches nothing is skipped, so a categories file imported on the Tags list changes nothing.
The import never creates terms and never deletes them. It only updates the ones it finds.
What gets written
Section titled “What gets written”For every matched row, the import writes the name, slug, description, SEO title, meta description and robots, exactly as the editor would.
A column missing from the file is left alone. Leave out robots, for example, and no robots setting changes. This holds for every column since version 2.2.0; before it, a missing description, seo_title or seo_description column cleared that field.
Other things to know:
- An empty cell clears the value. An empty
seo_titleorseo_descriptioncell removes the value from your SEO plugin, so its global template applies. - An empty
nameorslugcell leaves the name or slug as it is. - Without an active SEO plugin, the SEO title, meta description and robots columns are ignored.
- Header names are not case sensitive.
meta_descriptionandseo_descare accepted as names for theseo_descriptioncolumn. - Blank rows are skipped.
Slugs changed by an import
Section titled “Slugs changed by an import”Changing a slug in the file has the same effect as changing it in the editor: the old URL returns a 404 until you add a 301 redirect. After the import, a notice counts the slugs that changed.