Knowledge base

1000 FAQs, 500 tutorials and instructional videos. Here, there are only solutions!

Search

This guide explains how to modify an existing Web Hosting offer to, for example, host additional websites if the maximum site quota is reached, or to obtain a more recent hosting solution to benefit from the latest versions of PHP & MySQL.

 

Modify the web hosting offer to…

 

… order additional sites, disk space, or IPs

To access the web hosting configurator:

  1. Click here to access your hosting management on the Infomaniak Manager (need help?).
  2. Click on the action menu â‹® located to the right of the hosting concerned.
  3. Click on Modify the offer:
  4. Increase the values you wish to modify.
  5. Click on the Next button to proceed to the payment of the modifications made to the hosting:

 

… switch to a more recent server

To obtain a hosting solution on a more recent server and thus benefit from, among other things, the latest versions of PHP & MySQL, you can either…

  • … refer to this other guide by following the procedure indicated to the end:
  • … refer to this other guide by following the procedure indicated up to point 4 then click on the button to update:

If no information banner is displayed, it means you already benefit from a recent hosting offer.


Has this FAQ been helpful?

This guide details the integration of the ASP / ASP.NET environment within the Infomaniak ecosystem.

 

Compatibility & Infrastructure

Web Hosting and Managed Cloud Server solutions are optimized for Linux/Apache environments. Therefore, the Apache::ASP module is not natively supported on these shared offers.

 

Alternatives & Cloud solutions

To deploy your ASP applications smoothly, several options are available to you:

  • VPS Cloud: install and configure your own ASP/IIS stack or use Mono/Core on a distribution of your choice.
  • Jelastic Cloud (PaaS) : deploy your ASP.NET Core applications via Docker containers in a few clicks with automatic horizontal scaling.
  • Public Cloud: for high-availability infrastructures using OpenStack, ideal for microservices architectures.

Has this FAQ been helpful?

This guide allows you to “unlock” any Windows parameter blocked by the message “Some settings are hidden or managed by your organization” (such as changing the desktop background, for example) and to lift these restrictions that are in place by default on the VPS Cloud / VPS Lite offer.

 

Reset local group policy settings

To reset all local group policy settings to their default values:

  1. Open Command Prompt as an administrator.
  2. Enter the following commands:

    RD /S /Q "%windir%\System32\GroupPolicyUsers"
    RD /S /Q "%windir%\System32\GroupPolicy"
    gpupdate /force
  3. Restart the machine.

Has this FAQ been helpful?

This guide explains how to work without the PECL SSH2 client module, which is not available on Infomaniak Web Hosting and Cloud Servers, by using the phpseclib library instead, which works in native PHP without requiring a specific extension.

 

Introduction

  • Using the PECL SSH2 client results in errors such as No compatible key exchange algorithms found or Unable to exchange encryption keys in its latest available version.
  • Phpseclib provides:
    • SSH authentication via password or private key.
    • Remote command execution.
    • Secure file transfer (SFTP).
    • SSH key management.

 

Using phpseclib

To integrate an SSH connection into a PHP script, use phpseclib as follows:

use phpseclib3\Net\SSH2;
use phpseclib3\Crypt\PublicKeyLoader;

$ssh = new SSH2('domain.xyz');
$key = PublicKeyLoader::load(file_get_contents('/path/to/private_key'));

if (!$ssh->login('user', $key)) {
    exit('Authentication Failed');
}

echo $ssh->exec('ls -la');

Has this FAQ been helpful?

This guide details the features available for managing relational databases on Infomaniak hosting plans.

 

Using Views, Triggers, Stored Procedures, and Routines

Regarding the management of relational databases, the functionality of views is available by default, allowing users to create views to simplify data management and presentation.

However, some advanced features that enable finer and more complex data manipulation, such as…

  • “triggers”
  • stored procedures
  • routines
  • and the creation of functions

… are only available on Cloud Servers.

They are not allowed on shared servers.

This restriction is mainly due to the potential risks to the stability of the infrastructure. Incorrect configuration or excessive use of these features could create infinite loops or significant overloads, affecting not only the performance of the server in question but also the experience of all customers hosted on the same infrastructure.

 

