All Marketers Are Liars – Mindmap

This is a fantastic book by Seth Godin. Mindmap is above, and my notes are below.

Do yourself a favour and check it out – Amazon link.

The basic premise is that as consumers, we lie to ourselves. Successful marketers are just the providers of stories that consumers choose to believe.

How good marketing works:

  1. Frame the story in the customer’s worldview
  2. People notice something only when it changes
  3. First impressions matter!
  4. Tell a believable story
  5. Be authentic

On point 5, you must completely dedicate and believe your own story.

There are only two paths to success in marketing:

  1. Invent stuff worth talking about
  2. Tell stories about what you’ve invented

Worldview -> frame story to leverage existing worldview.
Don’t try to change someone’s worldview.
Success = Find neglected worldview, frame story to fit.

Frames are the words and images that reinforce a bias someone is already feeling.

Worldviews are clumpy. Not individual, many.

Worldview != Community. Just because people have the same bias doesn’t mean they talk. But the best marketing happens when they do.

People want to be like others. Make your story easy to share, and something they want to talk about.

People don’t believe what you tell them – precisely because it’s you telling them that, and they are far too smart to fall for that. Instead you have to hint at the facts, and let the customer prove to themselves that you’re a good choice.

The process of discovery is more powerful than being told the “right answer”, because of course there is no right answer. The customer tells their own story.

Honest marketing, two questions:

  1. If the customer knew what you know, would they still choose to buy your product?
  2. After the customer has used and experienced it, will they still believe the story or feel ripped off?

Some senses matter more than others, but all five senses matter.

The best place to start is to copy someone in a different industry who’s telling a similar story. Discover the cues and signals they use. Copy them all, not just a few. Your story is a symphony, not a note.

Ask yourself: what classic story can I tell?

All successful stories are the same. They promise to fulfill the wishes of a consumer’s worldview. They may offer:

  • A shortcut
  • A miracle
  • Money
  • Social success
  • Safety
  • Ego
  • Fun
  • Pleasure
  • Belonging

They can also play on fear by promising to avoid the opposite of above. This list is actually quite similar to Tony Robbins’ list of values.

Successful stories never offer the standard things marketers talk about – cheap price, good quality, convenience, a warranty. They’re not story-worthy, they won’t share it with their friends.

Be uncompromising in my stories. Don’t try to please everyone.

Make my story bigger and bigger until it’s important enough to believe. A movement. Something BIG! and worth listening to.

Definitely a great book and well worth reading!

Check out All Marketers Are Liars on Amazon

Free ClickBank custom redirection plugin

ClickBank only lets you set one destination for a product. But you probably want to send people to multiple destinations for a particular product.

Some examples would be:

  • A free report squeeze page
  • A written sales letter
  • A video sales letter
  • A special promo page that is just for men or just for women
  • Send only some affiliate traffic to a special landing page with no sign-up form pages

The final destination for those three pages are the same product, but you need a way to choose which one your customers get sent to.

What you need is my custom ClickBank Affiliate Redirection Module! (It’s free.)

How does it work?

You upload a special Redirection page to your website, and point all of your ClickBank traffic to that page. Rather than a complicated script or plugin, this one page is all you need.

The Redirection module takes care of sending your customers to the correct sales page, and ClickBank takes care of making sure that sale is attributed to the right affiliate.

Here’s a little diagram:

How to install

Download this zip file. Extract it on your computer, and open the redirect.php file with a text editor.


The configuration section is at the start of the file.


// This is the default page to redirect to
$go = "";

