Sooner or later, the owner of a Ukrainian store asks themselves whether to keep a Russian version of the site. Until now there was nothing to compare against: our earlier write-ups dealt with specific mistakes in language markup, but we never counted how many sites declare that version at all.
On 7 and 8 August 2026 we externally measured Ukrainian websites in 19 niches, from restaurants and beauty salons to optics, footwear and power tool stores. Among other things, we recorded which languages the homepage declares in the hreflang attribute, and we parsed the sitemap. For this article we recounted the same raw records around a single question: how many sites declare a Russian version, and what it does to the sitemap.
Where the denominator of 97 comes from
102 sites responded. Five of them served our script not the homepage but a page with no title, no language in the markup, no structured data and no counters. For such sites we cannot say they have no hreflang — we simply did not see it. So for the language question we count the 97 homepages we actually read.
What the numbers showed
The Russian language code is present in hreflang on 60 of 97 homepages. The hreflang attribute was found at all on 66 of them, and only six of those had no Russian. In other words, if a site in the sample had language markup at all, Russian was almost always in it.
Among stores — that is seven niches: stationery, power tools, optics, household chemicals, textiles, jewelry, footwear — Russian is declared on 24 of 34 homepages we read.
The spread across niches is sharp:
- footwear — 5 of 5
- building materials — 6 of 6
- optics — 5 of 7
- construction companies — 5 of 8
- household chemicals — 4 of 6
- furniture, healthcare, legal services, stationery — 3 of 4 each
- fitness, car repair, textiles — 3 of 5 each
- education, tourism — 3 of 6 each
- jewelry — 2 of 3
- beauty salons, power tools, real estate — 2 of 4 each
- restaurants — 0 of 7
Restaurants are the only niche here where not a single site had Russian in its markup. There are two niches where it is present on every site: footwear and building materials. Each niche has between 3 and 8 sites, so these rows describe specific sites as of the measurement date, not the niche.
Which codes mark it
Codes across all 102 records (the five unread ones have no codes, so the result is the same as on 97):
ru— 38 sitesru-ua— 20ru-ru— 3ru-gb,ru-kz,ru-uz— one each
The last three are not a mistake: they are declared by two sites that have versions for several countries, and the regional codes match those countries.
Something else is more interesting. ru-ru in hreflang means “Russian language for people in Russia.” Three sites on .ua domains marked their Russian version exactly this way, and their markup has no other Russian version, for Ukraine. Why this is the wrong code and which one is right, we already covered in the article on five ways to break language versions, so we won’t repeat it here.
And one more finding that was not in that write-up. On 4 of 66 sites with hreflang, the Ukrainian version is marked only with the code ua or ua-ua. Three of them declare Russian alongside it. Google accepts a language code from the ISO 639-1 list in hreflang, and ua is not on it: it is a country code, while Ukrainian is marked uk. These three sites declared their Russian version in a way the search engine understands, but not their Ukrainian one.
What a language version does to the sitemap
The second half of the measurement is the sitemap. We read the sitemap to the end on 85 of 102 sites. On the rest, the sitemap was either not found or turned out to be longer than the limit at which our script stopped.
In 32 of 85 sitemaps, a single language branch under a prefix — /ru/, /ua/ or /uk/ — takes up 45 to 55% of all URLs. Usually the other half is the main language without a prefix. One of these 32 sitemaps consists of only two URLs, so this share says nothing about it.
In stores the picture is even more even. Of 31 stores with a fully read sitemap, 19 have this “half and half” split. The /ru/ branch made it into the largest sitemap sections in 14 stores, and in 12 of them it takes up 49.8 to 50.2% of URLs. In the other two it is 46.5% and 32%.
This is not a defect. On the contrary, if the sitemap had only one language, that would be a mistake from our earlier write-ups. The figure shows the mechanical cost of a language version: every catalog page exists twice, and to crawl the site fully a bot has to request twice as many URLs. Every thousand products adds another thousand URLs that the bot has to recrawl from time to time. How crawling gets spent in practice and what eats it up, we showed on our own site.
Why this usually goes unnoticed
The owner sees the Russian version as a switcher in the header. The fact that behind the switcher sits a second copy of the entire catalog is not shown anywhere in day-to-day work: the admin panel usually counts products, not URLs. Few people open the sitemap, where this copy is visible right away. And mistakes like ua instead of uk produce no symptoms at all: the site works, the switcher switches, the browser console is silent.
How to check your own site in 10–15 minutes
- Which languages the homepage declares:
curl -s https://your-site.ua/ | grep -io 'hreflang="[^"]*"' | sort -u
Codes. Ukrainian should be
ukoruk-UA. If you seeuaorua-UA, the Ukrainian version is not declared for the search engine. For a Russian version aimed at Ukraine, the region codeRUis not appropriate.How many URLs are in each language branch. For a regular sitemap:
curl -s https://your-site.ua/sitemap.xml | grep -o '<loc>[^<]*' > locs.txt
wc -l < locs.txt
grep -c '/ru/' locs.txt
If the sitemap is an index linking to other files, go through each nested file the same way. If the second language takes up roughly half, that is expected. If it is not there at all even though the site has that version, check the sitemap generator.
Whether anyone reads this version. In Search Console, open the “Search results” report, add a page filter “URL contains
/ru/” (or the prefix of your second language), and compare impressions and clicks with the whole site over the last three months.Whether the version is complete. Open a few pages in the second language and follow the links. If everything from it leads to the main language, that is a separate problem, covered here.
Only the fourth step gets you closer to answering “keep it or not.” The rest shows whether the version works as intended at all.
What this measurement does not tell you
It does not tell you whether to keep a Russian version. We have no traffic data for other people’s sites, and the conclusion “60 of 97 keep one, so you should too” would be a substitution: the measurement shows what sites do, not what it gives them.
It looked only at the homepage. A site that has a Russian version but does not declare hreflang did not make it into the 60, so the real number may be higher. The reverse is also possible: we did not check whether a Russian page actually opens at the declared URL.
The sample is 97 sites in 19 niches, 3 to 8 per niche. This is not “the Ukrainian market” but the sites we selected for the measurement. We do not touch on the legal questions of language legislation here: that requires a primary source, not a technical measurement.
If you have a second language version and want search to see it, start with the five steps above. What to do next is described on the page about language versions and hreflang.




