Matomo Analytics

Documentation

How do I manage WordPress from Ploi?

Every site with the WordPress project type gets a WordPress page in Ploi. From there you manage plugins and themes, run a search and replace on the da...

Every site with the WordPress project type gets a WordPress page in Ploi. From there you manage plugins and themes, run a search and replace on the database, turn on debugging and run WP-CLI commands, without logging in to WordPress or connecting over SSH.

Getting the WordPress page

A site installed with the WordPress 1-click installer has the WordPress project type already. For an existing site, open Settings and set Project type to WordPress under Project details. The site sidebar then shows WordPress, Repositories and View admin, which opens /wp-admin.

WP-CLI

The WordPress page does its work through WP-CLI. When the server doesn't have it yet, click Install WP-CLI on the WordPress page, or Install WordPress CLI in the Services card on the server's Manage page. Ploi installs it as /usr/local/bin/wp. Commands run as the site's system user.

The panel waits up to 60 seconds for each command. A command that takes longer keeps running on the server, but its result won't show in the panel.

The WP-CLI tab runs any WP-CLI command you type. Leave out wp, Ploi adds it.

The overview

For WordPress sites installed with the 1-click installer, the site page shows a WordPress overview. It lists the WordPress version, the number of posts, pages, comments and users, active plugins, the theme and the updates that are available. Ploi caches these numbers for 24 hours. Click Refresh to load them again.

Plugins and themes

The Plugins tab lists every plugin with its status, version and available update. You can activate, deactivate, update or delete a plugin, or select several and do it in bulk. Deleting runs the plugin's own uninstall routine, which can also remove its data from the database. Must-use plugins are always on and can't be changed here.

The Themes tab lets you activate, update and delete themes, and update or delete several at once. The active theme can't be deleted.

To install a plugin or theme, enter its slug from WordPress.org, for example wordpress-seo for Yoast SEO, and click Install. With Activate ticked it is switched on right away. Plugins and themes that aren't on WordPress.org, such as premium ones, can't be installed this way. Upload those in WordPress, or install them from Git as described below.

Updating WordPress itself

The overview shows when a new WordPress version is out, but Ploi has no button to update WordPress itself. Update from the WordPress dashboard, see How do I update WordPress?, or run core update on the WP-CLI tab. Make a backup of the database first.

Search and replace

The Search & replace tab replaces text in all tables with the WordPress table prefix, for example after moving the site to a new domain. It runs wp search-replace, which also handles serialized data. Dry run is on by default and only shows what would change. Untick it and click Apply changes to change the database. The tool replaces exactly what you enter, so if the database has both http:// and https:// links to the old domain, run it for each of them. More background is in How do I update all URLs inside a WordPress database using WP-CLI?

Debugging

The WP_DEBUG card on the General tab turns debug mode on and off. With debug mode on, WordPress writes errors to wp-debug.log in the site directory and doesn't show them to visitors. Under Debug log, click Load to see the last 500 lines. Turn debug mode off when you're done, the log keeps growing while it is on.

Configuration, cron and XML-RPC

  • Edit wp-config.php on the General tab opens the configuration file in an editor. Ploi looks for it in the web directory and then in the site root. If yours lives somewhere else, set Configuration file location in the site settings.

  • WordPress runs its scheduled tasks only when someone visits the site. The Cronjob card replaces that with a real cron job that runs every 1 to 15 minutes. Ploi adds DISABLE_WP_CRON to wp-config.php and removes it again when you delete the cron job. See also Run WordPress cron manually.

  • Block XML-RPC blocks requests to xmlrpc.php, a common target for password guessing attacks. Leave it open only when something needs it, such as Jetpack.

Plugins and themes from Git

The Repositories page clones a Git repository into the WordPress installation as a plugin or theme. Use it for your own plugins and themes, or for premium ones you keep in Git. Enter the target directory relative to the site root, for example public/wp-content/themes/my-theme, choose the provider, repository and branch, and click Install repository. GitHub, GitLab, Bitbucket and Forgejo work through your linked account. For any other Git server, pick a custom repository and add the SSH key Ploi shows to your Git account.

Every repository has its own deploy script and deployment history. Deploy pulls the latest changes of one repository, Deploy all deploys them all. To deploy on every push, open Edit on the repository and turn on Quick Deploy. Pushes to other branches are ignored, and a commit message with [deploy skip] skips the deploy. Quick Deploy isn't available for custom repositories. Deleting a repository also deletes its files from the target directory.

Bedrock

Ploi supports sites built on Roots Bedrock. It detects the layout by itself in most cases. If it doesn't, pick Roots Bedrock under Installation layout on the General tab and click Save. On a Bedrock site a few things work differently:

  • Composer manages the plugins and themes. Changes made on the Plugins and Themes tabs aren't in your composer.json, so your next deploy undoes them. Add plugins and themes through Composer instead.

  • Ploi can't toggle WP_DEBUG. Set it in the file for your environment in config/environments/.

  • The cron job setting writes DISABLE_WP_CRON to the .env file in the project root.

Copying a WordPress site

To copy a WordPress site to another server or domain, database included, see How do I clone a site?

Dennis Smink

Written by Dennis Smink

Dennis brings over 13 years of hands-on experience in server management, specializing in optimizing web services for scalability and security.

Ready to dive in?
Start your free trial today.

Create an account and enjoy your 5-day free trial — no credit card required.

Start your free trial