I’ve recently bitten the bullet and migrated my sites off my longtime basic shared hosting onto something more optimized for WordPress. The destination: SiteGround.

Why Move?

I’ve been a longtime user of DreamHost’s shared hosting for a few websites. The limitations of shared hosting are well-known, so I need not elaborate. I’m moving towards more WordPress work, and recent experiences have shown WordPress to run poorly on the DreamHost setup.

DreamHost was my first “serious” webhost after Angelfire (remember that?) and came with many options for customizing the service. I’ve been on there a long time, but really need a faster and more stable service to keep me sane.

Why SiteGround?

I’ve been looking at better WordPress hosting options for quite a while. There are a number of WordPress-centric hosts, highly optimized for the platform. The most well-known of these is WP Engine, but there are also ZippyKid and Page.ly competing in the space.

One glaring issue with these options is price. I admit that I, like many others, am quite price-conscious, especially still being in university. While the aforementioned options are attractive for the features they offer, they also have a relatively high price point just to begin using said services. Pricing is steep for a single site setup, but improves on a per-site basis when signing up for a multi-site plan. Trouble is, in both cases the prices are too much for my taste. Aside from price, these services impose some restrictions on what can be run on hosted sites; WPEngine notably disallows a number of plugins. Also, these services are WordPress-only, leaving no room for non-WordPress sites.

SiteGround pricing

SiteGround pricing comes in three tiers: StartUp, GrowBig, and GoGeek

SiteGround offers pricing higher than normal shared hosting, yet lower than the WordPress-specific services, and fills the gap between low-priced and -powered, and high-priced and -powered. The GoGeek account is priced similarly to the aforementioned options, but allows multiple sites at the same price point. Additionally, there is no limitation on WordPress-only sites. Further to that, there are no noticeable limitations on plugins that can be used.

SiteGround accounts boast numerous features, varying on the level of the account. Notable features of the basic StartUp plan include:

  • Free CloudFlare CDN
  • cPanel
  • SSH
  • One website only

The next level, GrowBig, builds on the previous one, and adds:

  • Premium speed due to SuperCacher
  • Premium security
  • Premium support
  • Multiple sites

The highest level, GoGeek, adds:

  • Better server provisioning – better hardware, fewer accounts per machine
  • Site staging

With multiple factors in mind – price, flexibility, and freedom – I moved a few sites off of DreamHost and onto SiteGround. It went fairly smoothly, but I’ll point out some steps I took to finish the process, possibly to help anyone else making a similar move in the future. I’m signed up for a year of the GoGeek plan, which allows for multiple websites, and comes with a number of webmaster-friendly options.

Making the Move

Backing up the Old Site

I’ve been running this website for ten years (!), so have a fair bit of accumulated content – much of which is in a database, but there are also a lot of files, such as images, themes, and plugins, to end up on the new site. This made the move a multi-step process, at both ends.

I didn’t bother downloading the entire site, as the WordPress files are easily installed on the new setup. Instead, I just downloaded the contents of my /wp-content/uploads/ folder, which contains all the files – mostly images – uploaded to the site over the years. I didn’t bother with the plugins, since they can be installed fresh from the plugin repository, or from purchased & downloaded copies. Similarly, I didn’t download the themes, as I really only use one custom theme, of which I have a local copy. I did download the wp-config.php file, which contains numerous configuration directives which I have used to customize and optimize WordPress.

As for the database, the simplest way is to go to the old WordPress site’s backend, then Tools -> Export. I exported everything, and downloaded the resulting file. This may be the most straightforward for moving a WordPress database across hosts if the domain name stays the same.

I’ll add that I left the files and database intact on my DreamHost account, just in case the move didn’t go well and I wanted to revert.

Creating the New Site

Creating an account with SiteGround is pretty straightforward. A surprising part of the initial setup was being required to set up a “primary domain”, which seems to be like a central point for the account. Other domains and subdomain can be added, but there is also a primary domain. This domain can be changed, but such an action requires changing of FTP user accounts, among other things, since they are tied to the primary domain.

SiteGround's account overview

SiteGround provides an at-a-glance overview of an account

I’ll say one thing for DreamHost, they have a really nice custom control panel. SiteGround has a cPanel setup, which to their credit they have heavily customized and wrapped in their own interface. I’ve used cPanel before, so I didn’t have much difficulty, though those without said experience will have a learning curve.

