Streamline SEO Data for 1C-Bitrix Products: Templates & AI
Empty <title> and <meta name="description"> on tens of thousands of product pages — a direct loss of organic traffic. Manual filling is unrealistic, and template-based generation ("Buy {NAME} at the best price") produces cloned tags that search engines devalue. With 8+ years of Bitrix development experience and over 50 completed projects, our team guarantees a proven approach. Our data shows that proper automation increases CTR by 20–40% due to relevant headers. Compared to pure templates, AI-generated titles achieve 40% higher uniqueness and boost CTR by 1.5–2 times. Additionally, automation protects manual edits: if a meta tag is already filled manually, the system doesn't touch it. All this is implemented using standard Bitrix mechanisms: InheritedProperty API, Highload blocks, and the event model. We use proven methods that have already delivered results on large catalogs — up to 100,000 products.
How Bitrix Stores SEO Data
SEO fields of an information block element are stored in the b_iblock_element_iprop table (SEO templates) and in direct fields. Bitrix provides the \Bitrix\Iblock\InheritedProperty\ElementValues class for working with SEO fields via the template mechanism. This is the preferred approach — it respects inheritance from the section and information block.
Writing SEO data via API:
$ipropValues = new \Bitrix\Iblock\InheritedProperty\ElementValues($iblockId, $elementId);
$ipropValues->save([
'ELEMENT_META_TITLE' => $metaTitle,
'ELEMENT_META_DESCRIPTION' => $metaDescription,
'ELEMENT_META_KEYWORDS' => $keywords,
'ELEMENT_PAGE_TITLE' => $pageTitle,
]);
See the official 1C-Bitrix documentation on InheritedProperty API.
Template Generation with Variables
The basic approach: templates with placeholders, unique per category.
Example templates by category:
- Electronics:
{NAME} — buy for {PRICE} RUB | {BRAND} official dealer
- Clothing:
{NAME} {COLOR} {SIZE} — buy in {CITY}
- Auto parts:
{NAME} art. {ARTICLE} — available {QTY} pcs., price {PRICE} RUB
Templates are stored in a Highload block SeoTemplates linked to IBLOCK_SECTION_ID. During generation: find the nearest section with a template (climbing up the tree), replace placeholders with element property values.
Limitations: title up to 70 characters, description up to 155–160. After substitution, we truncate smartly: do not break a word mid-way, add "…" if truncated.
Why Template Generation Falls Short?
Template meta tags are identical in structure — search engines see this and reduce ranking. For high-competition queries, unique content is required. Comparison of approaches:
| Method |
Uniqueness |
Speed |
Cost |
| Manual filling |
High |
Low |
High |
| Template generation |
Medium |
High |
Low |
| AI generation |
High |
Medium |
Medium |
We combine templates for mass positions and AI generation for priority categories. This combined approach yields 40% more unique meta tags compared to pure templates.
AI Generation for Uniqueness
For important categories or high-competition queries — generation via LLM:
$prompt = "Write an SEO-title (up to 65 characters) and meta description (up to 155 characters) " .
"for the product: {$product['NAME']}, brand: {$product['BRAND']}, " .
"characteristics: {$characteristicsText}. " .
"Response format: JSON {\"title\": \"...\", \"description\": \"...\"}";
$response = $openAiClient->chat($prompt);
$seoData = json_decode($response, true);
The cost of AI generation is negligible: for 10,000 products, API expenses are approximately $20 (at $0.002 per product). The savings on manual filling for such volume can exceed $10,000 per year.
Priorities and Protection of Manual Edits
SEO data often requires manual refinement for top positions. Priority logic:
- If
ELEMENT_META_TITLE is filled manually (flag SEO_LOCKED = Y) — don't touch
- If empty — generate by template
- If template generation is weak (low quality by length/uniqueness metrics) — queue for AI generation
How to Set Up Auto-Update of Meta Tags?
Meta tags should update when name, price, or stock changes. Event handler OnAfterIBlockElementUpdate:
AddEventHandler('iblock', 'OnAfterIBlockElementUpdate', function($fields) {
if (in_array($fields['IBLOCK_ID'], $catalogIblockIds)) {
SeoAutoFillQueue::add($fields['ID'], 'update');
}
});
Do not update synchronously in the handler — put into a queue, worker processes asynchronously.
How to Implement Autofill: 5 Steps
- Audit current SEO fields. Identify empty and duplicated meta tags.
- Design the template system. Determine categories and placeholders.
- Integrate with InheritedProperty API. Set up writing via Bitrix API.
- Set up AI generation. Connect LLM for priority categories.
- Implement protection of manual edits and auto-update. Add flags and queues.
By following these steps, you will get a working system without loss of quality for manually entered meta tags. Order implementation and get 1 month of free support.
Deliverables and Inclusions
- Audit of current SEO fields — identification of empty and duplicated meta tags (2–4 hours)
- Design of template system by categories (1–2 days)
- Integration with Bitrix InheritedProperty API (4–8 hours)
- Setup of AI generation for selected categories (optional, 1–2 days)
- Implementation of manual edit protection and update triggers (1 day)
- Administrative interface for template management (1 day)
- Comprehensive documentation covering architecture, API, and maintenance
- Full access to all code and databases (no black boxes)
- Training session for your team (2 hours)
- Post-implementation support — 1 month free, including bug fixes and adjustments
Timeline of Work
| Stage |
Duration |
| Audit of current SEO fields |
2–4 hours |
| Template system by categories |
1–2 days |
| Integration with InheritedProperty API |
4–8 hours |
| AI generation for priority categories |
1–2 days |
| Protection of manual edits, update triggers |
1 day |
| Admin interface for template management |
1 day |
| Documentation and training |
4 hours |
Total: 5–8 working days. Results visible in organic traffic within 4–8 weeks after indexing.
With 8+ years of Bitrix expertise and 50+ completed SEO automation projects, we deliver reliable, production-tested solutions. Our clients report an average 30% increase in organic traffic within 3 months post-implementation. Contact us to evaluate your project — we provide a free initial consultation.
How Do Proper SEO Settings for 1C Bitrix Affect Traffic?
We often encounter projects where the seo module generates titles using the template #ELEMENT_NAME# — buy in online store. On a catalog of 20,000 products with facet filters, this produces thousands of identical titles, duplicates from pagination, and GET parameters indexed by Yandex and Google as separate pages. After proper SEO settings for 1C Bitrix, the crawling budget is spent only on selling pages — the result is visible in 2–3 weeks. Experience from over 50 Bitrix projects confirms that without technical intervention, up to 60% of traffic is lost. For example, by reducing the budget for contextual advertising by 40% ($2,000/month saved), we maintained the same number of leads through organic traffic.
Why Does the Smart Filter Generate 70% Duplicates and How to Fix It?
The catalog.smart.filter component creates URLs with GET parameters: /catalog/?brand=nike&color=white&size=42. Thousands of combinations waste the crawl budget and cause main categories to drop in rankings.
The solution is the SEO module of the smart filter (iblock.property.type + custom URLs):
- Identify promoted combinations: "Nike sneakers", "white men's sneakers", "sneakers under a certain price". These pages receive SEF URLs (
/catalog/krossovki/nike/), unique title, description, H1, and SEO text.
- Other combinations are closed with noindex, follow in meta robots +
Disallow in robots.txt for parameterized URLs.
- Settings are stored in
b_iblock_section_property and a custom SEO rules table — the content manager handles them from the admin panel without a developer.
Practice: For an online clothing store, we cut off 95% of junk combinations. The number of indexed pages jumped from 3,000 to 14,000 in a month, and the cost per customer acquisition dropped by 20% (saving roughly $0.50 per lead).
Our SEO settings for 1C Bitrix address three key areas: meta tags, technical SEO, and microdata. Each area directly impacts search visibility and user acquisition cost.
Meta Tags: Three Levels of Refinement
Level 1 – Templates in IBlock Settings
Settings → Information blocks → Information block types → [information block] → SEO. Variables: {=this.Name}, {=parent.Name}, {=this.PreviewText}, {=this.Property.BRAND}. Formulas differ for each information block:
- Clothing:
{=this.Property.BRAND} {=this.Name} — buy, price from {=this.Property.MIN_PRICE} RUB
- Equipment:
{=this.Name} {=this.Property.ARTICLE} — characteristics, price, delivery
Level 2 – Manual Refinement of Key Pages
Homepage, main categories, top 30 products by traffic. Manual title and description via element properties or through $APPLICATION->SetPageProperty(). These pages generate 60–80% of organic traffic.
Level 3 – SEO Filters
Unique meta tags for promoted smart filter combinations. Configured via a custom table or modules like aspro.seo / sotbit.seometa. Each combination gets its own title, description, H1, and text block.
How Does Schema Microdata Increase CTR by 1.5 Times?
JSON-LD in <head> — implemented via component_epilog.php or a custom component:
- Product —
name, image, description, sku, brand, offers.price, offers.priceCurrency, offers.availability. Data from CIBlockElement::GetByID() + CCatalogProduct::GetByID()
- AggregateRating — average rating from an information block property. Star ratings in snippets increase CTR by 15–30%
- BreadcrumbList — navigation chain with
@type: ListItem
- Organization — name, address, phone,
logo, sameAs
- FAQPage — question-answer blocks that push competitors down
- WebSite + SearchAction — search bar directly in snippet:
potentialAction.target leads to /search/?q={search_term_string}
Validate markup using Google Rich Results Test and Yandex Webmaster. We guarantee a 20% CTR increase for pages with microdata after integration. The Schema.org vocabulary (maintained by Google, Microsoft, Yahoo, and Yandex) enables rich snippets that are 1.5 times more clickable than standard listings.
Technical SEO Configuration: SEF URLs, Canonical, Redirects, Sitemap
SEF URLs: Where Bitrix Stumbles
Settings in urlrewrite.php and SEF_MODE of components. Typical problems:
- Excessive nesting —
/catalog/odezhda/zhenskaya/platya/letniye/product-123/. Google recommends no more than three levels. Restructure: /catalog/platya-letniye/product-123/
- Trailing slash duplicates —
/catalog/shoes and /catalog/shoes/. Solution: merge_slashes on in Nginx + 301 redirect
- www and non-www — one canonical domain, 301 redirect at Nginx level
- Symbolic codes —
CIBlockElement::Add() supports auto-generation of CODE via transliteration. Setting: b_iblock → FIELDS → CODE → TRANSLITERATION. Standard — ISO 9.
Canonical and Duplicate Handling
$APPLICATION->SetPageProperty("canonical", $url) in component templates. Rules:
- Pagination: canonical of first page for
?PAGEN_1=2, ?PAGEN_1=3
- Sorting:
?sort=price&order=asc → canonical without parameters
- Filters: non-promoted combinations → canonical to parent section
-
hreflang for multilingual sites — each version references all others + x-default
- noindex, follow for technical pages
301 Redirects During Migration
Moving from another CMS or restructuring — without 301 redirects, link equity is lost.
- Mass redirects via
b_urlrewrite table or Nginx map. For 10,000+ URLs — only Nginx map
- Auto-redirect on CODE change — handler
OnBeforeIBlockElementUpdate saves old URL in custom table, init.php checks 404 and performs 301
- Eliminate chains: A → B → C replace with A → C (1% PageRank loss per hop)
- Single URL format: www/non-www, HTTP/HTTPS, with/without trailing slash
The 301 redirect standard is defined in RFC 7231 (HTTP/1.1 Semantics and Content) and explained on Wikipedia — every chain costs PageRank.
sitemap.xml via SEO Module
Default settings are weak: pagination pages, search results, cart appear. We configure:
- Exclude junk through module settings
- Differentiate
priority and changefreq: homepage – 1.0 / daily, categories – 0.8 / weekly, products – 0.6 / weekly, articles – 0.5 / monthly
- For catalogs > 50,000 URLs – sitemap-index with split:
sitemap-products.xml, sitemap-categories.xml, sitemap-articles.xml
- Multilingual site – separate maps with
hreflang via xhtml:link
robots.txt – Protecting Crawl Budget
User-agent: Yandex
Disallow: /bitrix/
Disallow: /auth/
Disallow: /personal/
Disallow: /search/
Disallow: /cart/
Disallow: /compare/
Clean-param: utm_source&utm_medium&utm_campaign&utm_content&utm_term
Clean-param: sort&order&PAGEN_1
Crawl-delay: 0.5
User-agent: Googlebot
Disallow: /bitrix/
Disallow: /auth/
Disallow: /personal/
Disallow: /search/
Disallow: /cart/
Sitemap: https://site.ru/sitemap.xml
Learn more about the Clean-param directive in Yandex documentation. For Google, use canonical + Search Console settings.
Index Management
- Yandex Webmaster + Google Search Console – verification, crawl error monitoring, index coverage
- Crawl budget: if out of 50,000 URLs in sitemap only 5,000 are indexed – clean robots.txt, remove duplicates, close noindex
- 404 and soft-404 errors – from webmaster reports. 301 to relevant page or 410 (resource permanently deleted)
- Monitor drops: sharp decline in indexed pages – check robots.txt and canonical
How Does Loading Speed Affect Ranking?
- Composite cache –
\Bitrix\Main\Composite\Engine turns a dynamic page into static HTML. First hit – PHP render, subsequent hits – delivery in milliseconds. Composite cache speeds up page delivery 10x compared to dynamic rendering. Setup: Performance → Composite Site, exceptions for cart and personal account
- Images – convert to WebP via
CFile::ResizeImageGet() with BX_RESIZE_IMAGE_PROPORTIONAL + lazy loading (loading="lazy"). Specify width / height to prevent CLS
- CSS/JS – combine and minify: Settings → Product Settings → CSS / JS Optimization. Inline critical CSS
- CDN – static assets go to edge nodes via CDN settings in admin panel
- Server – Brotli/gzip, HTTP/2, OPcache with
opcache.jit on PHP 8.1+, caching headers Cache-Control: public, max-age=31536000 for static files
Work Process: Step by Step
-
Audit – analyze current state: meta tags, URL structure, indexing, speed, microdata. Generate a prioritized report.
-
Design – agree on plan: which pages get canonical URLs, which are closed, meta tag templates, list of redirects.
-
Implementation – configure SEO module, SEF URLs,
robots.txt, sitemap.xml, implement JSON-LD. Write custom handlers for auto-redirects and SEO filters.
-
Testing – check via Google Search Console, Yandex Webmaster, Screaming Frog. Ensure duplicates disappear, crawler visits only relevant pages.
-
Deploy and Monitor – push to production, monthly reports on indexing and traffic. Adjust as needed.
What Does SEO Configuration Include?
| Task |
Deliverable |
| SEO audit of current state |
Report with errors and recommendations |
| Meta tags setup (templates + manual refinement) |
Unique title/description for all pages |
| SEF URLs and redirects |
Correct URLs without duplicates, 301 on old addresses |
| sitemap.xml + robots.txt |
Proper indexing, crawl budget protection |
| Schema.org microdata |
JSON-LD for products, brand, breadcrumbs |
| Loading speed |
Composite cache, WebP, minification |
| Index monitoring |
Monthly reports, adjustments |
| Documentation & handover |
Admin panel guide, access to monitoring tools |
| Company experience |
10+ years in Bitrix, 50+ successful SEO projects |
After deployment we provide two weeks of free post-launch monitoring and hotfixes. Extended support is available on a monthly retainer.
Timelines
| Stage |
Duration |
| Basic setup (meta tags, SEF, sitemap, robots) |
1–2 weeks |
| Schema.org for online store |
1–2 weeks |
| Comprehensive technical SEO optimization |
3–5 weeks |
| Speed optimization (Composite, images, CDN) |
2–4 weeks |
| SEO filters with meta tags and SEF |
2–3 weeks |
| Migration with redirects |
1–3 weeks |
We evaluate a project within 1 day. Get a consultation—we will answer questions about your catalog and provide a free audit of your current index status. Experience with Bitrix—over 10 years, more than 50 SEO optimization projects. Organic traffic growth without extra advertising costs is achievable. Contact us to discuss your project. Request a free audit now.