The latest Mautic release update to 2.12 went seamlessly.  Like any system, however, you discover something that didn’t seem to cause a problem before.  This issue isn’t a bug, it’s just one of those snags you don’t catch until you get down to the level of testing you didn’t reach before.  The “Import Contacts” tool is one of those times when I discovered that if you select “Import in Background” instead of direct through the browser you will wait and nothing will import.  The reason isn’t obvious but I suspected it was because a CRON job was missing.

I assumed this was triggered simply when the user put the import task in the queue, but this is not the case.  For all the CRON jobs they recommend at this link, Mautic does not mention anything about scheduling imports.  You can simply go to your command line and type this to execute:

$ php /home/path/to/your/mautic/app/console mautic:import

Also, I set up a CRON job for this command to run every thirty minutes so this won’t happen to others in the future.  I do think CRON jobs have a place, but manually setting them up seems a little archaic, I think like WordPress they should be more automated, if nothing else to reduce the number of people who lack more web technical skills and just want to use the marketing automation system from scratching their heads or complaining.

Mautic is a great marketing automation tool, it comes in two flavors, the free Community Edition and the Enterprise Edition. It is quickly evolving into a stable and robust marketing automation system.  My favorite part is that Mautic is developed on the PHP Symfony framework, as an experienced PHP developer with decades of experience with different systems here in Jacksonville, Florida, I can say the past 4 years I have been watching Mautic grow that it is a very exciting time for small businesses and marketing departments that may not currently have a lot of resources or high budgets for higher cost platforms like SalesForce.  I can also speak from direct experience that it blows InfusionSoft out of the water with a lot more customization and capabilities.


WordPress Blue Ball Wallpaper Collection: Ball and Notebook

Mike Challis, the long-standing original author of the “Fast Secure Contact Form” plug-in posted an article here about what suddenly happened to the plug-in he made available for WordPress users for so long.  Shame, because this was a great, stable plug-in and it always seemed to work no matter what kind of theme you used.  I just noticed it was removed so I will be taking the steps of removing it from any of my sites as well and I recommend to any web developers who have this on their site that they do the same IMMEDIATELY.

In the explanation linked above, Mr. Challis cites this report from Wordfence showing other plug-ins that have been compromised by nefarious spammers.  Now, Mr. Challis had sold his plug-in, so we know he’s not responsible for what someone who purchases software does to the code afterwards, but this incident does highlight a vulnerability inherent in a community-driven, open-source platform like WordPress and the vulnerability the 23% (and growing) of websites who use WordPress are exposed to.  Not to mention the fact that the millions of WordPress users and their organizations are exposed to real threats to their data and systems.  In addition to that, WordPress takes a hit to its reputation along with innovative software developers like Mr. Challis.

Plug-in Author Reputation

This incident highlights another risk we web developers are exposed to and that is the risk to our reputations.  I don’t blame Mr. Challis for wanting to “cash out” by selling his plug-in, that’s what many developers strive to do, it’s what motivates many to innovate, and that’s understandable.  This is another wake up call!  If you are a PHP developer and wish to sell a WordPress plug-in, it is highly advised to provide stipulations in the sale transfer that the purchasing party agrees to uphold the quality standards and a promise not to dilute the reputation of the plug-in by using any tactics that could inadvertently tarnish the reputation of the original author.

One of these easiest ways to know if a plug-in is reliable is by seeing who its author is.  Mr. Challis’s name was always synonymous with software stability and I will continue using any of his other plug-ins, but I do wonder what the best solution for these situations is.  In this situation, something so commonplace as contact forms on a website should be a core component of WordPress anyway.  I know installing JetPack, which is freely distributed (at this time) by WordPress provides a contact form out of the box, but this incident raises other concerns regarding security, safety, innovation and integrity.

We don’t want WordPress to clamp down too hard on plug-in authors because that will affect innovation, but at the same time, any plug-in updates that attempt spam tactics or security breaches should never make it to the repository and notices in the plug-in manager should be made very prominent so all users are aware of such incidents faster.  These should be the highest level of WordPress alerts that even warrant emailing the WordPress owners.  A more immediate response should help the community more actively police our themes and plug-ins and ensure swifter retribution towards those trying to compromise the integrity of the WordPress community, which hurts everyone including WordPress, web developers, and any organization who uses WordPress.


Since 2.8.2, a bunch of Mautic forms were hanging on “Please wait…”, even though the form data was going through, this is not a good customer experience.  Here is the fix for it on Git Hub from the Mautic team.  It turns out, this issue only happened for Mautic instances running in a sub-directory.

I think it’s usually best to put Mautic on a site within a sub-directory, perhaps in “/marketing” to keep it out of the way and not conflicting with your site’s WordPress or Drupal CMS.

This fix just came off Git Hub from the Mautic marketing automation developers yesterday.  Inside your Mautic folder, go to /media/js and make this change to both files, “mautic-form-src.js” and “mautic-form.js”:

if (event.origin !== MauticDomain) return;

// Replace the above with these two lines in both files

var MauticDomainWithoutPath = MauticDomain.match(/https?:\/\/[^\/]*/);
if (event.origin != MauticDomainWithoutPath) return;

I can confirm that this patch to these two .js files fixes the problem of “Please wait…” upon form submission and the form will behave upon submission properly, whether to show a message or perform a redirect.

Besides being free, why choose Mautic for your organization’s marketing automation?