Troubleshooting MySQL/MariaDB dump import issues

When exporting and then re-importing a MySQL or MariaDB database via the Infomaniak hosting interface, the operation may fail due to errors related to the DEFINER of triggers or views. This occurs when the database objects were created with a specific user (called the definer) who no longer exists at the time of import.

Specifically, the export and import process uses a temporary user, which is used only during these operations. After this user is deleted, the views or triggers defined with this account as the DEFINER become invalid, causing errors such as:

General error: 1449 The user specified as a definer ('xxxx_temp_1'@'%') does not exist

 

To avoid this issue, you can correct the backup file (dump.sql or dump.sql.gz) before importing it by replacing the definer definitions with CURRENT_USER. This will automatically associate the triggers and views with the current user at the time of import.

Here is an example of a command to modify the dump before importing it:

sed -E 's/DEFINER=`[^`][^`]*`@`[^`][^`][^`]*`/DEFINER=CURRENT_USER/g' dump.sql > dump-corrected.sql

 

Once this replacement is done, the corrected file can be imported normally via the Infomaniak Manager. This behavior is known and related to the way temporary users function during the dump/restore process. No changes to the export/import process are planned in the short term, but the issue is still being evaluated on the infrastructure side.

For more information on the CURRENT_USER variable, please refer to the official documentation of:


Has this FAQ been helpful?

This guide explains how to start a content analysis of a Web Hosting to detect and clean files containing viruses and other malicious scripts that could threaten the security of websites.

 

Preamble

  • You receive an email when the operation is complete (the antivirus scan may take some time; the Manager can be closed).
  • Infomaniak ensures the protection of hostings by analyzing exclusively the folders of the sites (webroot); outside of this, no synchronous scan is performed on the rest of the hosting.
  • Also consider the vulnerability detection tool to monitor potential vulnerabilities automatically corrected on your websites.

 

Start an antivirus analysis of the sites

To analyze potentially infected content:

  1. Click here to access the management of your hosting on the Infomaniak Manager (need help?).
  2. Click directly on the name assigned to the hosting concerned.
  3. Click on Security in the left sidebar.
  4. Click on Antivirus in the left sidebar.
  5. Click on the blue button Analyze:
  6. Select the site(s) to analyze.
  7. Click on the blue button Start analysis:
  8. Follow the procedure until the file analysis starts.

Has this FAQ been helpful?

This guide explains how to quickly install applications, PHP extensions, and technologies (non-exhaustive list below) in a few clicks on Managed Cloud Server only.

 

Refer to this other guide if you are looking for information about additional Web Applications that can be installed on any type of hosting, including standard/shared offers.

 

Install (or uninstall) apps / PHP extensions…

To find the list of technologies and proceed with their installation:

  1. Click here to access the management of your Managed Cloud Server on the Infomaniak Manager (need help?).
  2. Click directly on the name assigned to the Managed Cloud Server concerned:
  3. Click in the left sidebar:
    1. PHP Extensions
    2. Fast Installer
  4. Click on the action menu â‹® to the right of the extension you want to uninstall in the table that appears.
  5. Click on Uninstall.
  6. Otherwise, click on the blue button Install an extension / Install an application:
  7. Then make your choice for a new installation:

 

Non-exhaustive list of available apps & extensions


Has this FAQ been helpful?

This guide explains how to connect to an external database from a Cloud Server.

 

Preamble

  • It is possible to connect to MySQL (external or not) via SSL - to be specified when establishing the connection.
  • The MySQL port 3306 is closed by default - to open it, refer to this other guide.
  • Infomaniak does not install PDO_DBLIB.

 

Install PHP_PDO_ODBC

Prerequisites

It is possible to install the PHP_PDO_ODBC extension from the PHP Extensions menu of your Cloud Server:

  1. Click here to access the management of your product on the Infomaniak Manager (need help?).
  2. Click directly on the name assigned to the product concerned.
  3. Click on PHP Extensions in the left sidebar.
  4. Click on the blue button Install an extension.
  5. Choose the PHP_PDO_ODBC extension.
  6. Confirm the installation.

 

Configure the connector

