Here’s how I provide free downloads of an epub; of course, mobi files will work the same way.
I use two plugins, offering downloads in two contexts.
Easy Media Download puts a button onto a post or page. You can customize the text on the button and its color, plus other parameters. It works with google analytics, but I haven’t gotten that far; stay tuned.Chrome Cady epub
The Easy Media Download shortcode requires the file url, of course, allowing you to manage your own downloads folder.
Allow epub and mobi formats upload does just what it says: The WordPress media library doesn’t allow epub and mobi uploads, until you install this plugin. It works!
So why would you need this, if Easy Media Download lets you put your epub and mobi files anywhere you like, while the WordPress media library builds its own chronological upload directory structure?
’Cause I have a side widget of text where I wanted to put my epub download link, and I couldn’t figure out how to get WordPress to handle it as a basic click link unless I processed the file through the media library.
So maybe this is voodoo for something that could be accomplished in another way, but this is how I got it to work.
Using Allow epub and mobi formats upload, I uploaded the epub file to my media library, then went to the library and selected the file. This brings up an “attachment page,” which I guess is a page to which this file is attached, ’cause you have two directions you can go here: You can let WordPress create this attachment page and go with that. Or the other path is to use the url given on this attachment page in a link, as I did in my side text widget.
I don’t know why this url works when my download directory url did not work. But when I use this url in the widget html code for my side text, WordPress properly handles it as a basic download.
FREE Chrome Cady ePub (10 MB)
I mean, that’s proper handling for my needs right now. Maybe I’ll change my tune after I’ve played with it a bit. Meanwhile, I’m glad to no longer be getting a page not found error when I click on my widget link.