// Set your redirect pages here. Please make SURE that there is a
// comma at the end of every keyword line, except the last one.
$redirects = array (
	"keyword1" => "",
	"keyword2" => ""

// Do you want the hop ID to appear in the destination URL?
// This is very useful for Google Analytics 
$verboseUrl = true;

You’ll need to change line 4 to have your main sales page URL.

Inside the $redirects section (lines 9 and 10), you can add as many different redirects as you like. Please feel free to replace keyword1 etc with keywords that mean something to you.

Let’s say you change the first one to be:

“freereport” => “”

This is how your new “Special hop link” will look:

Notice the extra part at the end of the URL? This is the keyword that you used before (freereport ), and it tells the redirection module to send the traffic to .

It might sound a little bit complicated, but if you run into trouble just get in contact.


  1. Copy the redirect.php onto the root directory of your website.
  2. Change your hoplink destination URL in ClickBank to be
  3. That’s it!

The code

Here’s the code if you’re interested.


// This is the default page to redirect to
$go = "";

// Set your redirect pages here. Please make SURE that there is a
// comma at the end of every keyword line, except the last one.
$redirects = array (
	"keyword1" => "",
	"keyword2" => ""

// Do you want the hop ID to appear in the destination URL?
// This is very useful for Google Analytics 
$verboseUrl = true;

 *                                              *
 *                                              *

// Get the affiliate hop ID if there is one
$hop = "";
if($_GET['hop']) {
	$hop = $_GET['hop'];
	$hop = preg_replace("/\W/", "", $hop); // Sanitize hop data for only alphanumeric characters
	$cookieMonths = 12;
	$cookieExpires = 60 * 60 * 24 * 30 * $cookieMonths + time();
	setcookie('cbAffiliate', $hop, $cookieExpires);

// Check for a redirect
$rd = $_GET["rd"];
if (array_key_exists($rd, $redirects)) {
    $go = $redirects[$rd];

// Add hop link if we've got one (for Google Analytics)
if(strlen($hop) && $verboseUrl) {
	$go = $go . "?hop=" . $hop;

// Send the traffic


Tracking ClickBank affiliates with Google Analytics

Being able to track your affiliates in Google Analytics is vital if you want to maximise your earning potential.

By correctly associating your visitors with the affiliate who brought them, you are able to:

  • Identify the traffic sources for your highest converting visitors
  • Identify your best performing affiliates, and work with them directly
  • Identify new content/affiliate program opportunities
  • Identify the affiliate links/pages that result in the highest click through rate

I couldn’t find any guides out there for doing this, so I decided to put one together myself.

This guide will be written using Google Tag Manager. If you haven’t already switched to Tag Manager, then now is the time. 😉 It’s a MUCH easier experience than having to manage all of your tags the old way.

I’ll be creating a guide for that in the future, but for now here’s a pretty good tutorial:

Once you have Tag Manager set up, it’s time to create the affiliate tracking tag.

Click on Variables on the left menu:


Click on New, and then the edit button, and finally URL as the type.

Configure it to look like this:


Next, go to Tags and edit your Google Analytics tag. Add a custom dimension as in the picture below. You can choose any Index number for the dimension, but you’ll need to know that number later.


Now you need to publish your Workspace.


The Full Guide to Speeding Up WordPress

Or …

How I Made My WordPress Site 1,630% Faster.

Hopefully the headline caught your attention!

But it’s actually true. What follows is my journey from shared hosting to probably the best hosting option in the current marketplace.

Shared hosting is what all of us use when we’re getting started. And for years I didn’t know anything better existed!!

Well, I knew that there were dedicated servers and cool cloud companies like DigitalOcean and Amazon Web Services, but to be honest I don’t have skill and time to properly configure something like that.

Managing security and acceleration on a web server is not something you should take lightly – it takes skill to set that up well.

So if you’re like me … you are in for a treat!

When you first get started building websites, many people choose to host their sites on a single shared hosting account.

This is a really bad security risk, because if one of your sites gets compromised (bad password, insecure plugin, etc) then ALL of your sites are at risk.

The next better option is to sign up with a ‘reseller’ hosting account. This separates all of your websites into different accounts that can’t interact with each other.

When I started this journey I had signed up with ServerHub (<- there’s no link on purpose. Don’t ever go there!!). They offered a competitive reseller package, and since security is pretty important to me that’s the one I went with.

Much like all shared cPanel hosting, sometimes you get OK performance, and somethings things are just terrible.

I’m talking “10 seconds to load my home page” terrible.

And don’t even bother trying to load the page from anywhere outside the USA…!

I knew that I had to change something. I started looking around at other options.

Enter Cloudways


Purely by chance, I came across the name ‘Cloudways’ in a Reddit post. Someone had done a full speed comparison between them and ServerPilot, another host I was considering moving to.

Based on that performance report I thought Cloudways was worth checking into, so I pull up the web site and …


OH YEAH. Look at these features!!!

I’m not kidding, click there and look, it’s like geek heaven!

They provide a management layer across all of the big cloud services:

  • Digital Ocean
  • Vultr
  • Amazon Web Services
  • Google Cloud Platform
  • Kyup

What this means is that you get all the benefits of the incredible cloud computing platforms, but don’t have to worry about server security, patching, backups, acceleration, etc. Leave that for the experts.

They use a set of acceleration technologies in front of your website that they call the THUNDERSTACK. (Awesome name right!)

Basically it just means that your website will be ridiculously fast, without you having to do anything at all.

Another HUGE plus for Cloudways is that they completely segregate each application into its own container. It’s much more secure than the reseller hosting, and a LOT easier to manage. Win-Win.

The server that I use is $9 a month and I run 18 websites on it. It’s the Vultr 768MB option. (They have an even cheaper $7 option from DigitalOcean if you like.)

Even with 18 websites running, it barely breaks a sweat. Here’s the graph of idle CPU over the last week (notice how it’s almost always 90-100% idle):

Idle CPU on Cloudways Vultr 768MB

And if I ever run into a situation where I suddenly get a ton of visitors to my site, I can set it to automatically scale up as needed.

Their back-end is incredibly easy to use … WAY easier than cPanel.

To set up HTTPS for your site it is literally one click:

One-click SSL install

This is so handy for anyone who wants to improve their Google rankings. SSL is basically a requirement on today’s web.

And remember when I said that I got 1,630% faster speeds? Well here’s the proof:

This is a speedtest for my travel blog. On my old hosting:


Pay specific attention to the size of the page. 1.6MB.

Now here’s a test from my current Cloudways hosting, AFTER I have added a bunch more content! Have a look at the new page size … and the new speed! :-O


Because of all the extra content I added, the page is 5.4MB – three times the size – but gotten faster by an enormous margin! And yes… I could do with trimming it down a bit…

Safe to say I am a happy customer. 🙂

They offer a free trial, so you’ve got nothing to lose giving it a go.

Hope you enjoy it!

Turn off hyphenation in InstaBuilder 2.0

I’m using version 2.1.6 as of writing this post, but it should work fine with any version.

You may have noticed some weird hyphenation issues with InstaBuilder. Inside the editor it all seems to be fine, and on the finished page in Chrome it all looks fine. But in Firefox (and possibly others), all your titles and paragraphs have some terrible hyphenation all through them.

I’ve put together a little guide on how to remove hyphens in InstaBuilder 2.x.

In the CSS that ships with IB, there are some strong hyphen and word-break rules. You can either override it in the wp-content/plugins/instabuilder2/assets/css/instabuilder2.css  file, or by using the per-page method below.

Using the below method will keep your changes after an InstaBuilder upgrade.

In the page with the hyphen issue, go into Settings and then Scripts/Codes.

Paste this into Head section:

* {
	word-wrap: normal !important;
	word-break: normal !important;
	-webkit-hyphens: none !important;
	-moz-hyphens: none !important;
	-ms-hyphens: none !important;
	-o-hyphens: none !important;
	hyphens: none !important;

That’s it! You’re overriding the out-of-the-box styles that cause the awful looking hyphenation.

Let me know if you run into any issues.

Force all requests to HTTPS on Cloudways

I found it a little difficult to get a proper HTTPS redirect working on Cloudways. All of the other mod_rewrite rules for checking non-SSL traffic seemed to end in a redirection loop.

This turns out the be the code that works:

# HTTPS redirect
<IfModule mod_rewrite.c>
RewriteEngine On
RewriteCond %{HTTP:X-Forwarded-Proto} !https
RewriteRule .* https://%{HTTP_HOST}%{REQUEST_URI} [R=301,L]

Put that at the start of your .htaccess  file and you should be away.

Test it first without the =301 on line 5, just in case you’ve done something wrong. Those permanent redirects will cache in your browser and can be a real pain!

Once everything looks like it’s working as it should, add the 301 back in there.