All Articles
WorkflowClientsFreelance

The Right Way to Share a WordPress Draft with a Client

e
erdincbulat
July 8, 2026
6 min read
Erdo Draft Links

The Problem With Sharing WordPress Drafts

You've written a blog post, built a landing page, or assembled a product description for a client. It's in draft. Now they need to review it before you hit publish.

What do you do?

Most WordPress users fall into one of these traps:

Option 1: Create a user account for the client. Give them editor or contributor access. Walk them through logging in. Hope they don't accidentally click something they shouldn't. Revoke access after they're done (and remember to actually do it).

Option 2: Password-protect the post. Go to the post, enable password protection, publish it (making it technically live), send the client the URL and password. The client visits a confusing "Password Required" screen. You forget to remove the password before the real launch.

Option 3: Send screenshots. Self-explanatory why this is inadequate.

Option 4: Give them your own login. Please don't.

None of these are good. They're either too complicated, a security risk, or they bypass the concept of a "draft" entirely.

What You Actually Need

The ideal solution looks like this:

  1. Click a button on the draft's edit screen
  2. Get a link
  3. Paste the link into an email or Slack message
  4. Client clicks the link, sees the draft exactly as it would appear on the live site
  5. Link expires automatically after a few days

No accounts. No passwords. No access revocation to remember. No published content visible to search engines.

This is exactly what draft preview links do — and it's a solved problem.

How Erdo Draft Links Works

Erdo Draft Links adds a meta box to every post and page editor in WordPress. When you click "Generate Preview Link", it creates a cryptographically secure, time-limited URL that anyone can open — even without a WordPress account.

The link looks something like this:

https://yoursite.com/?draft_preview=k9mX2vQpL8nJ4rY7...

The token is 32 characters long and generated using PHP's random_bytes() — the same standard used for session tokens in secure web applications. It's not guessable, not sequential, and not derivable from any other information about your site or post.

Setting the Expiry

When generating a link, you choose how long it stays active:

  • 24 hours — for quick turnaround reviews
  • 48 hours — the default; usually enough for a business day cycle
  • 3 days — for clients who are hard to reach
  • 7 days — for longer review cycles or multiple stakeholders

After the chosen period, the link stops working and shows a polite expiry notice. The draft itself is unaffected — you can generate a new link at any time.

Tracking Views

Every preview link shows a view count in the post's meta box. This answers a question every freelancer has asked themselves: Did they actually look at it?

Before a client call, you can see whether the link was opened — and how many times. If the count is 0, you know to walk them through it live. If it's been opened 6 times, they've probably had a thorough look.

Collecting Client Feedback

The preview page includes an optional feedback widget. Clients can leave a thumbs up or thumbs down reaction and a short text comment, directly from the preview — no forms, no emails required.

Their responses appear in the post's meta box alongside the view count. You don't need to chase a reply in Slack or scroll back through email threads.

Who Can See the Link?

Anyone with the link can see the preview, but only during the active window. The preview page:

  • Sends a noindex header so search engines won't crawl or index it
  • Is not linked from any page on your site
  • Renders the draft content with your current theme, so clients see the final appearance

When the link expires, it becomes a dead end. The draft content never becomes public just because you shared a preview link.

Revoking a Link Early

If you share a link and then make significant changes to the draft, you can revoke the existing link and generate a new one with a single click. Useful when:

  • A client shared the preview link with someone who shouldn't have it
  • You realised the content had a major error after sending
  • You want to reset the view count for a fresh review cycle

Custom Post Type Support

The plugin works with any public post type registered in your WordPress installation:

  • Standard posts and pages (obviously)
  • WooCommerce products and product variations
  • Portfolio items
  • Custom post types from themes or other plugins (e.g., Events, Properties, Team Members)

If it appears in the WordPress post editor, you can generate a preview link for it.

A Typical Agency Workflow

Here's how a small agency might use this in practice:

  1. Writer drafts content, assigns it to "In Review" status
  2. Account manager generates a preview link with 48-hour expiry
  3. Account manager pastes the link into the client's project thread (Slack, email, Asana, wherever)
  4. Client opens the link, leaves a feedback comment: "Change the headline, looks good otherwise"
  5. Writer sees the feedback in the post editor, makes the change, generates a fresh link
  6. Client approves on second look
  7. Post is published. Link has already expired; nothing to clean up.

No user accounts created. No access to revoke. No published drafts to unpublish.

Installation

Install from WordPress.org in the usual way: Plugins → Add New, search for "erdo draft links", install and activate.

No settings to configure before use. The preview link generator appears automatically in the sidebar of every post and page edit screen.

Download Erdo Draft Links free from WordPress.org

Free WordPress Plugin

Erdo Draft Links

Share WordPress drafts with clients securely. No WordPress account required.

More articles

ComplianceEU

EU Cyber Resilience Act 2027: What WordPress Site Owners Must Do

9 min read
PerformanceSEO

How to Convert WordPress Images to WebP (Free, No API Key)

7 min read