Title: Erdo Draft Links
Author: erdincbulat
Published: <strong>June 1, 2026</strong>
Last modified: June 1, 2026

---

Search plugins

![](https://ps.w.org/erdo-draft-links/assets/banner-772x250.png?rev=3556422)

![](https://ps.w.org/erdo-draft-links/assets/icon-256x256.png?rev=3556422)

# Erdo Draft Links

 By [erdincbulat](https://profiles.wordpress.org/erdincbulat/)

[Download](https://downloads.wordpress.org/plugin/erdo-draft-links.1.0.1.zip)

 * [Details](https://wordpress.org/plugins/erdo-draft-links/#description)
 * [Reviews](https://wordpress.org/plugins/erdo-draft-links/#reviews)
 *  [Installation](https://wordpress.org/plugins/erdo-draft-links/#installation)
 * [Development](https://wordpress.org/plugins/erdo-draft-links/#developers)

 [Support](https://wordpress.org/support/plugin/erdo-draft-links/)

## Description

**Erdo Draft Links** lets you generate a secure, token-based URL for any draft, 
private, or published post or page. Share it with clients, reviewers, or collaborators—
they can read the content without needing a WordPress account.

Think of it like Google Docs’ “Anyone with the link can view” — but for WordPress.

#### How it works

 1. Open any post or page in the editor (Block Editor or Classic Editor).
 2. Click **“Generate Draft Link”** in the sidebar panel or meta box.
 3. Choose an expiry: 24 hours, 48 hours, 7 days, or never.
 4. Share the link. Recipients can view the content — no login needed.

#### Features

 * Works with both the **Block Editor (Gutenberg)** and the **Classic Editor**
 * Supports **posts**, **pages**, and any custom post type via a filter
 * Secure **32-character cryptographic tokens** — brute-force resistant
 * Configurable expiry: 24 hours, 48 hours, 7 days, or no expiry
 * **View count** tracking per link
 * **Revoke or regenerate** any link at any time
 * Tokens are stored **hashed** in the database — raw tokens are never stored after
   the redirect
 * Two-step flow: token URL  cookie  clean permalink (token never appears in browser
   history)
 * No external API calls, no phone-home, no subscriptions
 * Translation-ready (English default, Turkish included)

#### Developer Notes

Developers can add support for custom post types using the `erdo_draft_links_supported_post_types`
filter:

    ```
    add_filter( 'erdo_draft_links_supported_post_types', function( $types ) {
        $types[] = 'product';
        return $types;
    } );
    ```

#### Source Code

The full source code including build tools is included in the plugin’s `assets/js/
src/` directory.

## Installation

 1. Upload the `erdo-draft-links` folder to the `/wp-content/plugins/` directory.
 2. Activate the plugin through the **Plugins** menu in WordPress.
 3. Open any post or page and find the **Erdo Draft Links** panel in the editor sidebar
    or meta box.

## FAQ

### Does this work with custom post types?

Yes. By default Erdo Draft Links supports posts and pages. Add more post types using
the `erdo_draft_links_supported_post_types` filter.

### Is the shared link secure?

Yes. Tokens are 32 characters of cryptographic randomness generated by WordPress’s
built-in `wp_generate_password`. The raw token appears in the URL only once — subsequent
visits use a signed HttpOnly cookie. Tokens are stored as SHA-256 HMAC hashes in
the database.

### What happens when a link expires?

The recipient sees a clear message: “This draft link has expired and is no longer
accessible.” The post remains a draft — nothing is published.

### Can I have multiple active links for the same post?

Currently one active link per post. Regenerating creates a new token and resets 
the view count.

### Does this work with password-protected posts?

No. Erdo Draft Links is designed for draft and private posts. Password-protected
posts use WordPress’s own mechanism.

### Does this plugin affect site performance?

Erdo Draft Links only runs on requests that include a `?erdo_token=` parameter or
a valid session cookie. Normal site traffic is not affected.

## Reviews

There are no reviews for this plugin.

## Contributors & Developers

“Erdo Draft Links” is open source software. The following people have contributed
to this plugin.

Contributors

 *   [ erdincbulat ](https://profiles.wordpress.org/erdincbulat/)

[Translate “Erdo Draft Links” into your language.](https://translate.wordpress.org/projects/wp-plugins/erdo-draft-links)

### Interested in development?

[Browse the code](https://plugins.trac.wordpress.org/browser/erdo-draft-links/),
check out the [SVN repository](https://plugins.svn.wordpress.org/erdo-draft-links/),
or subscribe to the [development log](https://plugins.trac.wordpress.org/log/erdo-draft-links/)
by [RSS](https://plugins.trac.wordpress.org/log/erdo-draft-links/?limit=100&mode=stop_on_copy&format=rss).

## Changelog

#### 1.0.1

 * Fix: Replace deprecated `current_time('timestamp')` with `time()` for correct
   UTC handling.

#### 1.0.0

 * Initial release.

## Meta

 *  Version **1.0.1**
 *  Last updated **2 days ago**
 *  Active installations **Fewer than 10**
 *  WordPress version ** 6.0 or higher **
 *  Tested up to **7.0**
 *  PHP version ** 7.4 or higher **
 * Tags
 * [draft](https://wordpress.org/plugins/tags/draft/)[link](https://wordpress.org/plugins/tags/link/)
   [preview](https://wordpress.org/plugins/tags/preview/)[private](https://wordpress.org/plugins/tags/private/)
   [share](https://wordpress.org/plugins/tags/share/)
 *  [Advanced View](https://wordpress.org/plugins/erdo-draft-links/advanced/)

## Ratings

No reviews have been submitted yet.

[Your review](https://wordpress.org/support/plugin/erdo-draft-links/reviews/#new-post)

[See all reviews](https://wordpress.org/support/plugin/erdo-draft-links/reviews/)

## Contributors

 *   [ erdincbulat ](https://profiles.wordpress.org/erdincbulat/)

## Support

Got something to say? Need help?

 [View support forum](https://wordpress.org/support/plugin/erdo-draft-links/)