This document discusses various options for hosting WordPress sites, including:
- Shared hosting, where multiple sites share server resources, which offers low costs but limited customization options.
- Dedicated and virtual private servers, which provide more control over server configuration but require managing server software.
- Managed WordPress hosting, where WordPress is optimized but customization options are limited.
- Cloud hosting, where infrastructure is managed programmatically through APIs, allowing horizontal scaling but requiring code skills.
The document provides advice on choosing a hosting option based on factors like site traffic, security needs, customization requirements, and whether managing multiple sites.
3. Almost anywhere.
• WP is so popular that it heavily influences available
hosting choices
• Huge variety of hosting and support options
• General PHP/MySQL or specialist WP hosting
• Managed or unmanaged
• WordPress can also operate in a multisite mode,
hosting thousands of blogs
5. wordpress.com
• “Multisite” WP as a service, runs 50% of the
world’s WordPress sites
• Small set of general themes, and you can’t install
your own plugins
• You only need to maintain the content
• Provides functionality and services you can use
with the Jetpack plugin on “self-hosted” blogs
6. multisite as a service
• Off-the-shelf WordPress providers targeting
specific niche markets
• Themes and functionality curated for that niche
• Market-focussed support
• None of the hassle of running your own server
• Less scope to step outside the box
7. • Visual Society
https://visualsociety.com/
• Conference Websites
http://conference-websites.co.uk/
• Restaurant Engine
https://restaurantengine.com/
• PressBooks
https://pressbooks.com/
multisite as a service
9. Early web hosting
• Dedicated hosting: a server to yourself that you
can configure as you require
• Like leasing an entire building
• Shared hosting: multiple websites on one web
server
• A bit like renting a desk in an office!
10. Dedicated servers
• “bare metal”: a server or network to yourself
• Perhaps even your own hardware through colocation
• Full root (administrator) access; total freedom but
also total responsibility
• Sometimes offered with control panel software
installed to ease configuration
• Most ISPs offer fully managed service offerings
11. Shared hosting
• Multiple sites all sharing the same resources
• Simple disk and database quotas, files uploaded
by FTP
• Limited protection from unruly neighbours!
• Getting an SSL certificate can be complicated
• Options for configuring servers are limited
12. Virtual private servers
• Servers divided into virtual machines
• Each VM has all of the potential of a dedicated box
• Adds hardware independence, easier upgrades, and
security between customers
• Also snapshot backups, rollbacks and cloning
• But some offerings are oversold / poorly performing
• Birthed cloud services like Amazon EC2
13. Containers
• Evolution of virtualisation and the cloud; blurs the
boundaries of hosting architecture
• A container is a tiny slice of a machine, with just the
resources needed for a single logical function
• e.g. DB, webserver, memory cache, load balancer,
front end cache
• Docker containers can be “wired” to each other,
reconfigured, scaled, moved transparently
15. Cloud managed VPS
• Server setup and configuration managed by ISP;
your own server but safely and easily
• Web control panel access to start and stop
services, configure SSL
• Often one-click installers for web apps or WP
• API access for creating and configuring servers
• Providers include Gandi and Cloudways
16. Cloud services and APIs
• The cloud is internet-based storage and compute
services under API control
• APIs are remote web-based interfaces for code
• Programmatically manage servers, storage or WP
itself
• Connect to external service providers,
e.g. payments/invoicing, email providers
• Build automations with Zapier, Microsoft Flow
17. WP is perfect for the cloud!
• WordPress itself has common requirements: PHP
and MySQL
• Plugins add functionality to WordPress
• To integrate a cloud service you might add a
container or sign up for a third-party service
• Install the matching plugin and connect it to your
new service
18. Advanced Cloud VPS
Write code that calls APIs to build infrastructure
• create, boot, shut down VPS instances on demand
• take and restore whole-box snapshot backups
• write your own server installation scripts
• update DNS, configure load balancers and firewalls
• Providers include Google, Amazon, Digital Ocean,
Bytemark
20. WP hosting as a service
• Cloud hosting with WordPress-specific services from
WP Engine, Kinsta, Pagely
• Database backups, migrations, staging servers with
publication tools
• WP security: brute force login protection, API
protection, vulnerability scanning
• WP-aware caching and load-balancing
• The hosting implementation is hidden from you
21. “So how do we decide
what kind of hosting
we really need?”
22. Scale
• A site with many active users or high traffic may
suit cloud hosting
• Horizontal scaling: adding servers on demand
• Load balancers
• Dedicated database instances
• Front end caching
23. Backups and source control
• Backup services can be implemented as plugins
• But bespoke or high-availability sites may need
different backup strategies
• Cloning a VPS makes it easier to develop and test
new functionality
• Managed WP hosting may interfere with source
control software
24. Security
Shared or managed WP hosting may be wrong for:
• Directly handling credit cards (PCI DSS)
• Access to secure databases
• Large amounts of customer-identifying data
• Choosing a legal jurisdiction for a server
25. SSL certificates
You should use SSL, but it can complicate hosting
significantly
• Shared hosting often makes it difficult or expensive
• Can you use your own SSL certificate bought
elsewhere?
• Managed hosting services often provide simple
access to Let’s Encrypt free basic certificates!
26. Email
• Many shared hosting and managed VPS providers
limit access to SMTP (external mail) because of
problems with spamming customers
• You may need to use a transactional mail service,
e.g. SendGrid, SendInBlue, MailJet or MailGun
• Connect to it via SMTP or an API
• Just install the matching plugin and configure it!
27. Bespoke functionality
• Managed WP hosting may block non-WordPress
software like DB management panels
• They may also block your bespoke PHP scripts
• You may want a specific service, e.g. a memory cache
or key store like Redis
• Some configuration tweaking will need an unmanaged
VPS or dedicated hosting
• You might run on an Windows VPS to use .NET
28. The command line
You might want Secure Shell (SSH) access to the
command line to run:
• bespoke backup scripts
• log file processors, configuration tools
• WP-CLI
Shared or managed WordPress hosting may not offer
SSH access
30. Stay on the rails!
If you build your sites the most “WordPress way”
possible, you have more hosting choices
• Avoid non-WordPress scripts, and keep plugin and
theme functionality separate
• Choose WP-based caching schemes
• Choose plugins and themes that don’t subvert WP
standards
• Do scheduled maintenance with WP-Cron
31. Tips for multiple sites
• Try to use a standard set of plugins
• Don’t go overboard: choose plugins carefully
• Make use of child themes support
• Make good use of scheduled maintenance tasks
• Try to avoid copy-paste-change solutions
• Use source control such as Git for bespoke code
32. Remote management
• Tools are available to remotely upgrade WP/
plugins/themes across dozens of sites at once
• Some are hosted services (e.g. ManageWP)
• Some (e.g. InfiniteWP, MainWP) are control panels
you host yourself
• Install a plugin on each site, add the site to the
manager control panel
33. Jetpack
• Integrate your own site with services provided by
wordpress.com
• Offers a remote management tool for sites on your
own hosting
• Offers traffic and stats tools, backups, security
tools
• Comment management across multiple sites
34. WP-CLI
• An official command-line interface for WordPress
• Integrates with WP and many plugins
• Write commands and scripts to install and manage WP:
wp core download
wp plugin update --all
wp plugin install wordpress-seo
• Add to existing provisioning/configuration management