Table of contents
Get the industry’s fastest hosting for WordPress◦ 99.999% uptime
◦ Comprehensive security
◦ 24/7 support

WordPress GuideErrors → Fix Is Its Parent Directory Writable by The Server?

How to fix “Is its parent directory writable by the server?” in WordPress

Trying to upload a media file or update a plugin and suddenly get hit with, “Is its parent directory writable by the server?” You’re not alone—and the fix is usually simpler than it looks.

This WordPress error almost always points to a file permissions or folder path issue. Let’s walk through exactly what it means and how to resolve it for good.

What this error means

This error shows up when WordPress can’t save files where it’s supposed to. It usually happens during:

At its core, WordPress is trying to write to a folder like /wp-content/uploads, but either that folder doesn’t exist, doesn’t have the right permissions, or is owned by the wrong user on your server.

Common causes of the error

Before fixing it, it helps to understand what’s behind it. The most common causes include:

How to fix “Is its parent directory writable by the server?”

Most of the time, this can be resolved with a few permission tweaks. Here’s what to check and fix.

1. Check and fix folder permissions

You can also check via command line with:

Your WordPress directories need to have proper permissions to be writable:

If you have access to SSH, run these commands from your root WordPress folder:

If you’re using FTP or File Manager in cPanel, right-click the uploads folder, choose “File Permissions” or “Change Permissions,” and set it to 755.

2. Set the correct folder ownership

Even if permissions are correct, the web server needs to own the folder to write to it.

On Linux servers, the typical web server user is www-data, apache, or nobody. To set the correct ownership via SSH:

Warning: This command can break things if used incorrectly. If you’re not sure who the web server user is, check with your hosting provider first.

3. Verify the uploads path in WordPress settings

Sometimes, a custom setting in WordPress is pointing to a non-existent folder. To check:

Still not sure? Open phpMyAdmin and check the upload_path option directly:

SELECT * FROM wp_options WHERE option_name = ‘upload_path’;

If the value is something odd like wp-content/uploads/2024, clear it or reset it to just wp-content/uploads.

4. Create the missing “uploads” folder manually

If the folder doesn’t exist at all, WordPress won’t be able to write to it.

This simple fix works surprisingly often.

5. Edit wp-config.php to define upload path

If you’ve installed WordPress in a subdirectory, or the default paths just aren’t working, you can define the upload path manually.

Open wp-config.php and add:

define( ‘UPLOADS’, ‘wp-content/uploads’ );

This forces WordPress to look in the correct place for uploads, bypassing any database issues.

6. Check server configuration issues

On custom VPS setups or after a migration, deeper server issues might be to blame:

To check disk space via SSH:

df -h

Or for inodes:

df -i

If these look full or close to it, talk to your host about cleaning up files or upgrading your plan.

7. Contact your hosting provider

If you’ve checked everything above and the error still won’t go away, it’s time to bring in support.

When you contact them, mention:

A good host will be able to fix ownership, adjust permissions, or identify server-level issues quickly.

If the lines are missing or commented out (with a semicolon), PHP won’t load the extensions. Uncomment and restart your web server.

In .htaccess:

Check for lines that set the wrong PHP version or interfere with module loading. If your host uses .htaccess to control PHP settings, it could be overriding your chosen version or module path.

How to prevent this error in the future

Once you fix it, here’s how to keep it from coming back:

Additional resources

Diagnosing WordPress errors on your site →

Even more common errors, how to troubleshoot them, and how to solve them

WordPress Multisite domain mapping →

A step-by-step guide to setup domain mapping

What is managed WordPress hosting? →

What it means, what it includes, and how to decide if it’s right for you