Automating SEO Content in 1C-Bitrix with AI

Automating SEO Texts with AI: Experience for 1C-Bitrix On one project with 800 categories, manual writing of SEO texts would have taken half a year. We automated this process with AI — generation took 3 days, and positions for low-frequency queries increased by 40% in the first month. Content sav

Our competencies:

Frequently Asked Questions

Automating SEO Texts with AI: Experience for 1C-Bitrix

On one project with 800 categories, manual writing of SEO texts would have taken half a year. We automated this process with AI — generation took 3 days, and positions for low-frequency queries increased by 40% in the first month. Content savings for a catalog of 500 sections amounted to up to 60% of the budget compared to freelance copywriters. AI text generation is 3 times faster than manual work, and cost is 2–3 times lower. Our team, with 7 years of experience in Bitrix, has implemented 50+ content automation projects.

Problems We Solve

Freelance copywriter writes 500 sections in a month, an agency takes longer. AI closes this task in 2–3 days with controlled quality. However, simply feeding the API the category name is not enough — context is needed: prices, brands, filter characteristics. Without this, texts turn out template-like and bring no value.

Collecting SEO Data for the Prompt

To generate SEO text, we need to pass to AI:

  • Category name and its path in the section tree
  • Keywords for the page (from Yandex.Wordstat or SEMrush)
  • Number of products in the category and subcategories
  • Price range (taken from b_catalog_price via min/max)
  • Top brands in the category
  • Filter characteristics — what can be filtered on the page

Data collector for a category:

function buildCategoryContext(int $sectionId): array { $section = CIBlockSection::GetByID($sectionId)->Fetch(); $priceRange = getPriceRange($sectionId); // SELECT MIN/MAX from b_catalog_price $brands = getTopBrands($sectionId, 5); // top-5 brands by product count $filterProps = getFilterProperties($sectionId); // smart filter properties return [ 'name' => $section['NAME'], 'breadcrumb' => getSectionBreadcrumb($sectionId), 'count' => $section['ELEMENT_CNT'], 'price_from' => $priceRange['min'], 'price_to' => $priceRange['max'], 'brands' => implode(', ', $brands), 'filter_params' => implode(', ', $filterProps), ]; } 

How AI Generates Text Considering Structure?

The prompt contains not only data but also a markup template. We set requirements: H2 and H3, introductory paragraph, "How to Choose" block, USP, call to action. AI fills the template with specifics from the context. For example, for the "Laptops" category, it generates H2 "Buy a laptop in Minsk — competitive prices" and follows the schema. Keywords are passed as a list of requirements: main key "buy laptop Minsk", additional "laptops online store", "laptop price", LSI "processor", "RAM". AI weaves them naturally into the text.

Updating Section SEO Texts

Section SEO text is stored in b_iblock_section.DESCRIPTION. Writing via API:

$ibs = new CIBlockSection(); $ibs->Update($sectionId, [ 'DESCRIPTION' => $generatedHtml, 'DESCRIPTION_TYPE' => 'html', ]); 

For section meta tags — similar to products, via \Bitrix\Iblock\InheritedProperty\SectionValues:

$ipropValues = new \Bitrix\Iblock\InheritedProperty\SectionValues($iblockId, $sectionId); $ipropValues->save([ 'SECTION_META_TITLE' => $metaTitle, 'SECTION_META_DESCRIPTION' => $metaDescription, ]); 

Update Scheduler

SEO texts become outdated: prices change, new brands appear, assortment updates. Update strategy:

  • Automatically: if the price range changes by more than 20% → regenerate
  • On schedule: once a quarter — full regeneration for all sections
  • On trigger: when a new subcategory is added — regenerate the parent section

Uniqueness Control

Before publication — uniqueness check. Simple option without external services: compare with already published texts via similar_text(). If similarity > 40% — regenerate with a different seed (parameter temperature: 0.8 instead of standard 0.7).

Why AI Is More Profitable Than Manual Copywriting?

Manual copywriting for 500 sections costs several times more and takes up to one and a half months. AI generation provides savings up to 60% of the budget and allows launching content in 3 days. Moreover, texts undergo uniqueness control and are optimized for key queries. SEO copywriting, by definition from Wikipedia, is the writing of texts oriented to search queries.

What's Included in the Work?

deliverable description
development of prompts for each section type templates considering structure and keys
section context collector PHP module to extract prices, brands, filters
generator with keyword management integration with AI (OpenAI, YandexGPT)
writing to Bitrix fields DESCRIPTION, meta tags, inheritance
update scheduler agents and events for automatic regeneration
documentation and training architecture description, instructions for adding new types

Timeline

Stage Duration
Designing prompts for each section type 2–3 days
Section context collector (prices, brands, filter) 1–2 days
Generator with keyword management 1–2 days
Writing to Bitrix fields, section meta tags 4–8 hours
Update scheduler, triggers 1 day

Total: 5–9 business days. For 500+ sections — initial generation time is 3–8 hours depending on the AI model (e.g., YandexGPT or OpenAI — both supported).

Want to automate content for your catalog? Contact us — we'll evaluate the project and offer a solution for your stack. Request a consultation: we guarantee uniqueness of each text and growth in positions for target queries.