No reviews found

IP5 Agency — Geo Pages: module for CS-Cart and MultiVendor
The module is available in 8 languages: Russian, English, Deutsch, Français, Español, Português, Italiano, Ukrainian.
If you promote an online store across multiple cities — this module does all the SEO work for you. It automatically generates separate pages for each city for every category and product, inserts the city name into all the required fields with correct grammatical forms, and detects the visitor's city by IP address. No manual work, no duplicates — just clean geo-pages that rank in search.
How the module works
The module creates separate SEO pages for each city. The principle is simple: a city segment is added to the regular URL.
For example: example.com/electronics/ becomes example.com/moscow/electronics/ and example.com/spb/electronics/
Search engines rank such pages significantly higher than a single page listing multiple cities in meta tags. Each geo-page is a standalone landing page for a specific query like "buy smartphone in Moscow".
The module is built around two key concepts:
- Location — a city or region with its SEO name and 7 grammatical forms of the name
- Template — a substitution rule: how exactly the city name is inserted into the title, description, and other SEO fields of the page
First create locations, then set up templates, then connect everything to the required categories and products.
1. Location management
Go to Add-ons → IP5 Agency — Geo Pages → Open → Locations management (Website / SEO / IP5 Agency — Geo Pages)
The page displays a list of all created locations. Click + in the top right corner to add a new one.
The order of cities in the list and in the city selection block on the website is managed via drag & drop — drag a location to the desired position. This lets you show the most important city for your business first in the city selection popup. There is also a button "Sort alphabetically" for automatic sorting of the entire list. You can set a default location — it will be marked with a star and will be used on links that do not contain a location.

Fig. 1 — Location list and add button
Fill in the location creation form:
- Location name — the display name, for example "Moscow"
- SEO name — the URL segment, Latin characters only, for example moscow or spb. This value will appear in the page address
- Status — Active / Disabled
- 7 grammatical forms — optional. Useful for SEO texts: "buy in Moscow", "delivery across Moscow", "products from Moscow". If left empty — the Location name value will be used in all placeholders
- Phone 1 / Phone 2 — contact numbers for this city
- Company address — physical office address in the city
- Company email — email for this city
- Map — coordinates or link for embedding a map
All these fields — SEO name, phones, address, email and map — are available via Smarty variables on any page of the website: in the header, footer, or delivery page. See the "Smarty variables in content" section for details.

Fig. 2 — Location creation form with declension fields and contact data
Exclude location from product URLs — if you do not plan to promote individual product pages for this location (for example, your SEO strategy is focused only on the category level), enable this checkbox. The buyer will land on the product page with the default location, regardless of the selected city. This eliminates duplication of product pages across cities where it is not needed.
2. Template management
Go to Add-ons → IP5 Agency — Geo Pages → Open → Templates management (Website / SEO / IP5 Agency — Geo Pages)
A template defines how the city name is inserted into the SEO fields of the page: title, description, H1, meta tags. One template can be applied to any number of categories and products.

Fig. 3 — Template list for geo-pages
Open the IP5: Demo Template to see an example:

Fig. 4 — Editing the IP5: Demo Template
Templates use placeholders — special variables that are automatically replaced with the required values when a geo-page is generated:
| Placeholder | What is substituted | Example (Moscow) |
|---|---|---|
| {original_value} | Original value of the category / product field | Smartphones |
| {location} | Location name (nominative) | Moscow |
| {location_form_2} | Genitive case | Moscow's |
| {location_form_3} | Dative case | to Moscow |
| {location_form_4} | Accusative case | Moscow |
| {location_form_5} | Instrumental case | with Moscow |
| {location_form_6} | Prepositional case | in Moscow |
| {location_form_7} | "From" form | from Moscow |
Example: an H1 template "{original_value} in {location_form_6} — buy with delivery" for the category "Smartphones" and location "Moscow" produces: "Smartphones in Moscow — buy with delivery".

Fig. 4.1 — Variable usage example

Fig. 4.2 — Product on the category page
3. General settings
Go to Add-ons → IP5 Agency — Geo Pages → Open → General settings (Website / SEO / IP5 Agency — Geo Pages)
This is where default templates and global module parameters are configured. Two especially powerful tools — bulk application of a template to all categories and to all products at once:
- Default template — will be applied to all categories that do not have a template set individually
- Template for the home page — a separate template for the geo-version of the home page
- Template for all categories — select a template and it will be immediately applied to all categories for all locations (existing records will be updated). Selecting a dash will delete all category settings
- Template for all products — select a template and it will be immediately applied to all products for all locations (existing records will be updated). Selecting a dash will delete all product settings
This is convenient for a quick start: select the required template — the module will update all records automatically. Individual categories and products can be assigned a different template afterwards.

