WordPress
Uploads
Uploads is the folder where WordPress stores media files, wp-content/uploads, organized by year and month. Each file also has an attachment row in the database.
How it is measured
A file added in October 2026 lands in wp-content/uploads/2026/10/. WordPress creates a wp_posts row with post_type attachment and generates several resized copies: thumbnail, medium, medium_large, large, plus 1536 and 2048 pixel sizes, and a -scaled version for originals over 2560 px. Check size with du -sh wp-content/uploads.
wp_upload_dir() returns the base path and URL. The PHP limits upload_max_filesize and post_max_size decide the largest file you can add through wp-admin; Media > Add New displays the current limit.
Worked example
A photographer's portfolio has 1,400 images and the uploads folder is 38 GB. Each 8 MB original produces nine resized files, so the folder holds roughly 12,000 files for every 1,000 uploads. The host's 20 GB plan fills up and backups time out.
She turns off the 1536 and 2048 sizes in code, regenerates thumbnails with wp media regenerate, and moves the originals to object storage. The folder drops to 9 GB.
How it differs
Uploads holds your media, while wp-content is the parent directory that also holds themes, plugins, and cache. Backing up wp-content includes uploads, but a plugin or theme backup does not. Media in uploads is also not moved by a theme change.
Common errors
Allowing PHP execution inside uploads. Uploading 6000 px camera originals to a blog. Deleting a file by FTP and leaving the attachment row. Changing the site URL and breaking absolute image links stored in content. Excluding uploads from backups to save space.
In practice
Check the folder size and the largest files. Block PHP execution inside wp-content/uploads at the server level. Set a maximum image dimension for your editors and compress before upload.