UA

IT education and corporate training · Ukraine and English-speaking markets

Sigma Software University: 6.7× search traffic in three and a half years

Engagement: 3 years 7 months

Sigma Software University is Sigma Software’s education arm, with courses for people getting into IT and training for companies’ teams. Over three and a half years its search traffic grew 6.7 times, and at the peak the Ahrefs estimate was almost ten times the starting level. The most interesting part began halfway through, when a course catalogue became a B2B site as well.

Results at a glance

Search visits a month

~550 → ~3,700

Ahrefs estimate, March 2023 → September 2026. The peak, about 5,400 in November 2025, was almost ten times the start, though it only shows in the Ahrefs estimate.

Queries in Google’s Top 3

145

Ahrefs snapshot, September 2026. Ahrefs measures rankings directly.

Traffic and rankings come from Ahrefs’ public data for the period of our work, because we don’t publish screenshots of our clients’ analytics.

Before

A course site a few hundred people a month could find

ClientSigma Software University, university.sigma.software
NicheIT education: courses and meetups for individuals, corporate training for companies
MarketsUkraine; B2B pages also target English-speaking markets
ServicesSEO, site structure, content marketing, link building, analytics
PeriodMarch 2023 – September 2026, 43 months
Statuscompleted in September 2026
Teamone SEO lead for all 3.5 years, SEO specialists, link builders and a project manager

Sigma Software University is the education arm of Sigma Software, a Swedish IT company with Ukrainian roots. The university runs courses in development, testing, data, design and management, meetups, the Learn On programme for juniors and programmes for corporate clients.

In March 2023 the site got about 550 visits a month from search. People searched for “курси тестувальника київ” (QA courses, Kyiv) or “курс data science онлайн” (online data science course), but SSU wasn’t turning up for them yet. There was no blog to lead readers to a course either.

The client already had groundwork, so we built on it. What was missing was a structure that matched the searches and a path from someone’s first question to signing up for a course.

The goal

Course sign-ups from search, and later requests from companies too

At the end of August a student in Kyiv googles “курси python київ” (Python courses, Kyiv), because she wants to start with the academic year. If the course page isn’t in the top results right now, she’ll sign up wherever search takes her.

At the start the goal was course sign-ups from organic search. From late 2024 a second goal joined it, namely requests from companies for corporate training. The constraints were these:

  • the market is Ukrainian, so there are fewer searches than in English-language search, demand follows the academic year, and summer is a dead season for courses;
  • courses run in cohorts, so a page is relevant for a few months, and then the course may drop off the schedule.

What we did

From “course + city” to B2B pages and briefs built on the buyer persona

Three and a half years of work fall into seven stages.

March – June 2023

Groundwork without growth, as the “course + city” structure and the first briefs were done while traffic was still dipping

In short, at the start we gathered everything the client had, set a baseline, proposed a structure for “course + city” searches and began with the priority courses. What the stage produced was the groundwork.

An audit and a baseline

The client already had its own groundwork, and in that situation the costliest thing is to start from zero and repeat what’s already been done. So in the first week we took everything the client had, ran a technical audit and tracked how the client was closing its items. We also started rank tracking to have a baseline for each later comparison, and looked at how competitors build links, so we could come to the client with a proposal for paid placements and specific sites.

Pages for “course + city”

Picture a student in Kyiv searching for “курси python київ” before the academic year; for a search like that, the results show a page that answers exactly it (with the city in the name and content about studying in that city). So when the client asked “separate pages or one with a redirect”, we answered separate ones and proposed a “parent course page + city pages” scheme, templates for course, city and lecturer pages, and later an alternative geo structure that was simpler to develop. We took cities only where there were searches (Kubernetes with no cities, Data Science for Kyiv/online and Lviv, Kharkiv once the first two had proved themselves).

Courses competitors don’t offer

Getting into the top is easiest where there’s demand and few answers in the results, so we gathered directions with demand that competitors barely cover (Solidity, Kubernetes, Docker, Flutter, Kotlin and about ten more). We handed the list to the client to choose from, and put Solidity, which the team could teach, first in the queue of new courses.

Priority courses first

People sign up on a course page, and there’s only so much capacity, so rewriting every course at once won’t work, and the order matters. We wrote reoptimisation briefs following the list of priority courses.

A blog that leads to a course

Someone only just thinking about IT first searches for what job to do and what to learn for it, and a university article with a link to a course will bring some of those readers to sign up. Links from articles also show search which pages on the site matter most, and at the time there was no blog. So the decision was made to run one, and we drew up a content plan of 12 topics and the first three briefs.

What the client did. Closed technical audit items and implemented meta tags and URLs. We met every two weeks and decided to build 10 priority pages from our briefs.

Outcome. The Ahrefs estimate fell from ~550 to ~420 visits a month, by 23%, and no articles had come out yet. But we had already laid the groundwork for further growth, which got under way in the next stage.

July – November 2023

Traffic grew 2.6 times with the courses rewritten from briefs and the first placements, before the blog had caught up

In short, the client rewrote courses from our briefs, while we checked the texts, built keywords for new courses and started the first paid placements pointing to course pages. At the end of the stage the client moved to a new site, and we checked it.

Course texts before articles

Capacity for copy is always limited, so you have to choose what gets written first, and an article that leads to a course page that doesn’t answer the search won’t take the reader any further. So we set the article briefs aside for a while, and our time went into checking the course texts and how they were implemented (in editing it’s easy to lose a keyword from a heading or an FAQ block). The client chose the simpler option, meaning the city in the parent pages (“Kyiv / online” in the H1, title and description), and from then on we worked with that scheme. Articles came back into the plan at three briefs a month.

Keywords for new courses, based on real impressions

For a new format (say, a course combining JavaScript, React and TypeScript) there may be no established searches, so we launched new courses with the keywords we expected people to use and reoptimised them once real queries built up in Search Console, or tied the course to a level in the meta tags, as in “Middle .NET”. For the test automation course we kept “QA automation” out of the headings but added two FAQ questions with it, because the results for that search are almost entirely about QA automation, and without it the page got almost no impressions.

One topic, one page

On a course site, cannibalisation arises easily (a free meetup on a course’s topic, an intensive next to the regular course, a new version of a course at a new address). That’s why we checked the meetups the client used to build an audience separately, making sure a meetup linked to the course without taking its keyword. When Python Intensive started competing with the regular Python course, we advised a 301 from the regular course to Intensive plus internal links, and the client did it while Intensive was enrolling.

Paid placements for courses

A link to a specific course page helps that page in particular and works best once the page has been rewritten for the searches, so we planned placements from the moment the reoptimised courses went live. Almost all links pointed to courses. The Ukrainian segment has fewer sites than the English-language one, so we found them by hand, and each month we adjusted the plan to the courses that were enrolling groups at the time.

Checking the move

A move to a new site is the easiest way to lose traffic, so we checked the new site while it was still on the test server and found that the course and blog pages had no FAQ block, where we had placed some of the keywords. After the move we checked again, on the live site. The domain and URLs stayed the same, so by our assessment the move shouldn’t have touched the links’ weight. Technical duplicates, catalogue filter pages and speed were left for the next stage.

What the client did. Rewrote ~47 course texts from the briefs, plus URLs and meta tags on 16 courses; chose the scheme with the city in the parent pages. Launched 9 new courses and meetups, closed the regular Python course with a 301 to Intensive, and published the first article from our brief. Moved to a new site (new design, same domain and URLs).

Outcome. The Ahrefs estimate grew from ~420 to ~1,120 visits a month, 2.6 times over the stage and double the start.

December 2023 – March 2024

The move and a new direction

Technical loose ends after the move

After the move, a few technical details remained that hadn’t been visible on staging. We collected the current technical recommendations in one document so the client could gauge the scope of work for the developers. In parallel, we wrote reoptimisation briefs for five courses.

Courses competitors sell

At the start we looked for demand nobody was answering. The other side of the same question is demand that competitors answer and the university doesn’t. If a course brings a competitor traffic, the market has already tested the demand for it, so we looked at which courses bring competitors traffic according to Ahrefs and assessed demand and competition for each.

Learn On, a new section

Learn On is a programme for juniors who already work and want to grow, so it’s a different audience, searching for “javascript advanced курс” (advanced JavaScript course) where a beginner would type “javascript з нуля” (JavaScript from scratch). When the client opened the /learn-on/ section, we checked the new pages and advised a 301 from the old URL, the word “course” in the URL and separate copy for each course in the programme, so the Learn On pages wouldn’t duplicate one another.

What the client did. Removed the duplicates and filter pages. Implemented internal links from the blog to courses and the reoptimisation of 5 courses, published 13 articles from our briefs. Opened the Learn On section.