Fig. 4.3 — General module settings
The general settings also include canonical link parameters. For correct operation with search engines it is important to set canonical for geo-URLs. Without this, a search engine may treat example.com/moscow/electronics/ and example.com/electronics/ as duplicate pages. The settings provide flexible canonical management options for each group of pages: products, categories, home page.
If a user or bot lands on a URL with two locations in a row (for example domain.com/simferopol/yalta/) — that page automatically returns a 404 status. This prevents technical URLs from being indexed by search engines.
4. Smarty variables in content
All grammatical forms of the location and contact fields are available directly inside any Smarty template, category description, product description, text block, or any other content on the website.
Inside any description or text block you can write a placeholder in square brackets — the module's special class will automatically replace it with the correct form of the current city name. For example, add the following to a product name or description:
Beige sofa in [location_form_6]
On the geo-page for Simferopol the user will see: "Beige sofa in Simferopol", and on the Moscow page: "Beige sofa in Moscow" — with no additional configuration required. This works in product names, category descriptions, text blocks, and any Smarty content on the website.
All contact data set in the location are also available in templates via variables:
| Variable | Data |
|---|---|
| {$location_seo_name} | Location SEO name (URL segment) |
| {$location_name} | Location name |
| {$location_phone_1} | Phone 1 |
| {$location_phone_2} | Phone 2 |
| {$location_company_address} | Company address |
| {$location_company_email} | Company email |
| {$location_map} | Map / coordinates |
| {$location_form_2} … {$location_form_7} | Grammatical forms |
5. Connecting to categories
After creating locations and templates — connect geo-pages to the required categories. Open any category in the admin panel, scroll down and find the new IP5 Agency — Geo Pages tab.
- Click Enable — this activates geo-pages for this category across all locations
- Select a template — for example IP5: Demo Template. A separate template can be set for each category
- No indexing — enable this if you want to hide geo-pages for this category from search engines (noindex)
- Canonical ID — specify the canonical location if you need to avoid content duplication
- Preview — immediately check how the geo-page looks on the frontend without leaving the admin panel
To assign one template to all categories at once — use "Template for all categories" in General settings. This is much faster than configuring each category individually.

Fig. 5 — IP5 Agency — Geo Pages tab on the category page
After saving, the category pages will have geo-versions for each active location:

Fig. 5.1 — Final view of the category geo-page on the website
6. Connecting to products
Geo-pages can be connected not only to categories but also to individual products. The product editing page has an IP5 Agency — Geo Pages tab with the same settings: enable, template selection, noindex and canonical ID.
To assign one template to all products at once — use "Template for all products" in General settings.

Fig. 6 — IP5 Agency — Geo Pages tab on the product page
By default, products inherit the geo-URL of their category. But if your SEO strategy focuses only on the category level — duplicating product pages across cities is undesirable. The "Exclude location from product URLs" setting in the location card allows you to disable this: the buyer will land on the product page with the default location, regardless of the selected city.

Fig. 7 — "Exclude location from product URLs" setting
7. City selection block on the frontend
To let visitors choose their city — add the block to the page layout. Go to Website → Themes → Layouts, open the "Default" layout and add the IP5 Agency — Geo Pages block to the required section (usually the header).
In the block settings select the display template — "Column" is used by default:

Fig. 8 — Block display template
On the frontend the block shows the current city of the user. Clicking it opens a popup with a list of all available active locations in the order you set — configure it via drag & drop in the location management section. The module also automatically detects the visitor's city by IP address on the first visit and redirects to the URL with the corresponding location.

Fig. 9 — City selection popup

Fig. 10 — Final view of the website with the selected city in the header
8. Crawl budget SEO optimization
With a large number of cities and categories the geo-module can generate hundreds of thousands of URLs — many of which are technically useless for SEO. The module includes optimizations so that the crawl budget is spent only on genuinely useful pages.
Sorting links replaced with JavaScript. Sorting parameters (by price, by date, alphabetically, etc.) previously generated a separate URL for each geo-page. Seven sorting options × all cities × all categories produced a huge number of duplicates in the index. Sorting now works via JavaScript without changing the URL — search engines do not see these pages, while users get the same functionality.
Product variation links replaced with JavaScript. Product variations (color, size, etc.) used to create separate geo-URLs for each variation of each product in each city. These links have been replaced with JavaScript switchers — the behavior for the user has not changed, but duplicate variation pages are no longer indexed.
Result: the crawl budget is spent only on genuinely useful URLs. Search robots crawl the pages that actually matter for rankings — categories and products with unique geo-content.
- Store Builder
- Store Builder Plus
- Store Builder Ultimate
- Multi-Vendor
- Multi-Vendor Plus
- Multi-Vendor Ultimate
- 4.20.1
- 4.19.1.SP2
- 4.19.1.SP1
- 4.19.1
- 4.18.4
- 4.18.3
- 4.18.2.SP1
- 4.18.2
- 4.18.1.SP1
- 4.18.1
- 4.17.2.SP3
- 4.17.2.SP2
- 4.17.2.SP1
- 4.17.2
- 4.17.1
- 4.16.2
- 4.16.1
- 4.15.2
- 4.15.1.SP4
- 4.15.1.SP3
- 4.15.1.SP2
- 4.15.1.SP1
- 4.15.1
- English
- Dansk
- Français
- Italiano
- Polska
- Română
- Украинский
- Русский
We specialize in developing online stores and implementing comprehensive solutions on the CS-Cart CMS platform.
If you are a manufacturing company or already have a finished product and need a platform to sell it, order the development of an online store based on CS-Cart. Your own e-commerce platform costs much less than opening even the smallest physical retail outlet, while the profit from an online store can be many times higher.
An online store created by our team will allow you not only to sell successfully, but also to analyze all processes — from the first visit to order placement and subsequent repeat purchases. Thanks to our experience, we will configure your online store in such a way that you can sell only products that are truly in demand among your customers and generate solid profits.
In addition to development and custom module creation for CS-Cart, we also provide ongoing support for your online store. We guarantee stable and reliable operation of your project — we are focused on long-term cooperation and mutual benefit.
Similar products
- Makes your store faster.
- Improves the SEO ranking of the site.
- Increases conversion.
Optimize and convert to WebP all the images on the site



