This plugin hasn’t been tested with the latest 3 major releases of WordPress. It may no longer be maintained or supported and may have compatibility issues when used with more recent versions of WordPress.

B2 Private Files


If you have a digital products (downloadable pdf, mp3, mp4 etc) that is supposedly being accessed by registered/paying users, uploading them into the standard media library have problems:

  • the files in wp-content/uploads is publicly accessible, and anyone can basically download the file directly there
  • huge files like movies or software installers will weigh your entire website down (specially when multiple users is gonna be downloading them)

This plugin allows you to securely share files to your website users by passing a token to the url. For example, here is a file hosted in B2 Backblaze

note that simply accessing wont work, as the file is token-protected.
the plugin generates the value for Authorization parameter when your post/page is rendered. The token can be only generated from your website, thus its impossible for any other site to crawl your site and scrape the files.

Each token generated can be also configured to expire after N minutes. So if lets say you generated a download link to a big installer, people cant re-use the same link and paste it in public forums, chats etc.
Because the link will expire after few minutes, which makes it hard for user to share file to non-registered users.


  1. Go to Media > Add New (Private)
  2. Upload any file
  3. Go to Media > Library (Private)
  4. Click “Shortcode” for the file you just uploaded
  5. Paste the shortcode anywhere you wanted to show the link

Generally the shortcode looks like this:

[b2-private-file-button filename=””]

the above shortcode will generate a button with caption “Download”, pointing to the Backblaze B2 file with token passed to it.


Get started by following these steps:

  1. Upload to the /wp-content/plugins/ directory
  2. Activate the plugin through the ‘Plugins’ menu in WordPress
  3. Go to and signup for a BackBlaze B2 account
  4. Create a new Bucket, make sure it is a private one.
  5. Create a new app key, in Account > App Keys > Add a New Application Key
  6. In your Wordress Admin, go to Settings > B2 Private Files
  7. Fill up the Account ID / Key ID, Application Key, Bucket ID, Bucket Name


Can I upload file in B2 directly?

Yes, you dont need to upload the file via WordPress admin. You can use any client to upload large file into B2.
The plugin will detect those and generate download link for you.

Can i use this as an alternative to CDN?

Its possible, but its not optimized for that use-case. As the files token is being calculated on the fly.


There are no reviews for this plugin.

Contributors & Developers

“B2 Private Files” is open source software. The following people have contributed to this plugin.


Translate “B2 Private Files” into your language.

Interested in development?

Browse the code, check out the SVN repository, or subscribe to the development log by RSS.



  • plugin submission requirements / fixes


  • plugin submission requirements / fixes
  • fix bug wherein error message is not showing after upload to b2


  • ability to configure B2 settings
  • ability to upload files to B2.
  • ability to render button shortcode
  • ability to manage files in B2 (delete and list)