Skip to content
GPLWP Guides

How to let users save form progress in WordPress

Forms Time About 30 minutes with a compatible form builder; several hours for custom development 6 steps Updated 17 Sep 2026

FORMS
The short answer

WordPress does not provide a generic save-and-resume feature for front-end forms. Use a form builder with saved drafts, add browser storage for same-device recovery, or build server-side drafts if users need secure links and access across devices.

The route
  1. 01Choose how drafts are stored
  2. 02Check your form builder first
  3. 03Use browser storage for a small form
  4. 04Build server-side drafts when needed
  5. 05Test the failure cases
  6. 06Use a save-progress add-on

What you need

  • A WordPress form plugin or custom form
  • Administrator access
  • A clear decision about browser-only or cross-device saving
  • An email delivery method if sending resume links

Choose how drafts are stored

Decide whether users only need to return on the same browser, or whether they need a link that works on another device. Browser storage is suitable for simple, low-risk forms and guest visitors. Server-side drafts are better when users need email links, account-based access, staff follow-up, or recovery across devices.

Do not save passwords, payment details, or other sensitive values in browser storage. Also check how your form plugin handles file uploads, because some save-and-continue systems exclude uploads and other special fields from drafts.

Check your form builder first

Open the form’s settings and look for a feature named Save and continue, Save progress, Save draft, or similar. Enable it, add the save control to the form, and configure the return method offered by the builder, such as an email link, a confirmation message, or a saved-drafts list.

For a multi-step form, save after each step as well as when the visitor clicks the save control. Confirm that the form restores both the entered values and the current step. Multi-step navigation alone does not save a visitor’s work after they leave the page.

Use browser storage for a small form

If your form plugin has no save feature and same-device recovery is enough, add a small custom script that serialises non-sensitive field values to the visitor’s browser as they type. Restore those values when the form loads, and provide a visible Clear saved data control.

This is the manual route, but it has important limits: the data is tied to that browser and device, can disappear when storage is cleared, and is not available to staff on the server. It also needs careful handling for checkboxes, radio buttons, select fields, multi-step state, expiry, and fields that should never be stored.

Build server-side drafts when needed

For cross-device recovery, create a draft record on the server and associate it with a logged-in user or a long, random resume token. Store only the fields needed to restore the form, validate and sanitise every value, protect save and load requests against forgery, and expire abandoned drafts.

WordPress provides temporary storage through the Transients API and user-specific storage through user metadata, but you still need to write the form endpoint, permissions, token handling, validation, restoration logic, and deletion process. WordPress post autosave is intended for posts, not an arbitrary front-end form.

Test the failure cases

Test saving halfway through the form, closing the tab, returning later, using the resume link in a private window, opening it on another device, and submitting the completed form. Test logged-in and guest visitors separately.

Check what happens when a draft expires, a user saves twice, two tabs edit the same draft, the email is delayed, JavaScript fails, or the form structure changes. Make the expiry period and privacy notice clear. A save link that exposes a draft to anyone who obtains it is a security issue, so use unpredictable tokens and avoid putting sensitive data directly in the URL.

Use a save-progress add-on

The fast route is to use JetFormBuilder Save Form Progress with a JetFormBuilder form. It adds browser-specific save-and-resume links for long or multi-step forms, including guest users, so you do not have to build the storage, return-link, and restoration workflow yourself.

Install and activate the add-on, configure the save control and return-link behaviour, then test the form as a guest and as a logged-in user. Confirm which fields and uploads are included before using it for sensitive or legally important information.

The fast route

Let JetFormBuilder Save Form Progress do it

Adds browser-specific save-and-resume links for long or multi-step forms, including guest users.

Get JetFormBuilder Save Form Progress

Sources

  1. ninjaforms.com /extensions/save-progress/?utm_source=openai
  2. wordpress.com /support/forms/multistep-form/?utm_source=openai
  3. developer.wordpress.org /apis/transients/?utm_source=openai
  4. wordpress.org /support/topic/save-continue-feature/?utm_source=openai

Questions

Can WordPress save form progress without a plugin?
Not as a general built-in feature for arbitrary front-end forms. You can write custom JavaScript to store non-sensitive values in browser storage, or build a server-side draft system using WordPress storage APIs. Browser storage is quicker but limited to the same device and browser; cross-device recovery needs accounts or secure resume tokens.
Can guest users save and resume a WordPress form?
Yes, but the storage method matters. Guests can use browser storage on the same device, while cross-device recovery needs a secure emailed link or another server-side identity method. Tell visitors what happens if they clear browser data, change devices, use private browsing, or lose the resume link.
Does saving progress work with multi-step forms?
Yes, provided the form system saves both field values and the current step. Configure saving at the form level and test leaving the form halfway through, because ordinary previous-and-next controls only navigate between steps and do not necessarily create a recoverable draft.
Are file uploads saved with a form draft?
Not always. Many save-and-continue systems exclude file uploads, payment fields, signatures, passwords, or captcha values from drafts. Check the documentation for your form plugin and make the user upload files again when necessary rather than promising that every field will return.
What is the quickest way to add save and resume?
Use a save-progress add-on that matches your form builder. For JetFormBuilder forms, JetFormBuilder Save Form Progress provides browser-specific save-and-resume links, including for guest users, and supports long or multi-step forms. Configure it, then test guest, logged-in, expired-link, and multi-device behaviour before publishing.