Skip to content
Ricklayer
RUEN
← All work

03 · EloStore ecosystem

https://

Storefront network

elostore.pro and gtastore.pro

One codebase serves three storefronts: roubles, dollars and GTA. Each has its own currency, prices, payments, admin and SEO, and their data never mixes. Sitemaps list 112 URLs, the English keyword core holds 2,034 queries.

How the network grew

It started as one Russian shop. In one week of July it became a platform: language by domain, a storefront registry, a panel for each, the launch of elostore.pro and a third storefront, gtastore.pro.

Dates from the project's commits

01 / 06One shopSince May 2026 elostore.ru is rebuilt from scratch on a new platform. Roubles, Russian support, one panel for everything.

elostore.ru

live

RU₽rouble gatewaycrypto

57 URLs in the sitemap · Yandex and Google

Panel

one for all data

elostore.pro

hidden from search

EN$cryptocard

45 URLs in the sitemap · Google

Panel

one for all data

gtastore.pro

hidden from search

EN$GTA 6 waitlist

10 URLs in the sitemap · Google

Panel

one for all data

elostore.ru code

domainslanguagecurrencypaymentssectionsone shared booster team

A panel for every storefront

The panel code is shared, but the domain picks the storefront, not a toggle someone will forget to flip one day. The menu is built from the registry: what a storefront lacks, its panel lacks too.

Sections and their sets are real, order rows are examples

01 / 03elostore.ru panelEvery mechanic of the Russian storefront: 26 sections, amounts in roubles.
EloStore (RU)the domain picks the storefront

Panel menu

  • MainOverviewWaitlist
  • SalesApplicationssharedOrdersDemo reviews
  • EsportsTournamentsBroadcastTeammates
  • MarketingGiveawaysBlogReviewsFunnel
  • PeopleClientsUsersBoosterssharedPartners
  • MessagesChatsSite chatOrder channelSupport
  • MoneyFinancePayoutssharedPromo codesSurchargesshared
  • SystemSecuritysharedAudit logsharedMonitoringshared

shared: one per brand: the booster team is shared

Orders

  • #4821FACEIT 1,450 → 2,000 ELO4,190 ₽
  • #4820Premier 12,000 → 15,0003,350 ₽
  • #4818FACEIT level 7 → 105,870 ₽
  • #4817Premier placement1,490 ₽

Orders from elostore.pro and gtastore.pro never show up here

SEO from absolute zero

Every storefront has its own keywords, landing pages and sitemap: 4,189 Russian queries and 2,034 English ones. After that a nightly pipeline pushes changes to search engines on its own.

Yandex Webmaster and Search Console data, review of 14.09.2026

01 / 05Keywords from scratchQueries collected for two search engines: Russian ones for Yandex and Google, English ones for Google. Every query has an intent and a target page.
RU · Yandex and Google

4,189

queries

  • буст cs2buy
  • буст эло фейситbuy
  • калибровка premier cs2buy
  • сколько стоит буст фейситlearn
  • как поднять рейтинг в cs2learn
EN · Google

2,034

queries

  • faceit boostbuy
  • faceit level 10 boostbuy
  • cs2 premier boostbuy
  • faceit levels elolearn
  • is boosting safelearn

1,588 commercial · 440 informational · 6 branded

All results on the SEO page →

The task

The Russian storefront was working, the next step was the western market in dollars and the neighbouring GTA market.

The task: not to copy the project but to teach one codebase to be several shops without mixing their data.

In one week of July a single shop became three: storefront and language by domain, a registry of differences, a panel of its own for each. After that every storefront got its own copy, its own keywords and its own sitemap.

Slice by layer

Interfacethe pixel
Two storefronts with different language and price display, a GTA 6 / CS2 store switcher
Logicmoney and rules
A storefront registry with feature flags, a separate price ladder for the west, payment providers per storefront
Dataschema and migrations
Orders, reviews and settings scoped by storefront, each admin sees only its own
Serverdeploy and operations
Storefront resolved by Host, the gtastore landing built by scripts with hashed assets
Securitythe kernel
Scope comes from the domain, not a UI toggle, Consent Mode v2 denied by default