The driver configuration is already defined in /etc/odbcinst.ini:

[FreeTDS]
Description = MS SQL database access with Free TDS Driver
Driver = /usr/lib/x86_64-linux-gnu/odbc/libtdsodbc.so
Setup = /usr/lib/x86_64-linux-gnu/odbc/libtdsS.so

There is no need to redefine it statically in the .odbc.ini or in the user's home ~~/.odbc.ini~~ or also dynamically in the PHP code.

Example with the FreeTDS driver defined in advance, the version of the driver must also be specified at the end of the pdo object declaration:

$con = new PDO('odbc:Driver=FreeTDS;Server=__SERVER IP__;Port=3306;DATABASE=__DATABASE NAME__;UID=__USERNAME__;PWD=__PASSWORD__;TDS_Version=8.0');

Has this FAQ been helpful?

This guide explains how to change the password of an FTP or FTP/SSH account for an Infomaniak Web Hosting site.

 

Change the password of an existing FTP user

To access the site on Web Hosting to modify its FTP access:

  1. Click here to access the management of your hosting on the Infomaniak Manager (need help?).
  2. Click directly on the name assigned to the hosting concerned:
  3. Click on FTP/SSH in the left sidebar menu.
  4. Click on the action menu â‹® to the right of an existing account.
  5. Click on Modify:
  6. Enter the new password that will be used for your FTP or SSH access directly.
  7. If necessary, you can generate a strong password.
  8. Confirm the changes:

Has this FAQ been helpful?

This guide explains how to use GnuPG / PGP with PHP on an Infomaniak Cloud Server, following the obsolescence of the native extension (pure PHP alternatives or modern wrappers are preferred).

 

Preamble

  • The system extension PHP_GnuPG is no longer maintained by the PHP community and is therefore no longer available on recent environments.
  • Two main alternatives in Pure PHP (installable via Composer) allow you to continue signing or encrypting your data securely.

 

Option 1: Crypt_GPG (Recommended)

This library acts as a wrapper: it communicates directly with the gpg binary installed on your Cloud Server. It is the most performant and stable solution.

To install it, connect via SSH and run this command at the root of your project:

# Install the PEAR Crypt_GPG package via Composer
composer require pear/crypt_gpg

Example of usage to encrypt a message (object-oriented approach):

<?php
require_once 'vendor/autoload.php';

try {
    // Initialize the GPG object
    $gpg = new Crypt_GPG();

    // Set the recipient email (must match a public key already imported on the server)
    $gpg->addEncryptKey('contact@example.com');

    $message = "This is a secret message.";
    
    // Encrypt the data
    $enveloppe = $gpg->encrypt($message);
    
    echo $enveloppe;
} catch (Exception $e) {
    // Handle potential encryption errors
    echo "Error: " . $e->getMessage();
}

 

Option 2: OpenPGP.php (Independent)

This library is entirely written in PHP. Its main advantage is that it does not depend on the server's gpg binary, ensuring total portability of your code across different environments.

# Install the OpenPGP.php library
composer require singpolyma/openpgp-php

Example of basic structure:

<?php
require_once 'vendor/autoload.php';

// Use the library classes to handle OpenPGP packets 
// directly in PHP without system calls to the GPG binary.
// Example: $msg = OpenPGP_Message::parse(OpenPGP::unarmor($data));

Has this FAQ been helpful?

This guide details the management of access and security for your databases (MySQL, MariaDB, and MongoDB) on a Managed Cloud Server.

 

Preamble

  • The firewall is accessible in your Manager even if no Apache site is configured (useful for Node.js-only projects, for example).
  • Regarding access to MySQL databases from another Infomaniak Web Hosting, refer to this other guide.
  • Regarding MongoDB:
    • To ensure the security of your data, the system blocks registration if you attempt to disable local_only mode without enabling authentication.
    • Infomaniak's automatic backups do not include MongoDB databases.

 

Allow outgoing access (Infomaniak → external)

From an Infomaniak Web Hosting or Cloud Server, requests to external databases are allowed by default without port restrictions.

 

Allow incoming access (external → Infomaniak)

