Hi fellow makers 👋🏼
This will be my first post on IndieHackers! 🎉 I wanted to share my process of how I'm building a new product around some SEO practices I've been learning the last couple of months.
I previously did a similar approach for another product of mine, and it has now gotten over 200k views on Google the last 40 days. On average it gets 4.000 Google views/day & 250+ unique visitors/day.
I'm using the same approach (a bit more optimized) to build a new product and here is exactly what I'm doing:
1. SEO Research
The first step is to find good keywords we can target and build our product around. I used Ahrefs and Google Keyword Planner for this.
One tip I can give is that tends to be very difficult to find high volume low competition keywords in English. So if you speak other languages - use that. There is an entire market out there that is up for grabs.
For Ahrefs, here is what you're looking for:
For Google Keyword Planner, we want:
This step is the most important one. Spend a lot of time on this to find something good as all other steps depend on this one.
2. MVP ideation & build
Based on the good keywords you found in step one, now you can start thinking about what you can build to target the keywords. Important here is to consider user intent - what is the user looking for when searching for those keywords?
You can get an idea by doing a Google Search yourself and seeing what results you get.
In my case this was pretty easy - there are lots of similar products that exist but they all target the English market.
I was born and lived in Spain until I was 10 years old before moving to Belgium, so those Spanish speaking skills make it easy for me to build the same product, but for the Spanish market.
I built the core feature in less than a day (without finetuning & experimenting with AI model - this took longer and a lot of experimentation/trial and error over a few weeks).
I always use the same self-made boilerplate I have for all my projects. It uses NuxtJS, TailwindCSS + DaisyUI, Supabase, PostHog analytics and LemonSqueezy for payments.
This makes it super easy for me to quickly build new things.
When building your product, you'll want to include the keywords you identified everywhere: your title, description, headlines, CTA, ...
3. Dynamic pages to target tail keywords
You'll want to build as many landing pages as possible.
Then build a database with information for your different long-tail keywords you gathered in step one.
For my case, I figured a lot of searches were people looking for design ideas for their living room, bathrooms, stairs, ...
So I built pages with these variables:
Which gives me a total of around 370 dynamic pages (26 room types x 14 styles)
Once you have this, build a landing page structure that can be populated based on the URL. I also make sure that each of the pages crosslinks to other pages to give them more internal authority (good for search engines).
And since my project is about interior design, I make sure to have different images per room & style.
Voila - you now have 370 different landing pages bringing in potential traffic! For ImagenMIA, it's one of those pages that brings in the most traffic btw!
4. Blog articles
We're not done yet. We also want to generate good blog articles to target even more variations of the keywords/related topics.
This was easy to do as I have been doing this for all my other projects.
I built my own script that:
All I have to do is node programmaticSEO.js and blog articles are automatically generated and added to my project.
I have built my article pages in a way that uses the article title as <title> and article description as description for the page.
So far, I have generated over 500 blog articles. But I could easily generate 5.000 or more if I wanted to. I usually like to do this gradually, every couple of days/weeks. Don't want to push too much content at once + Google likes pages that are regularly updated.
I don't review my articles or read them. I only do that after identifying which ones are getting traffic from Google.
I also make sure that each article contains some marketing components about my product.
5. Some other optimizations
- Images: I have a script that converts all my images to WebP format - smaller size and easier to load.
- Pagespeed: I use websites like PageSpeed or SEOptimer to do checks on performance, then I try to improve what needs to be improved
- Basic SEO checks: free Ahrefs audits
- Crosslinking: I put a link in the footer of all my projects to my new project. This transfers some authority to my newer projects
- Auto-indexing: I don't want to wait 3 months before Google (maybe) starts indexing my stuff. I submit my new pages for indexing using an auto indexer
And that's the core idea of it!
I will usually repeat and finetune all steps a few time as time goes by. Usually I want to see initial traffic and see for which specific keywords your page is getting the most traffic.
Only then will I build more features to avoid building stuff for nothing.
I had a similar situation and what moved the needle for me was getting a tailored link building strategy as part of a broader audit. The mix of keyword research, technical fixes, and a clear content plan helped me spot gaps I’d been missing. The flat pricing and no long-term commitment made it easier to test things without stressing over contracts.
Love this. Using some similar tactics for one of my projects — one dynamic flask route serves server side rendered pages for 750+ tickers indexed on sitemap.
Would love to hear more about the script that actually generates the post content. I’ve automated some recurring data analysis for new posts, but the last mile of writing the posts still manual.
I like the concept of different language keywords. And I found it really helpful, it really helps to find high volume and low competition keywords.
Hey @fekdaoui I'm really interested in this idea in general. Is this something you are still doing a year later? And did you find it effective in the long run?
Correct me if I'm wrong but SEO practices are the reason why Google search sucks now. Most in-built search engines fall into the same category of trash-tier. They don't give you what you are looking for, instead, they give "wHAt oThERs hAvE sEaRcHeD aS wEll". Thanks but I don't care, give me the funny cat video I saw 10 years ago.
Either I'm getting old but the internet is becoming more an more centralized, and we are being spoon-fed content by our lord and saviour the algorithm. Take me back ffs....