On most WordPress sites the uploads folder is the largest thing on the account, and it grows in ways people do not expect.
Why it is bigger than you think
WordPress does not store one copy of each image. It creates several sizes of every upload – thumbnail, medium, large, and whatever sizes your theme and plugins register. A theme with six custom sizes means seven files for every image you add. Upload a 6MB photo straight from a camera and you may be storing 15MB across all its versions.
What to do
- Resize before uploading. Very few sites display an image wider than about 2000 pixels. Nothing is gained by uploading at 6000.
- Compress. A compression plugin will typically reclaim a large fraction of the space with no visible difference.
- Remove sizes you do not use. If your theme registers sizes nothing displays, they are pure waste.
- Clean up orphans. Deleting a post does not delete its images. Sites years old accumulate a great deal of unreferenced media.
The inode angle
This is not only about disk space. Every one of those generated files is an inode, and inode limits are usually reached long before disk limits. Ten thousand images with seven sizes each is seventy thousand files. See Why you have run out of inodes.
Before deleting anything
Take a backup. Media cleanup plugins decide what is unused by scanning for references, and they cannot see images referenced only inside a page builder's stored layout or in custom code – so they occasionally remove something that was in use.