Outcome. Despite the difficult circumstances in the country, traffic held, and the courses kept filling up.

April – September 2024

Traffic doubled on new and reoptimised course and meetup pages

We advised showing dates and prices, built a reoptimisation queue for the new academic year’s cohorts and wrote articles around strong courses. Traffic doubled on the pages we worked on, and the earlier work played its part.

A queue for the new academic year

Demand for courses follows the academic year, and a page needs time for search to re-evaluate it after changes, so it’s prepared well ahead of enrolment at the start of the year. We set the order.

Articles around strong courses

The Data Science page already ranked 1–2 for most of its searches and had almost nowhere left to grow, while new people come in through adjacent searches (in Ukrainian, things like “Data Scientist or Data Analyst” and “Python interview questions”). So we wrote briefs for articles around the courses (databases, QA, the Python interview, Data Scientist or Data Analyst).

Learn On, the mid-level persona

A programme for juniors who want to become mid-level. When Learn On became a separate line of work, we prepared documents on the page’s structure and copy, a content plan for four articles and a “junior to mid-level” persona.

What the client did. Following our recommendations, published ~10 new pages and 9 reoptimised courses; on two courses replaced the sign-up form with online payment.

Outcome. The Ahrefs estimate grew to ~1,850 visits a month, more than 1.5 times. The pages we worked on moved (Data Science at 1–2 for most of its searches, Python Intensive with many keywords in the Top 3–5 after reoptimisation).

October 2024 – March 2025

The biggest gain of the project

The site started selling training for companies as well. We designed the B2B section from the competency map and separated beginner courses from Learn On. Traffic doubled.

Competency map first. Then the pages

Pages are worth building first where profit, demand and realistic competition in the results meet. So we started with the competency map and worked through it so that each direction got pages in Ukrainian and English, with competitors and an assessment of how reachable it was, and instructional design went first.

A B2B section next to the courses

A person looking for a course for themselves and a company looking for corporate training for its team come with different searches. We based the typical service page structure on English-language competitors, because their pages are fuller.

Learn On was coming back with JavaScript and C# courses, and next to them sat beginner courses in the same subjects, aimed at the same cluster. The client was reviving Learn On, so we advised closing the beginner courses with a noindex, follow directive and removing them from the sitemap, so the pages stayed on the site without competing with Learn On in the results.

What the client did. Added a B2B line to the site (until then it was B2C only), revived Learn On and closed the beginner courses with noindex. At the end of the stage published the first three B2B pages and put them in the “Для бізнесу” (For business) menu.

Outcome. The Ahrefs estimate grew from ~1,870 to ~3,770 visits a month, doubling.

April – November 2025

The project’s peak. Courses and articles carried the traffic, and B2B pages grew from a small base

The site moved to B2B, and we moved the B2B pages to /services/ and supported the redesign. In parallel we kept the URLs right, supported the service pages with articles and made B2B enquiries visible, and traffic reached the project’s peak.

The redesign and the move to /services/

Moving pages to a new folder is the same URL change, just for a whole section, and a redesign adds risks of its own (pages fall out of the menu, meta tags and markup get lost, links appear to addresses that no longer exist). For the move of the B2B pages we gave a 301 scheme for each service page, and after the redesign drew up a list of fixes and ran an audit (XML sitemap, links to redirected and deleted pages, meta tags, Core Web Vitals, English service pages missing from the menu). We kept the fixes in a queue and reshuffled it around what the client could do at the time.

What the client did. Focused the site on B2B, closed some courses, launched a redesign and a new site theme.

Outcome. The Ahrefs estimate grew from ~3,140 to ~5,360 visits a month, the project’s peak, up 71% over the stage and 9.8 times from the start. Courses and adjacent articles still carried the traffic, as did the B2B pages.

December 2025 – September 2026

Traffic fell from the peak, while we separated pages by cluster and prepared content for AI assistants

Separating pages by cluster

When the product line changes and new pages keep appearing, two pages easily end up on one cluster, and the one to keep is the page that already has rankings and traffic. We advised redirecting the new testing course page with a 301 to the one that already ranked in the Top 10 for many searches, and keeping the Python course at the URL with rankings and traffic; we separated three corporate training pages by cluster and redirected the article “корпоративне навчання в Україні” (corporate training in Ukraine) with a 301 to the service page. Each new service was set against its own query cluster.

Mentions on free sites

A brand mention on an authoritative site has value even without a clickable link. For the client’s press releases we picked free sites.

