Mautic can be cost-effective, has lots of powerful features, and is super extendible. Besides the fact that Mautic is arguably the best open-source marketing automation application available for professional use, there’s also a flip side.
Many businesses and new users who’re trying to get started with Mautic quickly find out that installation, as well as keeping the application running smoothly, can be challenging. Luckily, self-hosting Mautic doesn’t have to be as difficult as most people believe.
In this article, I’ll list some of the common Mautic installation mistakes to avoid. Though I won’t go into configuration details in this post, the information should definitely help you avoid the main headaches (and possible premature gray hair)
If you’re interested to learn if Mautic is suitable for your business, have a look at the Mautic Marketing Automation Review.
Below is a list of the common Mautic installation mistakes that I see people make, over and over again. Avoid them at all costs.
1. Installing Mautic on Managed (and shared) Hosting (e.g Cloudways)
A common mistake is installing Mautic on shared Webhosting. This is done by using Softaculous, which is an installation script found within cPanel. Installing Mautic on shared hosting means that you’ll be sharing resources, such as CPU, storage, and bandwidth with other websites, and that you can’t administer the server yourself.
- You get no administrative privileges on the server. This means that you’re unable to do the maintenance needed for your Mautic installation running error-free.
- Slow and unreliable server performance affects Mautic features such as tracking and form submission, amongst possibly other things.
- No control over the server means you need to ask support to make changes to configurations that are shared with other clients. Good luck with that.
Installing Mautic on Cloudways?
Though Cloudways is great for hosting WordPress and other applications such as Woocommerce, I don’t recommend installing Mautic on Cloudways. Above all, Cloudways is a managed hosting provider. It means that even though they use quality infrastructure providers such as Digitalocean and Linode, they won’t give you administrative privileges to the server. Besides pricing, this makes it a no go for Mautic installations if you ask me.
Never install Mautic through cPanel (Softaculous), on a managed/shared web hosting account (Hostgator, Bluehost, Siteground, or similar). Instead, get at least a VPS at Digitalocean or Linode and administer the server yourself. If you’re not technical enough to do so, and you’re serious about your business, consider hiring some help. This will only save you money, time, and headache in the long run.
2. Updating through the Dashboard
When an update for Mautic is released, a notification will appear on the main dashboard of your installation. Unfortunately, using Mautic’s update button has a history of breaking the application. The result is often that you get locked out and can’t log in anymore. The automatic update button is not for the faint of heart.
- Updating Mautic through the button in the dashboard regularly breaks Mautic. When this happens, server administrative privileges are necessary to fix the situation.
- Update Mautic by downloading the updated files from GitHub and manually going through the update process (through the Linux command line). This involves clearing the cache, checking the database schema, permissions to certain folders and files, and running the update from the command line.
Avoid updating Mautic through the dashboard update button. This can break your installation and lock you out of Mautic. To solve the situation, you need to log into your server and fix the issues manually. This is one of the reasons you want admin privileges to the server.
3. Mautic Cron jobs
Cron jobs are tasks that the operating system executes at scheduled times. Mautic needs cron jobs to function properly. Without cron jobs Mautic will not send emails, update campaign data and perform other important tasks such as database maintenance. On Linux machines, cron jobs are entered into a user’s crontab.
- Setting the wrong paths for cron jobs. As a result, no jobs are executed
- Stacking the cron jobs inefficiently
- Mautic does not send emails nor does it update campaigns
- Use absolute paths for cron jobs
- Set the cron job at intervals that fit your project needs. It’s also best practice to keep in mind your server resources (such as the number of CPUs)
Misconfigured cron jobs are at the base of many Mautic installation problems. The most common symptom is : ‘Mautic not sending emails’.
4. Improper Server Configurations
Both Apache, as well as Nginx, can be used for Mautic. The problem is that default server configurations are just that, namely default. For a Mautic installation to properly function to its full potential, certain configurations need to made.
- Your forms not submitting at all
- Some Mautic features, such as tracking or dynamic web content are not working
- Negative impact overall performance in terms of speed and usability
- Properly configure the server for CORS
- Properly configure the server which files to serve from which locations. This can for example be done in Apache through .htaccess files, while Nginx uses locations blocks in the main server configuration files.
Both Apache and Nginx can be used with Mautic, though configuring them differs. For Mautic Features to function properly, the server needs to be configured correctly, which includes making sure that CORS (cross-reference resource sharing) is correctly set up.
5. PHP Configuration Errors
Installing the correct PHP libraries and configuring PHP settings is important for proper functionality. For example: if you cleared the Mautic cache, due to an update you performed, the application will recreate certain folders and files upon the next login. Many default PHP configurations don’t allow enough time for this process to finish – again sending Mautic offline.
- The correct PHP libraries are not installed and Mautic doesn’t install
- PHP times out before Mautic can finish creating the new cache folders and files
- Not enough memory is assigned to Mautic in order to perform as it should
- The maximum upload file size is set quite low. This will prevent uploading larger assets (if you’re planning on using your server for storage)
- Check which libraries are installed with a phpinfo(); function.
- If necessary, install composer and let it fetch all the required PHP libraries for you
- Set PHP max_execution_time = 300; This increases the time that Mautic has in order to create cache folders and files.
- Set PHP memory_limit = 256M for a 10 USD/Month server. This may vary, depending on your needs.
6. Mautic and your Website on one Server
Technically this is not a mistake, however, I recommend using a stand-alone server for your Mautic installation. The reasons for having Mautic as well as your website installed on different servers are plenty:
- If your server goes down, your campaigns will stop. Even if your website is down for a while, you could still be sending your audience emails and marketing messages if you would have had a stand-alone server for Mautic.
- Installing on the same server as your website impacts performance. Mautic cron jobs fire every few minutes, database storage can grow,
- Troubleshooting is hard and solving issues can become more complex, because of shared web server settings.
- The discrepancy in version incompatibilities between Mautic requirements and the version your website is using (see image)
Install Mautic on its own VPS or dedicated box, so that you keep any possible issues contained to that particular server. If your website goes down or is hacked, your Mautic install is still in the safe zone. Remember, your contacts and the information in the Mautic DB is probably very valuable to your business.
7. Using Different Domain Names
Future releases of most web browsers will deny different domains to place cookies in on the browser of a visitor. The warning (see image) is a result of Facebook (and Google) trying to place cookies (as third party), on the browser of the visitor of lexgabrees.com. This is because I have a FB pixel and Google analytics tracking code installed on my site.
This is no different than Mautic trying to track visitors because I have the Mautic tracking code installed on my site. If my Mautic installation would be under mymautic1234.com while the tracking code is installed on lexgabrees.com, then mymautic1234.com would be placing third party cookies in the browser of the visitors to lexgabrees.com.
Install Mautic on a stand-alone server, as described earlier, yet under a subdomain of your main domain name. Now Mautic will place cookies on the browser of the visitor as the first party. This is because subdomains and top-level domains are considered as being from the ‘same-origin’.
If your website name is: thebestwordpresstheme.com, then you could install Mautic on a stand-alone VPS server, yet use the subdomain name: mautic.thebestwordpresstheme.com (or whatever your preference is).
This article does not go into the details (actual configuration of servers, PHP, Cron jobs, etc.) of installing Mautic. I wanted to avoid this post becoming some kind of ‘ultimate guide to installing Mautic on Digitalocean and Linode‘. However, I might go into more detail in a future article.
For now, I hope these guidelines will steer you in the right direction and help you avoid the headaches that many users (often unnecessarily) experience.
Edit: I recently wrote an easy to follow Mautic installation guide. It shows you exactly how to install Mautic on a Digitalocean Ubuntu server. If you’re interested in using Mautic self-hosted Mautic for marketing and email automation, be sure to check that article out. It goes through a relatively simple step by step process that will install Mautic.
If you want to learn more about Mautic and if it’s right for your business, read the Mautic Marketing Automation Review. The article dissects Mautics’s features and can give a clear picture if the application suits your business needs.
For specific help with Mautic, Digital Marketing and to find out if we can work together, feel free to contact me.