Storefront registry

All storefront differences are declared in one registry instead of being scattered through the code as conditions.

  1. 01A storefront: domains, locale, currency, payment providers, analytics, feature flags: promo codes, giveaways, tournaments, blog, demos, skins
  2. 02The storefront is resolved by Host, each admin lives on its own subdomain and sees only its data
  3. 03Scope comes from the domain, not a toggle: someone will forget to flip a toggle one day and delete someone else's order

Pricing for the western market

The dollar storefront got its own economics rather than a currency conversion.

  1. 01A separate rate ladder: the western market has its own price level, converting would give away margin
  2. 02Dollar amounts are integers rounded up, otherwise cents get lost between invoice and order
  3. 03Payments per storefront: on .pro a card via lava.top or crypto via NOWPayments

gtastore.pro

A third storefront for GTA Online with a GTA 6 waitlist: a static landing, while sign-in, dashboard and booster applications run on the shared platform with their own admin.

  1. 01Plain HTML without a framework, built by scripts: hashed asset names, generated blog and documents
  2. 02JSON-LD Organization and WebSite, Consent Mode v2 denied by default: a western audience, the way it must be in the EEA
  3. 03A store switcher in the header links GTA and CS2

Result

The home page weighs about 95 KB of HTML.

Admin panels

Every storefront has its own panel on its own subdomain. The code is shared, the data and the menu are not.

  1. 01The domain decides the panel's storefront: the choice is not kept in a state someone can forget to switch
  2. 02The menu is built from the registry: 26 sections on the Russian storefront, 23 on the English one, 19 on GTA, a closed section does not open by direct link either
  3. 03Brand-wide sections are marked: applications, boosters, payouts, surcharges, security, audit log and monitoring
  4. 04An account lives on its storefront: the same email on .ru and .pro means two different accounts

Result

A new storefront is one registry entry, and the compiler shows where its behaviour is still undefined.

English, not a word-for-word copy

The English storefront was written for a western client rather than translated line by line.

  1. 01Titles, the first screen and FAQ questions are written separately for Google and a western audience
  2. 02Prices follow a ladder of the western market instead of converting roubles at the exchange rate
  3. 03Orders from .pro go only to English-speaking boosters, options without English-speaking people are off there
  4. 04Reviews appear in the author's language and translated into the storefront's language
  5. 05A browser checks live pages and catches any Russian line on the English storefront

Result

A third of the English sitemap was in Russian, 15 URLs of 42. Now Russian pages return 404 on .pro.

SEO from absolute zero

Every storefront has its own keywords, landing pages and sitemap, watched over by a nightly pipeline.

  1. 01The core: 4,189 Russian queries for Yandex and Google and 2,034 English ones for Google, each query mapped to a target page
  2. 02Markup for the product, price, rating from reviews, questions and breadcrumbs, the snippet price comes from the live grid
  3. 03Each domain has its own sitemap, edit dates from commits, hreflang only on pages with a pair
  4. 04Every night: an audit of live pages on three storefronts, IndexNow, a Webmaster recrawl, sitemaps to Search Console
  5. 05Paused sections leave the sitemap and return 404, so search never leads to something taken off sale

Result

Yandex impressions grew 13 times: from ~2 to ~27 thousand a week over July and August.

Stories from production

Incident 01 · open

Google zeroed out .pro impressions

From 23.08 elostore.pro impressions in Google dropped and stayed at zero from 29.08. Indexing, robots and canonicals were fine.

Incident 02 · open

Knowledge outside anyone's head

A second brand had to be launched by another team without reinventing the architecture or getting merged with the first one in search.

Stack

Next.js 15 · Host-based storefronts · NOWPayments · HTML · Python build · JSON-LD · IndexNow · Search Console · Playwright · Consent Mode v2 · GA4