Table of contents
Get the industry’s fastest hosting for WordPress◦ 100% network 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.

Get fast, reliable hosting for WordPress

Power your site with the industry’s fastest, most optimized WordPress hosting

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:

WordPress directory FAQs

No, the root directory and the parent directory are not the same thing. The root directory is the top-level folder of a file system or website, while a parent directory is simply the folder that sits one level above another folder. A directory can have a parent, but only one root exists for a given file system or site.

You make a directory writable by changing its file permissions. On most servers, this means setting the permissions to allow write access, commonly using 755 or 775, depending on the server setup. You can change permissions through your hosting control panel, an FTP client, or the command line, and you should avoid overly permissive settings like 777 for security reasons.

The parent directory of a website is the folder that contains the site’s main root directory. For example, if your WordPress files live in a folder like public_html, the parent directory would be the folder directly above it on the server. This parent directory often holds other sites, configuration files, or user-level folders.

From the command line, you navigate to the parent directory using cd ... In a file manager or FTP client, you can usually click an “up” arrow or a folder labeled with two dots (..) to move up one level. This works the same way across most operating systems and hosting environments.

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

Haritha Jacob is a knowledgeable System Engineer with extensive experience in resolving costumers’ complaints and issues. She has experience with various programming languages and operating systems, enterprise backup and recovery procedures, system performance-monitoring tools, and more.