DEV Community

Muhammad Subhan Naeem
Muhammad Subhan Naeem

Posted on

How I Took a Free Islamic Website From 3 to 130+ Indexed Pages (No Budget, No Ads, No Team)

A self-taught developer's honest breakdown of growing a non-commercial Quran website using nothing but SEO fundamentals and a lot of late nights.

A few months ago, Google Search Console showed exactly 3 indexed pages for my website. Today it shows over 130. No paid ads, no agency, no team β€” just me, a SERN stack (Supabase, Express, React, Node.js), and a website I built for free, with zero ad revenue, as a personal sadaqah jariyah project.

This post is the technical and SEO breakdown of how that growth actually happened, written for other developers who are trying to grow a side project without a marketing budget.

How I Took a Free Islamic Website From 3 to 130+ Indexed Pages (No Budget, No Ads, No Team)

The Project: Al-Quran Hub

Al-Quran Hub is a free, ad-free Quran reading and listening platform with all 114 Surahs, multiple translations, and audio recitations. I built it solo, and I made an early decision that it would never carry ads. That decision shaped everything about how I had to approach growth, because I couldn't rely on paid acquisition. Organic search was the only realistic channel.

When I started tracking it seriously in Search Console, the number staring back at me was 3 indexed pages. For a site with 114 Surah pages plus supporting content, that was a real problem.

Step 1: Fixing the Foundation Before Chasing Content

Before writing a single blog post, I had to fix what was broken structurally. A few things I found and fixed:

  • Missing per-page meta data. Every Surah page was using the same generic title and description. I rebuilt this using react-helmet-async so every single page gets unique, dynamic meta tags pulled from page-specific data instead of one static template.
  • No structured data. I added JSON-LD breadcrumb schema across all Surah pages, plus FAQ schema on relevant pages, which helped pages qualify for richer search results.
  • No internal linking strategy. Pages existed in isolation. I restructured navigation and added contextual internal links between related Surahs and blog content, which is one of the simplest things you can do and one of the most overlooked.

None of this is glamorous work. It's the unsexy part of SEO that doesn't show up in a screenshot, but it's the part that actually lets Google crawl and understand a site in the first place.

Step 2: Building a Real Blog System, Not Just a Blog

A lot of indie projects bolt on a basic blog and call it a content strategy. I went a different direction and built a full blog system on top of the SERN stack:

  • Backend on Supabase with content managed through the Table Editor
  • Express API serving blog data to the React frontend
  • react-helmet-async for per-post SEO meta, same as the Surah pages
  • JSON-LD schema and FAQ schema on blog posts too, not just the static pages
  • An AI Overview feature powered by the Groq API, generating a quick summary block at the top of each post for both users and search engines

I started with a topical authority cluster around "Surah Benefits" content β€” pages explaining the virtues and benefits of reading specific Surahs, which is a high-intent, well-searched topic in the Islamic content space. The first two posts, on Surah Kahf and Surah Yaseen, were both written and structured specifically to rank for long-tail searches around those Surahs.

This is the part most people skip: a topical cluster works because it signals to Google that you have depth on a subject, not just one isolated post. Each new post in the cluster makes the others stronger too.

Step 3: Title and Meta Optimization at Scale

Once the foundation was solid, I went through all 114 Surah pages and rewrote every single meta title and description using keyword data pulled from Semrush and Ahrefs. A few constraints I held myself to:

  • Titles capped around 50 characters
  • Descriptions capped around 150 characters
  • Action-first phrasing instead of passive descriptions
  • No mention of features the site doesn't actually have, to avoid mismatched search intent and high bounce rates

Doing this manually across 114 pages is tedious, but it's also where a lot of the indexing and impression growth actually came from. Generic, duplicate-feeling meta descriptions are one of the fastest ways to get a page ignored or deprioritized by Google, even if the content itself is solid.

Step 4: Backlinks From Real Platforms, Not Link Farms

I avoided any paid backlink schemes entirely. Instead, I built a backlink presence the slow way, by publishing genuine, original content on platforms with strong domain authority:

  • Dev.to (where you're reading this)
  • Medium
  • Hashnode
  • about.me

Each platform got its own version of relevant content, not copy-pasted duplicates, with natural internal links back to specific pages on Al-Quran Hub rather than just the homepage. A link to a specific feature page, like the tasbih counter, carries more contextual relevance than a generic homepage link buried in an author bio.

Step 5: Infrastructure That Doesn't Get in the Way

None of the content work matters if the technical infrastructure is unreliable. The current setup:

  • Domain via Hostinger
  • Frontend and API (api.alquranhub.org) deployed on Vercel
  • Cloudflare for DNS, CDN, and SSL set to Full Strict
  • GA4 and Search Console wired in from day one for actual data, not guesses

Fast, stable infrastructure isn't an SEO trick, but it removes friction that would otherwise quietly tank rankings over time.

The Results

Going from 3 to 130+ indexed pages didn't happen from one big change. It came from stacking small, deliberate fixes: structural SEO first, then a real content system, then scaled-up meta optimization, then genuine backlinks. Search Console impressions and clicks have climbed steadily in parallel with the indexed page count, which is the actual signal that matters more than the indexing number itself.

What I'd Tell Another Solo Developer

If you're building a side project and wondering why Google isn't picking it up, check the boring stuff first. Unique meta tags. Structured data. Internal links. Most developers want to skip straight to "writing more content," but content poured into a structurally broken site doesn't get indexed fast, no matter how good it is.

And if you're building something non-commercial, like I am, growth still matters. More indexed pages means more people finding something useful, even if there's no ad revenue or business metric attached to that growth. That alone made every hour of this worth it.

If you want to see the actual site this was all built for, it's live and free at alquranhub.org.

Building something similar? Happy to answer questions about the SERN stack setup, the Supabase blog architecture, or the SEO process in the comments.

Top comments (0)