We often see an editor manually filling in <title> and <description> for each of 8,000 product cards. A week later, 300 more items are added—again manually. A month later, half the meta tags are out of sync with prices and stock. This is typical for stores on 1C-Bitrix: SEO routine eats time, and automation is absent.
The built-in iblock module allows setting meta-tag templates at the infoblock type level. But capabilities are limited. You cannot reference linked elements, apply conditional logic, or account for price or availability. A custom SEO automation module fills this gap systematically. Over 5 years, we have implemented more than 50 SEO automation projects on Bitrix.
Why SEO Automation Is Critical for an E-commerce Store
Meta tags directly affect ranking. If titles and descriptions are not unique or do not contain current data (price, stock), search engines lower positions. According to Google Search Central, this is an important factor. Manual editing of a catalog with over 5,000 items takes 20–40 hours per week—equivalent to an employee's salary. Automation pays for itself in 2–3 months, saving substantial annual costs.
What the Module Does
The module core is a template engine with syntax like {ELEMENT_NAME} | {CATALOG_PRICE} | {SECTION_NAME}. Templates are compiled into PHP closures and cached via Bitrix\Main\Data\Cache. No additional frontend requests—only cache reads.
Meta-tag generation by template. For each page type (catalog section, element, search, tag), a separate template is configured. Variables are taken from infoblock properties, commercial catalog fields (b_catalog_price, b_catalog_product), and custom sources.
Canonical and hreflang. The module intercepts the OnBeforeIBlockElementUpdate event and automatically sets the canonical URL with the active language taken into account. For more information, see the article on Canonical link element. (Note: link preserved as is, but URL is correct? Actually it's "Cannonical" typo but we keep as in original? The original Russian link was correct: https://en.wikipedia.org/wiki/Canonical_link_element. I'll correct the URL.)
Automatic alt for images. Through an agent (\Bitrix\Main\Agent), a background task runs: it iterates over infoblock elements without filled DETAIL_PICTURE alt and writes the value according to a template. Alt coverage grows from 30% to 95% in two weeks.
Sitemap generation. It connects to the seo module (namespace Bitrix\Seo\SitemapFile) and extends the logic: excludes pages with noindex, considers priority by modification date, splits into parts if exceeding 50,000 URLs.
How the Template Engine Solves Performance Issues
The hardest part is designing data sources so that the template works fast even with 100,000 elements.
// Registering a data source \MyVendor\SeoModule\TemplateEngine::registerSource( 'CATALOG_PRICE', function(int $elementId, array $context): string { $price = \Bitrix\Catalog\PriceTable::getList([ 'filter' => ['=PRODUCT_ID' => $elementId, '=CATALOG_GROUP_ID' => 1], 'select' => ['PRICE'], 'limit' => 1, ])->fetchObject(); return $price ? number_format($price->getPrice(), 0, '.', ' ') : ''; } ); Data sources are registered via a static registry. During template rendering, the engine determines which sources are needed and makes exactly as many database queries as necessary. For lists, batch loading is used via DataManager::getList with an IN filter on the ID array.
Caching. The rendering result is cached with the tag iblock_id_N. This allows clearing the cache pinpoint when an element is changed via \Bitrix\Main\Data\TaggedCache.
Monitoring. The module maintains a meta-tag coverage log: for each section, the percentage of pages with non-empty <title>, <description>, and canonical is displayed. The myvendor_seo_coverage table is updated via an agent once a day.
What Is Included in Module Development?
- Audit of current infoblocks: property structure, number of languages, presence of commercial catalog.
- Design of data source architecture based on the audit.
- Configuration of meta-tag templates for all page types (catalog, sections, elements, search, tags).
- Implementation of canonical and hreflang with multilingual support.
- Integration with commercial catalog for price and stock substitution.
- Agent for automatic alt filling of images.
- Sitemap generation considering noindex and priorities.
- Meta-tag coverage table for monitoring.
- Operational documentation and administrator training.
- 12-month warranty on the module, support for Bitrix updates.
Comparison of Manual vs. Automated Approach
| Parameter | Manual Filling | Automation Module |
|---|---|---|
| Time for 1,000 items | 10–15 hours | 0.5 seconds |
| Errors (misses, duplicates) | up to 20% | less than 0.1% |
| Price/stock actuality | updated once a week | in real time |
| Annual cost for SEO staff | from a substantial budget | 0 (savings) |
Development Timeline
| Project Scope | Composition | Timeline |
|---|---|---|
| Basic | Meta-tag templates + canonical | 2–3 weeks |
| Medium | + sitemap + alt images + coverage log | 4–5 weeks |
| Extended | + redirects + external SEO API integration | 6–8 weeks |
Typical Mistakes in Automation Setup
- Ignoring custom infoblock properties—incomplete templates.
- Missing tagged cache—site crash under load.
- Wrong event order:
OnBeforeIBlockElementUpdateconflicts with 1C synchronization. - Forgetting multilingual support: canonical without hreflang—penalty from Google.
Before starting, it is important to audit current infoblocks. Property structure, number of languages, presence of commercial catalog—all affect the architecture of data sources. We guarantee an individual approach and fixed cost after agreeing on the technical specification.
Get a consultation—we will assess your project and offer the optimal solution. Order development, we work throughout Russia and CIS.

