Building a WordPress site

Logging in

After placing your order you will receive an email that has the username and password for your WordPress admin panel. You can then log into your site by clicking the link in the e-mail or using the address of your new site (example.com/wp-admin).

The e-mail you receive will also contain SSH credentials. With those you can perform tasks using the command line, if you like.

Migrating to Seravo.com

You can find easy to follow instructions online on how to migrate WordPress sites to a new provider. We recommend using the All-in-One WP Migration plugin to easily download your existing site and install it on seravo.com.

We also offer site migrations performed by our experts ranging from EUR 80–250 per installation, depending on the size and complexity of your site. Make sure to include the URL to your old site in the order form, if you would like an offer on site migration for your site. Migrations performed by us come with a full warranty of functionality to make sure your site works perfectly on Seravo.com after the migration.

Migrating a site from generic shared hosting to Seravo.com, you will instantly see benefits like increased performance and security. We warmly welcome you to put us to the test and see how much faster your site works on our platform!

Instructions: Migrating to Seravo.com

Getting started

The easiest way to get started with building your WordPress site is to select a plan on our order page. We will contact you within the next few hours with a fully installed site with everything set up for you. You don’t need to install or download any software on your computer.

Choosing a plan

Why are Seravo.com plans more expensive than other hosting?

At Seravo.com your plan includes both hosting, domain name, upkeep and customer service. Buying one plan you know exactly what you get and won’t have to pay for additional serviced.

Where we differ from regular hosting services is in the effort we put into the upkeep of your site. We take care of updates and make sure that the newest version of both WordPress core and plugins work perfectly. We take care of security and will even clear up your site if it gets hacked. We also take daily backups of all your content and can return your site into previous situation if necessary.

Investing into safe, fast and functional websites benefits your company in several ways. It is our job to take care of our customers’ sites so that they themselves can focus on the core of their business. And just as a comparison: our most affordable plan is equivalent to your monthly mobile phone bill.

Which Seravo.com plan is right for me?

The pricing of our plans is based on the amount of users your website has and the capacity that is required from our servers and upkeep. We suggest you to choose the Mini plan for small websites and the Pro plan for medium size sites. The Business plan is designed for e-commerce sites and webstores and the Enterprise site is for large websites with over 1200 visitors per day.

You can compare the different plans on seravo.com/plans

Even though we suggest you to choose the plan according to the amount of visitors, we will never shut the site because of too much traffic. If the suggestive amount of visitors and HTTP requests is exceeded repeatedly, we will contact you and discuss the need for a bigger plan.

Domain names

I need a temporary domain name for my site

The address of the new site, when it is opened, is in the form of https://example.seravo.com. The website can be set up in your own time and it can be published with its own domain example.com once it is ready.

What is a “transfer authorisation key”

Administrative transfer means that the customer provides Seravo.com with the authorisation key of their domain (i.e. .fi/.com/.net or similar domain). Seravo.com uses it to register on the domain name register as the administrator of the customer’s domain. The customer is always the domain owner.

After the administrative transfer, Seravo.com’s administrators can make changes to the domain name, such as name service and internet traffic and email traffic commands.

Note! The administrative transfer takes 1-7 days so the customer should notify the authorisation keys immediately when ordering from Seravo.com, in order for the administrative transfer to be completed in advance. The actual internet traffic or emails can be redirected to the new server later, at a time stated by the customer.

I already have a domain name. Can I use it on Seravo.com?

If you already have a domain name, you can use it on Seravo.com by simply typing in the domain in the order form. Then fill in the Notes section the authorization code or transfer key of your domain. We need those for domain upkeep.

If you don’t know the needed code or key, ask for them from your old hosting service provider. It is also good to contact the old service provider, notify them about domain transfer and ask for the removal of possible transfer locks. The domain transfer process takes 1–7 days depending on the registrator.

I need multiple domains

Sometimes it is useful to have multiple domains directing to the same site. You can get additional domains while ordering your plan or ask for them later on. The cost of additional domains is 20 € /domain /year.

How do I get a custom domain for my site?

If your domain has not been registered yet, the easiest way is to order it together with your Seravo.com plan. Just insert your new domain in the order form.

Each plan includes one regular domain (.com/.net/.org), also including name servers and registration fees. The registration process is usually finished within the same day. We also take automatically care of domain renewals yearly.

