The New WordPress Download Monitor Plugin

A few months back I announced that the Download Monitor plugin was no longer being maintained. Why? Several reasons really:

  1. Dealing with daily support emails caused a massive headache
  2. Some of the code was embarrassing, and the plugin badly needed a rewrite..
  3. ..but due to legacy this would have been messy and difficult
  4. The donation model didn’t really work, and .org would’t allow ads inside the plugin to fund development

However, despite all of this, given the popularity of the plugin I decided to secretly start building a new version without the restraints of legacy code dictating the way forward…

Introducing the new beta

v4 is a complete rewrite – in fact I am still debating the idea of calling this a ‘1.0’ (which may also prevent legacy users updating without testing!). Gone are the custom tables and UI, custom post types are being utilised as well as other more modern practices, and the plugin is way more efficient.

Features & Improvements

Obviously the biggest improvement is using custom post types – we now have a faster, more lean, native WP interface for managing downloads which will be instantly recognisable to any user of WordPress.

Custom post types, woo!
Custom post types, woo!
v4 has a new template system for fancy download links
v4 has a new template system for fancy download links

The template system replaces the old ‘formats’ system making it more flexible. Rather than define the HTML for the download links in-plugin, you simple create a template file in your theme, for example, content-download-box.php. This is then called via the shortcode to give links such as the one shown to the right.


If you are adding downloads as you go, the new quick-add modal (pictured left) lets you drag and drop a file, add some details, and then insert the shortcode quickly and easily.

Download permalinks used to be done with some nasty htaccess rules. No longer – now we simply use a URL endpoint and WPΒ handlesΒ the rest.

LoggingΒ is still built in, as well as CSV exports of logs, and I’ve added the ability to log broken links and whether or not downloading was successful or not.

What’s left to do?

Aside from testing and documenting the new core plugin, I want to build a few extensions for advanced features and things I’ve purposely left out of the rewrite:

  • A bulk directory importer function
  • The old page addon for browsing your download catalog, in its own plugin
  • A legacy importer – something to migrate old downloads to the new system

These ideas will take time, but I’m aiming to get those done, and the plugin launched within a couple of months – hopefully before WordCamp UK.

A note on sustainability

Is this plugin sustainable through donations alone? Probably not. Very few users choose to donate (those who do are awesome by the way), and any developer who’s tried this in the past must have realised that WP dot org is rife with freeloaders whom have this misguided sense of entitlement when it comes to plugins and support, using the ‘reviews’ system as leverage to get what they want.

With the new version, support will be strictly for bugs and usage rather than for customisation help.

Additionally, most likely there will be some paid extensions alongside the core plugin – the freemium model can work well if done correctly. I’m also toying with the idea of some themes to work exclusively with the Download Montitor plugin for download catalogs.

What are your thoughts on this? Would you be interested in seeing these types of addons? Leave you comments below..

Get the beta and get involved

As of today, the new version is on Github in its own branch where you can try it out, and contribute code and fixes. It’s released!

Happy coding, and I hope you all love the new version.

Published by Mike Jolley

I help build things at Automattic.

