From page 3 to page 1, on the keywords every job portal in India fights for.
When The Portal came to us, they had a clever idea, a brutal competitive set, and a stack that was making them invisible to Google. An AI-powered platform indexing roles directly from company career pages — often jobs you would not find on LinkedIn or Indeed — going up against Naukri, Foundit, and the rest of India's job-search giants. The first job was not to do SEO. It was to make SEO possible.
A clever idea, a brutal vertical, and a stack Google could not read.
The Portal is an AI-powered job aggregator with a specific hook: it indexes roles directly from company career pages — many of which never appear on LinkedIn or Indeed. Candidates browse a curated feed; clicking apply takes them straight to the original company posting. The other half of the platform looks closer to LinkedIn, with HR teams able to post their own roles.
Job-portal keywords in India are some of the most contested in the country. The biggest names spend large sums on SEO and have done so for over a decade. A new entrant has to earn relevance against an SERP that has been crowded for years.
- Domain Authority of 12. Fresh, unproven, with almost no link equity to its name.
- Around forty organic clicks per month. The platform Google could find, nobody could find.
- Average position 26.1. Page three of search results — a place no candidate scrolls to.
- Competing against Naukri, Indeed, LinkedIn, Foundit, Apna. The most well-funded, link-rich, search-mature category in Indian internet.
We did not have a marketing problem. We had a readability problem. The site was operating exactly as designed — and that design was the issue.
Two things were stopping the work before it began.
Most SEO programs jump straight to content and links. Ours did not. The first three weeks were spent reading the site — properly — and naming what was actually broken.
The site Google could not read.
The Portal was built as a single-page application with client-side rendering. To a browser, this works beautifully. To Googlebot — especially on a domain with no authority yet — it was almost invisible.
When Google fetched a page, it received a near-empty HTML shell — a <div id="root"> and a JavaScript bundle. The actual job listings, descriptions, titles, and meta tags only appeared after the browser executed the JavaScript and the components mounted.
Google can technically render JavaScript, but it does it on a two-pass system. The first pass indexes the empty shell. The second pass — the one that actually executes the JavaScript — gets queued for later. For a domain at DA 12 with a fresh index, that second pass was slow, partial, or skipped entirely. Google does not spend its rendering budget on unproven sites.
No matter how much content lived on the site, Google could not see most of it. We were optimising a library that was locked.
The content Google could not see.
The second problem was a product decision dressed as a security feature. Every job description on the platform was hidden behind a sign-up gate. Visitors saw the title and a teaser; the full text was for registered candidates only.
The intent was understandable — protect the value of the index, push more sign-ups. But Googlebot has no account. When it visited a job page, it saw a title and almost nothing else. No body content, no salary range, no role description, no signal of relevance.
This had been quietly compounding. With every new job indexed, the platform was adding pages that Google could not understand. Volume was growing while the average page quality, in Google's eyes, was barely existent.
Even the pages Google could read carried almost no signal. There was nothing for the algorithm to associate with a search query.
The first three months produced almost no movement in clicks or rankings. To the client this looked like things were not working. To us it was the SEO equivalent of laying a foundation before pouring concrete — and the foundation was a lot of unglamorous engineering and product conversations that traditional SEO agencies would not have known to have.
Three phases. Each one had to compound for the next.
Most SEO programs run all three streams in parallel from day one. Ours did not. Until the site was readable, content was wasted. Until the content gave Google a reason to rank, links could not pull weight. The order mattered.
Making SEO possible.
The first three weeks were spent not on SEO, but on the conditions for SEO to work. Three things had to happen before content or links could matter — and all three were engineering and product conversations more than marketing ones.
Worked with engineering to make the platform's public-facing pages crawlable on the first pass — exposing job listings, descriptions, and meta tags as server-rendered HTML rather than relying on Google to execute the JavaScript bundle later.
Pushed back on the auth gate. Negotiated exposing a meaningful portion of every job description to crawlers — enough body content for Google to read and associate with relevant queries — without giving away the value that drove sign-ups.
Rolled out an Organization schema across the site, and JobPosting schema where applicable, giving Google explicit signals about what the platform was, who ran it, and what each page represented.
Earning relevance.
With the platform now legible to Google, the next job was to earn the right to rank — and to do it on queries we could actually win against the giants. We did not try to fight Naukri for "jobs in Mumbai". We mined the long tail the giants were ignoring.
Most job aggregators do not run a blog. We argued — successfully — that owned editorial would compound where third-party content could not. The blog system shipped early in the engagement and ran for the entire six months.
Studied what kinds of jobs the platform was already indexing, then built a content engine around long-tail combinations of niche role plus Tier-2 and Tier-3 city. Examples shipped: Web Performance Optimization Expert Jobs in Lucknow, Remote SaaS Onboarding Manager Careers in Ahmedabad, Tech Community Manager Jobs in Nasik.
Seven owned articles per month, fifteen third-party article placements on platforms like Medium, Hashnode and Tumblr, and five guest posts on external domains — all written to feed the same search-visibility goal, not to chase vanity views.
Building authority.
Authority is the slowest part of SEO to move and the hardest to fake. The link program ran every month for the entire engagement — not as a separate effort, but as the third leg of the same compound.
Backlinks were built across nine distinct channels: Web 2.0 properties, third-party article posts, guest posts, PDF submissions, video submissions, social bookmarks, business listings, classifieds, and image submissions. No single channel does the work — the mix is the work.
Roughly 155 quality backlinks every month, for six months — over 930 in total. SEO does not respond to bursts. It responds to patience, and to a cadence that compounds without being noticeable in any single week.
Domain Authority moved from 12 to 17 over the engagement — a five-point lift that, in this vertical and at this domain age, is genuinely difficult to achieve. The number is small. The work behind it was not.
Where the work compounded.
For the first three months, almost nothing visible happened. Then November arrived, and the foundation we had been laying for ninety days finally got crawled, indexed, and started ranking — together.
What this curve does not show is the four meetings about render budgets, the negotiations over how much job-description text would be visible to crawlers, and the three monthly reports where almost nothing on the chart had moved at all. SEO is not a curve. It is what compounds beneath one.
What month six looks like — and what it does not.
A working SEO program at month six does not look like a clean upward line. It looks like compounding gains in the metrics that matter, and a few honest caveats in the metrics that do not yet. We would rather name the caveats than hope nobody asks.
Why is click-through rate lower in January than it was in August?
In August, the platform showed up for a small handful of high-intent queries — the few it could plausibly rank for — at an average position of 26. CTR was roughly 1.8%. By January, the platform was showing up for thousands of long-tail queries at an average position of 8.8. CTR sits at 0.4%.
Lower CTR, higher position, twelve times the impressions. This is not a problem. It is a different kind of presence: the platform now appears for queries it had no chance of ranking for six months ago. The next phase of work — title and meta optimization — is about converting that broader visibility into clicks. You cannot optimize CTR on impressions you do not have.
Why did clicks drop from December to January?
December peaked at 176 organic clicks. January came in at 117. On the surface that looks like a step backward. In context, it is the Indian job market's seasonal rhythm.
The hiring cycle in India compresses sharply between mid-December and mid-January — companies pause new requisitions, candidates pause active searches, and search volume on job-related queries dips. Every job platform in the country sees the same shape on its dashboard. What we look at instead is impressions: those continued to climb, from 21K in December to 27.8K in January. The library kept growing. Fewer people walked in.
Six months is the foundation phase of an SEO program — the slowest, hardest, least visible-looking part of a curve that compounds for years. The platform now ranks for thousands of queries it could not be found on in August. Phase four is not more SEO. It is converting what the foundation has earned.
Six months. Three phases. One compounding curve.
End-to-end review of the platform's renderability, indexation gaps, and crawl-budget waste — the diagnostic that named what was broken before any work began.
Worked with engineering to ship server-side rendering for public-facing pages, making job listings legible to Googlebot on the first crawl pass.
Negotiated and shipped a partial-reveal pattern — exposing enough job-description body to crawlers to give Google a real signal, without dismantling the sign-up funnel.
Organization schema deployed across the site. JobPosting schema where relevant. Explicit signals to Google about what the platform is and what each page represents.
Editorial system deployed on the platform's own domain. Authored, edited, and published in-house — running for the entire engagement.
Long-tail blog posts following the role × city formula. Seven new articles every month, written for queries the giants had ignored.
Editorial content distributed across Medium, Hashnode, Tumblr, and a curated list of high-intent platforms — building topical relevance beyond the owned domain.
Long-form contributions on external editorial domains — a deliberate authority-building channel separate from automated link channels.
WordPress, Wix, Hashnode, and Tumblr satellite properties seeded with role-relevant content and pointed back to the platform's most rankable pages.
Built across nine distinct channels — bookmarks, articles, guest posts, PDFs, video, Web 2.0, business listings, classifieds, image submissions — at a steady cadence of roughly 155 every month.
The unglamorous but durable layer of local SEO — directories and classified placements that quietly contribute to long-term domain trust signals.
Six structured reports tracking GSC and GA4 movements alongside delivered work — every link, every article, every shipped change documented for the client to inspect.
Sitting on traffic you cannot explain — or unable to find the traffic you need?
Most SEO problems are not SEO problems. They are technical problems, content problems, or product decisions that quietly cost visibility. If something about your search performance feels stuck, we are happy to take an honest look — and tell you what we see.