Our customers can also choose to take care of domain registrations, name servers and renewals by themselves. This however has no effect on the pricing of the chosen plan.

If you wish to have an unordinary domain for your site (for example .vi or .rich), please contact our customer service.

Setting the primary domain for my site

WordPress’s siteurl and home settings determine the address where the site is displayed. If the site has used the address customer.seravo.com during the development stage, the address customer.com must be changed in the control panel, when the site is published. Enter the address in the appropriate field under Settings > General


Changes can also be made from the command line with the wp-cli tool:

$ wp option get siteurl

$ wp option get home

$ wp option update siteurl https://customer.com
Success: Updated 'siteurl' option.

$ wp option update home https://customer.com 
Success: Updated 'home' option.

If you would like to ensure that all references of the old address in the database are replaced with the new one, this can be done with the command wp search-replace '//customer.seravo.com/' '//customer.com/' --all-tables

Can I use my own DNS?

Yes. Although our plans include everything you need for your own domain names like name servers and DNS configuration, you can also set up your own DNS. You need to set up your ANAME/ALIAS– and CNAME-records to point to hki.wp-palvelu.fi (,, For example:

@ A
@ A
@ A
@ AAAA 2a04:3540:1000:310:7c25:3fff:fe79:7e3d
@ AAAA 2a04:3540:1000:310:7c25:3fff:fe79:780f
@ AAAA 2a04:3540:1000:310:7c25:3fff:fe79:3304
* CNAME hki.wp-palvelu.fi.

@ 10800 IN A
@ 10800 IN A
@ 10800 IN A
@ 10800 IN AAAA 2a00:14c0:1:307:aa51::151
@ 10800 IN AAAA 2a00:14c0:1:307:aa51::147
@ 10800 IN AAAA 2a00:14c0:1:307:aa51::148
* 10800 IN CNAME tre.wp-palvelu.fi.

To make sure that spam filters let through the emails sent from the website, you should also have the following records in the DNS :

s1._domainkey 10800 IN CNAME s1.domainkey.u2403587.wl088.sendgrid.net.
s2._domainkey 10800 IN CNAME s2.domainkey.u2403587.wl088.sendgrid.net.
sg 10800 IN CNAME u2403587.wl088.sendgrid.net.

Furthermore you have to modify the SPF-record so that in includes the SMTP-service used by Seravo: include:sendgrid.net.

@ 10800 IN TXT "v=spf1 a mx include:sendgrid.net ~all"

You are still required to order each domain from Seravo so that we can route requests from our front servers to your sites properly. At the same time we check if your website is in our HKI-cluster or should the IP-addresses differ from the examples above. Some clients also have DNS definitions that vary from the base rule but the correct definitons will be determined at the latest when the domain has been reported to Seravo for routing.

If you want to handle the domains and the routing by yourself all without Seravo’s help, you’ll have to understand enough about DNS- and HTTP-routing to be able to define and test that all the domains are working properly.

We strongly recommend our customers to trust their DNS to Seravo.com for the best and most care-free experience. This means that the client only has to pay one bill that covers all and it is usually the best way to avoid issues with dns configuration. If the configurations are incorrectly defined the website might not work at all, so in that sense it would be best to let Seravo be responsible of the process, all the way from ensuring the domain stays valid to the website specific settings in server environments.

Making my site public

Is my site public from the get go?

The website you ordered is visible at example.seravo.com, which does not however appear in e.g. Google search. The domain chosen for the publication of the actual site must be addressed to Seravo.com’s server. We can take care of this for you, when we have received the necessary IDs.

Can I hide my site from others until I’m ready to publish it?

Yes. It is easily achieved by activating the Maintenance plugin. You can define what is visible to the public in its settings. When the “maintenance status” is on, only logged in users can see the site’s real content. This function enables, e.g. an advertising agency to develop a new site and the customer can view it without the site being visible to the public.

If a maintenance message or such wants to be implemented with just a static file, you can create a file in the index.html folder /data/wordpress/htdocs/, in which case the server will provide that file instead of the WordPress file (index.php). If you would also like all requests to the site (including subpages’ direct requests) to be referred to this static file, you can add a row rewrite ^ /index.html break; to the /data/nginx/custom.conf file and activate the change by running wp-restart-nginx.

Development and staging environments

More detailed documentation for developers can be found at: docs.seravo.com


How do I get email for my custom domain name?

You can select the email solution of your choice when ordering Seravo.com’s package. We do offer our customers a normal email service (IMAP), but in many cases, it is wiser that the email service is acquired from elsewhere. In this case, we recommend the Google G Suite service.

The domain name service defines where online traffic and email is directed, and they do not need to be directed to the same server. The customer may wish to continue using their old email service provider.

In one-person businesses, a viable option is a personal Gmail account, which emails are redirected to the example.fi address.

You can choose your preferred email option when you fill in the Seravo.com order form.


Where are the backups located?

Backups can be found under the /data/backup directory. The backup also contains a database dump. The backup is done automatically every night. The latest backup is always in the main folder and the daily changes for a period of about a month are in folder /data/backup/incremental/ (in the format produced by the rdiff-backup tool). The backup can also be performed manually by running wp-backup. A backup of just the database can be done manually with the command wp db export.

Note! All of the customer’s data is located under the /data folder. All other files are destroyed at regular intervals for security reasons, and Seravo only guarantees that the files in the /data folder are stored and backed up.

How do I restore from a backup?

The latest backup is always available in the /data/backup folder. With a simple cp command, you can copy any files back to a desired location from the latest backup version.

With the command rdiff-backup -l /data/backups/data you can obtain a list of the backup history.

For example, the entire data folder can be obtained for the folder ‘recovery-2015-04-01’ as it was on the relevant date, by running the following command:

$ rdiff-backup -r 2015-04-01 /data/backups/data/ palautus-2015-04-01

More information on the use of the rdiff-backup tool can be found on the rdiff-backup website.

Files and Databases

How do I edit WordPress files?

All Seravo.com service package include a SSH connection and you have received remote connection logins by email together with your delivery confirmation. You can use those credentials to login to the server in your preferred manner.

You can use SCP and SFTP connections for transferring data to the server. With a SSH connection, you can log on to the server command line, where you can use Seravo.com tools, such as WP-CLI Composer and Git, in addition to editing files.

WordPress is installed on our server to the following path: /data/wordpress/htdocs/. The user’s home directory is under the path /data/home/. Please note that the /data folder and its subfolders are the only place, where the customer can store his/her data. It is also the only location, which Seravo ensures storage and backup for. System files in other directories are destroyed in connection with updates due to data security reasons.

In our service, WordPress’s folder structure applies the Bedrock project’s folder structure, which facilitates, e.g. using the Composer tool. More information can be found in the developer documentation at docs.seravo.com.

Server Logs

All important log files of the WordPress environment are created in the /data/log/ folder.
You can find the error and access log files for both PHP and HTTP performances in the log folder.

If something on your site is not working, it is often worth checking the php error log first:

$ tail -f /data/log/php-error.log


You can also conveniently track all the server log files with one command:

$ wp-watch-logs


Graphical database administration (Adminer / PhpMyAdmin)

For data security reasons, our system does not allow PhpMyAdmin, but you can use Adminer instead. Adminer offers similar functionalities to PhpMyAdmin, but in a more easy and secure manner.

Database information required for logging in can be found with the help of the Environment variables instructions.

You can access the database directly from the command line with the command wp db cli, in which case verification takes place automatically and the database password does not need to be manually entered.

Adminer hallintapaneeli plugins.seravo.fi sivulla

Database dumps

The database dump can be obtained in several ways. One option is to use the above Adminer tool with a browser and download the database dump from there. Another option is to log in to the server with SSH and run the command wp db export, which automatically creates a SQL file of the WordPress databases. The standard mysqldump command also works.

The third option is to locate the content of the /data/db/ with SFTP, where you will find a database dump in the format of a SQL file, which is automatically created every night.

Environment variables

If you check WordPress’s wp-config.php file, you will only find numerous getenv() invites instead of the usual database information. Due to data security and scalability reasons, the information is read from the environment variables instead of the fixed values in the files. The script wp-config.php will extract the information from the environment variables while running.

You can view all the relevant environment variables by logging in with ssh and running the command

$ wp-list-env


With most hosting platforms, you can edit the Apache server rules with the .htaccess file. In Seravo.com, a faster http server called Nginx is used instead of Apache.


Documentation for developers

Our documentation site seravo.com/docs/ contains a lot of material, particularly for coders and more advanced users.


The /data/wordpress folder on the server already contains a Vagrantfile, i.e. by copying the relevant directory to your own computer and running vagrant up, a Vagrant virtual machine will start up, which is compatible with seravo.com’s system. The use of Vagrant is particularly useful for Windows and Mac users, who are provided a ready-to-use Linux environment with a http server and databases via the virtual machine. More information can be found at github.com/Seravo/wordpress.

Server Configuration

Nginx configuration

We have optimised our http server, Nginx, so most customers should not make any settings of their own. Sometimes it may, however, be necessary to make customer-specific additions, such as http redirects. Redirects can of course be made directly in WordPress, e.g. with the Redirection plugin.

VYou can freely make your own changes to the /data/wordpress/nginx/custom.conf file. This file in our system corresponds to the Apache root directory .htaccess file.

# Simple 302 (temporary) redirect rule
rewrite ^/original http://example.com/new/url/;
# Simple 301 (permanent) redirect rule
rewrite ^/original http://example.com/new/url/ permanent;
# Redirect from a certain domain
if ($host ~ 'example.fi') {
 rewrite ^ http://example.com/new/url/ permanent;

In order to apply the changes, Nginx must be restarted with the command:

$ wp-restart-nginx

More information on using Nginx can be found on the Nginx homepage.

Nginx PageSpeed module

You can easily enable the Google PageSpeed module, which makes your site faster, by adding the following row to the /data/wordpress/nginx/custom.conf file.

pagespeed on;

Remember to restart Nginx, so that the changes take effect:

$ wp-restart-nginx

More information on Google’s PageSpeed module can be found on the Google Developers site.

PHP Object cache

As standard, WordPress saves transients and other cache type data in the same MariaDB database, where the actual data is. You can try to optimise this by enabling the object cache plugin. As standard, servavo.com’s service packages have Redis for this purpose, which is an information store for cache use in the RAM memory. The Redis server settings are already in the wp-config.php file and renaming the plugin, so that WordPress can find it, is enough for its activation:

cd /data/wordpress/htdocs/wp-content
mv object-cache.php.off object-cache.php

Accordingly, object cache can be disabled by renaming it mv object-cache.php object-cache.php.off.

NOTE! Due to seravo.com’s optimised environment, enabling object cache may slow down the site’s overall download time. For the same reason, it is not activated at standard. We recommend that customers assess the impact on their own site.

The functionality of the object cache can be viewed with the command redis-cli monitor, which shows continuous print instead of one row of OK text, if searches or records are received by the object cache during WordPress’s page download.

Purging caches

You can easily clear the WordPress Redis object cache and Nginx page cache concerning the entire site with one command:

$ wp-purge-cache

For individual pages, you can skip the server caches by performing a , i.e. in most browsers by pressing Ctrl+F5 instead of just F5.

Seravo.com’s system is an optimised WordPress environment, and there are caches at many levels: The HTTP cache at the front-end server, WordPress’s transients (stored with Redis), PHP shell caches, MariaDB database caches, Linux kernel caches, file system caches, etc. The caches have been built in such a way that they are updated automatically, when the original content, which they transmit, is updated. The software of an individual customer can only affect WordPress transients or HTTP headers, on which basis the HTTP headers are saved in caches in Seravo.com and various end-user proxies.

Cron tasks

There are two methods available for various batch runs:

1. WordPress’s built-in WP-Cron, which is used to register runs with the wp_schedule_event function.
2. The traditional Linux cron, which can be configured with a SSH connection with the command crontab -e

If you would like to determine the address to which the cron prints are sent, insert the following text on the first row in crontab: MAILTO=info@example.fi.

Support and Documentation

Contacting customer support

You may want to check first, whether the answer to your question can be found on Seravo.com’s plans or, features.

Our customer service can be reached by email wordpress@seravo.com
By phone, we can be contacted on +358 44 777 0020

Our handle on Twitter is @Seravo. Seravo.com’s customers may also wish to follow @Seravostatus, where we inform of any updates and disturbances.

Enterprise-level customers have direct contact to their own Account Manager, who will help with any site-specific issues.

Technical Documentation

Our documentation site seravo.com/docs/ contains a lot of material, particularly for coders and more advanced users.

The site is updated as more features are added to Seravo.com. You can find more information on the site about making various configurations and developing on your own computer by using Vagrant.

Development work

You can turn to Seravo in case of any WordPress issues. In addition to a server environment optimised for WordPress, we also provide WordPress expertise to our customers.

Contact us