64 thoughts on “The New WordPress Download Monitor Plugin

    1. Yeah – but outside of this plugin. I want to keep this thing lean and mean.

      A migration plugin should be able to convert old downloads to the new format easily, the tricky part is the old shortcodes. Shortcodes use an auto-incremented ID – once converted, IDs will no longer match.

      I have 2 ideas to solve this. Either 1/ provide some SQL to update all posts. 2/ Make the legacy plugin store the ‘old’ ID in meta somewhere and have the old shortcodes fallback to this.

      You ever dealt with legacy like that?

      1. Can I enter the number of downloads to start off with the number of downloads currently on the old one?

  1. Yay! As a longtime user of your plugin, v4 (or v1) is great news to me. I totally understand your decisions concerning support – I wish you success with the new support model and the plugin πŸ™‚

      1. Have it installed. When I create a new download and then click on view download I get the message “404 Not Found”

  2. Big fan of this plugin. Thanks for brining it back to life! Can files be stored outside of the web root directory? Or better yet, what would be the best way to secure the files?

      1. Awesome! I took a look at settings, but did not see where to set a file path for uploads…what did I miss?

      2. LOL…I believe I found it. Sorry for not posting back, and thanks for responding πŸ™‚

  3. Nice to hear that. I’m a big fan of your plugin. I was going to transfer to another plugin but now i wait for a new stable version.
    Keep going kelly

  4. Its great that you have decided to re-write this. I currently use this plugin, and due to the development stopping, I currently looking at other solutions, I have the issue where I have activated it on one of the sub sites and it tries to update i think and completely kills the site. I’m going to download the beta and have a play around.

    I think the legacy importer is a great idea!

    An extension that allows integration with the Groups plugin would be useful I think.

    I would definitely donate this time, apologies for not!

  5. I really love your old plugin and I use it on almost every site I build and recommend it to others when I can.

    I’d be willing to pay for a migration plugin, hopefully just once πŸ™‚ But I think your work is top notch and if you have to go with freemium so we can continue to receive updates to this great plugin, go for it! I’ll be the first to purchase something to keep the train rolling. πŸ™‚

    1. How about an easy way to dump all of the current downloads from the old plugin into a folder on the desktop πŸ™‚

  6. Mike.

    One stupid thing that’s a tad annoying… both the name and the icon of your plugin in the sidebar are the same as Easy Digital Downloads.

    Now, I think your plugin does different things, but EDD has a massive footprint in “the market”, so I’m wondering if there’s any way we could get you a different icon (perhaps even if the colour was different?!).



    1. Looks like they use a green arrow? I doubt I’ll change it though, DLM was out first :p

  7. Mike. Also, your legacy plugin has a note saying it’s no longer being maintained. I’d change that to say it’s being redeveloped, otherwise folks are going to walk away from it, not realizing there’s a new one coming.

    1. I don’t want people adopting the current version at all to be honest – the other alternative would just be a take down, but this at least keeps it live for security patches etc.

  8. I have updated BUT can’t seem to get it to work like the old one where we could search by what ever categories and sub categories we created – right now it just shows 1 link on the page – I need it to be able to show search by Brand and Search by Product and Search by Industry – I have set up a page for the results with the shorcode [downloads] – am I missing the other shortcodes that also give more details somewhere – help !!

      1. Thanks, Mike. I can’t find the .POT file to translate, so if you lead me to that file I can plan to translate the work.

  9. !!! So excited. And would happily pay for this plugin, best download plugin I’ve ever tried, so I’m sure this is going to be great. I regularly purchase good plugins so I would suggest looking at setting up a selling site and selling licenses for designers to use.

  10. BTW, look at how SlideTabs set up their plugin license and payment. I love that plugin and purchase a new license for each client! I also use CodeCanyon a lot for plugins, well worth every penny.

  11. Some interesting news. I’m happy with the 3 version but I can understand you want to monetize your work. I will certainly test the 4 version and I hope I won’t need any of the paying plugins πŸ™‚ And I will translate in french if necessary as I done for previous version.

  12. Where can I find the documentation you had on for v3.3? Glad you’re working on this again, thanks!

  13. In the old version you had the timeout option, will this be implemented in the new one also? I dont want every single click logged. Sometimes people click more than once or download the same file in the span of a minute if it doesnt work out the first time.

    1. Also…. Ability to clear logs….. When it gets congested, it gets messy so i like to clear it out from time to time.

      Wonderful plugin!

  14. That’s great mike! I’m one ardent user of your plugin, and was disappointed for a while when I saw the “this plugin is no longer supported…” note. But now I believe things are back on track. Thanks for reconsidering the plugin. thanks again.

  15. Anyone have any example templates to look at? I’d like to see how to put on together. thanks.

  16. Ask (in more detail!) on forums. Update: O you meant the link. The plugin is released now, so no need for beta!

  17. Should have no issues with caching. If anything you’d need to exclude the download endpoint from page caching.

  18. Mike, thank you for the great work! But there’s one crucial feature missing: a password protection for individual downloads, to let users download files just by entering the password, without global WP registration. Can you please add it, maybe as a paid addon?…

  19. Hi, I was testing a lot of plugins for offering free downloads. And, finally found this thanks to Pippin ! Great work, here. Thanks.

  20. Thank you. Love this plugin but I think it’s causing me to get the white screen of death. Anyone else getting this too?

  21. Is there any way that anyone can hack in to obtain the downloaded files even if the restriction is put in place (check marked the members only box) and I have ssl cert on the page?

  22. Uploaded files are actually put in their own directory. wp-uploads/downloads I think it was.

Leave a Reply

This site uses Akismet to reduce spam. Learn how your comment data is processed.

%d bloggers like this: