Skip to content
bigrobot.
SaaS · B2B · 2025

B2B SaaS platform for workforce scheduling

Organic went from a rounding error to 27% of new pipeline across three markets — with no link buying and no blogging about nothing.

Scope of work
SEONext.js websites
Stack
Next.jsTypeScriptContentfulAhrefsGoogle Search ConsoleLooker Studio
+214%
organic traffic in 12 months
inbound leads
38
keywords in the top 3
27%
of pipeline from organic

Where we started

The product had been live for four years, served 1,400 paying teams and grew entirely through outbound and LinkedIn Ads. Organic did not exist as a channel: 900 sessions a month, 610 of them on the brand term, plus 62 blog posts written by the founders about funding rounds, conferences and company culture. None of those posts answered a question anyone types into a search box before buying software. The domain had 41 referring domains, mostly startup directories and press release syndication.

The information architecture made it impossible to rank for anything but the brand. The entire offering lived on a single /features page where 22 capabilities switched through client-rendered tabs — Google saw one document titled Features with roughly 300 words of text. There was not a single page for a specific use case, industry or integration, even though the sales team repeated the same four deployment scenarios in every call. Search had nothing to match against queries like shift scheduling software for manufacturing, because no such URL existed.

Three markets were served by three subdomains — pl., de. and uk. — running on the same CMS, with the German and British versions about 70% filled with English copy duplicated from the main site. There were no hreflang annotations at all, but every subdomain carried a canonical link pointing at the English version, so Google steadily deindexed the other two. Search Console listed 1,100 URLs as alternate pages with a proper canonical tag and nobody inside the company knew what that meant. On top of that, publishing a single piece of content took an average of 11 weeks from idea to live, because every draft passed four approvers.

What we did

  1. 01

    Keyword research from sales calls, not from volume

    We started with 40 recorded sales calls and support chat transcripts, pulling out the language customers use to describe their problem before they know the product category name. Only then did we cross-reference Ahrefs and Search Console, discarding high-volume terms that attract students and people looking for a free Excel template. The result was 260 queries grouped into four buying intents, each with an estimated lead value based on historical conversion from comparable sources. Terms under 40 monthly searches stayed in deliberately — in B2B that is often the most profitable traffic, even though it is hard to defend on a chart in front of a board.

  2. 02

    Rebuilding the information architecture

    We broke /features into 14 capability pages, 9 industry use-case pages and 12 integration pages, each with its own URL, title and server-rendered content. The site moved to Next.js with static generation and a content model in Contentful, so marketing could publish without pulling in the product team. Internal linking stopped being incidental: every use-case page links to three to five capability pages, and those link back to the category hub. The old /features URL was 301'd to the closest matching pages, which cost us two weeks of depressed brand traffic while the index caught up.

  3. 03

    Four topic clusters instead of a publishing calendar

    Rather than a two-posts-a-week schedule we built four clusters around real operational problems: shift planning, time and attendance, working time compliance, and staffing ratios. Each cluster is one 2,500–3,500 word pillar page plus 8 to 12 supporting articles, all cross-linked in both directions. The pieces were written by people from the industry rather than generalist copywriters — cost per article went from about EUR 200 to EUR 550, but bounce rate halved compared with the old blog. Publishing time dropped from 11 weeks to 6 days once we cut the approval chain from four people to two.

  4. 04

    One domain, language folders, hreflang that works

    We retired the three subdomains and moved everything to /pl/, /de/ and /en/ folders on a single domain, redirecting eight thousand URLs one to one. Hreflang is generated from the content model, so a page with no published translation simply does not appear in the set instead of pointing at an empty shell. Canonical links now point at themselves rather than at the English version, and that change alone unblocked 740 URLs in the index within five weeks. We deliberately skipped regional variants for Austria and Switzerland — at this traffic level, maintaining three extra locales would cost more than the expected gain.

  5. 05

    Content from the product, not about the product

    Every use-case page got real product screenshots populated with demo data from that same industry, plus a short interactive slice of the app that runs without a login. We also built three free tools: a shift coverage calculator, an overtime cost calculator and a CSV schedule generator. The tools now account for 18% of organic traffic and 31% of organic trial signups, and the overtime calculator picked up 62 editorially earned links from industry and HR publications. A fourth tool, a software comparison table, was retired after two months because the traffic it produced converted worse than the blog average.

Results after 12 months

Organic traffic went from 900 to 2,830 sessions a month, up 214%, and the brand share of that traffic dropped from 68% to 19% — the second number matters more, because it shows the channel started creating demand rather than just capturing it. Thirty-eight keywords hold top-3 positions, 24 of them with clear commercial intent. Inbound leads from organic tripled, and organic now accounts for 27% of newly created pipeline compared with 8% when we started.

The markets grew very unevenly. Poland moved fastest because most competitors were publishing machine-translated content. Germany was effectively flat for seven months: copy translated from Polish did not match the language German production managers use to describe shift planning, and positions only started moving after we hired a native writer. The UK reached good positions but converts 40% worse than Poland — call reviews show the product does not cover local payroll reporting requirements, which makes it a product problem rather than a marketing one.

  • Organic traffic +214% (900 → 2,830 sessions a month)
  • Brand share of organic traffic down from 68% to 19%
  • 38 keywords in the top 3, 24 of them commercial intent
  • 3× inbound leads; organic share of pipeline 8% → 27%
  • 740 URLs unblocked in the index after fixing canonicals
  • Time to publish an article cut from 11 weeks to 6 days
I expected a keyword list and a content calendar. What we got first was two weeks of someone listening to our sales calls, followed by the news that nobody searches for half the topics we wanted to write about. Unpleasant conversation, most useful one of the year.
Michał Dąbrowski · Head of Growth

It starts with an audit

Tell us in two sentences what you want to achieve. We reply within one business day.