The ultimate guide to Keyword research and On-page SEO

This is the same process I followed to find keywords and do on-page SEO for my website.

1. Get an initial list of keywords

I went on Upwork and looked at job descriptions to understand what keywords companies are using when looking to hire people like me.  This is just to get a few keywords to start my research. 

I noticed that the people hiring developers falls into these main categories:
1. Consulting agencies looking for developers
2. Tech teams looking for developers in-house or remote
3. Entrepreneurs who want to build on their idea

I am mostly interested in working with the third group. These are people who have an idea - and are looking for developers to help them bring their idea to life. I prefer this group as I get to interact with the clients directly.

2. Use Ubersuggest to get more keyword ideas

I then used Ubersuggest and added each of these 12 keywords to generate 100's of more keywords. E.g. Adding this one keywords to UberSuggest 'Ruby on Rails developer ' gave me all these options. 

I repeated this for each keyword, and ended up with a list of 1000+ keywords. This seemed like a big enough set of keywords to move forward.

3. Get traffic estimates for all the keywords.

The next step is to find the monthly search volume for all these keywords. I don't want to optimise my website for keywords that no one searches for. So, I use the free Google Adwords Keyword planner to sort these keywords by monthly search volumes.

This step is quite straightforward. Adwords has a section where you can paste keywords to get the monthly forecasts and historical metrics for the keywords. I pasted around 2500 keywords into this.

Adwords will then show you the forecasts for these keywords. I usually ignore CPCs, and just look at impressions. I'm not that particular on the exact numbers over here - but just want to target keywords that are on the top of the list. 

4. Keyword difficulty

Now that I have a list of keywords sorted by search volume, I can pick keywords from this list for my home page. My website ( is new, and has zero domain authority. Therefore it's almost impossible for me to rank for difficult keywords immediately. 

Based on search volume and interest (i.e. targeting the third group from step 1), I ended up choosing these long-tail keywords initially
  • web development companies in India (and in bangalore)
  • web development agency in India (and in bangalore)
  • web developer freelance in India (and in bangalore)
  • web developer in India (and in bangalore)
There are keywords with higher search volume.. But I ignored those because these searches were done by agencies or companies looking to hire developers as an employee or as a contractor. In 2-3 months, after I build quality backlinks to the site, I can target more difficult keywords. But for now, I have to choose keywords that have decent search volume - and is 'easier' to rank. 
Also, initially I only want to focus on one main keyword from this list. To find this one keyword - I have to go through all these keywords to see which of these are the most difficult.  For this keyword - 'web development companies in India', these are the websites that appear on Google.
  1. : This website is more than 3 years old, and it has around 595K backlinks pointing to it. They also have a page specifically targeting this keyword, and the page has 111 links pointing to it. There is no way I can beat this with my new site.
  2. : This website is around 5 years old. They don't have a page targeting this specific keyword, and instead rank with a page targeting the keyword's synonym. This page has 110 links pointing to it. 
  3. :  This looks promising. This is an agency website based in Delhi, and they are ranking for this keyword with their home page. They have around 1K backlinks pointing to them. If I can build quality backlinks to my site, I should be able to compete with them.
  4. : The fourth result is a blog from YourStory. They are probably ranking only because YourStory domain has high domain authority. 
  5. : This looks promising too! This is an agency website, and they are ranking an inner page for this term. They have built 640 backlinks from 93 websites to rank for this keyword. They are using the keyword in page title and their URL, but it is possible to compete with them in a few months.
  6. : This again looks promising, and I can compete with them. They are an agency website, but their blog ranks for this keyword with just 1 backlink. They have 500 backlinks pointing to their root domain. 
Similarly, for this keyword - 'web development companies in bangalore', I studied the results. It is easier to rank for 'bangalore' than 'India'.  I need to build backlinks to the site and do on-page SEO to start ranking, but it looks like 'web development companies in (india and bangalore)' are good keywords to initially rank on Google. 

5. On-page SEO

Now that I have selected my main keyword, I need to include this in the relevant places to tell Google what my page is about.

These are the changes I made 
  • Added the keyword to page title
  • Added the keyword to meta description tags
  • Added keyword in the H1 tag
  • Added keyword to image alt tags
  • Added synonym keyword to H2 tags
With all this done, I now have a page that has a good chance to rank for this keyword.  The next step is to build quality backlinks to my website. I'll be doing that in the coming weeks and will document my process here.  

About the Author:

Arjun Rajkumar is a full stack developer and runs a web development company in Bangalore, India. He likes building digital products that your customers will love.

Weekly Newsletter

Subscribe to get my weekly newsletter and latest articles on startups, marketing and growth.

Hello 👋! I'm Arjun, a remote Ruby on Rails developer that can bring your digital product ideas to life.

Here is a list of things i've built recently.