Live site: https://kzncleaning.ru
Native WordPress block/FSE site for cleaning, furniture dry-cleaning, and washing-vacuum rental services in Kazan.
- Built as a native Full Site Editing theme: templates, template parts, patterns,
theme.json, and minimal runtime PHP. - Responsive landing pages for three service directions: cleaning, furniture dry cleaning, and equipment rental.
- Reusable Gutenberg patterns keep content editable for non-technical maintainers.
- Local Docker Compose stack mirrors a standard WordPress + MariaDB environment for quick review.
- Deployment and client handoff docs cover backups, editor workflows, and production verification.
.
├── docker-compose.yml # Local WordPress + MariaDB + phpMyAdmin stack
├── DEPLOYMENT.md # Production rollout and verification runbook
├── CLIENT_HANDOFF.md # Client access, editing, and maintenance guide
└── wp-content/themes/vacuum-rent-landing/
├── assets/ # Runtime CSS, JS, and theme images
├── parts/ # Block template parts: header/footer
├── patterns/ # Reusable Gutenberg patterns
├── templates/ # FSE templates
├── tools/ # One-time seed/migration helpers, not runtime code
├── functions.php # Theme setup, pattern registration, assets, render filters
├── style.css # WordPress theme metadata
└── theme.json # Design system and block settings
cp .env.example .env
docker compose up -d- WordPress: http://localhost:8080
- phpMyAdmin: http://localhost:8081
The custom theme is bind-mounted from wp-content/themes/vacuum-rent-landing.
Use .env to adjust local ports or database credentials without editing tracked Compose files.
After the first WordPress install, activate kzncleaning.ru Landing under Appearance → Themes.
docker compose config # validate local Compose settings
docker compose up -d # start WordPress, MariaDB, and phpMyAdmin
docker compose down # stop the local stack- Full Site Editing templates for front page, standard pages, posts, archives, and 404 states.
- Shared header/footer parts with a focused service navigation structure.
- Design tokens in
theme.jsonfor colors, typography, layout widths, borders, and block defaults. - Lightweight CSS/JS enhancements for scroll reveal, card interactions, contextual CTAs, and mobile polish.
- Guarded render filters for legacy content normalization and safe external Avito links.
- Confirm desktop and mobile layouts for the home page and service pages.
- Check header navigation, sticky mobile CTA, phone links, and Avito links.
- Verify keyboard focus states and service-card keyboard activation.
- Review browser console and network panel for missing assets or mixed-content warnings.
- Run
docker compose configafter editing local environment variables.
The public site is connected to the domain:
https://kzncleaning.ru/
The domain resolves to 164.68.119.6. Production theme/database updates require authorized WordPress admin, SFTP, or VPS/SSH access. See DEPLOYMENT.md.
- Runtime theme files live under
wp-content/themes/vacuum-rent-landing. tools/contains one-time maintenance helpers. Do not execute historical seed scripts on production unless intentionally reseeding content. If production persisted content is stale, use the guarded migration procedure inDEPLOYMENT.md.- Local QA artifacts, original source images, and internal notes were removed from the handoff package.
- A production backup and migration must include the WordPress database and
wp-content/uploads/; the configured favicon and Site Editor media references depend on uploads. - Use
CLIENT_HANDOFF.mdfor secure credential handoff, WordPress edit paths, backups, widgets, and automation options.