Category: WordPress

  • How to Fix WordPress Stuck in Maintenance Mode? [100% WORKING]

    How to Fix WordPress Stuck in Maintenance Mode? [100% WORKING]

    Is your WordPress website stuck in maintenance mode? Don’t panic! Although this issue can lock you (and your visitors) out of your website, fortunately it’s often easily fixed.

    This guide will discuss why WordPress websites get stuck in maintenance mode and walk you through the steps to quickly regain access using FTP or RunCloud.

    By the end of this article, you will be able to get your WordPress website out of maintenance mode and back up and running properly.

    Let’s get started!

    What Causes WordPress to Get Stuck in Maintenance Mode?

    When WordPress performs updates, it creates a temporary .maintenance file and enters maintenance mode to prevent user access during the process. However, seven main factors can interrupt this process and leave your site stuck:

    #1 – Interrupted Updates

    The most common cause is when the update process is interrupted before completion. This can happen due to poor internet connectivity, browser closure during updates, or server timeouts. When these interruptions occur, WordPress cannot complete the cleanup process that removes the .maintenance file.

    #2 – Server Resource Limitations

    Insufficient PHP memory limits or execution timeouts can force the update process to stop midway. This is particularly common when updating multiple plugins simultaneously or dealing with large themes. Due to these limitations, the site remains in maintenance mode when the server kills the process.

    #3 – Plugin or Theme Conflicts

    Incompatible plugins, themes, or WordPress core updates can trigger conflicts during maintenance. These conflicts may cause the update process to fail, leaving the maintenance mode active.

    Suggested read: How to Fix the HTTP Error 503 Service Unavailable in 2024 [SOLVED]

    #4 – File Permission Issues

    Incorrect file permissions can prevent WordPress from properly creating or deleting the .maintenance file. This often occurs after server migrations or when file permissions are manually modified.

    #5 – Multiple Update Attempts

    Starting a new update while another is in progress can create conflicting processes. This scenario is common in multi-user environments where multiple administrators attempt updates simultaneously.

    Suggested read: 3 Ways to Fix Too Many Authentication Failures SSH Root? [SOLVED]

    #6 – Manual Activation

    If you or someone on your team manually turned on maintenance mode (maybe through the wp-config.php file or a maintenance plugin) and forgot to turn it off, your site will stay in maintenance mode.

    #7 – Browser Cache Confusion

    Sometimes, your browser’s cache might show an old version of your site that was in maintenance mode, even if the actual site is working fine. Try reloading the website in a private browser window or on a different computer to see if the problem persists.

    Suggested read: 10 Best WordPress Management Tools To Easily Manage Multiple Websites

    How to Identify if Your WordPress Site is Stuck in Maintenance Mode

    When you update your website, it sometimes isn’t immediately obvious whether it’s stuck in maintenance mode or just taking a long time to update. Here are six ways you can identify if your site is stuck in maintenance mode or not:

    #1 – Visual Indicators

    When your WordPress site is stuck in maintenance mode, visitors will see a message: “Briefly unavailable for scheduled maintenance. Check back in a minute.” This message differs from other common WordPress errors and is the primary indicator of maintenance mode issues.

    WordPress Stuck in Maintenance

    #2 – Dashboard Access

    You typically cannot access your WordPress admin dashboard during a stuck maintenance mode. Attempting to log in often redirects you to the maintenance message, distinguishing this issue from other access problems like database errors or a white screen of death.

    Suggested read: The 12 Best cPanel Alternatives to Manage Your Servers

    #3 – File System Check

    A .maintenance file in your WordPress root directory confirms that maintenance mode is active. This file should only exist temporarily during updates, so its continued presence after several minutes indicates a stuck state.

    #4 – Time Duration

    Normal maintenance mode typically lasts less than a minute. If your site displays the maintenance message for more than 5 minutes, it’s likely stuck. This extended duration indicates that the update process wasn’t completed successfully.

    Suggested read: Top 8 Popular Web Hosting Control Panels in 2024

    #5 – Server Resource Usage

    Analyzing server resource usage can help identify if a WordPress site is stuck in maintenance mode. If the site is truly in maintenance, resource consumption should be minimal; however, if the server consistently uses significant CPU, memory, or I/O resources while the site appears to be in maintenance mode, this is a strong indicator of an issue.

    High resource usage often points to an underlying process, perhaps a stuck update or a failed plugin operation, preventing the site from exiting maintenance mode. You can address the root cause and properly resolve the maintenance mode issue by identifying the resource-intensive process.

    #6 – Error Log Analysis

    Checking your WordPress error logs can reveal failed update attempts or PHP errors that occurred during the update process. These logs often contain specific error messages or stack traces that can help identify the root cause of the stuck maintenance mode.

    Suggested read: How To Install WordPress With RunCloud | Step-By-Step Guide

    How to Fix WordPress Stuck in Maintenance Mode

    When WordPress gets stuck in maintenance mode, it can be frustrating for both site owners and visitors, but the good news is that it’s often a simple fix.

    Step 1. Access Your Website Files

    First, you need to obtain access to your website’s files. You can do this in one of two primary ways: using an FTP client like FileZilla, WinSCP, or CyberDuck, or, if you’re using RunCloud, you can access your files directly through the user-friendly dashboard.

    If you use a FTP client, you’ll need to connect to your server using your FTP credentials. You will need your server’s hostname (often your domain name), username, password, and port number (usually 21 for standard FTP or 22 for SFTP). Once connected, navigate to your WordPress root directory. This is the main directory where you’ll find folders such as wp-content, wp-admin, and wp-includes.

    On this screen, ensure your FTP client is set to display hidden files. The maintenance file starts with a period (.) and is often hidden by default, so this step is essential.

    Before making any modifications, always create a backup of your site files. Should something unexpected happen during the fix, you’ll have a recent, working version to restore your site.

    Whether you back up using FTP or are using RunCloud and choose to download a backup, this step is crucial for peace of mind. Taking a moment to back up beforehand can save you a lot of headaches later!

    Step 2. Delete the .maintenance File

    Once you’ve accessed your WordPress root directory, look for a file named “.maintenance”. This file tells WordPress to display the maintenance mode message. WordPress automatically removes this file when updates are completed successfully, but when updates fail or are interrupted, the file remains and keeps your site in maintenance mode.

    While it’s usually just a simple text file containing a timestamp, having a backup is always good practice. After securing your backup, you can proceed to delete the .maintenance file. Most FTP clients allow you to delete files by right-clicking and selecting “Delete” or pressing the Delete key.

    After removing the file, wait a few moments for your web server to register the change. Then, try accessing your WordPress site again. The maintenance mode message should be gone, and your site should return to normal operation. If you’re still seeing the maintenance message, you might need to clear your browser cache (which we’ll cover next).

    Step 3. Clear Your Browser Cache

    Browser caching can sometimes cause your website to appear stuck in maintenance mode even after you’ve deleted the .maintenance file. This happens because your browser has stored (or “cached”) the maintenance mode page and continues to display it instead of fetching the fresh content from your server.

    Start by clearing your browser’s cache completely. In Chrome, you can do this by pressing Ctrl+Shift+Delete (Windows) or Command+Shift+Delete (Mac) and selecting “Cached images and files”. Make sure to choose a time range of “All time” to ensure a complete cache is clear. The process is similar for other browsers like Firefox or Safari, though the exact menu locations might differ.

    Clearing browser data to fix WordPress Stuck in Maintenance

    Alternatively, you can test your site in an incognito/private browsing window after clearing the cache. This provides a clean slate without any cached data and lets you see if the maintenance mode issue is resolved. If the site works in incognito mode but still shows maintenance mode in regular browsing, you might need to clear your cache again or wait a bit longer for the cache to expire naturally.

    Step 4. Using the WP-CLI to Resolve the Issue (Optional)

    After deleting your .maintenance file, you can go one step further and disable all WordPress plugins on your website. However, since logging in to the WordPress dashboard is impossible, you will do this via the command line interface.

    RunCloud comes with WP-CLI, a powerful command-line interface for managing WordPress installations. It offers a more technical but often more efficient approach to resolving maintenance mode issues.

    Connect to your server via SSH and navigate to your WordPress installation directory. Once there, you can use various WP-CLI commands to diagnose and fix maintenance mode issues. The basic command wp maintenance-mode status will tell you if maintenance mode is active. If it is, you can use wp maintenance-mode deactivate to turn it off programmatically.

    In addition, WP-CLI can help identify what caused the issue in the first place. You can use commands like wp core verify-checksums to verify the integrity of your WordPress core files or wp plugin list—-status=active to check for potentially problematic plugins.

    If you want to deactivate plugins, then you can use the command wp plugin deactivate –all to deactivate all WordPress plugins. This can be useful to minimize potential conflicts causing a stuck maintenance mode or when trying to troubleshoot issues or protect your website while working on a problem. If you encounter any problem, you can use the wp site health command to get additional diagnostic information about your site’s overall health and identify any configuration issues that might have contributed to the maintenance mode problem.

    Wrapping Up: Preventing Future Maintenance Mode Issues

    In this guide, we have explained WordPress maintenance mode and how sometimes WordPress websites get stuck in maintenance mode. We have also provided step-by-step instructions for fixing this problem.

    Although the RunCloud dashboard makes it easy to fix this problem, detecting such issues before they affect your WordPress website is even better. We recommend creating a staging environment through RunCloud’s one-click staging functionality to test all updates before applying them to your live site.

    Additionally, RunCloud allows you to monitor your site’s PHP memory limits and timeout settings in its dashboard to ensure they accommodate larger updates.

    Start using RunCloud today!

    FAQs on Fixing WordPress Stuck in Maintenance Mode

    How long does WordPress stay in maintenance mode?

    WordPress typically stays in maintenance mode for only 30-60 seconds during normal updates. When everything works correctly, the maintenance mode is automatically disabled once the update process is complete. However, if something interrupts the update process (like a timeout or connection issue), your site can get stuck in maintenance mode indefinitely.

    Can I manually exit maintenance mode?

    You can manually exit maintenance mode by deleting the “.maintenance” file from your WordPress root directory via FTP or file manager. With RunCloud’s file manager, you can easily navigate to your site’s root directory and remove this file without needing FTP credentials. You can also use the SSH terminal to execute the command “rm .maintenance” command from your site’s root directory.

    What happens if I ignore the maintenance mode?

    Your site will continue displaying the “Briefly unavailable for scheduled maintenance” message to all visitors indefinitely. Furthermore, you won’t be able to access your WordPress dashboard to make any changes or updates until the maintenance mode is resolved.

    Will my site lose data if it’s stuck in maintenance mode?

    Your site’s data remains intact when stuck in maintenance mode since this state only affects access to the site, not the underlying database or files. The maintenance mode is a temporary holding state that prevents access while updates are being performed. RunCloud’s staging environment ensures you can test updates safely without risking your production data.

    Is there a plugin to prevent maintenance mode issues?

    Several WordPress plugins like WP Maintenance Mode Manager and Advanced Maintenance Mode can help prevent maintenance mode issues by providing better control over the process. These plugins often include features such as automatic timeout detection and forced maintenance mode exit after a specified time. Additionally, RunCloud’s staging functionality allows you to test plugins and updates safely before applying them to your production site.

    How can I safely update WordPress without getting stuck?

    Using RunCloud’s staging environment, you can perform updates on a copy of your site first to ensure everything works correctly. Before updating, always create a backup of your site using RunCloud’s backup functionality. Additionally, ensure you have adequate PHP memory limits and timeout settings configured in your RunCloud server settings.

    What should I do if the fix doesn’t work?

    If deleting the .maintenance file doesn’t resolve the issue, you should check your site’s error logs through RunCloud’s dashboard for specific error messages. If the problem persists, consider restoring from a recent backup using RunCloud’s backup system. Additionally, you may need to contact RunCloud support for advanced troubleshooting if the issue concerns server configuration.

    Can server issues cause maintenance mode problems?

    Server-related issues such as insufficient PHP memory, timeout settings, or permission problems can cause maintenance mode issues. RunCloud helps prevent these problems by providing optimized server configurations and easy-to-use tools for adjusting PHP settings.

    How do I know if my site is down or just in maintenance mode?

    You can differentiate between a site being down and in maintenance mode by checking the specific error message displayed – maintenance mode shows a “Briefly unavailable for scheduled maintenance” message. Additionally, you can check your site’s error logs through the RunCloud dashboard for specific information about the current state.

    Are there any tools to help diagnose the issue?

    RunCloud provides comprehensive tools, including error logs, file manager, and terminal access, to help diagnose maintenance mode issues. Furthermore, RunCloud’s staging environment allows you to replicate and debug issues in a safe environment before attempting fixes on your production site.

  • How to Easily Optimize Your WordPress Website With RunCloud Hub

    How to Easily Optimize Your WordPress Website With RunCloud Hub

    Ready to improve the speed of your WordPress website? RunCloud Hub is a comprehensive solution for optimizing WordPress server caching.

    In this article, we will explain how RunCloud Hub allows you to enable powerful features such as Redis object caching and NGINX caching on your server with just a few clicks. We’ll discuss using RunCloud Hub to boost WordPress speed, secure your server, and efficiently manage your WordPress hosting. 

    But before we get started, let’s first understand what RunCloud Hub is and why you should use it.

    What Is RunCloud Hub?

    RunCloud Hub is a centralized platform for managing server-side optimization tools directly within WordPress.

    It combines three powerful features: RunCache, Redis Object Cache, and Server Health & Transfer Stats monitoring. By integrating these tools into your WordPress dashboard, RunCloud Hub simplifies server management while also accelerating your website’s speed and reliability.

    Suggested read: The Best WordPress Caching Plugins To Speed Up Your Site (2025)

    Core Features of RunCloud Hub

    1. RunCache (NGINX FastCGI/Proxy Cache): RunCache uses NGINX’s native caching mechanisms to store static page content and reduce server load. It supports cache exclusion rules for dynamic pages (e.g., WooCommerce carts or member portals) and offers preloading to generate caches proactively.
    2. Redis Object Cache: Redis Object Cache is Ideal for dynamic websites as it stores database queries in memory and reduces PHP execution times and database strain. This ensures faster load times for pages with personalized content.
    3. Server Health & Transfer Stats: Monitor critical server metrics, such as load averages, memory usage, and disk space, directly from your WordPress dashboard.

    Enhanced Security with Automated Redis ACL

    In addition to providing seamless caching services, RunCloud automatically enables essential security features, including Redis Access Control Lists (ACL), to protect your Redis Object Cache implementation. While Redis Object Caching and Full-Page Caching are separate functionalities and do not share authentication methods, we highly recommend securing your Redis Object Cache, especially for production environments with multiple web applications on a single server.If one of your sites ever gets compromised, then using Redis ACLs helps to restrict access and reduce the risk of one site affecting others on your server.

    How to Install RunCloud Hub

    Installing RunCloud Hub takes just a moment, and automatically configures both server and WordPress components.

    1. Access RunCloud Dashboard
      Navigate to your web application’s RunCloud Hub menu within the RunCloud dashboard.
    1. Enable RunCloud Hub
      On the next screen, click “Let’s Get Started” to begin the installation process of the RunCloud Hub plugin. On the next screen, accept the terms and conditions, then click the “Install” button to start the installation. This triggers two actions:
      • Server-Side Setup: Configures NGINX caching (FastCGI or Proxy Cache, depending on your stack).
      • WordPress Integration: Installs the RunCloud Hub plugin, linking your site to server metrics and cache controls.
    1. Verify Installation
      After installation, a new tab will appear in your WordPress dashboard. Hovering over this tab will reveal purge options (e.g., “Clear All Cache” or “Clear Cache of This URL”) in your WordPress dashboard.

    How to Use RunCloud Hub

    Once installed, RunCloud Hub’s WordPress plugin provides granular control over caching, server health, and performance tuning.

    1. Monitoring Server Health & Traffic

    The RunCloud Hub dashboard provides a quick overview of your server’s current status and displays key metrics such as server load, memory usage, and disk space consumption. You can access these metrics from your WordPress dashboard by navigating to Settings > RunCloud Hub > Stats.

    Your dashboard also shows up-to-the-minute web traffic statistics, providing a real-time glimpse into your website’s activity. With these insights, it’s easy to monitor server health and identify potential issues at a glance.

    2. Configuring RunCache

    The RunCloud Hub plugin offers granular cache purging options and allows users to clear specific parts of their website’s cache, such as the homepage, individual posts/pages, or archive pages. It also allows users to custom-purge URLs and set up scheduled cache purges, ensuring their website always serves fresh content. This flexible system allows for precise cache management and troubleshooting.

    RunCache in RunCloud Hub for WordPress

    To do this, navigate to Settings > RunCloud Hub > RunCache in your WordPress dashboard. Here, you will find the following sections:

    • Purger Settings: Automate cache clearance when content updates (e.g., after publishing a post).
    • Cache Exclusion Rules: Exclude dynamic URLs (e.g., /cart/, /checkout/) from caching.
    • Preload Settings: Generate caches for all pages instantly, bypassing the need for user visits.

    3. Enabling Redis Object Cache

    RunCloud’s Redis Object Cache significantly speeds up the dynamic website performance by caching complex database queries, reducing server load, and accelerating PHP execution.

    Unlike page caching, which stores full HTML outputs, Redis Object Cache stores the results of database queries. Subsequent visits will not require the same resource-intensive database lookups. This caching mechanism reduces database load, resulting in a faster and more responsive website.

    You can enable this setting under the Settings > RunCloud Hub > Redis menu. On this screen, you can also configure options to exclude non-essential cache groups (e.g., plugin data) to optimize memory usage.

    Bonus: Access WordPress Dashboard with Magic Login Links

    RunCloud Hub offers a convenient and secure “magic login link” feature that streamlines access to your WordPress dashboards. Instead of manually entering usernames and passwords, you can generate a unique, one-time login link directly from your RunCloud dashboard.

    Clicking this link automatically logs you in to your WordPress site, saving you valuable time and eliminating the need to remember or type in your credentials. This speeds up your workflow and significantly enhances security by reducing exposure to keylogging or phishing attempts, giving you a safer and more efficient way to manage your WordPress sites.

    To use this functionality, simply navigate to the RunCloud Hub page in your Web applications settings on your RunCloud dashboard and scroll down to the bottom. On this screen, click on the “Login as” button next to the name of the administrator account that you want to use.

    Final Thoughts

    In this guide, we’ve explored how RunCloud Hub simplifies server-side optimizations for WordPress and allows you to maximize performance without needing deep technical expertise. From accessing powerful caching mechanisms such as NGINX and Redis to fine-tuning your server with granular purging and real-time monitoring, RunCloud Hub gives you the control you need to ensure your website loads quickly and efficiently.

    We’ve also highlighted the added security benefits, such as automatically enabled Redis ACL and the convenient magic link login, designed to enhance security and ease of use.

    Whether you manage an eCommerce site or a high-traffic blog, RunCloud’s caching tools and monitoring features ensure peak performance. At the same time, the secure and user-friendly system makes it easy for you to manage and secure your server.

    Ready to experience hassle-free server management and unlock the full potential of your WordPress websites?

    Sign up for RunCloud today and discover how easy it can be to achieve top-tier performance while simplifying your workflow.

    With features designed to optimize speed and security, RunCloud is your all-in-one solution for WordPress hosting management.

    Start your free trial now and see the difference for yourself

    FAQs About RunCloud Hub

    What is RunCloud Hub?

    RunCloud Hub is a WordPress optimization toolkit that offers server-side caching (RunCache) and Redis Object Cache functionality. It is compatible with dynamic sites and  WooCommerce stores and accelerates page loads by reducing database strain.

    How do I install RunCloud Hub?

    You can install RunCloud Hub via the RunCloud dashboard under your web app’s “RunCloud Hub” menu. 

    Does RunCloud Hub work with WooCommerce?

    Yes. RunCache’s cache exclusion feature lets you skip caching dynamic pages (cart, checkout), while Redis handles database queries. Together, they optimize WooCommerce without breaking functionality.

    How does RunCloud Hub improve website speed?

    RunCache serves cached pages directly from the server and bypasses the WordPress engine entirely. Redis stores database queries in memory, reducing PHP execution time. Combined, they minimize server load and boost performance.

    Is RunCloud Hub free?

    RunCloud Hub is available to all paid RunCloud users (Essentials, Professional, Business, and Enterprise). Magic Link Login, however, is exclusive to Business and Enterprise plans.

    Can I use RunCloud Hub alongside other caching plugins?

    Yes. Server-level RunCache/Redis and application-level plugins operate independently. Disable redundant features (e.g., page caching in WordPress plugins) to avoid conflicts.

    Is RunCloud Hub compatible with other WordPress caching plugins?

    Yes. RunCache and Redis Object Cache operate at the server level, while most plugins (e.g., MainWP) handle WordPress-level caching. You can disable overlapping features in third-party plugins to avoid conflicts. RunCache often outperforms WordPress plugins by serving cached pages directly via NGINX.

    Can I use RunCloud Hub on non-WordPress sites?

    No. RunCloud Hub is designed exclusively for WordPress. However, RunCloud supports other caching solutions (e.g., LiteSpeed Cache) for non-WordPress applications.

    What happens if I disable Redis Object Cache?

    Disabling Redis reverts database queries to standard MySQL, which may increase load times for dynamic content. However, RunCache will continue to handle static page caching for your site.

  • Managing WordPress Development with Git and Composer: A Modern Approach

    Managing WordPress Development with Git and Composer: A Modern Approach

    Are you struggling with WordPress development workflows? Tired of SFTP uploads and manual plugin updates?

    This comprehensive guide will show you how to modernize your WordPress development process using Git, Composer, and proper environment management.

    By the end of this article, you’ll understand how to:

    • Set up a professional WordPress development environment
    • Manage WordPress core, plugins, and themes with Composer
    • Handle sensitive configuration data securely
    • Deploy WordPress sites with confidence across different environments
    • Collaborate effectively with your development team

    Note: This workflow will not make sense for all types of WordPress sites. If you don’t know what Git and version control are or don’t build sites by writing themes, plugins, etc. – you will likely not benefit from this workflow.

    Let’s get started!

    The Importance of Version Control for WordPress Development

    Version control is essential to any modern web development workflow, including WordPress projects. Version control systems like Git provide a robust and reliable way to track changes, collaborate with team members, and maintain a comprehensive history of a project’s evolution.

    If you are working on a complex WordPress project, then using version control offers several key benefits:

    1. Collaborative development: With version control, multiple developers can work on the same codebase simultaneously, seamlessly merging their changes and resolving any conflicts. This is useful for larger WordPress projects or teams with multiple contributors.
    2. Reliable code history: Version control systems act as a safety net, allowing you to easily revert to your project’s previous working states if necessary. This is particularly important when making significant changes or experimenting with new features, as you can always roll back to a known good version.
    3. Deployment and environment management: By maintaining your WordPress codebase in a version control system, you can streamline your deployment process and ensure consistent environments across different stages (e.g., development, staging, production). This helps eliminate the “it works on my machine” problem and promotes reliable, predictable deployments.
    4. Code auditing and reviews: Version control systems enable code reviews, allowing team members to scrutinize changes, provide feedback, and maintain code quality standards. 
    5. Branching and feature development: Git’s branching capabilities allow developers to work on new features or bug fixes in isolation without disrupting the main codebase. This facilitates a more organized and structured development process.

    Given these compelling advantages, it’s clear that version control can benefit advanced WordPress users. However, as we mentioned earlier, if you don’t build your own sites, this might not be the best approach for you.

    The Challenges With Traditional WordPress Deployment Workflows

    While WordPress is a powerful and flexible content management system, the traditional deployment workflows used by many WordPress developers can often introduce significant challenges and inefficiencies. If you have worked with WordPress in the past, then you will likely have encountered several common issues with these conventional approaches:

    1. Manual file management: In a typical WordPress deployment, developers often rely on manual file transfers (e.g., FTP, SFTP) to push updates to the production server. This process is error-prone, time-consuming, and lacks a comprehensive audit trail of the changes made.
    2. Inconsistent environments: Without a robust system for managing dependencies and configurations, it’s common for WordPress sites to suffer from “it works on my machine” problems, where a feature or bug fix behaves differently in the development, staging, and production environments.
    3. Difficulty tracking changes: Relying on manual file transfers can make it challenging to keep track of the specific changes made to a WordPress site over time. This makes it harder to debug issues, revert problematic updates, or collaborate effectively with other team members.
    4. Lack of automated deployment: Traditional WordPress deployment workflows often lack the ability to automate the deployment process. This results in a more labor-intensive and error-prone process, especially for teams that manage multiple WordPress sites.

    These challenges can lead to increased development time, higher maintenance costs, and a higher risk of production issues.

    At RunCloud, we believe that addressing these problems by adopting modern development practices, such as those enabled by the Bedrock boilerplate, can significantly improve the efficiency, reliability, and scalability of WordPress projects – particularly at the enterprise level

    Steps for Setting Up a WordPress Project with Git

    This guide walks you through setting up a WordPress project using Git for version control, ensuring a structured and organized development workflow. We’ll cover creating a new repository, excluding unnecessary files, and organizing your project directory.

    Prerequisites

    If you haven’t already, download and install Git and Composer on your local computer. Choose the appropriate version for your operating system. 

    Note: You will also need to create an account on a supported Git provider. In this tutorial, we will deploy the applications to RunCloud using GitHub.

    Install Bedrock WordPress

    In this tutorial, we will use Bedrock to maintain and develop WordPress locally. Execute the following commands on your local computer to create a new project and change the directory to the new project:

    composer create-project roots/bedrock my-wordpress-site
    cd my-wordpress-site

    Setting Up Your .env File

    After creating the project, you will need to configure the local development environment. Environment variables are crucial for maintaining secure and flexible WordPress configurations across different environments.

    Bedrock uses the PHP dotenv library to load environment variables from a .env file, keeping sensitive information out of version control while allowing different configurations for development, staging, and production environments.

    Execute the command below to create a sample .env file in your project.

    # Copy the example file to create your .env
    cp .env.example .env

    After creating the file, you can edit it to configure your local database credentials. Copy and paste the following code snippet into your .env file and edit the necessary fields to include your database name and credentials:

    # Database connection settings
    DB_NAME='your_database_name'
    DB_USER='your_database_user'
    DB_PASSWORD='your_secure_password'
    DB_HOST='localhost'   # Use 'localhost' for local development
                         # Use actual host for production/staging
    # Optional: Use DATABASE_URL instead of individual settings
    # DATABASE_URL='mysql://user:password@localhost:3306/database_name'

    After editing your database credentials, you can edit your WordPress environment settings. Copy and paste the following code snippet into your environment file and edit it accordingly:

    # Environment type
    WP_ENV='development'  # Options: development, staging, production
    # Site URLs
    WP_HOME='https://example.com'  # Your site's home URL
    WP_SITEURL='https://example.com/wp'  # WordPress core location

    Finally, you must add authentication keys and salts to your .env file. You can use any random string of text or generate these values using the WordPress Salt Generator and add them to your .env file in the following format:

    # Authentication Keys and Salts
    AUTH_KEY='your_generated_key'
    SECURE_AUTH_KEY='your_generated_key'
    LOGGED_IN_KEY='your_generated_key'
    NONCE_KEY='your_generated_key'
    AUTH_SALT='your_generated_salt'
    SECURE_AUTH_SALT='your_generated_salt'
    LOGGED_IN_SALT='your_generated_salt'
    NONCE_SALT='your_generated_salt'

    While working with a .env file, there are a few things that you should keep in mind:

    1. Never commit your .env file to version control
    2. Use strong, unique passwords for database credentials
    3. Generate new salts for each environment

    After editing the .env file, you can save it and visit your WordPress URL to view your site locally.

    Note: This step assumes that you already have a webserver daemon, such as Caddy, Nginx, Apache, etc., running on your local machine to serve your WordPress website at the specified address.

    Initialize Git Repository

    Once your website is up and running, you can initialize a new Git repository using the following command:

    git init
    git add .
    git commit -m "Initial Bedrock project setup"

    The above command will create a new git project in your WordPress directory. You can now start tracking it via version control. However, most people use a Git server, such as GitHub or GitLab, to manage and collaborate with other developers.

    In this example, we will use GitHub to manage and track the changes in this repository, but RunCloud supports multiple Git providers. To do this, create a new empty repository in your GitHub account and do not initialize it – i.e., ensure that “Add a Readme” is unchecked.

    This will create a repository without any content. On the repository dashboard, scroll down to the bottom and look for the following commands:

    git branch -M main
    git remote add origin git@github.com:tatticoder/wordpress-composer.git
    git push -u origin main

    Note: Do not copy the above commands; they are only provided as an example. You must copy the commands specific to your git repository.

    Once you find the necessary git commands in your git dashboard, go back to your terminal window and execute them. After you push the changes, your local code repository will be uploaded to the cloud.

    Deploy WordPress via Git on RunCloud

    After uploading your Git repository to the cloud, you can deploy it to your RunCloud server. The deployment steps are straightforward, but if you need step-by-step instructions, refer to our documentation on Git deployments.

    After creating your git application on RunCloud, you will need to upgrade it to an Atomic Deployment project to take advantage of additional features. To learn more about this, follow the steps outlined in our documentation on Atomic Deployments.

    Next, you must create a new database for your web application in the RunCloud dashboard. Take note of the credentials created in this step, as we will need them later. Optionally, if you are using a Docker server, you should read our documentation on networking in a RunCloud containerized server before moving on to the next step.

    After that, you will need to configure a new environment variable file using Symlink for this website before you can use it. To do this, navigate to the “Symlink” tab in your atomic deployment dashboard and create a new configuration file. Next, add .env in both the “Link From” and “Link To” fields as shown below.

    After this, you can add a secure passphrase to lock your configuration file. You will need this passphrase again if you want to edit your file later.

    Finally, you can configure your Bedrock environment variables to meet your requirements. Here, you must add the database credentials you created earlier and configure the host if you are using RunCloud docker. This setup process is nearly identical to the “Setting up .env file” step we covered earlier. 

    After configuring your .env file, you must configure your web application’s public path to point your web server’s document root to the web directory within the Bedrock project. You can also connect your database to your web application to ensure it is backed up properly via the RunCloud backup service. 

    To do this, go to your web application dashboard and navigate to the Settings tab. Select the database you created from the drop-down menu on this page and click Update Linked Database.

    Next, make sure that your web application’s public path ends with /live/web. Finally, change the web application type to WordPress from the drop-down menu. Once you hit Update Stack, your website will be accessible to everyone on the Internet.

    After deploying your application, you can view it by clicking Open Site in your RunCloud dashboard.

    Configure Cron Jobs (Optional)

    After deploying your application, you can configure your .env file in the production environment to disable the default WordPress cron job. Once you have disabled the cron job, you can use the RunCloud dashboard to configure a new cron job for your WordPress site.

    While configuring your cron jobs, use the correct public path for your WordPress installation. If you followed the steps correctly, then the complete WordPress path will look something like this:

    /home/runcloud/webapps/application-name/live/web/wp/

    You can use the above path to run PHP cron commands on your server. For example, you can run the following command to execute the PHP cron file directly:

    php /home/runcloud/webapps/application-name/live/web/wp/wp-cron.php

    Developing With Git Workflow

    When working on a new feature or bug fix, it’s recommended to create a dedicated Git branch for that work. This allows you to isolate your changes and collaborate more effectively with other team members. You can create a new branch from your Bedrock project directory with a command like git checkout -b feature/my-new-feature.

    After you’ve completed your work on a feature branch, you can merge those changes back into the main development branch (usually main or dev) using a Git merge command, such as git merge feature/my-new-feature. This integrates your feature into the codebase and makes it available for deployment.

    If you have configured a webhook for your application (as described in Atomic deployment documentation), then your live website will be updated automatically as soon as you push your changes to the cloud.

    Handling Modified Files Not Managed By Git

    While Bedrock encourages managing most of your project’s files and configurations in Git, some files, such as wp-config.php, may contain sensitive or environment-specific information you don’t want to commit to your repository.

    In these cases, you’ll need to deploy these files separately, perhaps using environment variables or including them in your deployment process.

    Similarly, user-generated content, such as media uploads, is typically not managed in your Git repository, as it can quickly bloat the repository size and is more efficiently stored and served directly from the web server.

    During deployment, you’ll need to ensure that these non-Git-managed files are properly transferred to the deployment environment, either as part of your deployment process or through a separate content synchronization step.

    Managing Themes And Plugins as Composer Dependencies

    Bedrock uses Composer, a dependency management tool for PHP, to install and manage the WordPress core updates, plugins, and themes. This allows you to easily update WordPress core by simply updating the Composer dependency rather than manually downloading and replacing files.

    Installing third-party plugins and themes

    Bedrock encourages you to manage your project’s themes and plugins as Composer dependencies as well. This is done by specifying the required plugins and themes in the composer.json file.

    For example, to install the Akismet plugin, you would run composer require wpackagist-plugin/akismet. Composer will then fetch the plugin from the WordPress.org plugin repository and install it in the appropriate directory for your Bedrock project.

    Handling private/premium plugins and themes

    For private or premium plugins and themes that are not available on the WordPress.org repository, Bedrock provides a way to include them as Composer dependencies as well. This involves configuring custom package repositories in the composer.json file, such as a private Git repository or a custom Composer repository provided by the plugin/theme vendor. This ensures that your project’s dependencies are all managed consistently and are version-controlled.

    Keeping WordPress Core And Dependencies Up-To-Date

    One of the key benefits of using Composer with Bedrock is the ability to keep your WordPress core and all other dependencies up-to-date. When a new version of WordPress, a plugin, or a theme is released, you can simply run the composer update command to fetch the latest versions.

    Bedrock also provides a composer outdated command to help you identify which dependencies have newer versions available, making it easy to stay current on updates and security patches. You can consult the Bedrock documentation for more details and advanced usage scenarios, such as handling database migrations, configuring environments, and integrating with continuous integration/deployment tools.

    Conclusion

    By separating WordPress core from your custom code, managing dependencies with Composer, and adopting a Git-based development workflow, you can enjoy several benefits:

    • Improved version control and collaboration for your team
    • Easier management of WordPress core, plugin, and theme updates
    • Consistent and reproducible development and deployment environments
    • Enhanced security through the use of environment-specific configurations
    • Streamlined deployment processes, potentially with automated CI/CD pipelines

    The WordPress ecosystem has evolved significantly over the years, and developers must keep pace with modern development practices. By embracing tools such as Git, Composer, and Bedrock, you can elevate your WordPress projects to a new level of maintainability, scalability, and efficiency.

    If you’re a developer & still manage your WordPress sites without Git, we highly encourage you to explore the benefits of the Bedrock approach and adopt these modern WordPress management practices. They will not only improve your development workflow but also make your WordPress sites easier to maintain in the long run.

    Naturally, we recommend using RunCloud, a powerful server management platform that makes setting up the ideal WordPress development workflow as well as managing production-grade infrastructure even easier. 

    RunCloud seamlessly integrates with your Git-based WordPress projects, allowing you to automate deployments, manage environment-specific configurations, and ensure consistent deployment environments.

    By combining the benefits of Bedrock’s Git and Composer-based approach with RunCloud’s server management capabilities, you can create a streamlined and efficient WordPress development and deployment workflow.

    Sign up for RunCloud today and take your WordPress projects to new heights of productivity and reliability.

  • NGINX Caching for WordPress – Complete Guide & Tutorial

    NGINX Caching for WordPress – Complete Guide & Tutorial

    “NGINX cache on WordPress“ is one of the hottest search terms on the internet, but what does it mean? If you are wondering the same thing, you are in the right place!

    In this comprehensive guide, we will cover everything you need to know about NGINX caching for WordPress, from understanding the basics to implementing advanced caching strategies using RunCloud’s intuitive server management platform.

    Whether you run a high-traffic blog, an e-commerce store, or a business website, you’ll learn how NGINX caching can transform your site’s performance and user experience with minimal technical overhead.

    Let’s get started!

    What is NGINX?

    NGINX is a powerful, open-source web server software that also functions as a reverse proxy, load balancer, and HTTP cache.

    Over the years, NGINX has become one of the most popular web servers globally due to its event-driven, asynchronous architecture. Unlike traditional servers that create new processes for each request, NGINX uses an event-driven approach to handle multiple connections within a single process, which makes it exceptionally efficient and resource-friendly.

    📖 Suggested read: Everything You Need To Know About WordPress Object Caching

    What is NGINX Caching?

    NGINX caching is a process where the server temporarily stores copies of server responses – such as HTML pages, images, and other media files in a dedicated storage space. When properly configured, NGINX cache intercepts requests to your WordPress site and serves cached copies of previously requested content.

    Using a cache eliminates the need to process the same requests repeatedly through PHP and MySQL. This significantly reduces your server’s load and improves your visitors’ response times.

    📖 Suggested read: How to Install & Set Up Ghost (NGINX and OpenLiteSpeed)

    Additionally, caching helps maintain site stability during traffic spikes by serving cached content instead of generating new responses for each visitor. This improved performance also positively impacts SEO rankings, as search engines favor faster-loading websites.

    There are multiple ways to implement Nginx caching on a WordPress website:

    • FastCGI cache stores the results of PHP processing, making it ideal for WordPress sites as it caches the dynamic content generated by PHP scripts.
    • Proxy cache stores responses from upstream servers, which is beneficial when NGINX acts as a reverse proxy.
    • Microcache implements short-term caching (typically seconds or minutes) for frequently accessed content, while static file cache helps serve unchanging assets like images and CSS files more efficiently.

    📖 Suggested read: How To Use Nginx FastCGI Cache (RunCache) To Speed Up Your WordPress Performance

    How Does NGINX Caching for WordPress Work?

    When NGINX cache is implemented for WordPress, it creates a sophisticated caching layer that intercepts and processes requests before they reach WordPress. When a user first requests a page, NGINX forwards the request to PHP-FPM to process the WordPress application.

    The generated response is then stored in the cache (typically in memory or on disk) with a unique key based on factors such as the URL and query parameters. NGINX then checks all subsequent requests for the same content to see if a valid cached version exists. If found and not expired, NGINX serves the cached content directly, bypassing WordPress completely.

    The caching process can be implemented using careful configuration of cache zones, keys, and invalidation rules to ensure optimal performance while maintaining content freshness. The cache can be selectively bypassed for dynamic content such as shopping carts or user-specific pages to serve time-sensitive and private content.

    📖 Suggested read: Which is Better: Redis Full-Page Cache or NGINX FastCGI Caching?

    How to Use NGINX Cache for WordPress Websites

    Installing and enabling Nginx Caching on WordPress websites is quick and simple. Follow the steps below to get started:

    1. Log in to your RunCloud dashboard and select your WordPress application from the main dashboard interface. Once inside your application dashboard, navigate to the left-side menu panel, where you’ll find the ‘RunCloud Hub’ option.
    1. When you open the RunCloud Hub for the first time, you’ll be greeted with an “Introducing RunCloud Hub” screen. Click on the ‘Let’s Get Started’ button to initiate the caching setup process for your WordPress site.
    2. On the next screen, you’ll see different options for configuring your Nginx cache. Select the ‘FastCGI Proxy’ caching option and mark the checkbox to acknowledge your agreement with RunCloud’s terms and conditions. After this, you can click on the ‘Install RunCloud Hub’ button to activate the caching service on your website.
    Enabling Nginx Caching via RunCloud Hub
    1. On the next screen, you can edit and modify several configuration options:
      • For the NGINX Page Caching Method, you can choose between FastCGI/Proxy Page Caching or Redis Full-Page Caching – FastCGI is generally recommended for most WordPress installations due to its efficient performance characteristics.
      • When selecting the Cache Folder Type, you can choose between Disk (/var/cache/nginx-rc) for standard storage or RAMDisk (/var/run) for enhanced performance. You should consider your server’s resources when making this decision.
      • After this, you can set an appropriate Cache Lifespan in minutes based on how frequently your content updates and establish a Cache Folder Size Limit in MB according to your available server resources and traffic patterns.

    After making changes, click the ‘Update RunCache Settings’ button to ensure your new configuration is properly saved and implemented. Additionally, you can use the ‘Purge all cache’ option to clear both NGINX Page Cache and Redis Object Cache, particularly after making significant content updates or configuration changes.

    Nginx Caching for WordPress on RunCloud

    📖 Suggested read: How To Create Custom NGINX Configuration Easily Using RunCloud

    Wrapping Up: Who Should Use NGINX Cache on Their WordPress Websites?

    NGINX caching is particularly valuable for WordPress websites with moderate to high traffic. It’s an excellent choice for business websites, e-commerce stores, membership sites, and content-heavy blogs that need consistent performance under varying load conditions.

    Small personal blogs or low-traffic sites might not see dramatic benefits from NGINX caching, but implementing it early provides scalability for future growth and protection against unanticipated traffic spikes.

    Implementing caching has benefits regardless of your website’s size. This is where RunCloud comes in.

    Unlike traditional server management, which requires complex configuration and deep technical knowledge, RunCloud makes enterprise-level caching accessible to everyone through an intuitive dashboard interface.

    Ready to supercharge your WordPress site? Sign up for RunCloud and enjoy:

    • One-click NGINX FastCGI caching setup
    • Built-in Redis object caching
    • Visual cache configuration interface
    • Automatic cache optimization
    • Professional support team

    Join thousands of WordPress developers and site owners who have discovered the simplest way to implement professional-grade web caching.

    ➡️ Start Your Free Trial of RunCloud

    FAQs on NGINX Cache for WordPress

    Do I need a cache plugin for WordPress?

    With RunCloud’s built-in caching functionality for WordPress, you may not need an additional cache plugin for basic caching needs. However, advanced caching plugins can provide extra features such as minification, lazy loading, and CDN integration that complement server-level caching for enhanced performance.

    Is NGINX faster than Apache for PHP?

    NGINX sometimes performs better than Apache for PHP applications due to its event-driven architecture and efficient handling of concurrent connections, but the performance gains are minuscule. 

    What is the best NGINX cache?

    FastCGI cache is generally considered one of the best caching solutions for NGINX with WordPress, as it directly caches the output of PHP processing. RunCloud implements this efficient caching mechanism by default, providing optimal performance for WordPress sites without requiring complex configuration.

    What is the difference between Apache and NGINX?

    NGINX uses an event-driven, asynchronous architecture that handles multiple connections within a single thread, while Apache uses a process-per-connection model. 

    Which cache plugin works best with Nginx?

    RunCloud Hub is particularly well-suited for NGINX servers as it can integrate with NGINX’s FastCGI caching and provide additional optimization features. 

    Is Nginx suitable for high-traffic sites?

    NGINX is exceptionally well-suited for high-traffic sites due to its event-driven architecture and efficient resource utilization. Its ability to handle thousands of concurrent connections with minimal resource overhead makes it an ideal choice for busy WordPress sites.

    What is FastCGI cache?

    FastCGI cache is an NGINX caching mechanism that stores the processed results of PHP scripts and effectively saves the complete output of WordPress pages. This eliminates the need to process PHP and query the database for repeated requests, significantly improving response times.

  • How to Fix WordPress Revisions Not Showing [SOLVED]

    How to Fix WordPress Revisions Not Showing [SOLVED]

    Are your WordPress post revisions not showing? Has your WordPress revisions option suddenly become invisible, or disabled? We’ve got you covered!

    In this article, we’ll explain exactly what the problems are likely to be, and how to get your WordPress revisions showing and working correctly.

    WordPress is a dynamic CMS that allows website owners and content creators to easily edit and update existing content. However, the editing process isn’t always straightforward, and mistakes or unintended changes can happen.

    To overcome this, WordPress provides a WordPress post revisions feature that can automatically create snapshots of your content every time you save a draft or update a published post. This built-in system allows website administrators and content creators to:

    • Track changes made to content over time
    • Restore previous versions of a post
    • Recover accidentally deleted content
    • Collaborate more effectively by maintaining a comprehensive editing history

    Each revision captures the entire state of a post at a specific moment, including text, formatting, and metadata. WordPress automatically creates a new revision every time you save a draft or update a published post.

    This feature provides peace of mind for content creators, bloggers, and website administrators by ensuring that no valuable work is permanently lost due to accidental deletions or unwanted edits.

    Whether you’re managing a personal blog, a corporate website, or a complex multi-author platform, revisions offer a transparent, reliable mechanism to manage content development.

    In this guide, we’ll discuss the challenges surrounding WordPress revisions and focus on why this feature might suddenly become invisible.

    Our goal is to equip you with practical, step-by-step solutions to diagnose and resolve issues preventing your content’s version history from displaying correctly. We’ll explore the most common reasons behind missing revisions and provide clear steps to restore this functionality.

    Why WordPress Revisions Are Not Showing

    WordPress revisions are a powerful feature designed to track content changes, but various technical and configuration issues can interrupt their functionality. Let’s see a few reasons why WordPress revisions don’t work:

    1. Revision Limit Settings: WordPress has a default limit on the number of revisions stored. If this limit is set too low or disabled, fewer revisions might appear (or none at all).
    2. Plugin Interference: Some plugins that modify post-editing or database interactions can disrupt the revision tracking mechanism.
    3. Theme Compatibility Issues: Custom themes might inadvertently modify WordPress core functions related to post revisions.
    4. Database Configuration: Incorrect database settings or optimization plugins can suppress revision storage.
    5. User Role Permissions: Certain user roles might have restricted access to viewing post revisions.
    Viewing revisions in WordPress dashboard

    Suggested read: The Complete WordPress Speed Optimization Guide

    Ways to Re-Enable WordPress Revisions

    You can take steps to troubleshoot WordPress revision settings in your WordPress website.

    Enabling Post Revisions from wp-config

    The WordPress revisions setting in your WordPress website may be disabled. You can easily enable post revisions by editing your server’s ‘WP_POST_REVISIONS’ environment variable. To do this, you can add the following code to your wp-config.php file:

    define('WP_POST_REVISIONS', 10); // Limits revisions to 10
    // Or for unlimited revisions
    define('WP_POST_REVISIONS', true);
    enabling WordPress revisions in wp-config.php file

    This method allows fine-tuned control over revision tracking directly in your WordPress configuration file. Place the code before the line that says, “That’s all, stop editing!” and save it. Once you save the file, new revisions will be saved in your WordPress website whenever you create an edit.

    Suggested read: The Complete WordPress Speed Optimization Guide

    Enabling Revisions for Custom Post Types

    Custom post types in WordPress require specific configurations to enable revision tracking. This process ensures your custom content types maintain the same version control capabilities as standard WordPress posts.

    Method 1: Registering Custom Post Type with Revisions

    When creating a custom post type, add ‘revisions’ to the ‘supports’ parameter during registration:

    register_post_type('your_cpt_name', array(
        'supports' => array('title', 'editor', 'revisions'),
        'public' => true,
        'label' => 'Custom Post Type Name'
    ));

    Suggested read: How to Migrate WordPress From Shared Hosting To Cloud Server

    Method 2: Advanced Custom Fields (ACF) Integration

    Custom post types in WordPress often require specific configurations to enable revision tracking. When working with plugins like Custom Post Type UI or Advanced Custom Fields (ACF), you must explicitly add revision support during post-type registration. Use the following code snippet to enable post revisions:

    add_filter('acf/settings/save_json', 'my_acf_json_save_point');
    function my_acf_json_save_point($path) {
        return get_stylesheet_directory() . '/acf-json';
    }

    By configuring these settings, you can enable revisions in custom post types, allowing you to maintain the same revision tracking capabilities as standard WordPress posts.

    Suggested read: Protect Your WordPress Login pages with Cloudflare Zero Trust

    Limiting Post Revisions for Better Performance

    WordPress revisions consume database storage over time, potentially impacting site performance. If you run a big site with lots of revisions, your database can become bloated and sluggish. Website owners can maintain optimal database efficiency by implementing strategic revision limits while preserving critical content version history.

    Proactively managing post revisions helps maintain website speed, reduces storage requirements, and ensures a streamlined content management experience. Website administrators should periodically review and optimize revision settings to balance content tracking needs with system performance.

    Suggested read: The Best WordPress Caching Plugins To Speed Up Your Site (2024)

    Why Disabling Revisions is No Longer Recommended

    Modern web infrastructure has dramatically changed the perspective on disabling WordPress post revisions for performance optimization. What was once considered a best practice is now considered an unnecessary compromise.

    Advanced hosting technologies and caching mechanisms have effectively neutralized previous performance concerns. Website administrators now recognize that version tracking provides more value than marginal resource savings.

    Network-level CDNs and application-level caching solutions such as Redis and Memcached dramatically reduce database query loads. Additionally, modern database systems implement sophisticated query caching mechanisms that minimize performance overhead.

    WordPress revisions consume negligible database storage compared to total website resources. Modern hosting environments handle database overhead with remarkable efficiency and scalability. Furthermore, disk storage costs have dramatically decreased, making content preservation more economical than potential data loss. The minimal computational resources required for revision tracking are inconsequential compared to other website operations.

    Suggested read: The 5 Best WordPress Security Plugins (2024)

    Wrapping Up WordPress Revisions Management

    In this post, we’ve discussed steps for managing WordPress revisions, covering everything from troubleshooting missing versions to why revision tracking is considered useful despite minimal performance impact. You can maintain robust content version control while ensuring website efficiency by understanding revision tracking, configuration methods, and best practices.

    If you are a WordPress website owner seeking streamlined deployment and management, you should use RunCloud to manage your websites.

    RunCloud eliminates complex server management challenges, providing:

    • One-click WordPress deployments
    • Advanced caching configurations
    • Security hardening
    • Seamless migration tools

    Optimize your WordPress website’s performance and management – get started with RunCloud.

    For further WordPress optimization insights, explore RunCloud’s comprehensive guides:

    FAQs on WordPress Post Revisions

    How do I delete old revisions in WordPress?

    You can use a database optimization plugin like WP-Optimize or manually delete revisions through phpMyAdmin by running an SQL query to remove older entries from the wp_posts table.

    How many revisions does WordPress keep?

    WordPress keeps unlimited post revisions by default, but you can limit this to a specific number (like 10) by adding a code snippet to your wp-config.php file.

    How do I reduce revisions in WordPress?

    Add a simple code snippet to wp-config.php that limits the number of revisions, such as define('WP_POST_REVISIONS', 5); to keep only the most recent five revisions.

    How do I see all revisions in WordPress?

    Open the post editor and click on the “Revisions” button at the top right corner. This button displays a side-by-side comparison of different versions of your post.

    How do I optimize and clean all post revisions in WordPress?

    Use database optimization plugins like WP-Optimize or Advanced Database Cleaner to remove unnecessary post revisions and improve overall database performance.

    How do I turn off autosave and revisions in WordPress?

    You can disable autosave by adding disableautosave:true in your theme’s functions.php file and limit revisions to 0 by adding define('WP_POST_REVISIONS', false); in wp-config.php.

  • 10 Best WordPress Management Tools To Easily Manage Multiple Websites

    10 Best WordPress Management Tools To Easily Manage Multiple Websites

    Ever wondered how to make managing multiple WordPress websites easy – whether that involves a handful of sites or many hundreds? You’ve come to the right place.

    The answer is simple, and two-fold:

    1. Use a solution such as RunCloud, which makes it extremely easy to deploy and manage your production-grade cloud infrastructure across cloud providers of your choice, all from a single, centralized dashboard. 
    2. Pair your industry-leading hosting setup with a WordPress management tool.

    In this post, we’ll focus on #2. After all, if you’re reading this post on the RunCloud blog, you already know why RunCloud is the leading way to build your cloud infrastructure.

    Why Should You Use WordPress Management Tools?

    Although managing WordPress websites is becoming significantly easier with the introduction of automatic updates as a part of WordPress core, if you manage multiple websites (even just a couple), the benefits of using a proper WordPress management solution will become clear as you begin to adopt it as a part of your workflow.

    Consider a typical scenario: a web development agency managing 20 client websites, each requiring weekly updates, security checks, and regular backups. Without a management tool, this could consume up to 20 hours per week of manual work – logging in to each site individually, checking for updates, running backups, and monitoring security.

    A WordPress management tool can accomplish these same tasks in under an hour by automating processes and allowing you to perform actions in bulk on multiple sites.

    This dramatic time saving directly translates to improved profitability and the ability to scale operations without being forced to proportionally increase your company headcount.

    And this is just the beginning.

    The benefits of WordPress management tools extend far beyond simple time savings.

    Take, for example, the critical aspect of security monitoring. When a major vulnerability is discovered in a popular plugin, time is of the essence. A management tool can identify all affected sites instantly and apply updates across the entire portfolio within minutes – a process that could take hours or even days if done manually.

    In short: the ROI of WordPress management tools cannot be understated. By combining automation, a better workflow, security, and everything else a good WordPress management solution offers, you can streamline your operation to maintain the sites under your management with less time and fewer people on your team.

    WordPress Multisite vs WordPress Management Tools

    You might wonder why you should use a WordPress management service when WordPress already has built-in multisite network functionality. It’s easy to confuse them since WordPress does allow you to manage multiple sites, but there is one key distinction.

    The multisite network only allows you to manage sub-sites of a single WordPress installation. This means that you can’t use it to manage the websites of different clients, as all the websites in a multisite network belong to a single organization. On the other hand, a WordPress management tool has no such restrictions and can be used with any WordPress site.

    What Are The Best WordPress Management Tools?

    Let’s take a look at some of the best WordPress management tools.

    1. MainWP

    MainWP WordPress management tool

    MainWP is a self-hosted WordPress management solution that allows administrators to handle multiple WordPress sites. It offers a centralized dashboard where users can efficiently manage unlimited WordPress installations, making it invaluable for agencies, developers, and site managers.

    It also has a comprehensive update management system that allows users to update WordPress cores, themes, and plugins across all sites with a single click. What sets MainWP apart is its robust security features, including automated security checks, abandoned update notifications, and proactive monitoring – all while maintaining complete data ownership since it’s self-hosted.

    The pricing structure is particularly attractive. It offers a feature-rich free version and a Pro version starting at $199 yearly or a one-time payment of $599 for lifetime access, making it a cost-effective solution regardless of how many sites you manage.

    While the initial setup and configuration process may require some time investment, the long-term benefits in efficiency and control are substantial. Users can benefit from features such as scheduled automated updates, security scanning, uptime monitoring, and client report generation. It also includes valuable capabilities such as staging site creation, content cloning between sites, and maintenance mode management.

    2. InfiniteWP

    InfiniteWP WordPress management tool

    InfiniteWP is a powerful WordPress management solution that efficiently changes how administrators handle multiple WordPress sites. It offers a robust free version with essential features such as 1-click admin access, updates, and backup/restore capabilities.

    It provides multiple subscription options, ranging from the Starter plan ($147/year for ten sites) to the Enterprise level ($647/year for unlimited sites). It includes essential tools such as malware scanning, uptime monitoring, Google Analytics integration, and client reporting capabilities, which makes it particularly valuable for freelancers and agencies.

    Users can perform bulk actions such as managing users, handling WordPress maintenance, monitoring WordFence security, and simultaneously publishing content across multiple sites.

    It also offers some site monitoring features such as plugin branding, broken link checking, Google PageSpeed monitoring, and integration with various security tools, including iThemes Security and Duo Security 2-Factor Authentication.

    3. ManageWP

    ManageWP is a versatile WordPress management solution that offers tools for managing multiple WordPress websites from a single dashboard. Its free tier includes essential features such as plugin and theme update management, monthly cloud backup, one-click login functionality, and basic security and performance checks.

    What makes ManageWP particularly appealing is its flexible pricing structure, allowing users to start with unlimited websites at no cost and gradually add premium features as needed. ManageWP’s core functionality includes collaboration tools, analytics integration, comment management, code snippet implementation, maintenance mode controls, and vulnerability updates, making it suitable for freelancers, agencies, and WordPress professionals managing multiple sites.

    You can purchase premium add-ons to enhance its capabilities with specialized features priced on a per-website basis at $1-$2 monthly. These premium features include advanced backup solutions, white-label options for agencies, SEO ranking tools, uptime monitoring, automated security and performance checks, and link monitoring.

    ManageWP employs a transparent pricing model. Users only pay for the add-ons they actually use, with payments processed at the beginning of the following month. For larger agencies managing over 25 websites, bundle options provide fixed monthly fees for up to 100 websites.

    4. WP Umbrella

    WP Umbrella is a relatively new and affordable WordPress management solution that offers a comprehensive suite of features at a transparent price point of $1.99 per site per month. It provides essential tools for WordPress maintenance businesses without the complexity of tiered pricing or feature restrictions.

    You can use it to manage and maintain critical aspects of WordPress. For example, it includes a centralized dashboard for monitoring multiple sites, secure bulk updates for WordPress core, plugins, and themes, and robust security features, including vulnerability monitoring and automatic cloud backups.

    Like many other management tools, it offers uptime tracking, Google PageSpeed analysis, and PHP error detection. Its integration capabilities with services such as Slack and Google Analytics make it useful for professional users.

    WP Umbrella’s focus on automation and client management features makes it particularly effective for agencies and freelancers. It provides the functionality to produce maintenance reports, one-click access to all managed sites, and a complete white-label solution that allows agencies to maintain their branding.

    5. WP Remote

    WP Remote offers a WordPress management solution that can streamline the management process of multiple WordPress websites through a unified platform. It offers three distinct plans (Basic at $29, Plus at $49, and Pro at $99 – all monthly for up to five sites) that cater to different management needs.

    WP Remote excels in providing essential management tools, including daily automatic backups, single sign-on capabilities, uptime monitoring, performance checks, and automated updates across all managed sites. Additionally, it combines the functionality of multiple WordPress plugins, making it a one-stop solution. For example, it offers security features such as malware scanning and real-time firewall protection with practical maintenance tools, including visual regression testing and white-label reporting options.

    You can take advantage of its customizable add-on system, which allows users to tailor their management capabilities to specific needs. These add-ons include real-time backups ($10/site/month), more frequent backup and security scans (from $5/site/month for 12-hour intervals), and additional staging sites ($10/site/month).

    Larger agencies and advanced users can sign up for its custom enterprise subscription, which provides API access. Additionally, its comprehensive approach to website management is complemented by its focus on security and reliability, as it offers features like bot protection, vulnerability scans, and activity logs in higher-tier plans.

    6. Solid Central

    Solid Central (formerly iThemes Sync) is one of the most popular WordPress multi-site management solutions that can easily handle 100+ websites from a single, centralized dashboard. Rather than logging in to multiple WordPress installations individually, administrators can perform critical tasks across all their sites simultaneously, including bulk updates, plugin installations, and security monitoring.

    It offers reporting capabilities that help maintain transparency with clients by generating insights and updates about site performance, security status, and maintenance activities. It also offers essential features such as uptime monitoring, performance tracking, and detailed activity timelines that provide real-time visibility into site operations and potential issues.

    If you are part of the broader SolidWP ecosystem, you will appreciate the way Solid Central integrates with other powerful tools, such as Solid Security and Solid Backups, to provide a complete website management solution. This integration enables users to monitor security threats, manage backups, and restore sites remotely, all from the same interface.

    7. Glow

    Glow is a lesser-known WordPress management solution launched in 2020. It allows agencies and developers to efficiently manage 20-100+ WordPress websites and offers critical features such as plugin management, automated backups, and performance monitoring.

    Glow’s integrated support ticket system and time-tracking capabilities set it apart. These enable teams to manage client communications and track work hours directly within the same interface they use for website maintenance. Glow also offers a special two-way core update functionality that allows users to either manually update WordPress sites from their WordPress admin dashboard, or update them all at once.

    If you are working with a team, you will enjoy its collaboration and client reporting tools. Glow offers customizable and automated client reports that display time spent on activities, unlimited client team members, and the ability to run the dashboard under an agency’s own branding.

    Glow offers a flexible pricing structure, including pay-as-you-go options for additional websites, making it accessible to agencies of all sizes. This makes it a great tool for both hobbyists and professionals.

    8. iControlWP

    iControlWP is a powerful tool for managing multiple WordPress websites. It allows users to streamline various essential tasks, saving time and effort. It provides a centralized dashboard for complete visibility and control over all your WordPress sites, eliminating the need for individual logins.

    You can use it to manage plugins and theme updates across your network, ensuring consistent functionality and security. Additionally, you can proactively safeguard your sites with integrated vulnerability scanning and malware detection, and be assured your data is secure with automatic daily backups stored off-site.

    iControlWP goes beyond traditional multi-site management tools, offering advanced features such as:

    • Database Cleanup and Optimization: Maintain optimal website performance by cleaning up and optimizing databases across your network.
    • Mobile Push Notifications: Receive instant alerts on critical updates, security threats, and site performance issues directly to your mobile device.
    • Bulk Management: Perform actions across multiple sites simultaneously, such as updating plugins or resetting passwords, saving you valuable time.

    If you run an agency, you can generate professional reports for your clients showcasing website performance metrics and activity, and customize the platform with your branding for a seamless white-labeled client experience.

    9. WP Central

    WPCentral is a powerful tool designed to simplify the management of multiple WordPress websites. WPCentral provides a centralized dashboard where you can oversee all your sites from one location. This means that you don’t need to individually log in to each one of your WordPress websites to manage plugins and themes.

    You can easily use it to perform local and remote backups and even create pre-configured plugins and themes to apply to new sites. It offers a user-friendly interface and intuitive design, making maintaining consistent functionality and security across your WordPress portfolio much easier.

    WPCentral offers various pricing plans to suit different needs, from a free plan perfect for beginners to a corporate plan for businesses with a large number of sites. The free plan offers essential features, including plugin and theme management, local backups, remote backups, plugin sets, theme sets, and automated backups. Each paid plan offers increased website limits, making it ideal for agencies, freelancers, and businesses managing multiple websites.

    10. Modular DS

    Modular DS is a comprehensive WordPress management solution that streamlines the complex task of maintaining multiple WordPress websites. Its intuitive approach to automation and maintenance makes life easier for developers by combining essential features such as automated backups, bulk updates, and uptime monitoring into a single, user-friendly dashboard.

    This tool effectively transforms hours of repetitive maintenance tasks for agencies and WordPress professionals managing multiple sites into simple one-click operations.

    The bulk management capabilities are particularly handy when you simultaneously update plugins, themes, and WordPress core across multiple sites. What’s especially noteworthy is Modular DS’s holistic approach to website health monitoring, which actively scans for potential issues such as outdated PHP versions, deactivated plugins, and server configuration problems, enabling proactive maintenance rather than reactive problem-solving.

    Perhaps one of Modular DS’s most valuable aspects is its client reporting system. The platform automatically generates professional reports that showcase the maintenance work performed, including uptime statistics, Google Analytics integration, and Core Web Vitals performance metrics. This feature helps justify the value of maintenance services to clients and streamlines client communication through automated report delivery.

    After Action Report – Choosing The Best WordPress Management Software For Your Business

    In this article we have covered a number of excellent tools designed to let you manage multiple WordPress sites in a single place. These ten WordPress management tools are available for all user levels and needs.

    Many tools offer a free basic plan for managing your sites. Professional users can buy selected add-ons or subscribe to a paid plan for all advanced features.

    If you’re looking for a simple, hosted solution that’s easy to get up and running, we’d recommend looking into ManageWP and WP Umbrella. ManageWP has a generous free tier, and WP Umbrella, as a newer solution, has an incredibly motivated team that actively ships improvements to the product every month (the same, sadly, cannot be said about ManageWP).

    If you’d prefer self-hosted WordPress management tools, MainWP is the most affordable tool (nothing beats free). It offers additional features via extensions, supports many popular WordPress plugins, and has good community support.

    Which WordPress management tool are you using now, and how many sites do you manage? Let us know & join the conversation by Tweeting @RunCloud! 💬

    Now that we’ve narrowed down the list of WordPress management tools to consider for your business – we’d love to help you make the second component of managing WordPress websites the best it can possibly be for your business:

    Looking to build your own production-grade infrastructure? Try RunCloud.

    • Pick your cloud provider: Deploy directly to your AWS, GCP, Vultr, UpCloud, and Hetzner platform all directly from your RunCloud dashboard.
    • Easy Cloudflare DNS Integration: Manage your DNS records directly in your RunCloud dashboard and automatically connect domains when spinning up your new web applications.
    • One-Click Staging Environments: Spin up staging environments directly from your dashboard in just a few clicks.
    • Redis Object Caching: Easily enable Redis object caching for as many sites on your server as you’d like (secure by design using Redis ACLs, which have not been properly implemented by the majority of other hosting providers).

    Frequently Asked Questions About WordPress Multi-Site Management

    How do I keep track of plugin updates across all my WordPress sites?

    Managing updates across multiple WordPress sites can be time-consuming and overwhelming. Logging in to each site individually to check for updates is inefficient and risks missing critical security updates. WordPress management tools can easily update and manage multiple WordPress sites.

    What happens if one of my clients’ websites gets hacked or crashes?

    Without a proper backup system, a hacked or crashed website can mean hours or days of lost work and potential loss of business for your clients. Regular automated backups help in quick recovery and give peace of mind.

    How can I manage different client logins and passwords securely?

    Keeping track of multiple WordPress admin credentials for different sites can be a security risk, especially when written down or stored in unsecured documents. Many WordPress management tools have a centralized dashboard with secure single-sign-on capabilities, eliminating this risk.

    How do I prove to my clients that I’m actively maintaining their websites?

    Many WordPress professionals struggle to demonstrate the value of their maintenance work to clients. Automated reporting systems that track updates, security measures, and performance metrics can help justify your services.

    What if I need to install the same plugin across multiple websites?

    Manually installing and configuring the same plugins across multiple WordPress sites is repetitive and time-consuming. WordPress management tools offer bulk installation and configuration functionality, saving work hours and ensuring consistency.

    How can I manage WordPress core updates without breaking my clients’ sites?

    WordPress core updates can sometimes cause compatibility issues with themes and plugins. Modern WordPress Management tools allow testing updates and offer quick rollbacks, which helps maintain site stability.

    What’s the best way to monitor the performance of multiple WordPress sites?

    Tracking performance metrics such as page speed and Core Web Vitals across multiple sites can be challenging when done manually. WordPress management tools offer an integrated performance monitoring system that helps identify and address issues before they impact user experience.

    What if my team needs to collaborate on managing multiple WordPress sites?

    Managing access levels and coordinating maintenance tasks among team members can be complex. WordPress management tools provide a centralized dashboard with team permissions, and activity logging helps maintain security and accountability.

  • How to Reorder WordPress Dashboard Menu Items

    How to Reorder WordPress Dashboard Menu Items

    If you manage a WordPress website, you’ll be very familiar with the WordPress dashboard, which is used for content creation, site maintenance, and administrative tasks.

    However, many users feel that the default admin menu is cluttered, with many essential tools scattered, while less-used sections of the website consume valuable screen space.

    This comprehensive guide will walk you through multiple strategies to take complete control of your WordPress dashboard menu. From simple drag-and-drop techniques to advanced custom coding methods, you’ll discover how to:

    • Rearrange admin menu items with precision
    • Hide unnecessary menu sections
    • Create role-based menu experiences
    • Implement custom menu orders using PHP
    • Leverage powerful WordPress and plugin-based solutions

    Whether you’re struggling with a cluttered dashboard, seeking to improve team workflow, or simply want a more personalized administrative experience, this guide will provide the tools and knowledge to transform your WordPress backend into a clean dashboard.

    Let’s get started!

    Benefits of Reordering Your WordPress Dashboard Menu

    Rearranging your WordPress dashboard menu improves your administrative experience, as a cluttered interface transforms into a personalized, efficient workspace. This customization saves time and dramatically improves workflow.

    This dashboard customization allows you to:

    • Prioritize the tools and sections you use most frequently, bringing them to the top of the menu for instant access.
    • Reduce cognitive load by organizing menu items in a way that makes logical sense to your specific workflow.
    • Minimize the time spent hunting for specific settings or features.
    • Create a more comfortable and personalized administrative environment that reflects your unique working style.

    Once you modify your site menu according to your needs, content management, site maintenance, and administrative tasks become more intuitive. You’ll focus on creating content, not navigating a complex dashboard.

    Suggested read: Protect Your WordPress Login pages with Cloudflare Zero Trust

    How to Reorder Dashboard Menu Items in WordPress

    So we know why you should re-order your menu items, now let’s see how to do this.

    Method 1: Reorder Dashboard Menu Items via Admin Menu Editor Plugin

    Step 1 – Install Admin Menu Editor Plugin

    Start by navigating to your WordPress dashboard and clicking on “Plugins” in the left-hand menu, then select “Add New“, and use the search bar to find “Admin Menu Editor” by searching for the plugin name.

    WordPress Dashboard Menu

    Click the “Install Now” button next to the plugin, and after installation, activate the plugin by clicking the “Activate” button. This will enable the menu customization features in your WordPress backend.

    Suggested read: Everything You Need To Know About wp-config.php File

    Step 2 – Rearrange the Menu Items from Plugin Settings

    After activation, locate the new “Menu Editor” option that will appear in your WordPress dashboard sidebar and click on it to open the customization menu. On this screen, you’ll see a full representation of your current dashboard menu structure.

    You can use the intuitive drag-and-drop functionality to reorder menu items by simply clicking and holding an item and then dragging it to your desired position. This allows you to prioritize the most frequently used sections and create a more personalized administrative experience that matches your specific workflow and preferences.

    Suggested read: 10 Best WordPress Management Tools To Easily Manage Multiple Websites

    Step 3 – Customize Button Actions

    Admin Menu Editor provides features such as access control based on user roles, multisite settings management, and precise menu positioning. Administrators can use these features to create highly tailored dashboard experiences that enhance security, streamline workflow, and prevent unauthorized access to sensitive site areas.

    For example, a large organization with multiple content creators could use these settings to ensure that writers only see post-related menus, and editors have additional publishing capabilities, while keeping critical settings like plugin management and site-wide configurations exclusively accessible to top-level administrators.

    Additionally, the Admin Menu Editor’s debugging and error verbosity levels allow technical teams to troubleshoot menu permission issues efficiently. Its options range from minimal error reporting to comprehensive diagnostic information, making it invaluable for agencies managing numerous client websites.

    Suggested read: How to Easily Optimize WordPress Website With RunCloud Hub

    Method 2: Manual Theme File Editing (For Advanced Users)

    If you prefer a more technical approach or can’t use plugins, you can manually edit menu items by modifying your theme’s functions.php file using custom PHP code. However, this is a technical method which is only recommended for advanced users as it requires:

    • A good understanding of PHP
    • Permission to edit the WordPress code directly

    Step 1: Accessing the Theme Customization Files

    Open your RunCloud WordPress website’s theme directory, typically located in wp-content/themes/your-theme-name/, and locate the functions.php file using the file manager or via SSH connection. If you’re using a child theme (recommended), open the child theme’s functions.php file to ensure your customizations are not lost during theme updates.

    Suggested read: The Complete WordPress Speed Optimization Guide

    Step 2: Customizing Menu Order with PHP Code

    Add the following custom PHP code to your functions.php file to reorder the WordPress dashboard menu items:

    // RunCloud WordPress Dashboard Menu Customization
    // Enable custom menu ordering
    add_filter( 'custom_menu_order', 'runcloud_custom_menu_order', 10, 1 );
    add_filter( 'menu_order', 'runcloud_custom_menu_order', 10, 1 );
    function runcloud_custom_menu_order( $menu_ord ) {
         if ( !$menu_ord ) return true;
         return array(
              'index.php',            // Dashboard
              'separator1',           // First separator
              'edit.php?post_type=page', // Pages
              'edit.php',             // Posts          // Add or remove menu items as needed
         );
    }

    Step 3: Save The Changes

    After making the necessary changes to your functions.php file, you can save it and refresh your WordPress dashboard. The updated menu list will reflect on your dashboard immediately.

    Advanced WordPress Dashboard Customization Techniques

    WordPress provides a rich set of built-in functions that allow for even more sophisticated menu and page customization beyond basic ordering. Here are some powerful functions to further enhance your dashboard management:

    • add_menu_page() enables you to create entirely new top-level menu items in the WordPress dashboard. It gives you complete flexibility to introduce custom administrative sections tailored to your specific website needs. This function allows you to specify the menu title, capability requirements, unique slug, and even a custom icon for your new menu item.
    • The remove_menu_page() function allows developers to remove specific top-level admin menu items from the WordPress dashboard by providing the menu’s unique slug. By calling this function within the admin_menu action hook, you can selectively hide menu pages and customize sections in the WordPress admin interface.
    • add_media_page() specifically allows you to add custom pages to the Media menu, which can be incredibly useful for creating specialized media management interfaces or implementing custom media-related functionality.
    • add_meta() offers a programmatic way to add custom metadata to posts, which can be particularly helpful for creating advanced content management systems or implementing complex editorial workflows. This function allows you to dynamically attach additional information to your WordPress content that can be used for filtering, sorting, or displaying extra details.
    • add_menu_classes() enables fine-tuned control over the CSS classes applied to top-level administration menu items, allowing you to customize the visual presentation and behavior of your dashboard navigation. This function is particularly useful for advanced theming and creating more intuitive administrative interfaces that match your specific design requirements.

    Wrapping Up

    In this guide, we have provided you with steps to modify and customize your WordPress dashboard. However, when implementing dashboard menu customizations, you should always test your modifications in a staging environment to ensure they don’t disrupt your website’s functionality or user experience.

    If you are using RunCloud, you can simply do this by using our one-click staging feature. RunCloud also makes WordPress installation and updates incredibly straightforward, allowing users to manage complex web infrastructure with remarkable ease.

    What truly distinguishes RunCloud is its atomic deployments functionality, which allows you to create version-controlled WordPress development. You can use this to create staging sites for risk-free testing of customizations.

    Master your WordPress sites with RunCloud! Start your FREE RunCloud trial today

    FAQs About the WordPress Dashboard Menu

    How do I organize my WordPress dashboard?

    Organizing your WordPress dashboard is straightforward and can significantly improve your site management efficiency by allowing you to rearrange menu items to your preferred order. WordPress provides intuitive built-in functionality that lets you customize the menu layout by creating custom child themes with PHP code to prioritize the most frequently used sections and create a more personalized administrative experience that aligns with your specific workflow and needs.

    Can only the admin access the WordPress dashboard?

    WordPress provides multiple levels of dashboard access through its robust user role management system, with the primary administrator having full control, and other roles such as editors, authors, and contributors receiving limited or specific access to dashboard features. The default WordPress user roles are carefully designed to provide granular permissions, ensuring that each team member can access only the sections and functions relevant to their responsibilities, which helps maintain site security while allowing collaborative content management.

    How do I customize my WordPress dashboard menu?

    Customizing your WordPress dashboard menu can be achieved through several methods. Firstly, you can use the “Admin Menu Editor” Plugin in WordPress to use its menu personalization options. Alternatively, advanced users can also use custom code to create a completely tailored dashboard experience. This allows you to not just reorder menu items but also hide, rename, and precisely control every aspect of your administrative interface for maximum efficiency and user-friendliness.

  • Protect Your WordPress Login pages with Cloudflare Zero Trust

    Protect Your WordPress Login pages with Cloudflare Zero Trust

    WordPress powers over 40% of all websites on the internet, which makes it a prime target for cybercriminals.

    The WordPress login page, in particular, is frequently the target of brute-force attacks and unauthorized access attempts.

    Protecting your WordPress site is vital – and mandatory by law for website owners or administrators. Traditional security measures such as strong passwords and two-factor authentication are useful, but may not be enough.

    In this post, we’ll introduce you to a powerful method for securing your WordPress login pages using Cloudflare Zero Trust. This approach adds an extra layer of security by implementing a zero-trust architecture that effectively shields your admin area from unauthorized access attempts.

    Following our step-by-step guide, you’ll learn how to set up Cloudflare Zero Trust for your WordPress site and create and manage access policies to control who can access your admin area.

    But before we dive in, let’s first understand why you should use Cloudflare Zero Trust.

    Why You Should Use Cloudflare Zero Trust

    Cloudflare Zero Trust offers a comprehensive solution that goes beyond traditional security measures. It provides unparalleled flexibility in defining who can access your protected applications. With its sophisticated rule system, you can create highly specific access policies:

    • Granular Control: Use “Include”, “Require”, and “Exclude” rules to fine-tune access permissions.
    • Multi-factor Policies: Combine various selectors to create complex, multi-layered security protocols.
    • Diverse Authentication Options: You have many authentication methods, from email-based rules to service tokens and client certificates.
    • Access Service Token: Allows access based on valid service tokens.
    • Common Name: Uses the common name in a client certificate for access control.
    • Country: Allows or restricts access based on the user’s geographic location.
    • Google OIDC Claims: Uses claims from Google’s OpenID Connect for access decisions.
    • IP Ranges: Controls access based on the user’s IP address.

    You can create a robust security perimeter around your WordPress site and other applications using these features. This will protect against common threats such as brute force attacks and unauthorized access attempts and provide a framework for implementing sophisticated, context-aware security policies.

    How To Protect WordPress Login Pages with Cloudflare Zero Trust

    In a previous guide, we discussed using Fail2ban with WordPress and Cloudflare proxy to block attackers after several failed attempts. However, this method allows you to block everyone and only grant access to people who authenticate successfully.

    Follow the steps below to protect your WordPress login pages with Cloudflare Zero Trust:

    Prerequisites:

    Before we start, you must ensure that your WordPress website is up and running on the Internet and that your website domain uses Cloudflare DNS with the proxy enabled.

    If you are using RunCloud, you can use the RunCloud DNS manager to view and edit your Proxy status:

    Step 1: Sign up for Cloudflare Zero Trust

    1. Go to the Cloudflare website and sign up for a Zero Trust account (the free tier allows up to 50 users).
    2. Follow the initial setup guidance provided by Cloudflare.

    Step 2: Add an Access Application

    1. Navigate to the “Applications” section and click “Add an application” to start the process.
    2. On the next screen, choose “Self-hosted” as the application type.

    Step 3: Configure the Application

    Enter a name for your application in Cloudflare (e.g., “WordPress site 123”). Next, select your WordPress site’s domain from the dropdown menu. If you are hosting your website on a subdomain, mention your subdomain in the provided field.

    For example, if you are hosting your website on www.example.com, enter www in the provided box and select example.com from the drop-down menu.

    After that, you must specify the path you want to protect from the attackers. By default, the WordPress login page is accessible at /wp-login.php. To restrict access to this page, enter wp-login.php* in the path field.

    Note: if you leave the path empty, Cloudflare will restrict access to your entire WordPress site.

    Step 4: Set Up Identity Provider

    Scroll down to the Identity Provider section and choose your preferred identity provider (IDP) from the available identity providers on Cloudflare. You can use Cloudflare’s email-based login option if you don’t have an existing IDP.

    Select “One-Time PIN” from the available options, and click “Next” at the bottom of the page.

    Step 5: Create an Access Policy

    In the “Policies” section, provide a name for your policy (e.g., “WordPress Admin Access”).

    After adding the name, you can configure the policy to determine who can access the protected area. In the given example, the “Include” rule specifies which users can access the application based on their email addresses.

    For the “Email” selector, you can list individual email addresses (e.g., john@test.com, email@example.com) or use the “Emails ending in” selector to create domain-based rules (e.g., @example.com, @domain.com) to grant access to all users from specific domains.

    cloudlfare login access

    After adding the necessary rules, you can save the policy by scrolling to the bottom and clicking “Next”. Alternatively, you can leave everything to its default settings on the Setup page and click “Add Application”.

    Step 6: Test the Configuration

    After creating the configuration, open a new browser or incognito window and navigate to your WordPress admin page (e.g., https://example.com/wp-admin).

    Verify that Cloudflare intercepts the request and prompts for authentication. Now, you can log in using your configured identity provider and confirm that you can access the WordPress admin area after successful authentication.

    Cloudflare zero trust login screen

    Wrapping Up

    By following the steps outlined in this guide, you’ll have successfully protected your WordPress login pages with Cloudflare Zero Trust. This will add a robust layer of protection to your website’s administration area and safeguard it against unauthorized access attempts and potential security breaches.

    While Cloudflare Zero Trust provides excellent security, managing your web infrastructure can still be complex.

    This is where RunCloud comes into play!

    Why Choose RunCloud for Your WordPress Hosting Needs?

    RunCloud provides the easiest way to manage DNS and deploy websites and works well with your newly implemented Cloudflare Zero Trust security:

    • Cloudflare Integration: RunCloud seamlessly integrates with Cloudflare and allows you to manage your DNS and security settings from a single interface.
    • One-Click WordPress Installations: Say goodbye to complex setup procedures. RunCloud offers one-click WordPress installations, quickly getting your secure site up and running.
    • Simplified Server Management: Manage multiple servers and websites from a user-friendly dashboard, reducing the complexity of web hosting.
    • Automated Updates and Backups: Keep your WordPress installations secure and up-to-date with automated updates and regular backups.
    • Performance Optimization: RunCloud is optimized for speed, ensuring your WordPress site runs smoothly and efficiently.

    Start using RunCloud today!

  • How to Easily Create a WordPress Staging Site in RunCloud

    How to Easily Create a WordPress Staging Site in RunCloud

    Creating a WordPress staging site is a vital way to test out changes to a website without risking any impact on your live site.

    Whether you’re making changes to your theme, testing out a new plugin or configuration, or adding custom code, it is extremely easy for unexpected conflicts or misconfigurations to wreak havoc on a website, which can seriously impact your users’ experience.

    Creating a copy of your website and running it in a testing environment is a safe way to test any changes you want to make to your live site without risking anything.

    This tutorial will walk you through creating and using the One-Click WordPress staging site functionality on RunCloud without installing unnecessary WordPress plugins.

    Let’s get started!

    Creating a WordPress Staging Site

    This section will explain how to create a WordPress Staging site without installing any additional WordPress plugins. Before you get started, make sure that you have a WordPress website connected to your RunCloud account.

    Step 1: Accessing the WordPress Staging Menu

    Open your RunCloud dashboard and navigate to the WordPress website where you want to create a staging environment. On this screen, click the “Staging” button in the left menu, which will bring up a new screen.

    Click on “Get Started” to proceed with the process.

    If you have installed WordPress manually, you might not see the staging button in the left menu. In this case, go to your web application’s “Settings” page and scroll to the “Stack” sub-section. Click on the “Web Application Type” dropdown menu and select WordPress.

    Once you save the changes and refresh the page, you will see the staging button in the left menu.

    Step 2: Creating Your WordPress Staging Site

    In the Staging menu, you’ll see several options to create and configure your staging site.

    First, you need to configure if you want to enable HTTP authentication for this site. Since the staging site is not meant for the public, enabling this functionality is a good idea.

    Check the box next to Site Authentication and enter a username and password in the provided fields to enable this functionality.

    Next, you must choose between using RunCloud’s free domain or your own domain/subdomain. RunCloud’s free domain is faster to set up and instantly accessible. A custom domain requires additional DNS configuration and propagation time. No matter what you choose, you always have the option to change your domain name later.

    Finally, you should remember that search engines penalize sites if they post duplicate content. Since the staging site is a clone of the original site, enabling “Discourage Search Engine” is always recommended to prevent search engines from indexing your staging site.

    Once you have configured the required settings, click the “Deploy Staging” button to start the creation process.

    Step 3: Accessing Your WordPress Staging Site

    Once the staging site is created, you’ll see a new web application in your RunCloud dashboard. In the following screenshot, we can see that the server contains two applications, and the staging site has a special ‘copy’ symbol next to its name to indicate that it is a staging site.

    WordPress staging site on RunCloud

    Click on the URL next to your site name to visit your staging site. If you enabled Site Authentication, enter the username and password you configured in the previous step. If a user doesn’t know the username and password, they will be shown a 401 unauthorized error message.

    http auth on site

    Step 4: Managing Your WordPress Staging Site

    Once you are logged in to your staging site, you can treat it as a standard web application. You can change settings, test new themes, try out plugins, and make any other changes without affecting your production site.

    If something goes wrong, you can either revert your changes by moving data from the production site to the staging site (as explained below) or delete the staging site and create a fresh copy with only a few clicks. 

    Step 5: Syncing Between WordPress Staging and Production

    After you have tested the changes on your staging site, you can directly apply them on your live site without manually implementing every change. RunCloud provides a special Sync functionality that allows you to move data from the staging site to the production site without any headaches.

    Here’s how you can move data between sites:

    1. Navigate to the Sync/Merge options in the Staging menu.
    2. Choose the sync direction: Click the arrows to flip the transfer direction.
      • Production to Staging: Update staging with the latest production data.
      • Staging to Production: Apply tested changes to your live site.
    3. Select sync options:
      • Full sync
      • Migrate selected database tables only
    4. Click the “Sync” button and confirm your choices in the popup.
    WordPress staging sync

    Final Thoughts on WordPress Staging

    In this post, we have highlighted the importance of creating a staging environment for your business-critical websites and shared steps for creating a staging environment for WordPress.

    Creating and managing multiple sites, each with its own staging environment, can be challenging, but it doesn’t have to be. RunCloud offers a comprehensive solution for managing cloud servers with ease and efficiency.

    RunCloud’s user-friendly interface makes it a powerful tool for developers looking to streamline their server management processes. Whether managing a single site or multiple projects, RunCloud provides the tools you need to deploy, manage, and scale your web applications confidently.

    Try RunCloud today and experience the ease of creating and managing staging environments.

  • The 5 Best WordPress Security Plugins (2025)

    The 5 Best WordPress Security Plugins (2025)

    • Of the top ten million websites, over 41% use WordPress.
    • Every single minute, there are 90,000 attacks on WordPress sites.
    • Every single week Google blacklists 70,000 websites due to security issues.

    If you’re running a WordPress website, these statistics make startling reading and underline just how critical it is to take WordPress security seriously and keep up to date with the latest advice.

    Fortunately, that’s what we’re going to do right now.

    Securing your WordPress website is essential, but how can you achieve this effectively? This is where WordPress security plugins come in.

    There are several WordPress security plugins that you can install to help you protect your website from online threats. Choosing a good plugin will keep your WordPress website safe and protect it from spammers and malware.

    Let’s examine why it is crucial to secure your WordPress site, what you can do to keep it safe, and six of the best WordPress security plugins that will keep your site safe.

    Do You Need To Secure Your WordPress Site?

    No matter what the size of your site is: yes.

    Keeping your website secure is vital. Spammers don’t see whether your site is big or small – they’re just looking for a way to infect your site with viruses and malware. Weekly, about 18 million websites get infected with malware. While the WordPress core software is very secure (as long as you keep it fully up to date), the themes and plugins you use can leave your website vulnerable.

    If a virus, malware, or spammer successfully attacks your website, then it can:

    • Negatively impact your Google ranking
    • Access all your important and private information
    • Damage your website and brand reputation
    • Do severe damage to your online business

    But if you install a security plugin on your website, then not only will it protect your website and keep it safe, but it will also:

    • Keep all your confidential website files safe
    • Detect and inform you whenever there is a security threat
    • Block spam from contact form plugins
    • Protect your website from brutal virus attacks

    Suggested read: How to Unban IP Address in Fail2Ban? (Step-By-Step Guide)

    What Does A Good WordPress Security Plugin Do?

    A good WordPress security plugin should contain the following characteristics:

    • Real-time Malware Analysis: Google blacklists websites when its crawlers detect something harmful to the user, such as distributing malware. Many security plugins use heuristic analysis and signature-based detection to identify and eradicate malicious code.
    • Threat Monitoring: Security plugins should conduct continuous, unrestricted security scans and automated clean-up operations, periodically update their rules to adapt to evolving threats, and protect against cyber attacks.
    • Web Application Firewall (WAF): Many security plugins implement an intelligent traffic analysis system that checks HTTP/HTTPS requests in real time. Advanced plugins often use rule-based filtering and anomaly detection to preemptively block malicious payloads before interacting with WordPress.
    • Secure Login Authentication: Good WordPress security plugins deploy advanced brute force deterrence mechanisms, such as adaptive challenge-response systems (CAPTCHA) and configurable login attempt rate limiting. These configurations harden your website security and make it difficult for hackers to break in.
    • Single dashboard for Multi-site Security: WordPress sites often need maintenance and updates, which can take a great deal of time. When running multiple websites, there’s a possibility that you’ll be using a different combination of plugins and themes, which adds even more complexity to maintenance. Modern security plugins can track and update multiple WordPress websites from a single dashboard, which makes this task much more manageable.
    • Resource-Optimized Security Stack: This stack implements an event-driven architecture and asynchronous processing to deliver comprehensive protection with minimal computational overhead. It offers granular configuration options to fine-tune the balance between security depth and site performance.
    • Vulnerability Management: Good security plugins can execute automated vulnerability scans across the WordPress core, themes, and plugins. The scan findings are cross-referenced with real-time threat intelligence databases. If a vulnerability is detected, the plugin should notify the site administrator and take steps to prevent it from being exploited.

    Suggested read: Cloud Hosting vs VPS Hosting – Which One Should You Choose in 2024?

    The Top 5 WordPress Security Plugins

    Let’s take a deep dive and examine some of the best WordPress security plugins you should seriously consider for your website.

    Patchstack

    Patchstack is one of the most trusted WordPress security plugins. It sets itself apart by tackling vulnerabilities head-on rather than just reacting to malware. Patchstack actively tracks and maintains a database of vulnerabilities, keeping you one step ahead of hackers.

    One of its key strengths is its ability to detect and automatically fix vulnerabilities with “vPatches,” essentially patching vulnerabilities without requiring a plugin update. This is a game-changer for website owners as it eliminates the need to wait for developers to release updates and provides immediate protection.

    What sets Patchstack apart is its dedication to open-source security. It is trusted by reputable white hat hackers in the WordPress community, and it partners with leading security researchers, hosting companies, and developers to ensure the entire WordPress ecosystem remains secure.

    Patchstack also runs a managed Vulnerability Disclosure Program (mVDP), which helps developers comply with emerging security regulations and provides a standardized approach for handling vulnerability reports.

    Pricing:

    Patchstack offers three plans designed to cater to various user needs, from individual website owners to developers and businesses managing large website portfolios.

    The “Community” plan is a free plan that offers basic vulnerability monitoring with a 48-hour early warning. This lets users understand Patchstack’s capabilities and assess its value before committing to a paid plan. However, key features such as vPatches and instant mitigation require the pay-per-site protection add-on, which costs $5/website/mo.

    The “Developer” plan is priced at $89 per month (billed annually) and is specifically tailored for professionals building websites. It includes unlimited website protection, vulnerability detection, real-time protection, and software management, providing a robust and secure environment for development work.

    The “Business” tier, priced at $459 per month (billed annually), is best suited for businesses managing a large volume of websites. It offers protection for up to 500 websites and enhanced features like vulnerability detection, real-time protection, and software management. This tier is ideal for businesses that need to deploy security at scale and ensure consistent protection across their entire online presence.

    Sucuri

    Sucuri is one of the most popular security plugins for WordPress and is trusted by over 800,000 websites. It offers an advanced WAF that can easily protect websites from DDoS attacks and other malicious threats. Moreover, Sucuri’s WAF blocks attacks and optimizes your website’s performance by reducing load times and enhancing availability.

    It also features Security Activity Auditing, which meticulously tracks and logs significant security events and provides a detailed historical record of changes and potential threats. Additionally, you can use File Integrity Monitoring to ensure your website’s files remain untouched by unauthorized modifications. This can also alert you to potential malware or hacking attempts.

    Sucuri also implements effective security hardening and strengthens your WordPress site’s security by applying recommended configurations. Finally, in the unfortunate event of a security breach, Sucuri provides post-hack security actions and offers guidance and tools to help clean up your website and restore its integrity.

    Pricing:

    The Basic plan costs $199.99/year and is suitable for bloggers and small site owners who need occasional malware cleanup and continuous security scans. The pro plan costs $299.99/year and offers advanced support for SMBs.

    The Business Platform, priced at $499.99/year, prioritizes speed with rapid malware cleanup and frequent scans for vulnerability detection. Additionally, the Junior Dev subscription, priced at $999.98/year, caters to freelancers, web professionals, and agencies managing 2-5 websites.

    Suggested read: 8+ Security Tips to Secure VPS Server in 2024? [Ultimate Guide]

    Wordfence

    Wordfence is a robust and comprehensive security solution for WordPress websites. It has over 5 million active installs on WordPress.org and has earned its reputation as the most popular firewall and security scanner. It offers a robust firewall, malware scanner, and login security features, all powered by its Threat Defense Feed, which ensures constant updates for maximum protection.

    Wordfence offers advanced features such as real-time firewall rules and malware signatures, a real-time IP blocklist, and a powerful central management dashboard for multiple sites. With its user-friendly interface, detailed security assessments, and ongoing updates, Wordfence is an invaluable tool for any WordPress website owner seeking to safeguard their online presence.

    Pricing:

    Wordfence offers a free version that provides essential security features such as a firewall and malware scanner, but with a 30-day update delay. For enhanced protection, you can use the $119/year “Industry Leading Firewall” plan, which offers real-time updates, country blocking, a dynamically updated IP blocklist, and premium customer support.

    The $490/year “Real-Time Threat Intelligence” plan is suitable for busy business owners as it offers managed installation, configuration, optimization, and monitoring, including unlimited incident response. For mission-critical websites that demand the highest level of security, the $950/year plan provides 24/7 incident response with a 1-hour response time and a 24-hour resolution guarantee.

    Suggested read: PHP Security – Best Practices To Secure Your Web App in 2024

    All In One WP Security

    All-In-One Security (AIOS), is a user-friendly WordPress security plugin that packs a punch. It provides a comprehensive suite of features, many of which are free, making it accessible to a wide range of users.

    AIOS protects your website from brute force attacks and bots with its Login Security suite, while its Web Application Firewall shields you from malicious traffic and exploits. The plugin can enhance your site’s security by preventing spam comments and content theft through features such as iFrame prevention and copywriting protection.

    Its flexible Two-Factor Authentication (TFA) offers granular control for enhanced security. For example, you can configure TFA to be mandatory for specific user roles, require it after a set period, or adjust how often it’s needed for trusted devices. The plugin also incorporates anti-bot protection, allows you to customize the TFA design, and provides emergency codes for access when your device is lost.

    Additionally, AIOS Premium’s Smart 404 Blocking automatically and permanently blocks bots that generate excessive 404 errors, protecting your website from malicious activity. You can monitor these blocks through handy charts that provide insights into the frequency and origin of 404 errors.

    Pricing:

    As the name suggests, the free plan is completely free to use. However, you can opt for a premium plan, which starts at $70.00/year and offers protection for two websites.

    Solid Security

    Solid Security Pro is a robust WordPress security plugin that protects your site and business from common vulnerabilities. It offers a comprehensive suite of features such as enhanced login security, vulnerability scanning, and brute force attack prevention. The plugin allows you to set custom login requirements, enforce strong passwords, and enable two-factor authentication or passkeys to eliminate weak credentials.

    SolidWP Security goes beyond traditional two-factor authentication methods by embracing cutting-edge technologies for a more seamless and secure login experience. You can log in using Apple Face ID, Apple Touch ID, Windows Hello, or passkey technology (WebAuthn). This flexibility increases security and ensures a smooth login process across different devices.

    SolidWP also integrates with popular CAPTCHA providers such as Cloudflare Turnstile, Google reCAPTCHA, and hCaptcha to offer robust protection against automated attacks. You can even utilize YubiKeys or Trusted Platform Module (TPM) devices for enhanced physical security. This comprehensive approach to two-factor authentication ensures that your website remains secure while providing users with convenient and reliable access options.

    Pricing:

    Solid Security Pro starts at $99 per year for a single site. However, there are discounts for bulk purchases. You can choose a plan that suits your budget and the number of websites you need to protect.

    Which WordPress Security Plugin Is Right For You?

    It’s never going to be a one-solution-fits-all when it comes to security. But having said that, it doesn’t matter whether your website is a small business site run by you alone or a medium or even large business with hundreds of employees. Security is a non-negotiable must.

    A free plugin such as All-In-One Security or Wordfence might be sufficient for basic protection if you’re a small business owner or individual managing a single website. However, if you manage multiple websites or require more advanced features like real-time protection, vulnerability patching, and managed support, paid plugins such as Patchstack or Solid Security Pro offer comprehensive solutions.

    Ultimately, consider your website’s size, traffic volume, and the level of security you require to determine the ideal plugin for your needs.

    Let us know in the comments below if you have any questions or recommendations, and which security plugin you prefer!

    Final Thoughts

    We hope this guide has given you a clearer understanding of the various WordPress security plugins available and helped you identify the best fit for your website. Remember, choosing the right plugin is only the first step. Securing your WordPress website goes beyond a single plugin; it requires a holistic approach.

    One crucial element of WordPress security often overlooked is choosing a secure hosting provider.

    This is where RunCloud comes in!

    RunCloud is the best WordPress hosting provider because it offers advanced security features out of the box. When you manage your WordPress website with RunCloud, you can use robust solutions such as the ModSecurity firewall, Fail2ban, and access control lists in Redis without getting into technical details.

    Ready to take your WordPress security to the next level? Sign up for RunCloud today and experience the difference a genuinely secure hosting platform can make.

    FAQs on WordPress Plugin Security

    What are the top WordPress security plugins recommended for 2024?

    The top WordPress security plugins for 2024 include Patchstack, Sucuri, All In One WP Security. These plugins offer comprehensive security features and have consistently received positive reviews from users and experts.

    How do security plugins protect my WordPress site?

    Security plugins protect your WordPress site through various methods, including firewalls, login protection, and regular security audits. They also often provide features like two-factor authentication, file integrity monitoring, and protection against brute force attacks.

    Are security plugins compatible with the latest version of WordPress?

    Yes, reputable security plugins are regularly updated to maintain compatibility with the latest WordPress versions. It’s crucial to keep WordPress and your security plugins up-to-date to ensure optimal protection and compatibility.

    Do I need to use all six plugins, or is one sufficient for adequate security?

    Using one comprehensive security plugin is sufficient for adequate protection. Using multiple security plugins can lead to conflicts and potentially slow down your site, so choosing one robust solution that meets your specific needs is often better.

    Are there any free options among the best WordPress security plugins?

    Yes, many top WordPress security plugins offer free versions with basic features. For example, Patchstack, Sucuri, and All In One WP Security have free versions, though premium versions typically offer more advanced features.

    How often should I update these security plugins?

    You should update your security plugins as soon as new versions are released, typically every few weeks to months. Enabling automatic updates can protect you against the latest security threats.

    Can security plugins slow down my WordPress site’s performance?

    While security plugins can potentially impact site performance, most modern security plugins are optimized to minimize their impact. The slight performance trade-off generally outweighs the security benefits, but you can often adjust settings to balance security and performance needs.