Customized cPanel used by SiteGround

SiteGround uses a customized cPanel implementation

Adding a domain to the account is pretty simple. In the cPanel, visit the oddly-named Addon Domains section, fill in the fields, and submit. This creates the web space for the account, along with an FTP user; it does not cause the domain registration to point to the new service, that is a separate step for later.

Domain addition on SiteGround

A SiteGround account of the appropriate level allows adding more than one domain

The bottom of this view lists currently provisioned web spaces, with options to configure or delete. There is a separate section, titled Subdomains, for adding subdomains. Strangely, any domains added to the account are also listed as subdomains of the account’s primary domain:

Adding a subdomain on SiteGround

SiteGround’s process of adding a subdomain is pretty simple

On to the really interesting part: getting WordPress up and running. SiteGround makes this easy, as the service uses Softaculous, which simplifies installation of common web applications, WordPress included. On the cPanel view, scrolling down to the Sitebuilding Software section reveals, among other options, a WordPress installer:

SiteGround web applications

Automated installation of common web applications

Selecting the WordPress option takes the user into the Softaculous view:

SiteGround's WordPress installer, using Softaculous

Softaculous can be used to install WordPress

Clicking the Install button at the top leads to page with some configuration settings to be used for installing WordPress. Quite similar to how the actual WordPress installer works. Fill in the desired settings and go. The installation was done within a couple of minutes.

WordPress configuration before installation on SiteGround

Some straightforward settings for Softaculous’ WordPress installation on SiteGround

Using the selected credentials, logging into the site reveals a near-pristine installation. Besides the usual suspects – Akismet and Hello Dolly (still? really?) – a basic install also includes the SG CachePress plugin, which works with SiteGround’s specialized cache:

SiteGround caching

SiteGround uses a custom caching setup, configurable by the user

This does require having the cache service enabled on the SiteGround account. Also, for the memcached option, support for memcache must be enabled from the cPanel.

Another surprise is the inclusion of some themes in addition to Twenty Twelve and Twenty Thirteen:

WordPress theme selection

Several themes are included in Siteground’s WordPress installs

It’s thoughtful to provide a new user some additional theme options right out of the box. I’ll be continuing with my own custom theme, however, which is due for a near-future replacement.

Pulling my content into the new site was pretty painless. The contents of my uploads folder, which I downloaded from my DreamHost account, were uploaded to the corresponding folder on my new SiteGround site.

The next stage of my site switchover was to import the export file from the previous site. On the WordPress backend, I went to Tools -> Import, selected WordPress as the source type, and uploaded my export file.

DNS Updates

Simply moving a website’s files and database to a new server are not enough for said site to appear when summoned by a web browser. The domain’s registration must be modified to direct requests for the site to the new server.

SiteGround provides two nameservers which are the intended targets for a website request. Switching the DreamHost nameservers out of my domain registrar for those from SiteGround was a simple task, though I had to wait for the update to propagate. Multiply this by three for a trio of sites being moved. Not a complicated process, but a time-consuming one.

Impressions

My first impression is the speed of the service. I had created an account and the first site in just minutes. Once I was familiar with the customized cPanel, adding other domains and creating corresponding web spaces also went quickly. The only delay there was in waiting out the DNS propagation, but that’s no fault of SiteGround. With the sites operational, requesting and loading pages is so much faster than on DreamHost. SiteGround has taken steps for general optimizations, and some for WordPress in particular. The WordPress backend is also quick and stable, again more so than on DreamHost.

According to Pingdom, my site speed has improved greatly since the move. There’s still optimization to be done in terms of images, scripts, stylesheets, and so on, but the base speed increase is nice.

Related to speed and signup, within a day of creating my first site I received an email from a SiteGround employee checking up on me. She noted I had created a site and was beginning to use it, and suggested I get in contact if I had any issues. Well, I haven’t so far, but the promptness of the message, and the message itself, was appreciated. If you’re reading this, Mila, thanks for checking up on me!

As I said in my Rationale section, SiteGround’s pricing scheme nicely fills the gap between basic shared hosting and more specialized or dedicated hosting. This also applies to features, and I appreciate having the flexibility of creating different types of sites.

At this point, I’m rather pleased with the SiteGround service. Now I’ve got to get this theme stabilized so I can go back to designing the new one…