WordPress On-Line Course Goes Live

After my talk “Using WordPress to create Sites that Customers Love” over at Explorers Festival I was invited by the good folks of Eduke.me to produce an on-line course aimed at small business owners and other professionals that want to start using WordPress and learn about its great potential.

The recording took place in early December last year and when I was recording this was my audience :-)


The link for the full course is below, if you register on the platform you get a free course so if you want just to check it out there is no associated cost. Click here to access the course:


The course is only available in Portuguese but if you watch it I would appreciate feedback about what you most liked, what you didn’t like and how I can improve it for the future.


One of our mission goals over at WidgiLabs is to promote and democratize the use of WordPress. This is just one of many contributions we want to make. Enjoy. 


Disappearing files on WordPress

Two weeks ago I started looking at a problem report where some files would disappear every night from a WordPress install.

WordPress had been upgraded from 3.7.x to 3.8 and we were seeing the following files missing:


This caused the login page to be unstyled and the visual editor of WordPress to not work at all. Very annoying. But most annoying would be that after a reinstall the next day the problem presented itself again.

I started pursuing possibilities and ruled out the following:

  • being caused by the WordPress auto-updater (Disabled the auto-updates and it would still happen).
  • being caused by a malicious plugin or theme (Scanned them for malicious code and found nothing).
  • being caused by a WordPress cron job (Checked which ones are active and what they do and found nothing).

My best guess at the time was that this was caused by a script that connected via FTP or other port to perform these changes. So I changed the FTP password and expect to confirm or discard this possibility the next morning. Except… same thing happened again.

Some efforts later together with the sysadmin we were able to figure out the root cause of this issue. There was an anti-malware process called “maldetect” running on the machine in order to scan php files and others for suspicious infected files and for some reason this was happening to those files.

“maldetect” was sending an e-mail alert to the admin e-mail address each time it quarantines a file but those messages were being marked as Spam and inadvertently compounded the problem.

Glad to finally nailed this one.

Services based on JavaScript Code Snippets

I’ve always been somehow fascinated about those JavaScript code snippets that you insert into your website in order to activate an external service to work. Most notorious example these days is Google Analytics but they are many others such as:

  • KISSmetrics (Analytics)
  • Crazyegg (Heatmaps)
  • Mouseflow (Live Clicking)
  • Olark (Chat Widget)
  • tlk.io (Web Chat Room)
  • Translate This (Translation)

It used to be the case that inserting these JavaScript snippets into a website would case delayed page loading and the recommendation was to place them just before the body close HTML tag.

The new HTML5 “async” attribute allows that the such snippets, once triggered, run in parallel with page loading. Which is kind of awesome. It creates the same effect as adding a <script> element, but it tells the browser that the script can be loaded asynchronously. Firefox 3.6 was the first browser to officially support this new feature.

Parallel to working on WidgiLabs I’m now also involved with UserFollowUp, a service that allows sending rule-based e-mails and SMS to users. We’re starting by focusing on WordPress users, namely with a WooCommerce follow up emails extension. Studies suggest that follow up emails can reduce up to 30% of cart abandonment so we think this is a pretty awesome service to offer. Do check it out and let me know if you find it useful or if you have any questions.