Content for AI assistants

Ever since AI chats (ChatGPT, Claude and others) came on the market, we also kept potential traffic from AI in focus. Each page brief accounted for how content is presented for AI; placements were also partly aimed at increasing visibility and traffic from LLMs.

What the client did. Moved the site to B2B with new services. Focused the “Для бізнесу” (For business) menu on corporate training, added a “Case studies” block to the corporate training page, and wrote at least 5 articles itself.

Outcome. The Ahrefs estimate fell from ~5,150 to ~3,680 visits a month, 31% below the peak, although rankings didn’t drop significantly. The case ends at ~550 → ~3,700 visits a month (Ahrefs estimate, 6.7 times) and 145 queries in the Top 3.

What was hard

Traffic grew while the site was changing its purpose

The site changed its audience halfway through

For two years the site was built for people buying a course for themselves, and from 2025 it also had to sell training to companies. The B2B pages moved to a separate /services/ section and got forms with analytics events, and we separated pages that were getting in each other’s way by cluster.

A lot of change at once

The client was rebuilding the site for B2B at the same time, so we put first the advice that could be implemented soonest, and bet on articles and internal links.

After

A site that both students and companies find

BeforeAfter
About 550 search visits a monthAbout 3,700 a month, with a peak of about 5,400 by the Ahrefs estimate
A site for selling courses to individualsCourses for individuals and B2B services for companies, in Ukrainian and English
No blog leading readers to coursesA blog whose articles lead to courses and services
Briefs with lists of keywords and topical termsBriefs built on the client’s buyer persona and tone of voice, checked by a GPT assistant

university.sigma.software/ — Avg. organic traffic

Ahrefs · 1 Mar 2023 – 30 Sep 2026

Mar 2023Sep 2023Mar 2024Sep 2024Mar 2025Sep 2025Mar 2026Sep 202601.5K3K4.5K6K

Organic traffic to university.sigma.software, Ahrefs estimate, March 2023 – September 2026. A slow start, growth from summer 2023, a dip after the move to a new site at the end of 2023, the biggest gain in winter 2024/25, a peak in November 2025 and a decline in spring 2026.

For courses the yardstick was sign-ups, for B2B — requests for a proposal from companies. We don’t publish clients’ enquiry figures.

Why it worked

Three things the result rested on

One page per cluster

Parent course pages got the city in the H1 and title, new directions and B2B services each got a page of their own, and we merged duplicates with redirects or separated them by cluster.

Flexibility and resourcefulness

When priorities and resources change, it’s very important not to just keep doing what was done before. You have to focus on what will give the biggest result with the inputs you have. That’s exactly what we did, and it worked.

A client who brought its own knowledge

The client brought its own knowledge and groundwork, and met with us every two weeks from the first month.

Takeaways

Three lessons for education projects

  • Understand your current capabilities and limits. Not every course can be built around existing traffic, and the reverse is also true. A course may not need creating if there’s no existing demand for it. That said, tools sometimes return inaccurate data, and if internal market research says the target audience needs a course, we build it.
  • The brief sets the structure, and the buyer persona sets the voice. Keywords and headings are for search, and the persona and tone of voice make the text clear to the person who buys.
  • B2B on a course site needs its own entrance. If services for companies sit next to courses for individuals, people will mix them up, so the services need separate navigation, separate forms and separate events in analytics.

Questions

What people ask about this case

Do you work with the Ukrainian market?

Yes. This project mostly targeted Ukrainian-language search, and the B2B pages also have English versions for companies in other countries.

Why did traffic drop after the peak?

It coincided with Google updates and the site’s shift in focus from courses to B2B, while rankings didn’t drop significantly.

Can these numbers be checked?

Yes, in Ahrefs for university.sigma.software, March 2023 – September 2026. Ahrefs estimates traffic from its own index and measures rankings directly.

How long does a new course page take to start bringing in sign-ups?

Three to six months from publication, and with an uncompetitive topic a month is sometimes enough. So it’s better to publish a course page well before enrolment opens and keep its URL unchanged.

How do you work on visibility in AI assistants’ answers?

The same way as with search. But you need to pay closer attention to form. Mentions of the company on authoritative industry sites matter too, meaning reviews of corporate training providers, expert commentary and case studies.

Got a similar challenge?

Let’s start with the competence map: a few hours of your team’s time, and it becomes clear where the budget should go first.

Get a proposal →Book a call