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
| Client | Sigma Software University, university.sigma.software |
| Niche | IT education: courses and meetups for individuals, corporate training for companies |
| Markets | Ukraine; B2B pages also target English-speaking markets |
| Services | SEO, site structure, content marketing, link building, analytics |
| Period | March 2023 – September 2026, 43 months |
| Status | completed in September 2026 |
| Team | one 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
| Before | After |
|---|---|
| About 550 search visits a month | About 3,700 a month, with a peak of about 5,400 by the Ahrefs estimate |
| A site for selling courses to individuals | Courses for individuals and B2B services for companies, in Ukrainian and English |
| No blog leading readers to courses | A blog whose articles lead to courses and services |
| Briefs with lists of keywords and topical terms | Briefs 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
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.


