Find out why your site has lots of draft posts
If Posts shows a big Drafts count you don't recognise, something is creating posts without anyone writing them. Drafts aren't public, so visitors don't see them, but they clutter the editor, slow down searches in the dashboard and fill up the database.
The most common cause: a form that creates posts
Gravity Forms has a group of fields called Post Fields (Title, Body, Excerpt, Tags, Category, Post Image and Custom Field). A form with any one of them creates a post for every submission, usually as a draft. They look like ordinary fields, so it's easy to pick Body for a message box or Custom Field for a phone number without knowing it.
Every submission then leaves a draft behind, spam included. A busy contact form can create thousands.
How to tell: open a few of the drafts. If the title or text reads like a form submission (a name, an email address, a message, or spam links), a form made them.
To find the form: go to Forms, open each form, and look for fields from the Post Fields group. The field's settings panel names its type (for example Body or Custom Field).
Fix it
- Replace each Post Field with the ordinary field of the same kind: Paragraph Text instead of Body, Single Line Text or Phone instead of Custom Field. Then update any notification that used the old field's merge tag.
- Or, if your site runs on Dirigible, leave the form as it is: see If your site runs on Dirigible.
Removing a Post Field doesn't delete past entries. They stay under the form's Entries.
Other causes
- Another form plugin that creates posts. Gravity Forms' Advanced Post Creation add-on, or "post submission" features in other form plugins, create posts from submissions on purpose. Check each form's feeds and settings.
- Duplicating content. Duplicate Post (and similar plugins) adds a draft each time someone clicks New Draft or Clone. These drafts have titles that match real posts and show the person who clicked as the author.
- An import. Importing content (from another site, a feed, or a spreadsheet) brings posts in with their original status, so drafts arrive as drafts. They all have dates within a few minutes of each other.
- Plugins that write content. AI writing tools, feed importers and autoposting plugins often save drafts for you to review.
- People's unfinished posts. Drafts with real titles from your team are just work in progress. Ask before deleting them.
Bots can't create drafts on their own: WordPress needs a logged-in account or a plugin that accepts submissions. If the drafts come from a user account nobody recognises, treat it as a security issue: see What to do if your WordPress site is hacked.
WordPress also keeps "auto drafts" while someone has the editor open. Those never show in the Drafts list and clean themselves up, so they aren't what you're seeing.
Clear the drafts out
- Go to Posts and click Drafts at the top of the list.
- Check the Author and date columns, and open a few drafts, to make sure they're junk and not someone's work in progress.
- Open Screen Options (top right) and set Number of items per page to a few hundred, so you can select more at once.
- Tick the box at the top of the list to select every draft on the page, choose Move to Trash under Bulk actions, and click Apply. Repeat until the list is empty.
Trashed posts can be restored from Trash for 30 days, then WordPress deletes them for good. Stop the cause first, or new drafts keep arriving while you clean up.
For tens of thousands of drafts, the dashboard can time out. Ask your developer or host to clear them in one go.
If your site runs on Dirigible
The Dirigible theme stops Gravity Forms creating posts while Allow Form Post Creation is off, under Appearance → Customize → Settings → Gravity Forms. Forms with Post Fields keep working: every entry is saved with all its answers, and notifications and confirmations still go out. Only the draft post isn't created. The theme also hides Post Fields from the form editor, so new forms don't pick them up by accident.
The setting is off on every site. If you do want a form to publish submissions as posts (for example, visitors submitting stories or listings), turn it on.
The drafts already on your site stay until you trash them (see Clear the drafts out).
More on forms: Gravity Forms and Stop Gravity Forms spam.