Notices about the MU-plugin or data directory
Short answer: GrabWP needs a helper file at wp-content/mu-plugins/mu-grabwp-tenancy.php and a writable data folder at wp-content/grabwp-tenancy. Open Tenancy > Status to use Auto Fix, or grant write permissions to wp-content so GrabWP can create both items.
Needs: Free
Symptom
You see one or more of these notices on GrabWP admin pages or on Tenancy > Status:
MU-plugin is not installed. Tenant features may not work.Auto-install of MU-plugin will not work. Manual installation required.Data directory is missing.Plugin needs write access to create tenant directories and manage configuration files.Could not read tenants.php, so nothing was changed. Check the file and its permissions.You're using a legacy path structure. To comply with WordPress standards:
Media uploads on individual sites may also fail if the data directory is not writable.
Cause
| If you see | It means |
|---|---|
MU-plugin is not installed. Tenant features may not work. | The file wp-content/mu-plugins/mu-grabwp-tenancy.php is missing or outdated. |
Auto-install of MU-plugin will not work. Manual installation required. | The wp-content/mu-plugins folder is not writable by the web server user. |
Data directory is missing. | The folder where GrabWP keeps site files (wp-content/grabwp-tenancy by default) does not exist. |
Plugin needs write access to create tenant directories and manage configuration files. | The data folder exists, but the web server user cannot write to it. |
Could not read tenants.php, so nothing was changed. Check the file and its permissions. | GrabWP could not read tenants.php inside the data folder, so it refused to save changes to avoid losing existing site mappings. |
You're using a legacy path structure. To comply with WordPress standards: or Data directory inside uploads/ | Your install still uses an older folder location (wp-content/grabwp or wp-content/uploads/grabwp-tenancy) instead of wp-content/grabwp-tenancy. |
Check
- Open Tenancy > Status on the Plugin General tab.
- Check the 2. MU-Plugin card; a working install shows Installed.
- Open System Information on the same tab and check Data Dir Writable and MU-Plugins Dir Writable; both should show Yes.
- Switch to the Base Plugin tab on Tenancy > Status to see the active data directory path and whether any
Multiple tenants.php files detectedorData directory inside uploads/warnings appear.
Fix
Missing or outdated MU-plugin
- On Tenancy > Status, open Fix steps and install code inside the 2. MU-Plugin card.
- Click Auto Fix if the button is shown.
- If the folder is not writable, click Copy Code, create the folder
wp-content/mu-pluginson your server if it does not exist, and save the copied code aswp-content/mu-plugins/mu-grabwp-tenancy.php.
Missing or unwritable data directory
- Ensure
wp-content/grabwp-tenancyexists and is writable by the web server user (standard WordPress directory permissions are755and file permissions are644). - Confirm that
tenants.phpandsettings.phpinsidewp-content/grabwp-tenancyare readable and writable by the web server user. - Reload Tenancy > Status and check that the Data Directory .htaccess card shows Protected.
Media uploads fail on client sites
If media uploads fail inside client sites, open Tenancy > Status > Base Plugin and verify the base directory path. Confirm that the web server user has write permissions to create and write inside {base}/{tenant_id}/uploads.
Legacy path structure notice
If Tenancy > Status shows You're using a legacy path structure. To comply with WordPress standards:, follow the three steps shown on the notice during a maintenance window:
1. Deactivate the plugin2. Rename and move the entire %1$s folder to %2$s(moving the old folder towp-content/grabwp-tenancyso that only onetenants.phpfile exists on disk).3. Reactivate the plugin
Do not leave copies of tenants.php in both the old and new locations, or the status checker will warn Multiple tenants.php files detected.
Still stuck
If notices remain after fixing permissions or moving the data folder, collect the Plugin General and Base Plugin tabs from Tenancy > Status and follow What to send when you ask for help.