To access your databases from the outside, you must have a Cloud Server and open the corresponding ports in the firewall of your server:

  • MySQL / MariaDB: port 3306 (TCP)
  • MongoDB: port 27017 (TCP)

 

Configure remote access for MongoDB

By default, MongoDB only accepts local connections.

Before making your instance public (remote access), you must create a user within your database.

To allow remote access via Fast Installer, you must adjust the configuration while adhering to strict security rules.

  1. Click here to access the management of your Cloud Server on the Infomaniak Manager (need help?).
  2. Click directly on the name assigned to the Cloud Server in question.
  3. Click on Fast Installer in the left sidebar.
  4. Click on MongoDB.
  5. Click on the action menu â‹® to the right of the instance and choose Configure.
  6. Disable the local_only option.
  7. Enable the authentification option.
  8. Save the changes:

Has this FAQ been helpful?

This guide details how to save data from your Web hostings (Starter, shared, or Managed Cloud Server) using the application restic via the OpenStack Swift protocol on Swiss Backup, the backup solution in an independent Swiss cloud.

 

Preamble

 

Install Restic

Prerequisites

To do this:

  1. Download the linux_amd64 binary from the restic github repository:

    wget -O restic.bz2 https://github.com/restic/restic/releases/download/v0.14.0/restic_0.14.0_linux_amd64.bz2

    ⚠️ The download link may vary with the release of a new version; version 0.14 uses the default compression.

  2. Unzip the archive and make the binary executable:

    bunzip2 restic.bz2
    chmod +x restic

 

Configure Restic

Creation of an encryption key to encrypt the data

  • The key cannot be changed and in case of loss the data will no longer be readable.
  • Place this key in a file readable by Restic.
  • Example of key generation:

    openssl rand -base64 16 > restickey	

Configuration of restic

To configure the backup:

  1. Create a resticconfig file with the following content to be adapted according to the information specific to your device:

    echo "export OS_AUTH_URL=https://swiss-backupXX.infomaniak.com/identity/v3
    export OS_REGION_NAME=RegionOne
    export OS_PROJECT_NAME=sb_project_SBI-XXXX
    export OS_PASSWORD=''
    export OS_USER_DOMAIN_NAME=default
    export OS_USERNAME=SBI-XXXX
    export OS_PROJECT_DOMAIN_NAME=default
    export RESTIC_REPOSITORY=swift:sb_project_SBI-XXXX:/
    export RESTIC_PASSWORD_FILE=restickey" > resticconf
    • OS_AUTH_URL Cluster access URL for Swiss Backup (1)
    • OS_PROJECT_NAME and OS_USERNAME replace SBI-XXXX with your identifier
    • OS_PASSWORD replace with the password generated during activation
    • RESTIC_REPOSITORY
      1. replace SBI-XXXX with your identifier
      2. replace the bucket name with the name you want to give to your container that stores the backups
    • RESTIC_PASSWORD_FILE replace with the full path to the file containing the encryption key
  2. Load the Restic configuration by running the following command:

    source resticconf	
  3. Initialize the bucket with the following command:

    ./restic -r $RESTIC_REPOSITORY init	

(1) The indication "//swiss-backup02", "//swiss-backup03" etc. changes depending on the cluster number indicated in the Manager under Cloud Storage Information under "Location"; and if your Swiss Backup device was created before October 2020, you will need to use https://swiss-backup.infomaniak.com/identity/v3

 

Backup your files

To back up your files, simply run the following command:

./restic backup
#Example: Backing up the entire hosting account
./restic backup ./
#Example: Backing up the “sites” folder
./restic backup sites/

The first snapshot is long (several hours depending on the amount of data) because all files are copied while the subsequent ones will use the differential principle.

 

Backup databases

Restic can read data from stdin to record the output of a program.

Use the following command to back up an individual MySQL database:

mysqldump --databases db_name -u db_username -p | restic backup --stdin --stdin-filename database_dump.sql	

To back up all databases, run the mysqldump command to extract all databases from the server, then redirect the output to Restic:

mysqldump -u  -p --all-databases | restic backup --stdin --stdin-filename all_databases.sql	

 

List backups

To list your backups, you can use the following command:

./restic snapshots	

 

Restore a backup

