We see Cloudways being for those that are comfortable with underlying server technologies, how they work with other technologies such as CDNs, optimization plugins, etc. and for those that want to spend the time “tinkering” with these technologies.
If you decide to pull the trigger, consider using our Cloudways Affiliate link, which helps us to continue and write tutorials such as this one.
After using this tutorial, you are in a position to begin implementing your website, without interference from caching. We recommend not putting any performance optimization (code snippets, plugins, etc.) in place until after the design process has been completed.
When you’re ready to start fine-tuning the speed of your website, check out our tutorial on how to optimize WordPress websites.
We recommend Kinsta as the best overall WordPress website hosting vendor, due to it’s simplified management dashboard, high-performing technology stack, and a high level of support that’s not seen with Cloudways.
We offer Free Website Migrations to Kinsta at no-cost, for those that use our affiliate link, so it’s a win-win for all.
If you do decide to make the move to Kinsta, check out our Kinsta WordPress Hosting for Beginners guide.
The following instructions are reflective of our location, requirements, recommendations, etc. Your implementation may differ slightly.
- Sign up for Cloudways (Note: We’ve provided our affiliate link, which helps us continue to write tutorials like this one)
- Select your Application > Clean (No Cloudways Optimization) (Note: We choose this option because we want to know exactly what we’re optimizing.)
- Name your app, server, and your project
- Application Server > Vultr
- Server Size > 1 GB (Note: The idea is to scale up as needed.)
- Location > USA Chicago (Note: We want to pick a server that’s closest to the majority of our customers. Because we are US-based, we want to place the server in the middle of the country.)
At this point, you will be on a 3-day, FREE trial. If you plan to stick with Cloudways, be sure to become a paying customer before your trial period ends.
- Server Management > Settings & Packages > BASIC > PHP TIMEZONE > This is optional, but we choose the location closest to us (e.g. the website management team). (Note: The management team will be the ones reviewing any PHP-related troubleshooting information, so having the timezone in relation to their location, is best.)
- Server Management > Settings & Packages > ADVANCED > MYSQL > TIMEZONE > This is optional, but we choose the location closest to us (e.g. the website management team). (Note: The management team will be the ones reviewing any PHP-related troubleshooting information, so having the timezone in relation to their location, is best.)
- Server Management > Settings & Packages > ADVANCED > NGINX > WAF MODULE > This is optional, but we choose Cloudflare here, as that’s the CDN we’ll be integrating with.
- Server Management > Settings & Packages > PACKAGES > PHP > In the interest of speed, functionality, and security, choose the highest PHP version allowed. (Note: Thoroughly test your website to ensure your theme and plugins fully support the version of PHP you’ve chosen. If there are any issues, drop down a version of PHP, and test again. The goal is to run the highest version of PHP without breaking your website.)
- Server Management > Settings & Packages > PACKAGES > MySQL > Unlike PHP, we start low and end high, when it comes to setting the MySQL version. This is because the version of MySQL cannot be downgraded. In the interest of speed, functionality, and security, you want to be running the highest version of MySQL possible, without breaking your website. (Note: Thoroughly test your website to ensure your theme and plugins fully support the version of MySQL you’ve chosen.). (Note: For our WordPress servers, we use MariaDB instead of MySQL. There are tons of articles out there if you want to do your own research.) (Note: Once you implement MariaDB, you cannot switch to MySQL. Also, if you upgrade MySQL to ANY version, from the default Cloudways version…you cannot switch to MariaDB.
- Server Management > Settings & Packages > PACKAGES > Redis > Install
- Server Management > SMTP > This is optional by highly recommended in order to ensure emails get to your customers. We use Microsoft Office 365, so we’re going to use their SMTP services by choosing Your Own SMTP, Other, Host: smtp.office365.com, Port: 587, and entering credentials for a working email account.
- Server Management > Manage Services > Varnish > Stop (Note: With the website under development, we want to turn all caching off.)
- Server Management > Manage Services > Redis > Stop (Note: With the website under development, we want to turn all caching off.)
- Application Management > Domain Management > PRIMARY DOMAIN > Enter the domain of your website and save changes
- Application Management > Domain Management > SSL MANAGEMENT > Enter the domain of your website and choose to install a Wildcard SSL certificate. (Note: Configuring the certificate as a wildcard certificate from the start allows you to automatically cover all of your subdomains that are used for this application.)
- Application Management > Application Settings > Folder > Change the default folder name to “live” (or similar) so that it’s easily recognized as the production server
- Application Management > In the bottom right of your screen, you’ll see a yellow circle with some white squares. Hover over that circle and choose Clone App/Create Staging.
- Choose Same Server. (Note: By choosing this option, you are not incurring additional charges that a new server would bring.) (Note: If you want to take your disaster recovery to a whole new level, choosing New Server may be desirable. This may be required for things like PCI Compliance.)
- Check the Create as Staging box and Submit. (Note: If you don’t check the box, your application will simply be copied and not set up for a true WordPress staging environment.)
- Staging Application > Staging Management > Application Settings > Folder > Change the default folder name to “staging” (or similar) so that it’s easily recognized as the staging server
- Staging Application > Staging Management > Domain Management > PRIMARY DOMAIN > Enter “staging.yourdomain.com” and save changes
We use FileZilla for managing our websites, so these steps will reflect the usage of that application. Download FileZilla.
- FileZilla > Site Manager > New Site
- FileZilla > Site Manager > Protocol > SFTP
- FileZilla > Site Manager > Host > Enter the IP address of your Cloudways server
- FileZilla > Site Manager > User/Password > Enter the credentials of your master account of your Cloudways server
When viewing your applications via FTP/SFTP, if you followed the instructions above, you should notice a folder named “live” and a folder named “staging”<default_app_name”>. Going forward, you should only access these folders, ignoring the default folder names.
Cloudways engineers didn’t have an explanation for why the renaming of folders causes duplicate folders, but our guess is that it has something to do with the backup/restore process.</default_app_name”>
We use Cloudflare for our DNS management, as it’s proven to provide faster DNS services when compared to traditional domain hosting companies.
Check out our simple tutorial for using Cloudflare’s Free CDN.
Let's empower others. Share the knowledge.