Web Hosting Questions
Web hosting support articles: search our database to find answers to any questions you might have about 20i's Linux web hosting.
Do you disallow any WordPress plugins on your WordPress platform?
Our WordPress platform was designed and built exclusively for WordPress.
This level of platform to software exclusivity allows us to truly fine tune both hardware and software around WordPress. Each site is given its own PHP-FPM resource pool which is running the latest and fastest PHP 8.1 software with an inbuilt PHP OPCache.
Additionally, we run several edge caching systems that cache your WordPress content right at the start of our network to ensure the fastest load times for your visitors - no matter how busy things get. To manage this, each WordPress install comes bundled with our StackCache module which you can control via the WordPress admin interface.
Unfortunately, not all plugins were designed to run at scale and may cause problems for you and your website. In order to provide a super-fast and secure platform for all customers, we do have some restrictions on the plugins you're able to use on your WordPress package.
Disallowed Plugins
The following plugins are not allowed on our WordPress platform due to excessive resource use:
BackupWordPress
VersionPress
Broken Link Checker
MyReviewPlugin
LinkMan
Fuzzy SEO Booster
Caching Plugins
Our WordPress platform comes with various layers of caching built in. One of the most effective of these caching layers, especially at scale, is our edge cache system.
Unfortunately, most cache plugins will interfere with this and as a result, we don't recommend running any caching plugins on your WordPress site.
This includes, but is not limited to: W3TC, Super Cache, WP Rocket and Hummingbird.
Don't panic! You won't need them - all caching plugins are built for speed, and you can rest assured our StackCache plugin will do that hard work for you.
What about your Standard Platforms?
While we discourage the use of the above plugins across all platforms, we currently have no restrictions on what plugins you can use on our standard hosting platforms.
Temporary URLs: what are they and what are they used for?
When you create a hosting package, you're automatically given a temporary URL. Temporary URLs are useful for:
- Viewing a hosting package when you have used a domain reference
- Viewing a site that you’ve migrated, before you switch the DNS to 20i
- Showing your client their site before making it live on the actual domain name
You can view a package's temporary URL in StackCP:
You can also create your own customised temporary URL. Just follow our How to add a custom temorary URL guide.
Viewing a hosting package when you have used a domain reference
At 20i you can create a hosting package using a domain reference. This means that the hosting package won’t be connecting to a live domain name via DNS, so to view the files you’ve uploaded to the site you can use the temporary URL.
It will display the site as if it were live, except it will be on our temporary URL servers and the URL is something like http://example-co-uk.stackstaging.com.
Viewing a site that you’ve migrated, before you switch the DNS to 20i
When migrating a site to 20i, we recommend the following process:
- Migrate the site files, emails and databases to 20i
- Check the site works at 20i via the temporary URL
- Point the nameservers to 20i.
Step 2 is where the temporary URL comes in.
After you’ve copied all the site data in 20i, you may want to check that it works. Selecting the temporary URL will show you what the site will look like before you’ve pointed the nameservers to 20i’s.
Showing your client their site before making it live on the actual domain name
You may want to show your client a site that you’ve developed for them, without it being accessible on the live domain name. You can give your clients the URL: http://example-co-uk.stackstaging.com
Alternatively, you create a redirect from the domain name to the temporary URL. Read our guide on How to switch between temporary and live URL.
Frequently Asked Questions
Is the temporary URL the same as a Staging Environment?
No, the temporary URL is not the same as a staging environment as it will always reflect what will be on the live site, so it’s not possible to perform work and then “push” changes to the live domain name.
Does the temporary URL support SSL?
Temporary URLs fully support HTTPS:// connections by default – there’s no need to install an SSL on the site in order to connect to your temporary domain using https://. If you wish to use a customised temporary URL, the base domain will have to have an SSL installed on it for the connection to load securely, however.
Can I customise the temporary URL to my own brand?
Yes, you can create your own customised temporary URL. Just follow our How to add a custom temorary URL guide.
Are there any alternatives to using the temporary URL?
Yes, you can modify your hosts files. Your machine's local hosts file allows you to overide DNS for a particular domain or subdomain name. This is a great way to test the site ahead of changing real DNS: you're able to test the website at 20i while the rest of the internet continues to use DNS to point to the existing website.
This article shows you how to do this and modify your hosts file.
Does my website perform the same on the temporary URL servers?
No, temporary URL servers are reduced capacity as they're just for trialing a website on the platform before going live so they're not intended to benchmark performance.
Can I disable the temporary URL?
Whilst it's not possible to remove the temporary URL completely, if you set your website's home & site URL to the live domain name the temporary URL should redirect all traffic to the live site from the temporary URL.
Providing Access Logs to a Third-Party provider
Some third-party providers may request access logs for investigation (i.e. Google AdWords). You can access these logs from within your My20i account.
- Head to Manage Hosting > Options > Manage
- Select Access/Error Logs
- Select Download Log Files.
This will download all your access and error logs as a .ZIP file which contains all the logs we have for this site.
You can select which logs that you'd like to give to your third-party provider. These logs contain information such as IP addresses and which web pages they've accessed.
Complete guide to the 20i File Manager
In this guide we’ll go through the features of the 20i File Manager to show how you can use it to manage the files within your hosting.
What is the file manager?
The file manager is a GUI that lets you manage the files in your control panel without the inconvenience of using FTP. You can quick and easy upload, move, create or delete files just to name a few of the actions you can take.
How to access the file manager
To access the File Manager, you’ll first need to Manage a hosting package and find the File Manager option, under Web Files.
Here you can see the files and directories within the root of the hosting package. To navigate into a folder, you need to double click: that will open the folder and show its content.
How to navigate the file manager
The Home button in the top left will take you back to the root of the hosting, making it easier to get back should you need to. The next icon to the right is Refresh which will refresh the current folder so you can make sure it is up to date with any changes you make. On the top right is a hamburger menu which hides a few more tools. When expanded it will look like this:
How to use the file manager:
All of these tools will help manage the files and these are explained below:
- Close – The X button will close the menu so these icons no longer show
- Cut – After selecting a file or folder you can click this to cut the file and allow you to paste it elsewhere while also removing it from its current location
- Copy – After selecting, this will allow you to copy a folder or file, then paste it elsewhere within the hosting package
- Paste – Allows you to add the cut/copied file or folder into the current folder you are in
- Clear Clipboard – Allows you to remove any cut/copied file or folder from the clipboard so it can’t be pasted, unless cut/copied again
- New File – Allows you to create a new file. This brings up a field where you can name the file and once named, to either Create or Create & Open the file.
- New Folder – Creates a new Folder. This brings up a field where you can name the folder and once named, to either Create or Create & Open the file.
- Upload – Drag and drop files from your local computer or select files from your computer to be uploaded to the hosting.
Once you have added something to upload, a list will appear at the bottom of the page. You can add multiple files to this list. Start the upload by clicking the upload button in the top right.
- Search – Search the hosting for either a file or folder by name. Once the search is complete you will have the option to go directly to where that file is located.
- Open in New Window – Opens the File Manager in a new window separate from your current browser.
- List view – Changes the view for File Manager to show the files and folders in a list going from top to bottom.
- Grid view - Changes the view for File Manager to show the files and folders in a grid format.
There are also other tools that show when right clicking (control + click on a Mac). The options differ depending if you select a file, folder or in empty space.
A few of the options are a repeat of the tools in the hamburger menu and serve as a context-based way to manage the content.
There are a few new features here that will be listed below:
- Code Editor/Rich Text Editor – When right clicking a file you have the option to edit within Code Editor or a Rich Text Editor. By default, you can also double click a file to edit it in the Code Editor.
- Delete – This will remove the file/folder you right clicked but will ask for confirmation to ensure this is correct before removing the data
- Download/Download as ZIP – Allows you to download a copy of a file/folder to your local device. If a folder is selected it will first create a zip of the folder and contents which will then download locally.
- Compress – Allows you to select a folder or multiple files to compress into a zip file. When selected this will open a field so you can name the zip file:
- Rename – Allows you to rename a file or folder. This will bring up a field where you can edit the name.
- Permissions – Allows you to check and edit the permissions that are set on the files or folder. This shows with the Read, Write and Execute permissions for you to select. These permissions are also shown in alphabetical and numerical notation.
If you make changes to these permissions, we’d recommend using our File Permissions Checker to ensure that access isn’t compromised.
- File Info/Folder Info – Shows information about a file or folder such as the name, path, size, permissions and modified date
- Get Disk Usage –You can right click either on a folder or empty space to get this option. Once selected, a disk usage report will open under the File Manager. This will take a moment to populate. Once complete, you can select the folder icon to see a report:
The report includes information on the largest files and folders with charts to show where the most space is being used:
Once closed, disk usage reports can be brought up again, using the menu in the bottom left, but will not persist after leaving the File Manager page.
Last of all there is a Malware scanner option on the bottom right. This is linked to our Malware Scanner. If any scan shows the package being infected, it will also show here.
Once selected, it will show a list of infected files and you’ll have the option to go directly to the folder where the files are located. The files will also show with an icon beside the name to show that these have been flagged as infected.
The My20i File Manager is a powerful and convenient way to manage your website files. It helps you manage your website files, and offers a powerful way to as well as being able to see more information about the content of your website.
Why is my website not able to send email?
A common reason for this relates to the address not matching your site domain.
To help improve email deliverability and help prevent spam being sent from our network, the 'Sender' address for your message must match the domain name of the website used to send the message.
If this header is set to a domain not assigned to your hosting package, the message will not be sent.
Websites will also be unable to send mail if there is malware found on the site. If malware is found it will need to be removed and another malware scan run before the website will be able to send mail again. More information on malware scanning can be found here.
If you have any further issues please contact our Support Team.
How can I create a subdomain?
To create a subdomain:
- Log in to My20i
- Head to Manage Hosting -> Manage.
- Select the Subdomains icon.
You can then add your subdomain into the Subdomain field and select Create Subdomain. You're also able to change the Document Root so that you can direct the subdomain to the folder of your choosing.
What is the document root?
The document root is the folder which the subdirectory will use, for example, you may have a directory within your web space located within public_html called support (i.e. public_html/support), you could point your subdomain to this location by adding public_html/support in the Document Root field.
How do I specify a custom index page?
By default, the following are seen as default index pages on our Linux Web Hosting platform:
- index.php
- index.html
- index.htm
- index.cgi
- index.rb
- index.py
Should you wish to specify a different/specific filename as your index page, you can do this with DirectoryIndex.
Add the following in the .htaccess file, within the directory you are serving/intend to serve site content from:
DirectoryIndex file.php
file.php should be replaced with the name of the file you wish to make default.
How to use the Schema Generator
Our Schema Generator creates the full markup code in JSON-LD for you.
Unlike other schema generators that are available, ours lets you include markup for the entities that your content is about. This will help you build a content hierarchy by defining a parent page for your content.
We will walk you step by step through the use of the schema markup generator and how to add entities and site hierarchy to your schema code.
While the code might appear a bit complicated, that’s why we’ve come up with this generator. It will make it quick and easy for you to get complex structured data for your webpages.
As an example, here we use the schema markup for an FAQ page but everything we explain is easily transferable to the other applications.
Choose what schema you want to generate
This is pretty self-explanatory and the same as with any other schema generator you might have used before. Just chose the kind of schema markup you want to create and click on it.
Define the hierarchy with schema for the parent page
One of the unique features of our generator is that we enable you to implement a clear hierarchy to your content by defining a parent page for each content page you mark up.
To learn more about why you should add a hierarchy structure to your website via schema markup, we recommend the article: Schema markup for your website hierarchy
First you have to put in the name of the webpage you want to define as the parent page and then the URL of this page in the second field.
Here the parent page is defined in the first code snippet and the defined page is already integrated in the main snippet of the schema code with "isPartOf": {"@id": "https://www.example.com#webpage"} to indicate that the main content is part of the defined parent page.
Basic input fields for FAQ schema
Input the base data for the FAQ page you want to mark up (use equivalent data if you apply this to any other page than a FAQ page).
All fields should be self-explanatory. Please make sure you use the correct language code. You can find a list of BCP 47 language codes under the input field if need some help to find the right language code.
Input your FAQ Question and Answers
This should need no long explanation as it is the same as with every other schema generator for FAQs. Just input the questions and answers for your FAQs. If you are marking up a HowTo page, then you input the steps the user should follow in your how to guide - simple as that.
20i Schema Generator for entities
This is the second unique feature this Schema Generator offers you. You can use structured data to mark up the entities your content is regarding. The schema property "about" lets you clarify which the main entity of your content is and what high authority website (in a lot of cases this will be Wikipedia) validates the entity.
It is strongly recommended to use only the main focus entity for this markup.
With "mentions" you can go a bit wilder. As it says if you mention something in your content that has some relevance and is a recognised entity – put it in your structured data.
For more information about how this kind of entity is useful for your website, please read the article: FAQ schema markup – and the trick you didn’t know
Copy the generated schema code and validate it
The structured data will be generated on-the-fly as you input the variables. You can make changes at any time, and they will be transferred to the generated code.
Once you have all the information put in the fields you can use the green ‘copy’ button you find on top and at the end of the structured data field, to copy the whole code to your clipboard.
We recommend to always validate the code with either the Rich Results Test tool by Google or the validator tool by Schema.org.
Paste the code into you content page and validate again to make sure that everything is fine.
Where to put the schema code on you page?
There is always the question where to put the schema code? In the header, the footer or the html body?
Actually it doesn’t really matter. A lot of CMSs will provide a plugin or add-on to place schema code on your pages. But you can just paste the generated JSON-LD in the source code of your page. Just make sure it does not break up any other code and is easy to find.
I prefer to paste the schema code at the end of the header or the start of the html body.
The difference to other schema generators
There are other tools to generate structured data for you, true.
But this is the first that will let you define a hierarchical structure for your website and mark up the entities you focus on with schema code.
Both are essential when you want to improve you semantic SEO. With this tool you can clearly define the topic and building clusters that lead to the main pages you want the focus to be on.
Go to the Schema Generator.
Is ionCube PHP Loader installed?
The ionCube Loader is a PHP extension often used by setups such as WHMCS - it decodes PHP scripts that have been encoded by the ionCube PHP Encoder. Without this, the scripts cannot be read and so the sites that use them cannot run, so it’s important to know what areas of our hosting have this included.
The availability of ionCube can differ between our different platforms and PHP versions.
Linux Web Hosting: ionCube Loader is available on our Linux platform for all currently supported PHP versions (but see note below).
WordPress Hosting: ionCube Loader is available on our WordPress platform for all available PHP versions that support it.
Note: ionCube Loader’s development skipped PHP 8.0 as outlined in their blog post here. As such, it is not available on this version, but is available on PHP 8.1 instead.
Windows Hosting: ionCube is not available on our Windows platform. If you are running PHP software and don't need any of the Windows specific-languages like ASP.NET we recommend using our Linux platform.
Managed Hosting: ionCube Loader is available on all supported PHP versions similar to our Linux hosting.
You can use the Platform Transfer feature inside My20i to automatically move between all of our hosting platforms.
What hosting do I need?
It can be difficult to choose what type of web hosting you need.
There are lots of options, and it can be overwhelming to try to compare lots of different hosting packages. That's why created this Hosting Advice page for you. If you need further help to decide what hosting is best for you – our support team is just a click away.
Hosting advice: find the right web hosting for you
This guide will walk you through the different types of hosting package we offer across Shared Web Hosting, Managed Cloud Hosting, Reseller Hosting and VPS. Depending on your needs, there are different solutions.
What web hosting packages are available?
Reseller Hosting
This is how to make money from web hosting. You might want to start an independent web hosting business. Or perhaps you’d like to add a hosting strand to an existing venture like web design or IT support. If you need to host an unlimited number of sites, 20i’s Reseller Hosting is the best reseller package available.
You can sell the web hosting without having to mention 20i. You can customise your customers’ control panel and all URLs and messaging to match your brand. Or if you’d prefer, you can use our white-label ‘Stack’ brand name.
You can offer your customers a choice of packages, or tailor each package to every customer. With over 30 different features to add or remove from packages, you can offer lots of options and upgrade opportunities.
You can host any number of sites on our Linux or WordPress platforms.
It includes an automated Migration Centre that makes moving your sites to 20i a breeze. You can manage all your ecommerce, provisioning, support and communications with HostShop. As a 20i Reseller, you get access to helpful free resources and discounts on domains and VPS.
20i specialise in Reseller Hosting: our founders created the first reseller package. So you can feel confident in moving your hosting business to us.
Managed Cloud Hosting
Apply all the advantages of cloud hosting. Super-fast, multi-platform cloud hosting that lets you manage all your websites and apps easier than ever before.
Host your projects in the 20i Cloud, AWS or Google Cloud with tons of extras, full server optimisation and easy management.
If you ever have set up hosting on AWS Cloud Hosting or GCP servers you know this is a lot of work. With our managed cloud hosting all this trouble is yesterday’s news.
You can set up your project in just a few clicks, on 20iCloud, AWS or GCP. You don’t have to worry about server management, security configuration updates and monitoring: all this is done by us.
On top of this you get a lot of extras for free. Unlimited email accounts, SSL certificates, 24/7 expert support and managed backups are just a few of the features you get at no extra cost.
For e-commerce site running on Magento there are extra managed Magento optimised hosting plans available.
Managed WordPress Hosting:
Experience the full power of our optimised WordPress platform on Managed Cloud Hosting.
This is perfect for WordPress power blogger, agencies and e-commerce sites with high traffic. You can choose between hosting unlimited WordPress websites in the 20iCloud, AWS or Google Cloud. No matter your choice, you get all our dedicated WordPress features at no extra cost.
These features include server-side website optimisation, and StackCache for WordPress caching. You can manage multiple WP websites conveniently from a single dashboard in your control panel - no need to log into every site separately. You also get a state-of-the-art WordPress staging solution that will create clones of your pages in a safe sandbox environment with just one click.
These are just a few of the features we offer that sets us apart from others. Have a look at all the features our Managed WordPress hosting offers you.
VPS
Our high performance SSD VPS allows you to run whatever you want. It’s the same as having your own dedicated server in a data centre, without the hassle of visiting that data centre! We maintain all the hardware.
We use the latest 12-core Intel Xeon processors in Dell servers, with blazing-fast DDR4 RAM and Samsung enterprise SSDs. You have the choice of 6 different sizes of VPS, from 1 core to 10 cores, with corresponding tiers of memory and storage. They’re suitable for many different uses: website hosting, file storage, development, gaming – it’s up to you.
When you order a 20i VPS, you’ll first need to choose performance specs. Then, you can choose which operating system, and which applications you’d like to be installed straight away.
You’ll then be shown a final price, including the cost for any commercial software licences, if you’ve chosen any. Then, in less than a minute, your 20i VPS will be up and ready for you to run. You can cancel or upgrade at any time.
Shared Web Hosting:
Perfect for small businesses and private blogs. Single site hosting starting from just £1 without compromising on quality or extra features. There are plans on a Linux platform or our optimised WordPress platform available.
Our shared hosting options offer all you need and more. You get 1,000 x 10 GB Mailboxes, Free SSL certificate, free daily backups, automatic malware scans, no LVE limits and free CDN use, just to name a few of the perks.
Like all our hosting it is green hosting powered by 100% renewable energy. Learn more about our shared hosting plans.
How do I use the 20i Maintenance Mode tool?
When developing a site you may want to put up a maintenance page. You can use the 20i Maintenance Mode tool to do that. The maintenance page can be bypassed using a password, so only selected users can view the progress of the website's development. The tool is accessed directly from your My20i account.
To use the tool:
- Head to Manage Hosting > Options > Manage
- Select Maintenance Mode
Here you'll have two options: Configure (all domains) & Configure. If you want to set up Maintenance Mode for individual domains on the package, select Configure next to the domain in question. Choose Configure (all domains) to put all domains on the package behind a maintenance page.
Note: You can set your default maintenance page and maintenance login page templates via Default Website Pages.
To configure the maintenance page:
- Select Configure and check Enable Maintenance Mode
- You'll need to set a password to allow selected users to authenticate and bypass the maintenance page
- We'll set a default theme for your maintenance page, but you can configure your own by selecting Customise Page Templates
- Once done, select Save
Your selected domains will now be behind a maintenance page and visitors will be prompted for a password to view the site.
Note: If a wrong password is entered, you'll be redirected to the Maintenance Page template. To view the password field again you'll need to re-visit the URL. Once you've logged in, your session will be saved for one hour before automatically ending. At that point you'll need to reauthenticate with the password.
I installed WordPress on the temporary URL, how can I change it to my domain name?
Using the 20i WordPress Tools
If you've utilised 20i's temporary URL and would like to update it to your own live domain, then you can easily use the 20i WordPress tools to update this. To update the temporary to the live URL:
- Head to Manage Hosting -> [select package] -> Settings.
- You'll then see the Site URL and Home fields, currently, they should have URL that looks something like http://example-co-uk.stackstaging.com.
- Simply update both of these fields to your live domain, e.g. http://example.co.uk.
- Select Save Settings.
Note: Ensure you update the hyphens (e.g. ' - ') to periods (e.g. ' . ') when updating the URL in order for the live domain to work correctly.
You should now be able to access your site at your live domain.
Try 20i's WordPress Hosting today. You'll get WordPress staging, a global CDN and unlimited email as well as exclusive WordPress page speed plugins for your website with bullet-proof security.
Are 20i PCI compliant?
Yes, 20i's hosting is fully PCI (Payment Card Industry) compliant and use ISO 27001-approved data centres so will pass PCI compliance checks.
Please see our web hosting security features page for more detail on how we protect our customers.
403 Response on POST Request
As part of our Web Application Firewall we occasionally filter invalid POST requests when we detect malicious traffic towards our network.
This shouldn't cause any problems with software that is using standard HTTP POST requests to reach your website. However, if you've written a custom application you will need to ensure the code making the POST is setting the appropriate Content-Length header in the request.
curl/libcurl will do this by default if you send any HTTP POST data. But if your custom code is simply overriding the HTTP method to POST without setting/sending any data, this header may be missing and result in the block.
You can easily resolve this by setting this header manually, for example:
curl_setopt($ch, CURLOPT_HTTPHEADER, array('Content-Length: ' . strlen($fields)));
However, it may be easier to simply use the built-in POST fields which automatically populate this header as required.
curl_setopt($ch, CURLOPT_POSTFIELDS, $fields);
How do I take my temporary test site / StackStaging site live?
There are two possible variations on how to approach this, dependent on whether the site in development is hosted elsewhere or whether you're creating a WordPress site on 20i:
Developing your site at 20i but it is hosted elsewhere:
You may be using the temporary URL within StackCP whilst you develop your site. To take the site live you'll need to do either of the following:
1. You can either point the domain to our nameservers which are:
ns1.stackdns.com
ns2.stackdns.com
ns3.stackdns.com
ns4.stackdns.com
2. Point the domain to the A Record that is located within StackCP > Manage DNS.
WordPress Sites:
If you are using the temporary URL within StackCP and you have a WordPress site, you may need to do either, or both of the following:
Update the temporary URL within WordPress Admin:
- Log in to the WordPress admin.
- Click on Settings on the left hand side.
- Change the WordPress Address (URL) to your actual domain name.
- Change the Site Address (URL) to your actual domain name.
- Update the database.
- Backup your database and save the copy off-site.
And/or:
- Log in to phpMyAdmin.
- Select the link to your database and choose the one that is your WordPress database.
- All the tables in your database will appear on the screen. You will then see all the tables in your database, locate wp_options and select Browse.
- A screen will open with a list of the fields within the wp_options table. Under the field option_name, locate 'siteurl'.
- Click the Edit Field icon which usually is found at the far left at the beginning of the row.
- The Edit Field window will appear.
- In the input box for option_value, change the URL information to the new site address.
- Verify this is correct and click Go to save the information. You should be returned to your wp_options table.
- Look for the home field in the table and click Edit Field. Note: there are several pages of tables inside wp_options. Look for the > symbol to page through them.
- In the input box for option_value, carefully change the URL information to the new address.
- Verify this is correct and select 'Go' to save the information.
There is further information about this from WordPress.org: Changing the Site URL.
What are your default index pages?
On our Linux platform and Managed Cloud Hosting, the following are currently set as default index pages (in order of priority):
- index.php
- index.html
- index.htm
- index.cgi
- index.rb
- index.py
On our Windows platform for Resellers, the following are configured (in order of priority):
- default.aspx
- Default.asp
- index.php
- index.htm
- Default.htm
- index.asp
- index.html
- iisstart.htm
Due to the managed nature of the platform, WordPress packages are set to only use index.php.
How do I use the free 20i Website Malware Scanner?
One of the major problems with malware is its persistence. This is why 20i’s free Website Malware Scanner makes daily scans of all the sites within your hosting account. It uses a combination of commercial and in-house tools to provide reports detailing malicious content and its location within your site files.
When malware is located on a site, PHP mail is automatically disabled. We do this to preserve sender reputation across the platform and ensure that any sites that are compromised do not send large volumes of spam emails.
We run daily malware scans on all sites on our system – we will only scan files that the system has detected changes on. If no change has been detected, we won't run a new malware scan on these files.
As a Reseller, you can offer this service to your customers free of charge by simply adding it to your Package Types, so they can use this feature in StackCP.
1. Best practices when dealing with malware and infected files
- Check the Malware Report produced by the malware scanner to identify if there are any infected files
- Clean and remove the infected files from your webspace
- Identify any vulnerabilities within the site and secure them
Taking regular backups means that you'll always have a restore point if you do find your site has compromised files. You can do this in My20i or automate the process with Timeline Backups.
Checking the Malware Report
The Malware Scanner shows you a full list of sites that are currently infected within your account. If you’re a 20i Reseller, you can access this list by:
- Logging in to My20i
- Selecting Malware Report
- If any of your sites are currently infected, they will be listed here
The scanner shows details on the package where the infection has been found, the time of the last scan and the number of infected files. To show a more detailed report, select View Report. You will now see the full list of infected files on the site.
You can also access the Malware Scanner on a per-package basis:
- Log into My20i and head to your Manage Hosting area
- Select Options > Manage on the hosting package you wish to scan
- Under Security, select Malware Scan
From here, you can initiate a fresh scan for the site, view the scan history for the package and view a list of any flagged files that have been detected as potentially harmful.
Should the scan return clean without any issues, you’ll see the following:
If the scanner finds any potentially harmful files or signs of a malware infection, however, you’ll instead see the following:
Should any infected files be found on the package, we’ll also add a warning to the package itself to notify you of this.
Any files that are detected as malware will also show in the File Manager so that you can easily access and review the flagged files.
We also have a yellow ‘warning’ state which shows that the signatures found are unlikely to pose a high risk to the site. For example log files, SQL files and .zip backups files. Essentially, a yellow warning state is for information only and won’t impact the sending of mail.
You can ensure that you're notified of any newly-discovered malware by checking the Receive Daily Email Alerts? box. An email will be sent to your primary 20i email address when new malware is found. You can also add additional email accounts to receive malware alerts through your Account Preferences. You may wish to create a dedicated mailbox to receive malware alerts.
Cleaning and removing infected files
In most cases, the best way to resolve an issue with malicious content is to remove the compromised files and replace them with versions from a known clean download. That is, download the software again and replace just the files that have been infected from the initial install.
If the files are not needed, then you could also just delete the files completely.
Sometimes an infected file will just have the attackers script 'injected' in the first or last line of a specific file. Sometimes this can be very obvious, in which case you could look to simply remove the malicious script.
You should do this for all the files that have been found by the Malware Scanner.
Further actions you can take
Remove unnecessary or unused plugins and applications from the site. Doing this will not only reduce the number of potential vulnerabilities but also make general site 'housekeeping' simpler.
You should also make sure that any plugins you're using are always kept fully updated. Outdated software versions are much more likely to have security vulnerabilities - leading to compromised sites.
It may also be worthwhile to change passwords such as your database password and FTP password.
Rescanning the site
You can re-scan the site on demand. Once you believe you’ve removed the malware, head back to the Malware Scanner and select Scan again.
If all infected files are removed, then PHP mail will be re-enabled automatically and there will be no infected files displayed. The scanner will continue to take daily scans of all your websites to ensure you’re always aware of any sites that have been compromised.
Can you update the version of cURL on your webservers?
Occasionally, applications in your webspace may run checks to help ensure your website is secure. As part of these checks, the application reads the version number of various pieces of software on our servers. Sometimes, these version numbers are old and hence raise warnings. One of the most common examples for cURL is "You currently have version 7.19.7 of cURL installed. This version is known to have security issues. Please update to the latest cURL".
We understand how that could worry you! However, an update is not required and your site is still secure.
Our Linux Web Hosting/WordPress platforms run Redhat Enterprise Operating Systems, and Redhat use a process known as 'backporting' into slightly older, stable versions of software to ensure security and stability throughout the entire operating system. Put simply, while the version number may appear to be out of date, you can be assured any security fixes have been retrospectively applied to guarantee they remain secure.
To find out more about backporting, please see this article on Backporting Security Fixes on Redhat's website.
How do I create a website builder package type?
To give your customers access to 20i's Website Builder you can select the Web Builder Platform when creating a hosting package.
Like with other packages, you’ll first need to go to the Manage Hosting section of your account and select Add Hosting in the top right.
You'll need to enter the domain you wish to use for the Web Builder site. Then select the Web Builder package type.
Once you've created the package you should be able to find it in your list of packages on Manage Hosting. From there, you need to select Options > Manage and this will take you to the package.
Once on the package you can select Install.
You’ll then be asked for a sub-directory to install the web builder in to. This can be left blank to install to the root of the domain name, https://example.com/, or can be filled in so the web builder is installed to a sub-directory such as https://example.com/shop or https://example.com/blog etc.
Once you’ve done that, you'll be presented with a drop down menu. If you have more than one web builder install on the package, they will all be listed and accessible here.
If you want to install the web builder to a different sub-directory, you can do so by clicking on the green plus icon. The red cross can be used to remove web builder from a sub-directory it's currently installed-to.
Once you've selected an install from the drop down menu, you'll be presented with a number of themes to choose from. If none are selected a default theme will be used. The theme can be changed at any point.
To use a theme simply click on the desired theme and then select Set your theme! at the bottom of the window.
Once you’re happy with your theme selection you can click Open Web Builder to be taken to the web builder itself.
Once you’re in the web builder, you'll be asked first for an email address and the name of your new website.
The email address is important. This is the email address used to gain access to the site's admin area should you or an end user of yours be unable to access it through our own control panel.
Next you will be asked for contact information for the site. This information will be used to generate a Contact Us page for the site and to create a GDPR-compliant Privacy Policy for the site.
At this point you’re done with the set up. If you haven’t used our web builder before, we'd recommend you now follow the 2-minute-long welcome guide which will take you through the basic usage and customisation of your new site with the web builder.
How to modify your hosts file for Windows, macOS and Linux.
Your machine's local hosts file allows you to override DNS for a particular domain or subdomain name.
This is a great way to test the site ahead of changing real DNS: you're able to test the website at 20i while the rest of the internet continues to use DNS to point to the existing website.
The way to modify this file and the location of it differs by the operating system.
To modify your hosts file, you can add two entries to the file that contains the IP address that you want the site to resolve to. Adding the following two lines, for example, would point www.domain.com and domain.com to the IP 1.2.3.4:
1.2.3.4 domain.com www.domain.com
Modify hosts file on Windows:
- Press Start and Search for Notepad
- In the search results, right-click Notepad and select Run as administrator. (this bit's important!)
- Use File -> Open and navigate to the following file:
c:\Windows\System32\Drivers\etc\hosts
- Make the changes (see below)
For Mac OS 10.0 to 10.6:
- Open Applications > Utilities > Terminal
- Type sudo nano /etc/hosts
- Enter the administrator password
- Make the changes (below)
To save changes in nano, press Control+x and then y when prompted.
Modify hosts file for Mac OS X 10.6 through 12:
- Open Applications > Utilities > Terminal
- Type sudo nano /private/etc/hosts
- Enter the administrator password
- Make the changes (below)
- Type dscacheutil -flushcache in to Terminal and press enter.
To save changes in nano, press Control-x and then "y" when prompted.
How to modify hosts file for Linux:
- Use your favourite editor to open
/etc/hosts
(i.e sudo vim /etc/hosts) - Make the changes (below)
Making The Change
The hosts file takes arguments of the format:
XX.XX.XX.XX domain.com www.domain.com
The IP address for the website is displayed down the right-hand side of the hosting package overview page in My20i. To get to this page, head to Manage Hosting, find the hosting package and select Options > Manage. Once on the overview page, the IP address can be found under the Account Information heading. They'll usually start with '185.151.3x.xxx':
185.151.3x.xxx domain.com www.domain.com
After you add this line and save the file, your system begins resolving to the specified IP address.
If you also have subdomains that you'd like to resolve to your 20i hosting package, you can add them like this:
185.151.3x.xxx domain.com www.domain.com sub.domain.com
After testing is finished please remove these entries so you start using "real DNS" once again.
It's important to ensure that when making this change you have entries for both your domain and all relevant subparts. For example, if you just add an entry for "domain.tld", then "www.domain.tld" will point the original server. The same goes for any subdomains
What do I do if I believe a site is in breach of 20i's policies?
20i impose a strict Acceptable Use Policy and Terms of Service which customers must adhere-to. These cover illegal activities, prohibit certain content hosted through us and includes a zero-tolerance spam policy.
A 20i customer breaking these terms and conditions could have our services withdrawn from them, and potentially be reported to the authorities for illegal activity.
If you suspect any 20i customer of abusing our rules, you should report to them to us.
We recommend to email us at abuse@20i.com in the first instance.
Can I enable HSTS?
The HTTP Strict-Transport-Security response header (often abbreviated as HSTS) lets a website tell browsers that it should only be accessed using HTTPS, instead of using HTTP.
You can enable this by adding the following to your .htaccess file:
Header set Strict-Transport-Security "max-age=5184000; includeSubDomains; preload"
The 'max-age' is the time in days you want the warning to be cached for, the above would set that to a default of 60 days.
Be aware that if you set this header, the site will only ever load over HTTPS.
For instance, while people can usually click through a browser warning about a name mismatch or expired certificate, browsers do not allow such a click through for hostnames with an active HSTS header. It also means that if they ever move the site to a web hosting provider that doesn't support HSTS or if they wish to remove the certificate, they cannot do so and their site will be unavailable.
Can I add SPF records for my domain name?
Sender Policy Framework (SPF) records help reduce the chance of your domain being spoofed in spam messages. It can also increase the deliverability of e-mail to external providers such as Gmail and Outlook.
We maintain an SPF record that is kept up to date with all IP addresses used to transmit email from our network. This ensures that any email sent from our services passes an SPF check. To use this on your domain, you need to add a TXT record in DNS.
How to add SPF records automatically
By default, all newly provisioned hosting packages will have an SPF record for Stackmail added automatically. If you don't want this to happen, then you can opt-out by following the steps below:
- Go to Account Preferences in My20i.
- Select Do not automatically add Stackmail's SPF record to my DNS zones and click Save.
How to add SPF records manually
Firstly, access the DNS Management interface for your domain name. If the domain is registered with us, you can access this from the Manage Domains area of the control panel.
If the domain is not with us but is assigned to a hosting package, you can reach this interface via the Manage Hosting -> Select Package -> Manage DNS section.
Towards the bottom of the Manage DNS page, you will see 3 inputs to allow you to add new records. To add it:
- Leave the Name field blank
- Select TXT for Type
- Enter v=spf1 include:spf.stackmail.com a mx -all as data
Then save the changes. Your domain is now protected by an SPF record.
You can use the same record for all domains that use our mail services, however it should be noted that the above record will tell external providers all of your e-mail should originate from our network. If this isn't the case the record should be updated accordingly.
How do I show custom error pages?
Having a custom error page can have many advantages.
If you wish to customise or brand the default error pages that are shown on your sites it is quick and easy when you web hosting is with us.
Head to Manage Hosting and the package you wish to add the custom error for.
Under ‘Web Tools’ Select the Custom Errors icon.
From here you can configure what action occurs when a particular status code is encountered on the site.
How to set a custom error page
It is really simple to set a custom error page. Select the status (error) code you wish to configure action for, then select the type of action that you want to happen and the final value of the action which will either be a redirect to a page you created for this purpose, external URL or plain text.
For WordPress hosted websites, that means no extra plugin is needed to show a custom error page.
Why set a custom error page?
There are multiple reasons why having a custom error page is beneficial for your website.
- Improved user experience: Customised error pages can provide a better user experience by providing your website visitors with helpful and informative messages instead of generic and unhelpful error messages. A custom error page can include instructions on how to resolve the issue, direct to other helpful pages on the website or provide your contact information.
- Branding and personalization: Individualised error pages can be designed to match the website's branding and style, providing a consistent look and feel. This can help reinforce the website's brand and create a personalized experience for users.
- Reduced bounce rates: A well-designed error page can encourage users to stay on the website and continue browsing, rather than leaving the website due to a frustrating error message. This can help reduce bounce rates and increase user engagement.
- If you are a hosting reseller or a digital agency you can provide this as a service for your customers. They don’t have to worry about error pages when you provide a customised solution for them.
- Error tracking and analysis: Custom error pages can be used to track and analyse errors on the website. This can help website owners identify and resolve recurring errors, improving the overall reliability and performance of the website.
What error code can a custom page be set up for:
You can quick an easy set a custom error page for all 4xx and 5xx error codes.
In detail the error codes are:
4xx Client Error |
5xx Server Error |
400 Bad Request |
500 Internal Server Error |
401 Unauthorized |
501 Not Implemented |
402 Payment Required |
502 Bad Gateway |
403 Forbidden |
503 Service Unavailable |
404 Not Found |
504 Gateway Timeout |
405 Method Not Allowed |
505 HTTP Version Not Supported |
406 Not Acceptable |
506 Variant Also Negotiates |
407 Proxy Authentication Required |
507 Insufficient Storage |
408 Request Timeout |
508 Loop Detected |
409 Conflict |
510 Not Extended |
410 Gone |
511 Network Authentication Required |
411 Length Required |
|
412 Precondition Failed |
|
413 Payload Too Large |
|
414 URI Too Long |
|
415 Unsupported Media Type |
|
416 Range Not Satisfiable |
|
417 Expectation Failed |
|
418 I'm a teapot |
|
421 Misdirected Request |
|
422 Unprocessable Entity |
|
423 Locked |
|
424 Failed Dependency |
|
425 Too Early |
|
426 Upgrade Required |
|
428 Precondition Required |
|
431 Request Header Fields Too Large |
|
451 Unavailable For Legal Reasons |
|
As an example how a custom error page can look, here is the one we use at 20i
How do I fix a 4XX error?
4XX errors cover a range of HTML errors that usually occur when a file that is attempting to be accessed cannot be found, has incorrect permissions or is inaccessible by the person loading it.
The causes can range from a simple typo in the URL to security rules restricting users from entering certain areas. Identifying the specific type of 4XX error can help you to understand the cause, who is impacted, and how to fix the error.
Types of 4XX Error
4XX errors have four main types that are commonly encountered, each with their own sub-header that explains what the specific problem is – these can be as follows:
Below, we’ll break down each error and some of the most common causes so you can get your site or page back online and working again as quickly as possible.
400 Bad Request
400 Bad Request errors are usually caused by the request that has been sent to the server either being corrupt or in a format that the server cannot recognise. This can be down to either the data that the browser is sending to the site, or something on the site corrupting the data.
If you’re experiencing this error, you’ll first want to try clearing your browser’s cookies and cache, as the browser may be trying to use an invalid or expired cookie to navigate and log into the site. This then results in the server responding that it does not understand the request. The cookie that your browser has cached may also be corrupt, which could lead to the same result.
If the issue persists after clearing your cache and cookies, it may be something on the website itself. It’s worth disabling any non-critical site plugins or extensions to rule these out, and note any recent changes made prior to the 400 errors cropping up. If the changes were substantial, it may be worth restoring to a backup of the site prior to these changes to see if this reverts the error.
401 Unauthorized
401 Unauthorized occurs when you try to access an area of a site that is being protected by either password encryption or a security rule. Usually, you’ll experience this error if you either try to access an area without providing the necessary login information, or our server’s security blocks the request.
Most commonly, this is due to a site being protected by password requirements set within a .htaccess and .htpasswd file combination. These state that a folder of a site is protected by a specific username and password combination, and any requests made to the site that lack these details will be denied. If you’re experiencing this error, check your site’s .htaccess files to ensure that there’s no set security rules or password protection that could be blocking the request.
Alternatively, the requests could be hitting our StackProtect bot protection. This tool actively filters your site against potentially harmful or suspicious requests, providing a 401 for any request that fails the checks it runs.
However, sometimes these connections can be filtered incorrectly, which is known as a false positive. In cases where your site request is being filtered by StackProtect, you’ll see a message prior to the 401 error stating that the connection is being checked. If this is the case, you should reach out to our Support Team, who can look to get the connection checked and see if we can prevent this being filtered on a case-by-case basis.
403 Forbidden
A 403 Forbidden error indicates that user trying to access the site does not have the necessary permissions to do so. This can be due to security policies set by the site itself, either through plugins or rules in a .htaccess file, or it can be because the permissions of the site files aren’t set correctly.
If you’re experiencing a 403 error consistently when visiting a website, check the site to make sure that there aren’t any security plugins or addons that could be blocking access to your browser or IP. Also ensure that your site’s .htaccess file doesn’t have any rules that deny access to specific IPs or types of file. If you do, you’ll need to disable or remove these to get the site to be accessible again.
If there aren’t any problems with security rules, then the 403 is most likely being caused by incorrectly set file permissions. File permissions define who can and cannot access certain files, and what services can be used to access them. We have an inbuilt File Permissions Checker that can be used to scan and fix incorrectly-set permissions.
The File Permission Checker is available for all hosting packages via the My20i control panel.
To access this tool:
- Log into My20i and head to your Manage Hosting area
- Select Options > Manage on the hosting package you’d wish to edit
- Head to the Web Files section and select File Permissions Checker
Select Scan File Permissions
Once the scan finishes, check the boxes of any files that are detected to have the wrong permissions, and select Fix Selected to resolve the error.
404 Not Found
A 404 Not Found error is caused by the requested page, file or site not being locatable by the server. Usually this is due to the file or page simply not existing on the server itself, or it’s under a different name than the given query. This can often be down to a typo in the URL, which results in the incorrect page or file to be searched for. If you’re experiencing this on your site, it’s worth double-checking to make sure you haven’t made any mistakes when trying to access the page in question.
If it’s not the case, it’s worth checking to see if the requested file does exist on your site. Check your site files: if the file simply isn’t there, you’ll need to upload a copy of the missing file in order to allow it to be accessible once more. Certain Content Management Systems (CMS) such as WordPress use permalinks instead of files per page. These are URLs generated by the site that display a post or page live, rather than storing it locally as a standalone file or folder. If a page within a WordPress site is throwing a 404 but your main site page isn’t, there may be a problem with the generated permalinks, and you’ll need to regenerate them to fix the error.
To do so:
- Sign into wp-admin on your site and head to Settings > Permalinks.
- In the main permalinks area, make sure that the correct value for the URLs is set, and then hit Save Changes. This will force WordPress to fully regenerate the permalink structure and should bring the pages back online once more.
As you can see, 4XX errors come in a wide variety of types and forms, and fixing them can depend on the specific error. If you’re encountering these types of error on your site, it’s worth noting down the specific error code and how you’re accessing the site to get the error. Doing so can help you narrow down and isolate the cause, so you can get your site back online as swiftly as possible.
How do I set up a cron job?
Cron jobs (also referred to as scheduled tasks), are an important tool for hosting websites looking to incorporate automation into their setups.
When used correctly, websites can automatically check for updates, send out emails, take backups and much more, so it’s worth knowing how to incorporate these through 20i’s hosting.
What is a Cron Job?
A cron job refers to a Linux command that is scheduled to run at a specific time – this command may run a file with a script in it, or utilise a command-line interface (CLI) such as WordPress’s WP CLI to run a specific function once or multiple times per day without user input.
Some setups, such as WHMCS for Reseller Hosting, have their own cron files that run key functions at specific points during the day, such as emailing out reminders to customers and checking domain renewal dates are in sync.
Most cron jobs consist of two key parts – the command, and the interval the command runs at.
How can I set up a cron job in My20i?
You can set up a cron job or 'scheduled task' in the Scheduled Tasks section of your hosting packages control panel.
Manage Hosting -> Manage -> Scheduled Tasks
These are commands or jobs that are set to run regularly. They can be set to run at intervals of minutes, or the same time every hour, day or month.
On the Scheduled Tasks page there are three things to consider:
1. What command you are wanting to run?
This is usually something like a WGET to a certain domain name or a PHP script. If you want to run a particular file such as WordPress's cron you'll need to use the correct version of PHP for the website. To select a particular version of PHP to run the command you use the commands to the right of the screen.
2. How often you need your cron to run?
This is selected from the drop-down boxes under where you enter the command. You can either use the first box to run it every 5, 10, 15 minutes or you can be more specific and select particular minutes in the hour, hours in the day or days in the month for the cron to run.
3. Would you would like to have emails sent to a specified address when a cron is run?
An email will only be sent if the cron produces an output so if the cron doesn't output anything no email will be sent.
Is your hosting environmentally-friendly?
Yes, we're committed to reducing our carbon footprint, both in our data centres and workplace.
We achieve this through efficient power systems, renewable energy, a modern hosting platform and green company policies. You can find full details at Green Hosting, and you check whether your website is hosted using green energy at the Green Web Foundation.
Our commitment to sustainable hosting.
All our data centres are powered with 100% renewable energy. Our data centres use the best technology for fast hosting performance and energy efficiency.
Our proprietary autoscaling technology, not only gives you the power of a true ‘elastic cloud’ to react to the demand of processing power, bandwidth and memory your website needs at any given time, it also scales down when the demand is lover and therefore reduces the energy consumption.
Not just green hosting – but a green company
Our efforts to be a sustainable business are not only applied to our hosting. Our office runs on solar power. We run a paperless office, recycle waste and even our cleaning products are chosen for their environmentally friendliness.
How do I use traceroute (tracert)?
Traceroute, or tracet, is a tool used for diagnosing network-related issues. It does this by displaying the route to the destination specified - a domain name or an IP address - and records how long it takes packets to reach that destination. Occasionally your Web Hosting Provider may ask you to perform a traceroute.
How to use traceroute?
Here's how to run tracet on the 3 most common OS:
Windows
- Click 'Start'
- Type in Run and then click on the icon that appears (a box should open)
- Type cmd and then press OK to open command prompt.
- In the window that appears, type in: tracert yourdomain.com (or the IP address depending on the issue) and then press 'Enter'.
macOS
- Browse to Applications -> Utilities -> Terminal
- Then type traceroute followed by a space and then a website or IP address you need to diagnose, i.e. traceroute yourdomain.com then press 'Enter'.
Linux
- Open a Terminal window
- Type: traceroute yourdomain.com (or replace 'yourdomain.com' with an IP address if requested to do so)
How do I use the free 20i Website Malware Scanner?
Overview
One of the major problems with malware is its persistence. This is why 20i’s free Website Malware Scanner makes daily scans of all the sites within your hosting account. It uses a combination of commercial and in-house tools and provides reports detailing identified malicious content and its location within your site files.
When malware is located on a site, PHP mail is automatically disabled. We do this to preserve sender reputation across the platform and ensure that any sites that are compromised do not send large volumes of spam emails.
A malware scan will only be triggered if a change is detected to the site files. If no change has been detected we won't run a new malware scan.
As a reseller, you can offer this service to your customers free of charge by simply adding it to your Package Types, so they can use this feature in StackCP.
Note: when we refer to “signatures” in this guide, this is referring to the names given to each item of malicious code detected in a file.
Best practices when dealing with malware and infected files
- Check the Malware Report produced by the malware scanner to identify if there are any infected files
- Clean and remove the infected files from your webspace
- Identify any vulnerabilities within the site and secure them
Taking regular backups means that you'll always have a restore point if you do find your site with compromised files. You can do this in My20i or automate the process with Timeline Backups.
Checking the Malware Report
The Malware Scanner shows you a full list of sites that are currently infected within your account. To access this list:
- Login to My20i.
- Select Malware Report.
- If any of your sites are currently infected they will show up here.
It shows the package where the infection has been found, the time of the last scan and the number of infected files. To show a more detailed report, select View Report. You will now see the full list of infected files on the site.
Note: Infections found marked in red indicate that the file could be a risk to the site.
We also have a yellow ‘warning’ state which shows that the signatures found are unlikely to pose a high risk to the site. For example log files, SQL files and .zip backups files. Essentially a yellow warning state is for ‘information only and won’t impact the sending of mail.
You can ensure that you're notified of any newly-discovered malware by checking the Receive Daily Email Alerts? box. An email will be sent to your primary 20i email address when brand new malware is found - you can also add additional email accounts to receive malware alerts through your Account Preferences, you may wish to create a dedicated mailbox to receive malware alerts.
Cleaning and removing infected files
In most cases, the best way to resolve an issue with malicious content is to remove the compromised files and replace them with versions from a known clean download. That is, download the software again and replace just the files that have been infected from the initial install.
If the files are not needed, then you could also just delete the files completely.
Sometimes an infected file will just have the attackers script 'injected' in the first or last line within a specific file. Sometimes this can be very obvious, in which case you could look to simply remove the malicious script.
You’ll want to do this for all the files that have been found by the Malware Scanner.
Further actions you can take
Remove unnecessary or unused plugins and applications from the site. Doing this will not only reduce the number of potential vulnerabilities but also make general site 'housekeeping' simpler.
You should also make sure that any plugins you're using are always kept fully updated. Outdated software versions are much more likely to have security vulnerabilities - leading to compromised sites.
Change passwords such as your database password and FTP password.
Note: Don’t forget to update any configuration files such as wp-config.php after making the changes.
Rescanning the site
You can re-scan the site on demand. Once you believe you’ve removed the malware, head back to the Malware Scanner and select ‘Scan Again’.
If all infected files are removed, then PHP mail will automatically be re-enabled and there will be no infected files displayed. The scanner will continue to take daily scans of all your sites to ensure you’re always aware of any sites that have been compromised.
Improve your WordPress website's TTFB
Time To First Byte (TTFB) is the time it takes for your browser to receive the first byte of page content from the server. Reducing TTFB plays an important role in ensuring your site is performant and responsive for its users.
You may have seen the Google PageSpeed Insights TTFB audit. This audit can be passed by ensuring TTFB is under 600 ms. Ideally, you'll be wanting to aim for TTFB to be under 200 ms to give your users the best experience possible.
Whilst TTFB isn't the only factor to consider when optimising a site, if content begins to load for your website's users quickly, they'll have an improved first experience.
Quick links
How to measure TTFB in Chrome
Firstly, you'll want to make sure you can measure TTFB accurately and reliably. It may be that TTFB is already low, in which case there are optimisations you can do elsewhere.
To measure TTFB you can make use of Chrome's Network tab. We'd recommend this as your first port of call when determining what your site's TTFB is.
- Open up the website you want to test.
- Right-click and select Inspect, or press F12 to open up Chrome's console.
- Select the Network tab.
- Perform a hard refresh.
- Windows - Ctrl + R
- Mac - ⌘ Cmd + R
- Select the first line, which will be your URL.
- From there, select the Timings tab. You'll then see the TTFB displayed in milliseconds.
If this time is greater than 600 MS you'll want to look at options to improve this further.
Measuring TTFB Using Speed Tests
You can also test your website's TTFB using online tools such as:
What happens when WordPress sites load?
WordPress is driven by PHP at its core.
When you make a request to load a WordPress site a series of PHP files are interpreted and compiled. This makes up the '227 files long' loading sequence before any content is actually displayed to your browser.
WordPress first loads the index.php file in the root folder of your installation, it then compiles the remaining 226 files until it reaches the template-loader.php file before completing.
Whilst this process usually happens in just a few milliseconds, each additional PHP file added increases the amount of time it takes for the server to complete the sequence of files. This is why adding plugins and other resources can ultimately lead to reduced performance and a longer TTFB.
However, there are ways to ensure your website stays fast. At 20i we have a WordPress platform that is specifically optimised to run WordPress quickly which includes in-house caching, dedicated WordPress MySQL instances, Web Optimisations and, of course, the 20i CDN.
Below we'll cover the best ways to use these tools, as well as some further advice from our resident WordPress experts about how you can get the best performance out of your websites.
Try 20i's WordPress Hosting today. You'll get WordPress staging, a global CDN and unlimited email as well as exclusive WordPress page speed plugins for your website with bullet-proof security. Are you a reseller, agency or web designer? The optimised WordPress platform and all its features come included with 20i's Reseller hosting. Learn more about Reseller hosting here.
How to improve TTFB?
There are various methods you can use to improve TTFB. Of course, it all starts with a fast WordPress host and at 20i we've got that covered for you with fast SSD hardware, exclusive autoscaling technology and load balancing to back that all up. We offer some further tools you can use to further improve your site's performance.
1. Web Optimisations
20i’s CDN powers-up your websites further by feeding them through our Website Acceleration Suite.
The module improves website load times by automatically implementing web performance best practices to a website. This includes optimising images, JavaScript minification and combining CSS – all to improve website load times and the Google PageSpeed Score. This in turn positively impacts SEO and helps you develop high-performing websites at scale.
To access Web Optimisation, head to Manage Hosting > Manage > Web Optimisation
For a full list of the optimisations head to the Web Optimisation section within the package to be optimised. You’ll be able to select the One-Click Optimisation option to add the recommended settings.
Each optimisation is referred to as a filter. They're designed to directly complement the recommendations that Google PageSpeed Insights provides. This means that you don't need to manually carry out the recommended optimisations. It's done for you, helping your websites get the highest PageSpeed score possible.
Optimisations are done at the server level. This means you don't need multiple plugins to optimise your sites. Reducing the number of plugins itself will improve the performance of PHP and result in faster load times.
2. CDN Caching
To give your websites a global presence our CDN extends across the world to reduce latency for globally distributed visitors and serves cached static and dynamic content closer to those users, improving performance further.
We currently use a number of very well connected data centres in America, Europe, Asia and Oceania. These exclusive POPs are usually used by transit providers and hence provide the very best latency using the smallest number of POPs. We essentially pay the premium to place hardware directly in 'carrier hotels' and neutral data centres that all traffic from a region will traverse through.
You'll want to ensure your site has Edge Caching enabled. Learn more about Edge Cache here.
Making sure your site is actually hitting the cache too is important to ensure it's getting the full benefit of the CDN. Learn more about why you might get a cache MISS here.
3. StackCache
At 20i we've developed our own custom caching plugin - StackCache. It controls our edge caching to truly 'turbo-charge' your website. The nature of this platform means that there are a few restrictions compared to our standard hosting platforms. For example, as this platform is built on PHP 7 OPcache, all plugins and scripts must be compatible with this version of PHP.
The CDN and StackCache can complement each other. The CDN will handle static cache of static file types, whilst StackCache can handle dynamic cache.
For websites on the WordPress Platform (i.e. with StackCache), dynamic content is cached with the default expiry times set.
Image Cache | 1 day |
CSS Cache | 1 day |
JavaScript Cache | 30 days |
You can edit these values from the Edge Caching section or directly from within StackCache in the WordPress admin area. In addition, you can cache any other dynamic content using public Cache-Control and Expires headers via a .htaccess file - however, this is recommended only for advanced users only.
How do I check 20i server status?
You or your customers can check the status of the 20i platform on the Stack Status page: https://www.stackstatus.com/.
Stack Status is a 'white label' page that doesn't include any links to 20i. If we're carrying-out maintenance, this is where you can receive progress updates.
In the unlikely event we experience any issues, this is where status messages will be published.
How do I set a custom directory index?
By default, our web servers will look for the index.html file in order to know what to display when any given directory is accessed, such as public_html.
You can change which index file is looked-for if you don’t wish to use – or can’t use – the default index.html file. Rules are added within the root .htaccess file to make this work.
To make this easier you can use the 20i tool to set the default directory index:
- Head to Manage Hosting and select the package you wish to update the default directory index for.
- Select the Directory Indexing icon.
- Various common index files are pre-filled. You may wish to add your own or simply select Enable Directory Indexing – we’ll then generate the .htaccess rule and add it to the correct location in your site files to set the desired behaviour.
What is StackProtect?
You or your customers may have come across this message when visiting your website hosted with us:
"To help us keep this website secure, please wait while we verify you're not a robot! It will only take a few seconds..."
But what does the message actually mean? Well, this message likely means that your HTTP request has been challenged by our bot protection, StackProtect.
In this article, you’ll learn about what StackProtect is – and how it keeps your website safe.
What is StackProtect?
StackProtect is our bespoke security system designed to keep your or, if you are a hosting reseller, your customers, websites secure against malicious attacks and suspicious activity.
This is done by presenting suspicious requests with a simple CAPTCHA to verify the user is genuine and not a bot. Once a visitor has passed the CAPTCHA check, their IP address is automatically whitelisted for 48 hours by all sites across the 20i platform.
So the IP won’t hit StackProtect again during this time. It checks for potential ‘evil’ bot requests – and if they are detected, then it uses Google’s latest reCAPTCHA to block those requests.
When is StackProtect raised on a request?
Password focused attacks
Perhaps the most common way to compromise a website is to guess the login password to the website’s content management system, e.g., /wp-admin for a WordPress website. Usually, malware will use trial and error approach to try to crack your website's password, known as brute force attacks.
It may also start by rotating through different variations of the most commonly-used passwords, known as a dictionary attack.
Suspicious networks
StackProtect also monitors for requests from IP addresses that we’ve classified as ‘suspicious’. These are normally IP addresses that we’ve identified in the past as being used in fraudulent or suspicious activity.
For example, this might be an IP address that we’ve seen perform DDoS or brute force attacks in the past.
DDoS attacks
A distributed denial-of-service (DDoS) attack is a malicious attempt to disturb the routine traffic of a server or network by overpowering the server or its infrastructure with a flood of layer 7 HTTP traffic from an array of different networks/clients.
These networks involve computers and other devices (for example IOT devices) which have been malware-infected, permitting them to be controlled by the hacker. These devices are referred to as bots and a cluster of bots is referred to as a botnet.
Note: To learn more about our other security features visit Secure Hosting.
What should I do when StackProtect is triggered?
Most of the time, the CAPTCHA warning should disappear within a second or two once StackProtect has verified you aren’t a bot and you’ll be able to view the site.
However, if you continue to be prompted with the CAPTCHA verification and believe the challenge should not be triggered for a particular user, then it’s possible that either the site is still under a HTTP flood – or your request is being flagged as suspicious.
In these cases, we’d recommend reaching out to our technical support team so that they can provide you with more information as to why your specific request is being challenged.
Why do I see a 401 error when making a remote connection to my site?
You may find that you see a 401 error when attempting to make connections to your site from third-party applications. For example, this could include services such as ‘SEO audit’ website crawlers.
When this happens, it’s normally the case that StackProtect has identified that the request may be malicious and is blocking it. This normally happens when a number of requests have been made into our network from a bot using the same IP address.
Many of the most common SEO crawlers and similar services are already whitelisted across StackProtect – but if you do see a 401 response on your request then please reach out to our support team. They’ll be able to confirm whether or not the 401 error is down to StackProtect, and potentially whitelist the IP address or UserAgent that you’re seeing the issue with – or they can point you in the right direction if it’s not!
Is ImageMagick supported?
ImageMagick - the open-source image tool - is supported. We currently run Version 7.1.1. The path to the ImageMagick binary is:
/usr/bin/convert
Alternatively, some scripts may require just the directory path, in which case please enter:
/usr/bin
If you have any questions or issues, please get in touch with Support through your My20i account.
Imagick PHP Extension
The Imagick PHP Extension is available for all customers using PHP version 7 and above.
Web Builder Pro licence
After installing the web builder to a hosting package you may see a ‘Upgrade to PRO’ option when editing the website using the website builder.
You may also see a ‘License is not active yet’ message when visiting the website if you have set up a web builder package specifically.
This is expected when first installing the web builder. When a hosting package is created it’s allocated to our standard platform which doesn't have the correct licence installed. After you have installed web builder, it will automatically upgrade the hosting to move to a Kopage Pro Server which removes the upgrade message and gives you full access to the Pro licence.
Please be aware that the upgrade process can take up to 30 minutes to complete.
How do I restore mailbox backups with Timeline Backups Pro?
You can restore lost mailbox data using the Timeline Backups Pro tool – which can be ordered through your My20i account. With Timeline Backups Pro you will receive 30 days of snapshots of all the email accounts on your account.
- Firstly, you’ll need to head to the Timeline Backups tool. In My20i, if you're a Reseller, this can be found under Hosting Management. If you're not a Reseller, it willl be under Manage Hosting > Web Files
- Now find the hosting package that the email account is assigned-to from the list. Once you've found the relevant package, you will then need to select Manage.
- You'll see a list of different webspace, database and mailbox snapshots. From this list, find the name of the mailbox that you’d like to restore a snapshot for and select View Snapshots.
- Select the snapshot time/date that you'd like to restore to the mailbox.
Note: At this stage, you'll have the option to select Restore to temporary mailbox. This will create a new mailbox and restore the snapshot to the new mailbox instead of the original mailbox. This feature may be useful if you do not want to overwrite the contents of the original mailbox.
- Select Restore Snapshot
How do I view the most recent backups taken by Timeline Backups?
Timeline Backups take an automatic daily backup of all your websites and databases and store them for 30 days.
If you have the Timeline Backups product you may want to view the most recent backups of your site.
To do this:
- Log in to My20i.com
- Head to Timeline Backups.
- Select Manage next to the package you'd like to view backups for.
- Select View Snapshots next to either the webspace snapshots or database snapshots that you're looking for.
After selecting View Snapshots you'll see the Snapshot Time drop-down, which will have all the snapshots from the previous 30 days.
How do I use the 20i File Permissions Checker?
The 20i File Permissions Checker allows you to easily view and fix file permission issues which don't match our recommended settings.
To use the File Permissions Checker:
- Login to My20i, head to Manage Hosting and select Manage on the hosting package you wish to check file permissions for.
- Select the File Permissions Checker icon.
- To begin a scan of the file permissions, select Scan Permissions.
- If any permissions are found to differ from our recommended settings, they will be presented to you in a list with the current permission level and our recommend level.
- You can either select all files and select Fix Selected or fix files individually by selecting Fix Permission.
Does your Windows hosting support .NET Core?
Windows hosting doesn't support the .NET Core framework. However, if you would like to run a .NET Core application you can use one of our Managed Hosting - on a virtual private server - which come with one-click installs for .NET Core.
My www.domain.com doesn't work, but domain.com works fine (or vice-versa) - what's up?
If you get this behaviour after a recent update to your website or a newly-created package, you're almost certainly experiencing a DNS propagation delay.
It will resolve itself in a matter of hours.
The assumption is that when you previously visited your website you visited using www.domain.com and not domain.com (without the www). Thus, your DNS resolvers have the lookup of www.domain.com stored in their cache. When you try to view www.domain.com again, you get your DNS resolvers' cached value which is the old IP address. However, when you checked the domain with just "domain.com" (no www) your DNS resolvers didn't have an answer in their cache so fetched the new (correct) IP address for the domain. Hence "domain.com" works for you but "www.domain.com" doesn't.
The only solution here is to wait for the cache to expire on your resolver, and then when you visit the domain again a fresh lookup with be made and the new IP will be stored.
If you're using the StackDNS nameservers, this should take no longer than 1 hour. If you've recently changed your nameservers, or would like to read more about DNS propagation, please see What is DNS Propagation?
Which PHP functions are disabled on your WordPress platform?
Our WordPress platform has been specifically designed to offer the best security, performance and reliability for WordPress.
As a result, we have specifically tuned firewall rules and layers of protection to help keep WordPress sites secure. As part of this protection, a small number of PHP functions have been disabled, as we've found that they're often used for malicious purposes.
The following functions are disabled for security reasons:
- exec
- opcache_get_configuration
- opcache_get_status
- passthru
- parse_ini_file
- popen
- proc_open
- shell_exec
- show_source
- system
In our experience, it's highly unlikely any of your plugins rely on any of the functions above. However, if you have a genuine use case for any of these functions, you can still host your WordPress site on our Linux platform.
If you're a 20i Reseller you can move packages between all 3 of our platforms easily. So for example, if you've setup a WordPress site on Linux and now wish to migrate to the WordPress platform, head to the Platform Transfer area in My20i to get started.
Can I block visitors by country?
You can block access to your websites by country or IP address.
- Head to My20i > Manage Hosting > Options/Manage > Block Visitors
- You can choose to allow all countries (with exceptions), or block all countries (with exceptions). You can also block specific IP addresses/CIDRs.
What will blocked countries / IP addresses see?
When blocked, a 403 Forbidden warning will be displayed.
Hosting shortcuts: favourite and recent hosting packages
In this guide we’ll learn how about the recent packages list and how to ‘favourite’ packages. By using these features, you can save navigating to hosting package’s Service Overview page. Shortcuts from the My20i homepage are created.
You’ll find both lists on the My20i home page on the right-hand side. Once you have managed a few packages from the Manage Hosting page or favourited any, you’ll be able to see something like this:
Clicking on any of the domains will take you to the Service Overview page for that package.
To ‘favourite’ any packages, you’ll first need to manage the hosting package from the Manage Hosting page. Once on the Service Overview page you’ll see a star icon the top above the search bar:
Once you click the star icon it will turn blue. When you go back to the My20i homepage you’ll see it under the Favourite Packages list.
Utilising these features makes managing packages quicker and easier since you can do it in just one click. This will save time when you manage multiple hosting packages as a reseller or an agency.
Is mod_rewrite enabled?
Yes! As standard, mod_rewrite is available and installed on our WordPress Hosting and Linux Web Hosting servers.
Apache-style rewrite rules are also usable on our Windows platform too.
How do I use Git version control in My20i?
My20i includes a graphical user interface to manage Git™ version control.
You can clone, manage and deploy Git repositories directly. You're able to manage multiple repositories in one package, allowing you to keep track of version changes and deploy your sites as and when you’d like - at the click of a button.
To access this tool:
- Log into My20i and head to your Manage Hosting area.
- Select Options > Manage on the hosting package you’d wish to edit.
- Under the Web Files area you should see the option for GitTM Version Control – select this option.
- You’ll be prompted for a name and email – set these to be the name and email you’d like to show when deploying using Git, and select Enable.
You'll then see your current repository list, and see options to set up your first repository.
Cloning a Git repository
Cloning a repository via the tool requires you to first create a remote repository using GitHub, following the steps highlighted in their documentation.
Once done, head to the repository and copy the URL by selecting Code, then copying the URL provided without the SSH protocol included.
Note: For private repositories, you'll need to set up a public/private key pair and use the SSH URL provided instead.
Once you have the URL above, paste it into the Clone URL area, then set the file path of where you want your repository to set up. Lastly, set up a Repository Name - this is purely a display name for the UI itself.
Then, hit Create. Once done, your repo should show in the list like this:
You can then use the three dots to manage the repository, check the history, go to the files directly via File Manager, copy the URL or remove the repository from the list.
Managing a repository
Managing a repository allows you to check and update information about the repo itself. You can do so via the Basic Information tab:
You can also pull or deploy changes to the repo using the Pull or Deploy tab. Select Deploy HEAD Commit to deploy the changes you've made to your repository directly.
You can use the History tab to see what changes have been deployed in the history of the Git setup.
Creating a local repository
If you don't want to deploy to a remote repository, and instead simply use a local one in your package’s file space, you can set this up via the UI too. To do so, select Create New Repository and then hit the Local Repository tab.
You can then fill out the fields to choose the folder you'd like the repository to be in, the name, as well as selecting the Deployment Type and Deployment Branch.
The type defines whether or not you want automatically to deploy changes, or if you want to only deploy your changes when manually selecting the Deploy button.
The branch is what Git branch you want to deploy these changes to. You can have multiple branches of development to work from if you want to make tweaks to the code without affecting your repository's main codebase.
More information on branches is available here: Using Git Branches.
How do I use hosting Package Labels?
Package labels can help organise your hosting packages. You can add any kind of label - it's just a text string that you decide. For example, if you wanted to categorise packages that are in development, you might apply a 'Development' tag to them.
Then, on the Manage Hosting page, you can filter by label to find them easily.
To add a hosting Package Label:
- Login to your My20i control panel.
- Head to Manage Hosting -> [select package].
- Down the right hand side, you’ll find the Package Labels section.
- To add a Label, type in the Label field (e.g. Testing) and select Add.
Now when you head back to the Manage Hosting page, you’ll see the drop-down menu allowing you to filter packages by Label (you may need to refresh the page if you've used the 'back' button).
Also, by clicking on a Label you can select all packages with that Label applied.
Here are some examples of Labels you may use:
- Testing
- New Website
- In Development
- Ready for Launch
- Awaiting Client Approval
- Subject to Change
- On Hold
- High Priority
- Low Priority
- Rework
- Personal
- Requires Review
Can I run daemons on the shared hosting platform?
It's important to note that daemons such as Elastic Search and Redis cannot be run on our shared hosting environment due to it's shared nature, as well as certain technical limitations related to load balancing and autoscaling.
Why Daemons Cannot Run on Shared Hosting
- A key selling point of our shared hosting platform is its load balancing and autoscaling features, which ensure high availability and optimal performance for all hosted websites.
- These features are achieved by distributing incoming requests across multiple web servers and dynamically adjusting resources based on demand.
- Running daemons such as Redis, Elasticsearch, or Node.js would require continuous running processes on a single server, which conflicts with the distributed nature of our hosting environment.
Alternative Solutions
For customers who require the functionality provided by these daemons, we offer Managed Cloud Servers as a separate product with dedicated resources.
Key Features of Cloud Servers:
- Dedicated Resources: Cloud Servers provide dedicated resources, ensuring optimal performance and stability for applications.
- My20i Control Panel: While customers do not have root access on Cloud Servers, our hosting control panel (My20i) allows for services such as Redis, Elasticsearch, and Node.js to be enabled and disabled conveniently.
- Optimized Cloud Servers: We also offer optimized Cloud Servers tailored for specific applications such as WooCommerce and Magento. These servers come pre-configured for optimal performance and include support for daemons like Redis and Elasticsearch.
While daemons cannot be run on our shared hosting platform, customers can leverage our Cloud Server offerings to meet their requirements for running applications such as Redis, Elasticsearch, and Node.js.
If you have any questions or require assistance in choosing the appropriate hosting option, please feel free to reach out to our support team.
What is Website Turbo?
Website Turbo is a powerful new form of web hosting available with 20i Reseller Hosting. Website Turbo boosts the performance of your website packages, providing them with extra resources for an even faster user experience.
Note: Website Turbo is exclusive to our Reseller Hosting platform.
What are the benefits of Website Turbo?
CDN Pre-Caching
Website Turbo allows for your websites to be pre-fetched by all of our CDN locations around the globe, for faster response times from anywhere in the world.
In My20i, you'll receive access to a new Cache Report that will display what pages are and are not cacheable on your sites.
If a page is found to be unable to be cached, you’ll be informed of the reasons why, providing a very easy way of identify and resolve caching issues across your website to give it the absolute maximum performance.
Pre-caching ensures a much higher cache hit rate for all users regardless of location and thus a faster experience for your visitors.
High Frequency Compute
Our load balancers will begin balancing your websites through to our new high-frequency compute nodes.
These nodes guarantee the website(s) access to faster processors, operating at a minimum of 3 GHz base frequency.
Right now our turbo nodes operate at a 3.30 GHz Base Frequency and 4.20 GHz Turbo Frequency, and provide around 25% faster benchmarks.
Bigger MySQL Storage
In addition to this, Website Turbo comes with an increased 5GB quota on our MySQL servers for all databases on any package with the add-on, allowing for more flexibility with your site’s data storage.
What is the price of Website Turbo?
The price for Website Turbo is £4.99 per site – but each additional site will reduce the overall cost.
The more sites you have on Website Turbo, the better the price per site.
1-9 Packages | £4.99 per Package |
10-49 Packages | £4.49 per Package |
50-99 Packages | £3.99 per Package |
100+ Package | £3.49 per Package |
How do I add a package to Website Turbo?
In order to put sites on Website Turbo, as a Reseller, you buy 'credits' for your websites. This can be done from the Website Turbo page within My20i.
These credits can be applied to your packages to activate Website Turbo - to action this:
- Navigate to Manage Hosting.
2. Click Options on the package you want to assign a Turbo Credit to, and select Assign Website Turbo Credit from the dropdown menu.
Credits don't have to be used right away - this allows for you to resell credits that you've purchased and easily move allowances between packages without having to cancel/re-order.
How do I renew Website Turbo?
The renewal date for this add-on will be universally be set to occur on the 1st of each month to make keeping track of the renewals of all credits easier.
On this date, all credits due for renewal will be consolidated and summed, with any applicable discounts applied as per the pricing stated above.
New credits purchased during the month will be adjusted on a pro-rated basis to cover the remainder of the current month plus the entire following month, thereby aligning their next renewal date with the 1st of the subsequent month.
Create and restore manual backups using the Backup/Restore Tool
The Backup/Restore tool allows you to create a backup of your hosting package as a .ZIP file. It also allows you to restore an old backup that has been generated with the Backup/Restore tool into your package.
Please note: If you have our Timeline Backups subscription, backups are all handled automatically. We automatically take 30 days of web snapshots and 30 days of database snapshots. The steps below can be used if you would prefer to take manual backups or if you need to keep a local backup on your device. If you do not currently have timeline backups, you can purchase it here.
Taking a Local Backup
- Go to Manage Hosting and select Options and Manage on the package you want to create a backup for.
- Go to Backup/Restore under the Web Tools section.
- Check the boxes for the parts you want to have a backup of, though it is advised that you select both Files and Databases to have a complete backup of the package.
- Select Create Backup
- Once the backup is complete, Download the backup to your local device
Restoring a Backup:
- Go to Manage Hosting and select Options and Manage on the package you want to restore the data to.
- Go to Backup/Restore under the Web Tools section.
- Select Restore type depending on if you want to replace the existing files, only add missing files or restore the file to a temporary directory.
- Check the Restore Databases box if you want to restore databases
- Select a ZIP file that was downloaded from this control panel that you wish to restore
Note: Only zip files that have been generated using the Backup/Restore tool can be restored via this tool. It's not possible to upload zip files that have been created manually or exported from third-party control panels.
Cloning to a different package
While there are other tools more suited to cloning, Backup and Restore can be used for this purpose.
- Download a backup from the package you want to clone using the steps above.
- Go to the new package by going to Manage Hosting, then Options and Manage for the new package
- Select the Backup/Restore tool
- Restore the backup, replacing all the files with those from the cloned package.
What is the difference between Linux Hosting and WordPress Hosting?
There are numerous different choices of Hosting Package Types, however, when creating a WordPress website specifically, which is better for performance and features: Linux Hosting or WordPress Hosting?
Linux
The Linux platform supports a wide variety of different setups. Linux packages support numerous different programming languages, including Perl, Ruby & Python. In addition to the expansive language support, Linux packages support numerous different CMS setups, including, but not limited to: WordPress, Joomla and Drupal.
One-Click Installs are also exclusive to our Linux platform, where a selection of 70 different software packages is available to install. Since 20i began, over half a million one-click installs have been used. The most popular, is of course: WordPress.
More information about this can be found in one of our other blog posts (https://www.20i.com/blog/our-most-popular-free-website-apps/). This is useful for multiple site setups, which we’ll get onto shortly.
Our Linux platform also has few restrictions, which is why we support a lot of the things previously listed. However, the lack of restrictions also allows customers to host multiple sites on a singular package, unlike its WordPress counterpart. Meaning you cn
WordPress
The WordPress platform is an optimised version of the Linux platform, tailored just to WordPress sites. The key standouts are the additional features that are packed into the package type.
These features are located under the WordPress Tools sub-section. These features utilise WP-CLI to interact with the website without being logged into the WordPress dashboard. This means modifications can be made to the site via StackCP.
Our customers also rave about the optimisation of the WordPress platform. Most commonly, the speed and the streamlined integration of additional features. This is partly thanks to our Stack Cache being integrated, by default, into the package type.
Due to the fierce optimisations and feature set available, some restrictions come part of the package:
- The WordPress installation must reside within /public_html and public_html must be located within the root of the hosting package.
- The WordPress install (including all plugins and themes) must be compatible with at least PHP 7.3.
- One database per hosting package.
- Any subdomains or additional domains must be pointing to the same WordPress install and hence configured as a WordPress Network (Multisite).
To conclude, if you have a singular WordPress website, that is up to date and doesn’t require multiple databases then we strongly recommend our WordPress platform. However, if the WordPress website is on the older side, without recent updates and/or has some sub-sites, we recommend the Linux platform.