Hugh Watkins

SEO for Developers

Hugh Watkins Hugh Watkins 12/10/2022


One of the challenges with being an Indie software developer is learning how to market your products. In fact you could argue that marketing is more important than the software development itself. A trick I saw other Indie software developers do, is to do development for one week and then use the alternate week for marketing. I’m not completely in that camp yet, because doing bug fixes and small features quickly is one of the things that gives you superpowers over larger companies. My approach is to use my mornings for software development, when I’m most productive and in the zone. Then I work on marketing in the afternoon and evenings.

What now?

Ok, so you know marketing is important and there are several ways to market your product, paid ads being one of them. The main advantage of paid ads (such as Google AdWords) over SEO is that they can provide faster and more immediate results. With paid ads, you can pay to have your website appear at the top of search results for specific keywords, which can help drive traffic to your site and generate leads or sales. This can be particularly useful for new software products that are trying to establish themselves in a competitive market. The downside is this can be costly and once you stop paying for the ads, the traffic will go away. I don’t think paid ads are a bad strategy to get things kick started, but want to focus on SEO for this article.


SEO, is a long-term strategy that focuses on improving the organic ranking of your website on search engines. While it will take longer to see results from SEO, the benefits can be more sustainable and cost-effective over the long term. SEO can also help improve the overall user experience of your website, which can have additional benefits for your business. An effective SEO strategy can bring targeted organic traffic to your website with minimal investment — and provide major benefits in terms of branding, lead generation, and improved visibility.

SEO (Search Engine Optimization) can be challenging for developers for a number of reasons. One major challenge is that search engines like Google use complex algorithms to determine the relevance and ranking of websites in their search results, which can be difficult to optimize for. These algorithms change over time and strategies that worked previously may not work after a big change from the search engine.

Google SEO results

Google is still the dominant search engine so succeeding at SEO means ranking in Google’s search results, we will focus on this. So while it’s not possible to plan for every algorithm change that Google will introduce, it is possible to understand what those changes are trying to do. In a nutshell, Google is trying to present the most relevant content it can to its users, shocking I know. While this should be obvious, it helps us to understand why some things will not work long term, like getting a buck of questionable backlinks from paid backlink providers. Producing a bunch of sub-par content to increase the number of articles you have will also have the chance of backfiring, you may get lucky and rank for some keywords but if the articles don’t provide value to the reader then Google will pick up on it eventually.


OK, so we know SEO is important long term and it can be difficult to rank for important keywords, so what do we do? We write the best content that we can, make it as interesting as possible, using charts and images. At the end of the day, you should ask yourself if you would be happy to land on the page you created if you were searching on the subject. Hundreds of quality articles are better than thousands of mediocre articles. Quality content is how you engage, inform, support and delight your audience.

Alright so what is the actual process to create this quality content we need to reach our audience? The first question is who are you trying to reach on Google? Who are you trying to attract? If you are an indie software developer then you want to attract people that would benefit from your product, and become paying customers of your product.

More traffic does nothing for you if the traffic isn't coming from the types of people more likely to buy from you and be your best customers. This should be obvious, but it’s easy to fall into the trap of looking for the maximum amount of traffic to your marketing site and ignoring the fact that the conversion rate is low. Make sure the metrics you are looking at target your main goal, which is to get more paying customers.

Start answering questions to figure out the target persona you want to attract. How important each of these are depends on your customer, if you are a B2B product then the company someone works for and their title is very important, if you are a B2C then the personal interests of the customer may be more important.

B2B Questions:

  • What is their occupation?
  • What is their job title?
  • If they are not the decision maker, who is?
  • What are their pain points?
  • What type of content do they consume at their job?

B2C Questions:

  • What are their interests and hobbies?
  • What are their goals?
  • What are their motivations for those goals?
  • What are their pain points and challenges in reaching those goals?
  • What type of content do they consume and trust?
  • How and when do they consume this content?

Questions to ask

Once you have identified your target customer, a key question to consider is what questions they are asking online. By providing answers to the questions your target customers are asking, you can position your business as a helpful and authoritative source of information, where you can highlight how your product can help them achieve their goals.

Using the who and what you have identified for your target customers, then you can see we are trying to optimize for the intersection of these questions, who is doing the searching and what are they searching for.

It would be nice to just come up with a list of the keywords that you want to rank on to reach your audience, but this is not a green field situation, there are already pages ranking in Google for those keywords. That’s not to say that you can’t write a better article and start outranking those existing pages, but the better approach is to find keywords that don’t have strong competition and try to rank for them.

Also start thinking about the part of the sales funnel each of these keywords would do best in. Customers generally go through three distinct phases:

  1. Researching solutions to their problem
  2. Comparing solutions to their problem
  3. Making a decision on a solution to their problem

Optimizing your website's content and structure to make it more relevant and useful to users at the different phases of their research journey is critical. When customers are researching solutions to their problem, you are in the education space where you want to establish that you are informative and trustworthy. When they are comparing solutions to their problem, they need to know why your solution is better than your competitors. By the time the get to making a decision on a solution to their problem, the choice should be clear that you provide the best solution.


Some great tools to use to find keywords: Google auto suggest, these are commonly used search terms Forums such as Reddit and Quora, it could be easy to see a pattern of questions that potential customers are asking, these can also be a way to get product ideas. Other forums, if you are integrating your product into a bigger ecosystem, are there specialty forums for those solutions, for example Shopify has

In addition to great articles that answer the questions being asked by your potential customers, you may want to add additional benefits like downloadable assets or a specialty tool like a calculator.

Start measuring your progress, but remember to measure things that are important to your business. This might mean using multiple sources of information, like search data from google and customers through stripe.

There are a couple of free tools from Google that will help, Google Analytics and Google Search Console.

Measuring progress

Then measure your progress against your larger goals and reassess as needed, just like software development, this is an iterative process. It is also important to remember that SEO is a long-term process and it can take time to see significant results. So you will want to give your changes you make several months to see the new rankings.

Hugh Watkins

About Hugh Watkins

I'm a software developer with forty years of experience mostly in backend systems.