Generating SEO texts using AI for 1C-Bitrix

Our company is engaged in the development, support and maintenance of Bitrix and Bitrix24 solutions of any complexity. From simple one-page sites to complex online stores, CRM systems with 1C and telephony integration. The experience of developers is confirmed by certificates from the vendor.
Our competencies:
Development stages
Latest works
  • image_website-b2b-advance_0.png
    B2B ADVANCE company website development
    1175
  • image_bitrix-bitrix-24-1c_fixper_448_0.png
    Website development for FIXPER company
    811
  • image_bitrix-bitrix-24-1c_development_of_an_online_appointment_booking_widget_for_a_medical_center_594_0.webp
    Development based on Bitrix, Bitrix24, 1C for the company Development of an Online Appointment Booking Widget for a Medical Center
    564
  • image_bitrix-bitrix-24-1c_mirsanbel_458_0.webp
    Development based on 1C Enterprise for MIRSANBEL
    747
  • image_crm_dolbimby_434_0.webp
    Website development on CRM Bitrix24 for DOLBIMBY
    655
  • image_crm_technotorgcomplex_453_0.webp
    Development based on Bitrix24 for the company TECHNOTORGKOMPLEKS
    976

AI-Powered SEO Text Generation for 1C-Bitrix

SEO texts for category pages are among the most tedious forms of copywriting and among the most expensive to produce manually. 500 categories × 800 words = 400,000 words. A freelance copywriter takes a month; an agency takes longer and costs more. AI handles this task in 2–3 days with controllable quality.

SEO Texts vs. Product Descriptions: Different Goals

A product description is information for the buyer. A category SEO text is content for search ranking, with useful information for the user woven in. The difference lies in structure and keyword usage.

Typical structure of a category SEO text:

  • H2 with the main keyword ("Buy laptops in Minsk")
  • Introductory paragraph answering "what can be found here"
  • H3 "How to choose [category]" with practical tips
  • H3 "Why buy from us" (store USP)
  • Closing paragraph with a call to action

Gathering SEO Data for the Prompt

To generate an SEO text, pass the following to the AI:

  1. Category name and its path in the section tree
  2. Keywords for the page (from Yandex.Wordstat or SEMrush)
  3. Number of products in the category and subcategories
  4. Price range (retrieved from b_catalog_price via min/max)
  5. Top brands in the category
  6. Filter attributes — what can be filtered on the page

Category data collector:

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),
    ];
}

Keywords in the Prompt

Pass 5–10 key phrases to the prompt that should appear naturally in the text:

Use the following keywords naturally (do not list them consecutively):
Primary: "buy laptop Minsk"
Secondary: "laptops online store", "laptop price", "gaming laptop", "laptop for work"
LSI: "processor", "RAM", "SSD", "display"

Keywords are stored in the SEO properties of infoblock sections (b_iblock_section_property) or in a dedicated Highload block SectionSeoKeywords.

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 — the same approach as for 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 go stale: prices change, new brands appear, the product range is updated. Update strategy:

  • Automatic: if the price range changes by more than 20% → regenerate
  • Scheduled: quarterly full regeneration for all sections
  • Triggered: when a new subcategory is added → regenerate the parent section

Uniqueness Control

Before publishing — check for uniqueness. A simple approach without external services: compare with already-published texts using similar_text(). If similarity > 40% — regenerate with a different seed (use temperature: 0.8 instead of the default 0.7).

Project Timeline

Phase Duration
Prompt design for each section type 2–3 days
Section context builder (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 working days. With 500+ sections — initial generation time is 3–8 hours depending on the model.