Documentation
Overview
SeedPress is a WordPress developer tool that generates realistic fake content for local or staging environments. Every generation job runs asynchronously in the background via WP-Cron — so you can queue thousands of items and keep working without waiting for a PHP script to finish.
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
- You submit a job from the admin UI (or WP-CLI).
- SeedPress stores the job parameters in a custom database table.
- WP-Cron picks up the job and processes it in batches of 25 items.
- The admin UI polls for job status every 2 seconds and updates the progress bar.
- When the job completes, every generated item carries the private meta key
_seedpress_generatedso it can be identified and safely removed later.
Requirements
| Requirement | Minimum |
|---|---|
| WordPress | 6.0+ |
| PHP | 8.1+ |
| MySQL / MariaDB | 5.7+ / 10.4+ |
| WP-Cron | Enabled (or use WP-CLI) |
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 type | Any registered CPT | post |
| Post status | publish / draft / pending | publish |
| Count | Number of posts to generate | 10 |
| With featured image | Attach image from selected provider | on |
| Assign terms | Randomly assign existing taxonomy terms | on |
| Date range | Random date between start and end | last 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 |
|---|---|---|
| Role | Any registered WP role | subscriber |
| Count | Number of users to create | 10 |
| With avatar | Upload avatar from image provider | off |
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 |
|---|---|---|
| Taxonomy | Any registered taxonomy | category |
| Count | Number of terms to create | 10 |
| With description | Add a Faker paragraph as description | off |
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 type | Only target posts of this type | any |
| Count | Number of comments to create | 10 |
| Author type | Registered user or guest | guest |
| Allow nesting | Randomly create reply threads | on |
WooCommerce Products
ProGenerates WooCommerce simple products with realistic names, descriptions, prices, sale prices, SKUs, and stock quantities. Requires WooCommerce to be active.
Options
| Option | Description | Default |
|---|---|---|
| Count | Number of products to create | 10 |
| Price range | Min / max price in store currency | $4.99 – $199 |
| With sale price | Randomly apply a discount | on |
| With stock | Set a random in-stock quantity | on |
| With product image | Attach featured image | on |
Events Calendar Events
ProGenerates 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 |
|---|---|---|
| Count | Number of events | 10 |
| Date range | Events start within this window | next 90 days |
| Duration | Random between min / max hours | 1–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 |
Seed Recipes
ProSeed 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 three built-in presets:
Blog Launch
Creates 10 categories, 50 posts (with images and term assignments), and 100 comments. Great for bootstrapping a blog-style site.
Portfolio
Creates 5 project categories, 20 portfolio CPT posts (if registered), and 20 users with subscriber role.
WooCommerce Store
Creates 8 product categories, 60 simple WooCommerce products with prices and images, and 25 customer accounts.
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 uses WP-Cron), WP-CLI runs generation synchronously and reports a real-time progress bar to your terminal. Ideal for CI/CD pipelines, local development scripts, and situations where WP-Cron is unreliable.
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
# Delete only seeded posts
wp seedpress cleanup --type=post
# Rollback the last job (Pro)
wp seedpress rollback Job management
# List all recent jobs
wp seedpress jobs list
# Show job details
wp seedpress jobs get <job-id> 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)
ProWhen 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
Supported MetaBox field types
SEO Integrations
ProSeedPress 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.
| Field | Yoast SEO meta key | RankMath meta key |
|---|---|---|
| Focus keyword | _yoast_wpseo_focuskw | rank_math_focus_keyword |
| SEO title | _yoast_wpseo_title | rank_math_title |
| Meta description | _yoast_wpseo_metadesc | rank_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
Pro The Rollback button deletes only the items created by the most recent completed job, leaving earlier seeded content intact. Useful when a job produced the wrong results.
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:
- Go to Tools → SeedPress → Cleanup.
- Click "Delete all seeded content" and confirm.
- Deactivate and delete the plugin from Plugins → Installed Plugins.
The plugin's custom database table (wp_seedpress_jobs) is dropped automatically on uninstall.