Upload PDFs and other files to WordPress for download

Create PDF and other digital downloads for WordPress sites

Editing a WordPress post on a laptop computer

How to provide PDF files, worksheets, templates and other files for download on your WordPress website or blog. How to password protect downloads or restrict them to members of your site.

If you have a blog or a website, you might want to provide files for visitors to download. For example, you might create worksheets, templates for Microsoft Word, Excel or PowerPoint, PDF documents, ebooks, Photoshop files and other items.

How do you upload all these different types of files to a WordPress site? Once they are uploaded, how do you make them available for dowload by people?

You might want to restrict downloads to certain people, such as those that have accounts on your site, like subscribers, members of a club or Facebook group, people that sign up for your email list and so on. Providing downloads is a good way to get people to sign up for email or to join your site.

You may even want to sell digital downloads like ebooks, PDFs and collections of worksheets. In this article I look at the simplest ways to upload files and set up public or password-protected downloads. Selling digital downloads will be covered in a future article. Here are the basics.

Upload WordPress compatible files

Upload PDF files to the WordPress media library
Upload files to WordPress meid library

You may have only uploaded ordinary image files to WordPress media library so far, but it actually recognises all these file types:

  • Images: .jpg, .jpeg, .png, .gif, .ico
  • Documents: .pdf, .doc, .docx, .ppt, .pptx, .pps, .ppsx, .odt, .xls, .xlsx, .psd
  • Audio: .mp3, .m4a, .ogg, .wav
  • Video: .mp4, .m4v, .mov, .wmv, .avi, .mpg, .ogv, .3gp, .3g2

Just open the media library, click Add New and drag the files from the computer’s disk to the library using Explorer (PC) or Finder (Mac). Add any of the above files, like PDFs,Microsoft Office documents, Photoshop files and so on.

Insert files in WordPress posts

A Gutenberg File block in WordPress post editor

After adding one or more files to your site’s media library, insert a File block into the WordPress post using the Gutenberg editor at the place you want a download button.

WordPress Gutenberg block to insert a file

Now we have the File block, click the Media Library button and then select the file you want to insert. If you try this with an Image block, you only see images and you must use a File block to see other types of files, like PDFs, in the media library.

WordPress Gutenberg Download button

You now have a Download button in the post. The text preceding it is the filename and you can add some extra text to tell people what the file is about. For example, you might want to put the Download button next to the title of a PDF document or other file, which may not be obvious from the filename.

Get the URL of WordPress file uploads

Get the URL of files in WordPress media library

The Gutenberg File block is useful, but boring and it might not suit the theme you use on your blog or website. It does not have to be used if you don’t like it. Open the media library from the admin sidebar and click a file you uploaded such as a PDF document. Click in the Copy Link box, press Ctrl+A and then Ctrl+C to copy the URL to the clipboard (Cmd+A, CMD+C on a Mac).

Insert a link in a WordPress post

Switch to the post editor and select any text or image on the page and add a link in the usual way. For example, select text and press Ctrl+V (Cmd+V on a Mac) to add the link the quick way, or click the link button in the block toolbar and press Ctrl+V (Cmd+V) to paste the file link in the box that pops up for the URL.

If you do it this way, clicking a link will display a file if the browser can display it, or download it if it cannot. For example, a .zip file would be downloaded, but a PDF would be displayed in the browser because it can. You might want to tell people to right click a PDF link to download and save it.

Upload incompatible files

Not all types of files can be uploaded to WordPress media library and ebooks in the popular .epub file format are not accepted and you just get a message saying you can’t do that, or words to that effect. You may also have problems uploading acceptable file types if they are large because there is an upload size limit in WordPress.

The best way to upload files to a WordPress site is using ftp. This is an app that runs on the computer and accesses the folders and files on a website like Explorer (PC) or Finder (Mac) browses the disk drive. Read How to access WordPress site files and fix faults with ftp. Any number of files can be uploaded with ftp and there is no size limit.

File Manager plugin for WordPress

The screenshot above shows a WordPress plugin called File Manager, which enables you to access the WordPress file system without ftp. If your web host does not provide ftps access, if you don’t know how to use it or don’t want to use it, read Upload files to WordPress without ftp for more information on this and other file manager plugins.

I used it to create a folder called myfile. I then opened it and dragged an ebook from the computer’s disk to it. The file now sits on the server. The URL would be www.mysite.com/myfiles/filename which can be added as a link to text, a button or image.

Password protect downloads

Password protect posts in WordPress

Some website owners want to provide files only for certain people, such as members of the site, a Facebook group, people on an email list, and so on. To do this, create a new page (it’s better than a post), with one or more downloads. This could be your member/subscriber resources or downloads page.

Before you publish it, click the Public link next to Visibility in the sidebar and select Password Protected. Enter a password in the box below. This is how it looks on the page when people try to access it:

Password protect posts in WordPress

How you tell people the password and which people you tell is up to you. For example, if you have an email newsletter signup form, include it in the welcome email or even every email as a reminder to visit your private resources page.

If you run a membership site with a membership plugin, you will be familiar with making posts and pages public or members-only. This is usually an option or checkbox in the post or page editor in the sidebar or at the bottom of the page. It is easy to make a downloads page for members only.

Download plugins for WordPress

There are several plugins to provide additional download features for those that want more control over what people can do. Go to Plugins and click Add New. Enter ‘download’ into the search box to see them.

WordPress Download Manager and Simple Download Monitor are two good ones. The similarly named Download Monitor has not been updated for the last three versions of WordPress and so is best avoided.

Why use a download manager plugin? Basically you get a huge number of features. They are great for experts, but some people may be overwhelmed by them. They add a new section in the WordPress admin sidebar that is like a media manager for files. You can upload files, see a list of files, see the date, add tags and categories, and get shortcodes you can insert into posts.

There are numerous settings and downloads can be public, password protected or available to anyone that can log into your site, like subscribers and contributors. Simple Download Monitor has an option to force people to tick a checkbox saying they agree to terms and conditions, like “You download files at your own risk” and so on.

Some plugins let you limit the download speed, send people to a login page if they are not logged in, and much more.

Not everyone needs all these features, so try downloads without the plugins first and see if the basic WordPress features are good enough.


Comment in the Forums Right pointing red arrow