You can restore a backup with the following command:

./restic restore  --target 	

 

Automate

On Cloud Server, it is possible to add a cron task to automate the launch of the backup.

On shared hosting, this option is not available.


Has this FAQ been helpful?

This guide explains how to resolve access errors to your Web Hosting following an IP address change (server migration, for example).

 

Introduction

  • To save time, your system maintains a table that maps domain names to IP addresses.
  • If the website changes its "location" (IP address), your computer tries to access the old address.
  • Clearing the cache forces the system to request the new address from the DNS servers.

If your computer retains the old address in its memory,clearing the DNS cache can restore the connection.

 

Clear the DNS cache…

 

… on Windows

Use the command prompt to refresh your network settings:

  1. Open the Start menu.
  2. Type cmd and press Enter.
  3. In the black window that opens, type the following command and press Enter: 
    ipconfig /flushdns

 

… on macOS

On recent versions of macOS, the process is done via the Terminal:

  • Open the Terminal (via Spotlight or Applications > Utilities).
  • Copy and paste the following command:
    sudo dscacheutil -flushcache; sudo killall -HUP mDNSResponder
  • Enter your session password (it will not be displayed while typing) and validate.

 

… on Linux

Most modern distributions use systemd-resolved. Open your terminal and run:

  • sudo resolvectl flush-caches

Note: If you are using an older service, the commandsudo systemctl restart nscd remains valid.


Has this FAQ been helpful?

This guide provides solutions to errors of the type “Malicious site! The website has been reported as a malicious site and has been blocked based on your security preferences” ("STOP! This Website Can Harm Your Computer!" in English).

 

Who put this message?

This error message or warning…

  • ... IS NOT added by Infomaniak.
  • ... is generated by Google based on https://www.stopbadware.org/.
  • ... may no longer appear directly because…
    • ... you are no longer indexed by Google.
    • ... you are using a browser that does not rely on Google's checks.

 

What to do?

If this does not concern the site you are managing, refer to Google's help on the subject.

If the site is yours, refer to the advice below:

  • Check the source code of the published page: there is surely additional code compared to still healthy pages; it may be a malicious iframe or any inclusion…
  • On the page in question, click on the "Why was this site blocked" button and follow the instructions…
  • Refer to the Google documentation on the subject.
  • Monitor the vulnerability detection tool which may resolve the issue in the meantime.

Has this FAQ been helpful?

This guide helps resolve a potential error 530 by reducing the number of simultaneous FTP connections to Web Hosting.

 

Resolve error 530

The number of FTP connections that can be established simultaneously to the FTP space of a hosting is limited to 25.

The error message 530 Sorry, the maximum number of clients (25) for this user are already connected generally appears following multiple and simultaneous connections with an FTP software/client that poorly manages disconnections or attempts to open multiple connections at once thinking it will speed up the download.

Once you have encountered this error, you need to close the FTP program and wait 30 minutes so that the server terminates the active connections and you can reconnect.

You can also create a new FTP user and connect with it.

To avoid this situation with FileZilla, go to the menu Edit -> Settings then under the Transfers tab and set the number of simultaneous transfers to 2.

It is recommended to use the Web FTP on the Manager.


Has this FAQ been helpful?

This guide explains how to manage the files of a Web Hosting with an FTP software/client.

 

Preamble

  • To easily & quickly manage the files of your web hosting without having to install an application or enter FTP credentials, use the Web FTP on the Manager (it allows, among other things, CHOWN and file compression/decompression zip).
  • Regarding the protocols supported by Infomaniak (FTP, SFTP, etc.) depending on your hosting offer (Starter, Node.js, etc.), refer to this other guide.

 

Parameters to provide for FTP software

Prerequisites

Regardless of your FTP software/client, the 3 essential parameters for configuring FTP access are always:

  1. Hostname: FTP server address
  2. Username: FTP account name
  3. Password: that of the FTP account

     

 

Obtain the connection information to the hosting

You will find all the information on your Infomaniak Manager:

  1. Click here to access the management of your hosting on the Infomaniak Manager (need help?).
  2. Click directly on the name assigned to the hosting concerned:
  3. Click on FTP (or FTP / SSH) in the left sidebar

 