As a web PHP developer in Jacksonville with over 13 years experience integrating and developing from scratch different systems, I have seen the rise of Mautic as a free marketing automation platform that rivals much more expensive platforms.  I can’t say enough great things about Mautic marketing automation and one of the best things about it that other experienced web developers who appreciate the power of leverage PHP frameworks is the fact Mautic is built on Symfony, my preferred collaborative full stack development framework I’ve been using now for over four years.

The fact Mautic is built on Symfony means that it is fully extendable and since it is by nature modular by design, it is easy to create your own custom themes for brands, channels and create other behaviors that other marketing automation platforms don’t even allow your programmer’s to access because they are completely closed systems.  This usually means if you have the right web developers with the “programmer’s mentality“, there is nothing you can’t get Mautic to do for your organization!

A special thanks to John Linhart and Michael Van Laar, Mautic geniuses!  By the way, a special message to Mr. Linhart — thank you for all your hard work and competent development of Mautic, it’s tough to read some of the messages, so many people don’t understand how complex these things are because you make it look easy!  Keep up the great work (please)….  🙂


Recently, I updated a few instances of Mautic from 1.9 and 2.8.1 to 2.8.2 and encountered the following error message:

It didn’t take long to realize for some reason the update was redirecting to a path and adding an additional forward slash before the “/s/update/” part of the URL.  Just manually remove the extra slash in the URL and force your browser to open that address and I have confirmed the update will continue.

Before doing any upgrades with Mautic, or ANY system for that matter, to make backups of your affected directories and database and NEVER update on a live site without the ability to roll back!

Some of you may encounter an error after that, just navigate back to your /s/login/ path and you should be fine!  To set up and run marketing automation, you don’t have to be a full-fledged PHP web developer, but it sure helps!

Mautic WordPress Plug-in

Mautic is an incredible Marketing Automation tool, their free community version has very powerful capabilities that many businesses pay thousands of dollars a month for with Hub Spot, Marketo, Pardot, InfusionSoft, etc.  Mautic also has a series of free WordPress plug-ins so you can integrate Mautic with your website with a simple click of the “Install Plug-in” button.  To try them out, just go to your WordPress Plug-in manager and type “mautic” to see the latest list.

The most indispensable Mautic plug-in is “WP Mautic“, which is made by Mautic and creates an interface for you to use short codes and embed your Mautic forms directly in your website.  I can say first hand that it is very reliable and easy to use.

There is one small catch — it doesn’t say anywhere in the instructions but when you install the WP Mautic plug-in, go to its settings where it asks you for the URL of where you log in to Mautic.  Be sure not to add a trailing slash at the end of it or it won’t connect to it!

More about Mautic, the powerful, free Marketing Automation Tool

To set up Mautic and connect it to your website you actually need very little or no actual coding knowledge!  So, if you want your website to limit how often you have a pop-up form bother someone, if you want to customize page content based on a particular visitor’s tracking info and previous historical data Mautic’s already collected, or perhaps you want to throw an exit intent pop-up to just make sure before they view a certain page you give them one last chance to think about it…. You can do all this by setting up Mautic and installing the WordPress plug-in.

The list of ways to make your website more powerful, smart, intuitive and maybe even less annoying, are all made possible through this plug-in and how well you set up your Mautic account to deal with all these conditions and behaviors.

You don’t need a web developer to set up Marketing Automation?!

The fact you can get a website up and running, install and set up your own marketing automation, and get your website and marketing automation to share data and work together all without knowing any code is good news for you, bad news for web developers, right?  Well, I contend that if you want Mautic set up right, you need more than someone who has a Marketing degree, you need someone who understands systems and how to convert business logic into reliable system actions.  It can get complicated fast so you need someone with a programmer’s mentality or you will likely end up with a poorly designed system that is inefficient to work with, update, and enhance later.

Here’s a typical boilerplate campaign set up in Mautic.  By the way, now Mautic can let customers decide how they prefer to be contacted so the same campaign can send an email, SMS text OR a twitter message all through the same workflow!

Even a simple boilerplate campaign could seem overwhelming, so just because you can set all this up yourself without knowing how to write code still doesn’t mean you won’t need to hire a PHP web developer who can help you design it to work so it’s future proof and adaptable.  I often find businesses expect WordPress to do everything for them, then, they run into a brick wall where their 50 plug-ins no longer update or work well with their current theme, etc.  By this time, they’ve wasted years of time stacking an ever higher house of cards that will take more time to redo right.

The definition of insanity is to do the same thing over and over again but expect a different result.  To really enhance your website and get it to do amazing things, not just normal things, if you need a website to do more than just be a glorified business card or blog repository, you will likely be looking for a competent web developer to make it happen.  No matter how easy the tools and integrations seem to be on the surface (think one-click plug-in installs), unless you keep things really simple and need to just do simple things, beware of not utilizing someone with a programmer’s mentality who can think far ahead of your current project scope.  Beware of relying one someone who doesn’t have the proven experience setting up business systems.

Your organization needs someone who has proven their competence working with data, system design, a variety of web systems.  You need a person who has programming experience who understands efficiency, code reusability and the importance of future-proof scalability.  Using the right system designer to spearhead your marketing automation project will save your organization years of headaches and possibly hundreds of thousands of dollars of wasted money thrown at amateurish attempts experimenting with your resources on your dime to only deliver you a system that won’t meet your marketing requirements.

If you are an organization in the Jacksonville Northeast Florida area looking for open source PHP web developers with experience in WordPress, Symfony, Drupal, Magento, or API integration experts, please drop me a note, I have a list of competent people who I can recommend here in Jacksonville, Southwest Florida, and throughout the US, Canada, UK, Australia, and Germany as temporary web development consultants or remote web developers!