Blog Sections Open

Planning a City Selector Without Using Subdomains

If city-specific content must live under one domain instead of subdomains, treat the region as a first-class routing and content dimension from the start.

This donor topic asked about city selection on paths like site.ru/moscow/ rather than on subdomains. That is a common requirement for service businesses and local branches.

What Needs to Be Decided Early

  • Is the city stored in the URL, in session state, or both?
  • Do documents belong to one city or to multiple cities?
  • Are templates shared while only data varies, or do some cities need separate landing pages?

Practical Model

The safest long-term structure is to make the city visible in the URL and use it to drive content filtering, menus, local contacts, and SEO metadata. Hidden session-only switching is easier to start, but much harder to scale and index cleanly.

For older Evolution CMS projects, multilingual and multisite patterns were often reused as a starting point. That remains a good idea: city switching is not identical to language switching, but the routing discipline is similar.

Newer post

Handling Variant Stock in Shopkeeper with Flexible TVs

How to model size or variant availability in Shopkeeper when total product stock is not enough for real purchasing rules.

Older post

Using IF to Output Placeholders in Evolution CMS

Understand how IF interacts with placeholders from snippets such as Ditto and form workflows in Evolution CMS.