1. FTP hostname

The hostname to use in your FTP software/client is specified at the top of the page obtained in point 3 above and an icon allows you to copy the address to the clipboard.

Starter Offer - Basic Web Page


If the specified domain is not functional (does not point to the hosting IP address, for example), then use the IP address as the host name, in the form 123.45.678.123 (refer to this other guide).

 

Paid Web Hosting


Use the host name in the form xyzb.ftp.infomaniak.com, for example.

 

2. FTP Username


The username is the name of the account to be created in your Manager: xyzb_abcdefg, for example.

 

3. FTP User Password

The FTP user password is set by the creator of the FTP account. If you forget it, edit the FTP account by clicking on it and set a new password.

It is not possible to display an already applied password; you must reapply a new password if you no longer have the currently defined password.

 

Once the connection is established…

When you enter the 3 required parameters, your FTP application should display the directory structure of your hosting:


Has this FAQ been helpful?

This guide explains how to restart an Infomaniak VPS Cloud / VPS Lite and what you can do if you no longer have access to the server.

 

Reboot VPS Cloud / VPS Lite

The classic mode allows you to restart your server normally. To access the VPS Cloud / VPS Lite:

  1. Click here to access the management of your product on the Infomaniak Manager (need help?).
  2. Click directly on the name assigned to the product in question.
  3. Click on the Manage button.
  4. Click on Restart (classic mode):
    Screenshot of the restart interface

 

Enable/disable safe mode

If you have lost your SSH key, or made a configuration error, etc.

You have the possibility to restart in rescue mode. This consists of restarting from a base image from which you can mount the partitions of your cloud. In this way, you will be able to modify/repair your configuration.

Warning: depending on the operating system installed, the system volume may be named /dev/sda, /dev/sda1 or /dev/vda; the same for the data volume /dev/sdb, /dev/sdb2 or /dev/vdb! It is therefore necessary to replace these indications with those corresponding to your situation.

To activate rescue mode:

  1. Click here to access the management of your product on the Infomaniak Manager (need help?).
  2. Click directly on the name assigned to the product in question.
  3. Click on the Manage button.
  4. Click on Restart (safe mode):
    Safe mode screenshot

Warning: Your data disk is not accessible when your VPS Cloud / VPS Lite is in safe mode. Only the system disk is accessible.

 

Perform operations

Once safe mode is active, access your Cloud via SSH, either with your ssh key, or with the temporary password available in the interface.

Once connected, switch to root user:

sudo -i

Then list the available partitions (replace ov-abcd with your hostname):

[root@ov-abcd ~]# lsblk
NAME    MAJ:MIN RM  SIZE RO TYPE MOUNTPOINT
vda     253:0    0    8G  0 disk 
└─vda1  253:1    0    8G  0 part /
vdb     253:16   0   20G  0 disk 
└─vdb1  253:17   0   20G  0 part

vdb corresponds to the disk of your cloud (your usual system to repair).

To access it in write mode, you must mount it:

[root@ov-abcd ~]# mount /dev/vdb1 /mnt/

You can then modify the files on your disk:

[root@ov-abcd ~]# ls /mnt/
bin  boot  dev  etc  home  lib  lib64  lost+found  media  mnt  opt  proc  root  run  sbin  srv  sys  tmp  usr  var

Depending on the operating system of your cloud, you can also perform a chroot to work directly in your usual environment:

[root@ov-abcd ~]# chroot /mnt/
root@ov-abcd:/# export PATH="$PATH:/usr/sbin:/sbin:/bin"
root@ov-abcd:/# ls

Once the necessary modifications have been made, deactivate safe mode from the Manager to restart your cloud on the original disk.


Has this FAQ been helpful?

This guide explains how to modify the value of the PHP directive include_path.

 

Modify the include_path

Like any other PHP parameter, include_path is defined in the .user.ini file.

Here is an example of a path to use in your .user.ini file:

include_path = ".:/home/clients/123456789a12345b12fc345d/web/www.domain.xyz/include"
  • The dot (.) at the beginning allows you to keep the current directory in the search.
  • The colon (:) is used as a separator between the different folders.

