Skip to main content

meta bulk

Destructive

This command writes to your WordPress database. Use --dry-run to preview first.

Usage

seo-ops meta bulk --from-csv=<file> [--map=<field-mapping>] [--path=<path>] [--dry-run] [--batch-size=N]

Bulk update SEO metadata using a flexible CSV with column-to-field mapping. More flexible than meta import — supports custom column headers.

Examples

# Basic bulk update
seo-ops meta bulk --from-csv=updates.csv --path=/var/www/html --dry-run

# Custom column mapping
seo-ops meta bulk --from-csv=updates.csv --map="post_id:id,seo_title:title" --path=/var/www/html --dry-run

# Control batch size for large files
seo-ops meta bulk --from-csv=updates.csv --batch-size=50 --path=/var/www/html

# Run without dry-run to apply changes
seo-ops meta bulk --from-csv=updates.csv --path=/var/www/html

CSV Column Mapping

Without --map, the default column mapping is:

CSV ColumnSEO Field
id or post_idPost ID
titleSEO title
descriptionMeta description
focus_keywordFocus keyword
canonicalCanonical URL
noindexNoindex flag
og_titleOpen Graph title
og_descriptionOpen Graph description

Use --map to override: --map="csv_col:seo_field,csv_col2:seo_field2"

Exit Codes

CodeMeaning
0Success
1Errors during update
4WordPress path not configured