Skip to main content

Documentation

Overview

SeedPress is a WordPress developer tool that generates realistic fake content for local or staging environments. Every generation job is driven batch-by-batch from the browser via a REST endpoint — no PHP timeouts, and the progress bar updates after every single batch.

The plugin ships with a modern React admin UI at Tools → SeedPress. Each content type has its own tab. Configure the options, click "Generate", and watch the real-time progress bar tick up.

How it works

  1. You submit a job from the admin UI (or WP-CLI).
  2. SeedPress stores the job parameters in a custom database table.
  3. The browser calls POST /wp-json/seedpress/v1/jobs/{id}/tick to run one batch synchronously and returns the updated state.
  4. The progress bar updates after every batch — no polling delay. Steps in a Recipe chain instantly when one completes.
  5. When the job completes, every generated item carries the private meta key _seedpress_generated so it can be identified and safely removed later.

Requirements

Requirement Minimum
WordPress6.0+
PHP8.1+
MySQL / MariaDB5.7+ / 10.4+
WP-CronOptional — fallback if tab closes mid-run

Content Generators

Each generator lives in its own tab in the SeedPress admin UI. All generators share a common Count field (max 200 for Free, 10,000 for Pro) and a Run in background checkbox (always on for large jobs).

Posts

Generates WordPress posts (or any registered custom post type) with realistic titles, multi-paragraph body content powered by Faker, excerpts, publish dates, and authorship.

Options

Option Description Default
Post typeAny registered CPTpost
Post statuspublish / draft / pendingpublish
CountNumber of posts to generate10
With featured imageAttach image from selected provideron
Assign termsRandomly assign existing taxonomy termson
Date rangeRandom date between start and endlast 90 days

Users

Creates WordPress users with realistic first/last names, unique email addresses, usernames, and biographical descriptions. Avatars are optionally seeded using the configured image provider.

Options

Option Description Default
RoleAny registered WP rolesubscriber
CountNumber of users to create10
With avatarUpload avatar from image provideroff

Terms

Generates taxonomy terms (categories, tags, or any custom taxonomy) with realistic names, slugs, and optional descriptions. Useful for building out a full content hierarchy before generating posts.

Options

Option Description Default
TaxonomyAny registered taxonomycategory
CountNumber of terms to create10
With descriptionAdd a Faker paragraph as descriptionoff

Comments

Generates approved comments on existing posts. Comment authors can be existing WordPress users or anonymous guest commenters. Nested (reply) comments are supported.

Options

Option Description Default
Post typeOnly target posts of this typeany
CountNumber of comments to create10
Author typeRegistered user or guestguest
Allow nestingRandomly create reply threadson

WooCommerce Products

Pro

Generates WooCommerce simple products with realistic names, descriptions, prices, sale prices, SKUs, and stock quantities. Requires WooCommerce to be active.

Options

Option Description Default
CountNumber of products to create10
Price rangeMin / max price in store currency$4.99 – $199
With sale priceRandomly apply a discounton
With stockSet a random in-stock quantityon
With product imageAttach featured imageon

Events Calendar Events

Pro

Generates events for The Events Calendar plugin. Events include a title, description, start/end date-times, venue, and organiser. Requires The Events Calendar to be active.

Options

Option Description Default
CountNumber of events10
Date rangeEvents start within this windownext 90 days
DurationRandom between min / max hours1–4 hours

Image Providers

SeedPress can attach images to posts, users, and products using external image services. Select your preferred provider in the Settings tab. The active provider is used for all generators automatically.

Provider Description Plan
Lorem Picsum Random high-quality photos. No API key needed. Fast CDN. Free
LoremFlickr Keyword-based photos from Flickr's CC-licensed pool. Pro
Placehold.co Placeholder images with customisable size, colour, and text. Pro
Unsplash Premium editorial photography. Requires a free Unsplash API key. Pro
Note: Images are downloaded from the external provider and uploaded to your WordPress Media Library. This consumes disk space. Run a media cleanup after a seed if you want to remove the images.

Seed Recipes

Pro

Seed Recipes let you chain multiple generation steps into a single, repeatable workflow. A recipe defines an ordered list of generator steps — for example: create categories first, then create posts assigned to those categories, then add comments to the posts.

SeedPress ships with four built-in presets:

Blog Launch

Creates 10 categories, 20 tags, 5 authors, 80 posts with content and featured images assigned to terms, and 200 comments. Great for bootstrapping a blog-style site.

Portfolio

Creates 6 categories, 30 pages with rich content, and 10 media attachments. A clean starting point for portfolio and agency sites.

