How I made it really, really, easy to add email opt-in forms to WordPress

I’ll let you in on a secret. I hate doing the same thing over and over. So when it came time for me to try out this new fad of adding a sign up form to different pages of my site, like my about page and content bucket pages as per Derek’s suggestions, I decided to make it a little easier on myself by coding up something to help me.

Now, the following code is for WordPress users that use the MailChimp email marketing system, the email marketing provider I chose for my site because of it’s awesome price (free), but you can employ this trick with any email marketing system.

What you need to do is create a new shortcode and to do this we’ll be adding a little bit of code into our functions.php file located in your themes directory.

Here’s the first part of the code which tells WordPress to add a new shortcode:

add_shortcode('email-optin-form', 'myEmailOptInForm', 1);

And here’s the function that gets called when WordPress encounters this shortcode in pages or posts:

function myEmailOptInForm() {
	global $wp_query;
	$thepage = $wp_query->queried_object->post_name;
	if (empty($thepage))
		$thepage = 'homepage';
	return '<div id="end-of-post-subscribe-form">
	<h2>Subscribe for updates, it\'s free</h2>
	<!-- Begin MailChimp Signup Form -->
	<div id="mc_embed_signup">
	<form action="[INSERT YOUR UNIQUE SUBSCRIPTION URL HERE]" method="post" id="mc-embedded-subscribe-form" name="mc-embedded-subscribe-form" class="validate" target="_blank">
	<div class="mc-field-group"><input type="hidden" name="SIGNUP" id="SIGNUP" value="' . $thepage . '" />
		<p class="form-label"><label for="mce-EMAIL">Email: </label><input type="email" value="" name="EMAIL" class="required email" id="mce-EMAIL"> <input type="submit" value="Subscribe" name="subscribe" id="mc-embedded-subscribe" class="button subscribe-button"></p> 
		<div id="mce-responses" class="clear">
			<div class="response" id="mce-error-response" style="display:none"></div>
			<div class="response" id="mce-success-response" style="display:none"></div>
	<!--End mc_embed_signup-->

Don’t forget to replace the [INSERT YOUR UNIQUE SUBSCRIPTION URL HERE] with your own URL which you can find on the forms page in your MailChimp account.

Tracking pages

You’ll also notice if you’re code savvy that there is a hidden input box there. This is for tracking the page that your subscriber signed up on ala this guide.

Now that this code is in place, all I need to do when I want to drop in a subscription form on a page is enter the shortcode below:


Voila! Welcome to the wonderful world of shortcodes. Want to use this shortcode in a theme? Say, at the bottom of every post in your single.php template? No worries:

echo do_shortcode('[email-optin-form]');

Anyone keen to write up the same code for Aweber for me? Contact me. We’ll organise a guest post!

The hard truth about product creation

The difficult bit in the whole product creation lifecycle isn’t actually creating the product itself. In fact, would it shock you if I said that actually making the product accounts for only about 10% of the total time you’ll take to make it a success?

Don’t be shocked. Anyone who’s made a product and sold it successfully will tell you the same thing.

As a programmer, I personally think this is a creepy statistic. Because the part I love most is the product creation bit and it’s tempting to think “shouldn’t I be devoting most of my time to creating the product?”

No, the majority of time that you use will be on marketing and other business activities.

That’s why it’s so important for programmers to know a bit about marketing (and incidentally, why this website exists).

Some people even say to start marketing before you even write a single line of code. Sounds silly, but it’s seriously smart (Rob knows his stuff and is someone I admire quite a lot – Hi Rob!).

Being a software guy I personally found this hard. Especially getting everything ready for ThirstyAffiliates pre-launch, drumming up the initial sales, gathering emails, getting the website in tip top shape. Man, it is seriously a lot of work.

I’ve been studying business and marketing for a few years now and from what I can tell there is no magic sauce. You just need to work your butt off.

Thoughts? Comment on this below. I’d love to hear from you.

Productizing your simple ideas – Why I built a new WordPress plugin

As many of you know I love writing code, and when I come across a great idea that should be codified I struggle to resist the urge of making something more of it.

I’ve done this in the past with the Stylesheet Per Page plugin for WordPress and the hCard Generator plugin for WordPress and today I’m happy to share that I’ve created a new plugin.

It’s called Auto Refresh Single Page and is basically just a small little plugin that adds a box to the sidebar of your posts and pages edit screen to automatically refresh that page after a given number of seconds.

In the background all it does is add a refresh meta tag to the header on generation of the page. Nothing spectacular, but it hadn’t been done in this way by other plugins.

Other coders of these plugins always over think their functionality and what most people are looking for in a plugin is to solve a specific task as simply as possible (but this a topic for a whole other blog post).

So why did I go the extra step of putting this simple plugin, which I was designing to solve a specific problem, into an official plugin? I mean, I could have just coded it for that task and been done with it.

Why bother going to the trouble of making this into a product?

Making it into a product isn’t really that much more work. Really all you have to do in this case is submit a request with for them to make you an SVN repository, check in the code and write up a readme.txt file. I just copied and pasted that readme.txt into a product page here on my blog and that’s it.

2 great reasons you should productize your simple ideas and give them away

Here’s 2 reasons why I think you should productize your simple ideas like I do, and why you should give them away if possible.

Firstly, when you productize your simple ideas, like my idea for a plugin that lets you refresh a page, you gain all sorts of exposure.

You can leverage free stuff because it’s dead easy to get people to download something for free and every time someone downloads a free widget, you gain another potential customer elsewhere in your business. You’re bringing those people into the ecosystem of your business.

So, first point: You get free leverage with free stuff.

Second, writing free things is freaking cool!

It helps people and people love free stuff they can use. Make useful things is a great motto to have and it’s something I’m guessing a lot of you programmers reading this will identify with.

By building useful things you’re expanding your brand and how people identify with you. If you build a reputation of creating useful things consistently then when it comes time to create something people pay for you’ve got all these pieces of evidence that show how you constantly provide value. This is serious social proof.

Download Auto Refresh Single Page

It’s name is horrible, but it’s useful and if you’re interested in checking out this simple little product you can go view it’s product page.

So.. Mr/Mrs Reader.. What have you been coding recently?

If someone asked you for a portfolio, do you have anything you could show? Leave a link below to your latest widget.

I’m building mine here: My products. Where’s yours?

How to reveal your visitor’s true behaviour in Google Analytics

I recorded this quick screencast today to show you this cool tactic I picked up from Rob at

I think it’s a great way to reveal the behavior of your actual visitors that aren’t just quick bounces. It’s just another lens in which to view the data in your analytics to reveal what your visitors are really doing when they stick around on your website.

It certainly reveals more than just your raw visitor numbers and bounce rate.

Check it out:

Why website graders don’t work

This article is a guest post from Dr. Adam Stetzer, the president and co-founder of HubShout. Adam and his team contacted me to check out this great new tool they’ve built which is a different kind of spin on your average website grader.

We exchanged a bunch of emails talking theory on what would make a tool like this different from all the other website graders out there and the culmination of that chat was this blog post. We determined that it would take something pretty special to bust through all the average tools out there, and it sounds like Adam and everyone over at HubShout is seriously committed to make that happen. Check out their new website grader and see how their approach is different. Read on to find out why most website graders simply don’t cut the mustard.

The website grader craze

At HubShout HQ, we’ve been fascinated by the website grader craze over the last 3 or 4 years. We’ve been watching closely as people flock from one grader tool to the next hoping that each will contain the magic secret for why their website is not on page 1. In the end, it is false hope as most of the people who use these website grader tools will simply never find themselves on page 1. And I don’t say that to be flippant. It’s just a fact that page 1 competition for any term with significant economic value has become very steep. For the do-it-yourself SEO blogger out there, this is a steep climb.

But making matters worse, I noticed that many website graders focus on the wrong thing. They are overwhelmingly focused on on-site SEO when the real missing link is just that, links. Consider the average website grader that runs through the standard list of H1’s, META tags, alts and divs. Perhaps a more sophisticated tool looks at the URL string and volume of words. Okay. These are all good things, but they are simply too basic for what it takes to get on page 1. I don’t think I’ve ever seen a website grader that runs the text from your page
through Copyscape to ensure it is unique, yet we all know there are scores of people out there trying (fruitlessly) to rank with content that is not original.

The missing ingredient

The biggest factor missing is a serious look at the backlink profile. How many links does the website have? How good are those links? How many links do the competing websites that are on page 1 have? As we debated the website grader world at HubShout, we thought these were the BIG questions, but we didn’t see them being addressed by the free tools. Furthermore, where was the analysis broken down by industry? It is the case that a local roofer in a small city needs fewer links than a plastic surgeon in New York City.

Our final observation

Few tools that do get into off-site SEO and backlink analysis discuss the difference between total links and root domain links. In our experience, this is a critical difference. You can gain 10,000 links from a single include statement to a footer on a big website. But does Google really weight that as strongly as 10,000 unique domains linking to your website? Of course not.


Most website graders actually waste peoples’ time. If SEOMoz tells us that 70% of ranking is the result of off-site SEO (i.e., links) then why are 95% of website graders focused on on-site SEO? This is sending people off in the wrong
direction. Don’t get me wrong; solid on-site SEO is critical. But I would hazard to guess that most people who visit a website grader have the basics mostly covered. What they really need to know is: do they need 100 more backlinks, or 1,000 more, to get to page 1? And even if they could get those links, how entrenched are the websites that are already on Page 1? I’m not saying we have built that tool, but we’re going to start building in that direction and see what happens.

Dr Adam Stetzer has been in the information technology field for over 15 years working with Fortune 100 clients such as General Electric, Verizon, AT&T, ChevronTexaco, Ford, Pepsi and Coca Cola. He is President and Co-Founder of HubShout, an SEO reseller that offers both software and services to small, medium and large clients. The HubShout white label SEM software platform supports hundreds of clients integrating over 15 relevant data sources at industry-leading prices. The firm also offers SEM services that emphasize both accountability and transparency. Dr Stetzer is active in many SEO forums and frequently guest-blogs on various outlets.

Making your first product sale is a magical feeling

I have two cool announcements today. But before I get to that, I wanted to ask, have you ever worked for 6 months or longer on one project? Doing something incremental where you do just a little bit on it every day?

This is what I’ve been doing on a couple of projects since the start of the year and now some of it is finally coming to a head. Although, I know that this is just the start of the journey it’s a great feeling to finally ship.

In the past I’ve written eBooks and sold the odd affiliate product via this website and others. But those that know me will know that software is my true passion. And while I’ve written plenty of open source software (some of which you can find on this site under products) I’ve never released my own paid software, which has always been a dream of mine.

That was until now!

What is ThirstyAffiliates?

ThirstyAffiliates is a WordPress plugin I wrote for managing affiliate links and I’m super stoked to say that it’s my first premium WordPress plugin.

I know a lot of you reading this would have had some experience with affiliate programs in your online business. Most bloggers link to the odd book on Amazon, maybe even a WordPress theme.

ThirstyAffiliates helps you manage those affiliate links, which, as you’ll hear later can easily number in the 100’s if not 1000’s of links.

After some research into some of the other affiliate link cloaking and management plugins out there (and there are quite a few), I quickly realised that they all focused on using link cloaking as a method of deception first, and as a way of managing links second. This seriously had to change.

I wanted to put the focus on managing the affiliate links like the assets that they are. You shouldn’t have to re-setup your links every time you start another blog and you shouldn’t have to visit more than 1 place if your affiliate link program code changes.

That’s where ThirstyAffiliates comes in as an affiliate link manager.

Scratching my own itch

As with most programmers when they write their own software, they’re scratching one of their own itches. The itch I was writing ThirstyAffiliates for is, funnily enough, part of the second announcement I have today.

Back at the start of 2010, I had the grand idea of starting a computer hardware review website and making money by referring people to Amazon.

At the time I was sick of all these experts telling me how they can make money on autopilot selling other people’s products and I desperately wanted to try something and build it up as a successful site.

Looking at it now, it wasn’t the greatest of ideas – for one, “computer hardware reviews” is ridiculously broad. I mean, I like computers and I enjoyed researching and writing about the hardware because I was building a new computer at the time. But I’ll be the first one to admit, my interest in projects that are not interesting software problems tend to wane after a little while, so it’s not surprising that writing about the latest computer hardware started getting a little dry for me.

Also, managing all the affiliate links in the 100’s of posts it would take to make this site successful was just ridiculous. The links were non-descriptive so I couldn’t tell if I’d linked to the right thing and keeping track of what links I’d used where was getting ridiculous.

I needed to do two things:

  1. Outsource the writing (easy enough – find a writer, pay them to write the reviews); and
  2. Find a way to manage all the affiliate links so I could track everything (not as easy)

All the solutions on the market for affiliate link management seemed pretty half-baked and hacky and seemed to really focus on the link cloaking aspect, trying to be like a ninja and tricking people into clicking links by generating them via keywords all over my blog. That didn’t really sit well with me so it wasn’t really what I was after.

Initially, I just wanted a way to manage links in categories and an easy way to throw them into posts. This is where I found my concept for ThirstyAffiliates.

After the blog sat idle for about 6 months not really doing anything and only generating a couple of dollars a month (if anything at all), I found a writer and started it up again.

Today, it’s also a great pleasure to show you the site that came of that effort: Hardware With Byte.

Fix your Mindset

Once I switched my mindset from “I don’t want to write these stupid reviews… it’s so boring.. OMG!” to “How can I do this without having to spend any time on it?”, that’s where the magic started to happen.

I can’t remember where I read it, but someone wrote in a business book once that you should always treat your business ideas like a little experiment at first. That kind of sunk in.

My thoughts then became, what if I just use this website as an experiment ground, and if it ends up making a little money on the way, then all the more reason to keep doing it!

These days, it’s still just bringing in a small trickle – not much more than enough to pay for it’s own hosting and content writers. But more than that it’s giving me the opportunity to build great plugins like ThirstyAffiliates, test out new SEO strategies (some of which work great, some that fail abysmally and end in a Google slap), and it’s also giving me the opportunity to gain some experience managing writers and contractors.

Getting to the point

I guess the real point I’m trying to get across here is that you should never be afraid to experiment. You’ll never know where it leads you.

You might start a website, find an audience and before you know it you’re developing an iPhone app to help them with something completely unexpected.

Or like me, you could find yourself in need of something that has value for other people in the same situation. “Develop that plugin” was the greatest thought I’ve had all year and the months of work it’s taken bring it up to a standard that is ready for sale is really paying off now. The feeling you get when you make your first few sales is magical.

So, my friends, learn to expect the unexpected! And don’t forget to experiment, experiment, experiment.

Programmers Leveraging Their API Through Mobile Phone Apps

The following post is guest post by Ruben Corbo. Ruben came to me wanting to write something about mobile and how it effects our thoughts on business. What he delivered was a great article on leveraging our own APIs via mobile handsets.

If you own a product and release a public API layer (or are thinking about doing that for your product) then leveraging this API via a mobile app could be a great way to reach a new audience.

Anyway, that’s my thoughts on it, here’s Ruben:

The ever-extending reach of mobile broadband is reshaping the way people behave online.

Nowadays people are more likely to use a smartphone or some other handheld device to connect to the Internet than a desktop or laptop computer. This paradigm shift, in terms of engineering, has been explained as a major change in handheld user interfaces. Gone are the days of hardware-centric interfaces. Touch screen technology enables intimate interaction with software. Speech recognition and voice commands make the user experience seem friendlier.

Mobile API programming

Developers are already adjusting to the paradigm shift of software-centric smartphones. There is a new focus towards extended functionality, and coders are learning that designing a new Application Programming Interface (API) may be the key to effective business development in the mobile world.

Businesses that develop their own APIs for mobile access to their content can expect positive results from interactions with third party developers. Every time a third party developer expresses interest in utilizing a particular API is a potentially valuable business relationship waiting to happen. Developers can learn significant lessons from peers who use their API to create new apps.

Programming mobile APIs

Third party API development can be a boon to businesses interested in spreading their brand. Twitter’s acquisition of TweetDeck is a great example of successful API leveraging. TweetDeck developers created a great cross-platform app that eventually became the favorite way to use Twitter for almost 20% of its users. Twitter is the premier social networking
service for people on the go who are constantly on their smartphones, and TweetDeck is the choice mobile app for using Twitter.

mobile device api programming

Another reason for encouraging third party API app development is simple: coding new apps for smartphones can be challenging. A business may find it easier to develop an API than to create a series of apps for different platforms. An API that’s already established is very convenient for businesses that want to ensure their content can be reached by most smartphone users.

A development team that is focused solely on adding functionality to an existing API can yield productive business results. The key is to see mobile development as a means of content distribution. Current mobile app development is centered on the efficient delivery of content to smartphones. An API developed by a popular online newspaper, for example, could be seen as an invitation for third party developers to create mobile apps that allow readers easy
access to their favorite content on the go.

This is a guest article by Ruben Corbo, a writer for the website Broadband Expert where you can find internet service providers in your area and compare prices on different deals for your mobile broadband needs.

Photo credit: foreverdigital, seizethedave, nialkennedy

Comparison of ways programmers can make money online

How To Make Money From Programming

Make money from programmingBelow is comparison table of some of the most innovative ways you can make money from programming.

It’s not meant to be a comprehensive list or a description of exactly what you will earn if you do any one of these.

There’s many variations on these models, some faster than others, but it will give you an idea of what to expect if you follow one of these business models and might even give you some insight into how to maximize your profit.

Comparison table of how you can make money from programming:

Method How Much Does It Pay? Payment Model
Freelancing Anywhere from $30-150 an hour. It can be quite lucrative if you niche your skillset down to something specific. Pay per job, amount depends on job size and how many hours charged.
Productizing (Giving the product away for free supported by advertising) Depending on the advertising method used. For PPC anywhere from 30c per click to a couple of dollars per click. Monthly payments in most cases. Depends on the advertising agent and terms but you might have to reach a minimum payment threshold (eg. earn $100 in advertising clicks before you can get paid). You’ll need lots of traffic for this to work.
Productizing (The conventional fee for license approach) This will go up depending on the value of the product. Most people try to pitch their software in the range of $30 to $150 per license. Depends on how much product you sell. This is the standard software business model, some people are making millions with this model, some make relatively little.
SaaS (Software As A Service) Typically ranging between $19 and $99 a month, the user pays for access to a website or online service. Depends on the amount of subscribers. This is the newest of all the models for software (even though Gyms and such have been doing it for years). Hit critical mass and it’s money for jam, all that is required is to keep subscribers happy and fix bugs.

If you’re considering a business developing software, freelancing, or giving away a product for free then at you now have a bit more of an idea of what kinds of challenges you might face following that business model. Have you started a business using one of the models above? Tell us about it in the comments and give us a link to check out your business. What creative ways do you make money from programming?