Check WordPress file permissions
Check WordPress ownership and permissions when uploads, plugins, themes, cache files, or PHP includes fail after a migration or deploy.
When to use this guide
Use this when logs mention permission denied, failed includes, unwritable uploads, missing cache files, plugin update failures, or errors after moving WordPress between hosts.
Safety notes
- Do not make all files world-writable.
- Preserve the hosting provider's expected user and group model.
- Back up before bulk permission changes.
- Compare against a known-good site on the same host when possible.
Basic steps
- Identify the web server or PHP worker user.
- Check ownership on the WordPress root,
wp-content, plugins, themes, uploads, and cache folders. - Confirm PHP can read WordPress files and write only where needed.
- Review recent deploy, restore, or FTP changes that may have changed ownership.
- Retest the exact URL that produced the log entry.
Expected result
The failing path should stop producing permission errors, uploads or cache writes should work again, and no broad write permissions should be required.
Next links
- Match the exact log phrase with Check access and error logs for HTTP failures.
- Capture PHP details with Enable WordPress debug log safely.
- If permissions broke after a restore, use Restore WordPress from backup safely.
Review notes
- Last reviewed
- 2026-05-05
- Reviewed by
- FaultForge Editorial Team, Web operations reviewer
- Tested on
Current stable browser behavior, server log workflows, WordPress administration, nginx proxy behavior, and MySQL/MariaDB operational checks.