WooCommerce Store

Creates 8 product categories, 60 simple WooCommerce products, and 20 customer accounts. Requires WooCommerce to be active.

Minimal Dev

A lightweight fixture set for local development: 5 categories, 20 posts, and 40 comments. Fast to run and easy to clean up.

Custom recipes can be created in the Recipes tab. Each step lets you pick a generator type, configure its options, and set an order. Recipes are stored in the database and can be shared across team members.

WP-CLI Commands

Pro

SeedPress Pro registers a wp seedpress command group. Unlike the admin UI (which drives generation from the browser), WP-CLI runs generation synchronously in the terminal and reports a real-time progress bar. Ideal for CI/CD pipelines and local development scripts.

Available commands

Generate content

# Generate posts
wp seedpress generate post <count> [--post-type=<type>] [--status=<status>] [--with-content] [--assign-terms] [--with-image]

# Generate users
wp seedpress generate user <count> [--role=<role>]

# Generate taxonomy terms
wp seedpress generate term <count> [--taxonomy=<taxonomy>]

# Generate comments
wp seedpress generate comment <count> [--post-type=<type>]

# Generate WooCommerce products (Pro)
wp seedpress generate product <count> [--with-image] [--with-sale]

# Generate Events Calendar events (Pro)
wp seedpress generate event <count>

Run a Seed Recipe

wp seedpress recipe run <recipe-slug>
wp seedpress recipe list

Cleanup

# Delete all seeded content (all types)
wp seedpress cleanup all --yes

# Delete only seeded posts
wp seedpress cleanup post --yes

# Per-job rollback is available in the admin Cleanup tab (not WP-CLI)

Example: Full blog seed

# 1. Create taxonomy terms
wp seedpress generate term 20 --taxonomy=category

# 2. Generate 500 posts with images and term assignments
wp seedpress generate post 500 --with-content --assign-terms --with-image

# 3. Add comments
wp seedpress generate comment 200

# Done!
✓ 20 categories, 500 posts, 200 comments created in 42.1s

Custom Fields (ACF & MetaBox)

Pro

When SeedPress Pro detects Advanced Custom Fields (ACF) or MetaBox installed and active, it automatically reads every registered field group and populates custom fields with realistic data that matches the field type.

Supported ACF field types

Text
Textarea
Number
Email
URL
Date picker
True/False
Select
Checkbox
Radio
Image
File
WYSIWYG
Relationship
Post object
Taxonomy
User

Supported MetaBox field types

Text
Textarea
Number
Email
URL
Date
Checkbox
Select
Radio
Image advanced
File advanced
WYSIWYG
Field group targeting: SeedPress reads the location rules of each field group and only populates fields on matching post types. If a field group targets a specific CPT, only posts of that type will receive those fields.

SEO Integrations

Pro

SeedPress Pro auto-detects Yoast SEO and RankMath. When either plugin is active, every generated post automatically receives a focus keyword, an SEO title, and a meta description — written by Faker to be plausible lorem-ipsum SEO copy.

Yoast SEO

Field Meta key
Focus keyword_yoast_wpseo_focuskw
SEO title_yoast_wpseo_title
Meta description_yoast_wpseo_metadesc

RankMath

Field Meta key
Focus keywordrank_math_focus_keyword
SEO titlerank_math_title
Meta descriptionrank_math_description

No configuration needed — detection is automatic based on active plugins.

Cleanup & Uninstall

Every item created by SeedPress is tagged with the private post meta key _seedpress_generated (value: 1). The cleanup tool targets only items with this key — your real content is never affected.

Cleanup tab (admin UI)

The Cleanup tab in the SeedPress admin lists all seeded item counts by type. You can delete all seeded content at once, or delete by content type individually. A confirmation modal protects against accidental deletion.

Rollback last job

On the Cleanup tab, recent completed jobs list a Rollback action. From 1.4.2 onward, each job records the IDs of items it created; rollback deletes only those items (still flagged with _seedpress_generated), leaving earlier seeded content intact. A confirmation modal is required. Jobs started before ID tracking have no tracked IDs — use type-wide Cleanup for those.

Uninstalling SeedPress

Deactivating the plugin leaves all seeded data in place (it's just WordPress posts and users). To perform a full cleanup before uninstalling:

  1. Go to Tools → SeedPress → Cleanup.
  2. Click "Delete all seeded content" and confirm.
  3. Deactivate and delete the plugin from Plugins → Installed Plugins.

The plugin's custom database table (wp_seedpress_jobs) is dropped automatically on uninstall.