MANTRA: three fast sites for individual residential developments instead of one heavy Tilda site

Client
MANTRA interior design studio
Year
2026
What we did
ProcessWire websites, Migration from Tilda, WordPress, Bitrix, Audit: SEO, speed, security, Support, servers, backups
Stack
ProcessWire, Static cache, Custom modules, PHP, Vanilla JS, MariaDB, Apache
Website
republic-remont.ru

Three light sites for individual residential developments instead of one heavy one on Tilda: the home page HTML is 45 times smaller, and all three are built from one source.

28KB
was 1,270 KB
home page HTML
mantra-design.ru on Tilda against republic-remont.ru, 11 September 2026
B
11
was 73
requests to load the home page
republic-remont.ru; Opus and Voxhall make 28 and 29. Tilda pulls files from ten domains, our sites only from their own
B
3
sites from one source
Republic, Opus and Voxhall: a change in mantra-kit reaches all three at once
B
MANTRA: sites for residential developmentsMANTRA: sites for residential developments

The task

MANTRA is a Moscow interior design studio. Its main site, mantra-design.ru, is built on Tilda and talks about everything at once: portfolio, services, prices, team. The home page’s HTML alone weighs 1.3 MB, and the page pulls in 73 files from ten domains.

But the studio’s clients often search not for “interior design” in general but for a renovation in a particular building — “apartment design in the Opus residential development”. A general site answers such a query badly: it is not about that building, and it is heavy. The task was SEO: for every residential development where the studio works, a separate small site, entirely about that building and as fast as possible.

Republic — the first site of the family

republic-remont.ru: apartment layouts, projects in this building, the stages of work and a request form — all about one residential developmentrepublic-remont.ru: apartment layouts, projects in this building, the stages of work and a request form — all about one residential development
republic-remont.ru: apartment layouts, projects in this building, the stages of work and a request form — all about one residential development

One source — many sites

The sites are alike, but their content is unique. Templates, styles, scripts, fonts and the API live in a separate repository, mantra-kit. Each site is a standalone ProcessWire install with its own database, but all it has of its own is configuration, brand colours, logos and content. Everything else is linked in from the kit.

Linked as directories. Nine kit directories are mounted into a site as NTFS junctions. The files ProcessWire opens by exact path — init.php, ready.php and others — are stubs that load their body from the kit; .htaccess and the build files are copied and compared on every run. The linking script can be run any number of times: it leaves alone whatever is already linked correctly, saves the old version to a backup, and refuses to replace a directory with uncommitted changes.

A new residential development is a copy and content. Each section of the home page checks whether the site has content for it and silently skips the empty ones. So the same template works on a site with six sections and on one with nine.

How a site links to the kit

# link a site to the kit: once; running it again breaks nothing
.\kit-link.ps1 -Sites voxhall-design.osp

# junction: site directory         → mantra-kit directory
#   webroot\site\templates         → templates\
#   webroot\site\shared            → site-shared\
#   webroot\site\assets\fonts      → fonts\
#   webroot\api                    → api\
#   frontend\src\js, src\svg, src\css\_core …

# the site’s own: site\config.php, frontend\src\css\_site\ (brand colours),
#                 site\assets\svg\logo-*.svg and the content in the database

A change in the kit shows up at once on every linked site — so commits to it need care.

Speed

Light by design. No site builder and no third-party CDNs: every file of the home page loads from the site’s own domain — 11 to 29 requests against 73 on the main site, and the HTML weighs 28–31 KB instead of 1.3 MB.

The new kit build. CSS, JS and the SVG sprite are built in one pass; the file name carries a hash of the content, so the browser caches it for a year and never gets a stale version, and nothing is compiled on a visitor’s request. The fonts are cut down to Latin and Cyrillic and converted to woff2: from 387 KB to 114. The first-screen image is served as AVIF or WebP. opus-design.ru was the first to move to the new build.

Our own modules. The StaticPages static cache serves ready-made HTML without starting PHP or the database, and the OutputTransformer typographer sets the quotes and non-breaking spaces. Both are our ProcessWire modules, and they are linked into the sites the same way as the kit: a fix in a module reaches every site at once.