Refer to this other guide about phpinfo to verify that your new directive has been taken into account (the modification may take a few minutes to appear).

Although this method is still functional, using theautoloader of Composer is now the preferred solution for managing inclusions.


Has this FAQ been helpful?

This guide shows you how to modify the error_reporting() directive on your website.

 

Enable error reporting

Enter the following 2 pieces of information in your .user.ini file:

display_errors=on
error_reporting=E_ALL & ~E_NOTICE & ~E_STRICT

If your browser does not display any errors or warnings, then there are none.

 

Disable PHP error display

For WordPress, edit the wp-config.php file and replace the line:

define('WP_DEBUG', false);

with:

ini_set('display_errors','Off');
ini_set('error_reporting', E_ALL );
define('WP_DEBUG', false);
define('WP_DEBUG_DISPLAY', false);

Otherwise, you can add the following code to the .user.ini file:

display_errors=off

Has this FAQ been helpful?

This guide explains how to optimize a website hosted on a Web Hosting service to make it faster and provide a smooth navigation experience for all your visitors, regardless of their connection speed.

 

The role of the host

The loading speed of a website depends on many factors: server performance, host network infrastructure, visitor's internet connection, and site optimization itself.

As a host, Infomaniak strives to offer the best in hosting by continuously evolving its products and infrastructure:

  1. All hosting services run on the latest generation of SSD drives.
  2. The infrastructure benefits from over 70 Gbit/s of interconnection and redundancy with partners like Cogent or Level3.
  3. To handle traffic spikes, servers use regularly renewed 64-bit Intel Xeon processors. Shared servers use, on average, only 40% of their CPU power.

When you submit a support request regarding slowness, Infomaniak checks the following points:

  1. Your hosting server is functioning normally and has not encountered any incidents in the last 48 hours.
  2. The network infrastructure has not experienced any disruptions during this same period.

 

The role of the site owner and the webmaster

Infomaniak does not intervene on the content of the servers or the development of the sites. The creation and maintenance of a site are distinct professions, although they use the tools and services provided by the host.

 

Analyze the cause of slowness

Here are the actions to take if you notice slowness on your site:

  1. Apply the Google PageSpeed Insights recommendations. These points concern the design of the site and not the server configuration. Refer to this other guide if the test recommends enabling resource compression.
  2. If slowness is noticed from abroad, activate DNS Fast Anycast.
  3. Install a caching system to reduce redundant database accesses and speed up display.
  4. Consider using a CDN.
  5. Test the server response time or TTFB.
  6. Scan your hosting to detect any potential viruses.
  7. Purge your databases regularly by deleting unnecessary entries.
  8. Use the latest PHP version compatible with your site or CMS.
  9. Avoid images, counters, or media hosted on external servers: if they are unreachable, your site will appear slow.
  10. Deactivate unnecessary or resource-intensive WordPress extensions.
  11. Keep your CMS and web applications regularly updated.
  12. Limit the impact of overly aggressive indexing robots by configuring a Crawl-delay.
  13. Analyze the error-logs: correcting the errors generated by your site improves its performance.
  14. Review the slowlogs to identify SQL queries taking more than 5 seconds to execute and optimize them (optimization examples).
  15. Add a server cache engine like Memcached (available on Cloud servers only).
  16. Increase the max_children value (only on Cloud servers).

 

If the problem persists

If you or your webmaster cannot find the source of the slowdowns, contact Infomaniak support in writing by providing the following information:

  1. Name of the hosted site.
  2. Exact dates and times of the slowdowns.
  3. Name of the database or FTP account potentially involved.
  4. Your public IP address during tests (visible on https://www.infomaniak.com/ip).
  5. Type of slowdown (display, FTP transfers, etc.).
  6. Indicate if you can normally access the Infomaniak site during these episodes.
  7. Complete result of a traceroute to 84.16.66.66.
  8. Result of a speed test on speedtest.net by selecting Infomaniak as the destination server.

 

If your needs evolve

If shared hosting is no longer sufficient, consider switching to a Managed Cloud Server. Your site can be easily migrated to take advantage of dedicated resources and advanced caching technologies.


Has this FAQ been helpful?