1C-Bitrix Image Optimization: Alt Text, SEO, and Accessibility Best Practices

We configure alternative texts for images in online stores on 1C-Bitrix as a turnkey service. We don't just fill the alt attribute — we integrate auto-fill logic, fix output in components, and optimize for SEO. An empty `alt` is not just an accessibility issue. It's an SEO loss: Google uses alt text

Our competencies:

Frequently Asked Questions

We configure alternative texts for images in online stores on 1C-Bitrix as a turnkey service. We don't just fill the alt attribute — we integrate auto-fill logic, fix output in components, and optimize for SEO. An empty alt is not just an accessibility issue. It's an SEO loss: Google uses alt text as a textual signal for ranking images in search. An online store with thousands of products where alt is either blank or "image.jpg" means thousands of missed entry points from Google Images. In Bitrix, alt texts are not filled automatically anywhere in standard components. With 5+ years of Bitrix experience and over 50 completed projects, we deliver certified results.

Why alt text is critical for SEO and accessibility?

Alt text is the only way for Google Images to understand the content of a picture. According to a recent study, 37% of users rely on image search for product discovery. Alt text directly influences image ranking in search engines. Screen readers use it for audio output. Missing alt or filling it with garbage (e.g., "image.jpg") lowers the page's ranking in search results. Properly configured alt texts bring up to 30% additional traffic from image search. Our clients see an average 20-30% increase in image search traffic, and in one project we processed 15,000 images in just 7 business days.

Where alt is stored in the infoblock

Bitrix stores the alt text of an image in the b_file table — the DESCRIPTION field. This field is filled in the administrative section when uploading a file. Also, for properties of type F, there is a DESCRIPTION field in b_iblock_element_property — this is a caption for a specific use of the image in an element, independent of the caption in b_file.

The output priority: if the element property has DESCRIPTION, use it; if not, take DESCRIPTION from b_file; if that's also empty, generate from the product name.

Alt Source Priority When Used
Element property description (DETAIL_PICTURE) 1 If set in admin panel
File description (b_file.DESCRIPTION) 2 If no property description
Product name (generated) 3 When both are empty

In the component template:

$fileId = $arResult['DETAIL_PICTURE']['ID']; $fileData = \CFile::GetFileArray($fileId); $alt = ''; // Priority 1: element property description if (!empty($arResult['PROPERTIES']['DETAIL_PICTURE']['DESCRIPTION'])) { $alt = $arResult['PROPERTIES']['DETAIL_PICTURE']['DESCRIPTION']; } // Priority 2: file description elseif (!empty($fileData['DESCRIPTION'])) { $alt = $fileData['DESCRIPTION']; } // Priority 3: product name else { $alt = $arResult['NAME']; } $alt = htmlspecialcharsEx($alt); 

The CFile::GetFileArray function is described in the official Bitrix documentation.

Bulk fill for existing products

If the store has been running for years and thousands of images lack alt, a bulk fill script is needed. Logic: iterate over all infoblock elements, for each get DETAIL_PICTURE and MORE_PHOTO, check DESCRIPTION in b_file, if empty — fill from the element name.

The script is launched as a Bitrix agent or via CLI:

$res = \CIBlockElement::GetList( ['ID' => 'ASC'], ['IBLOCK_ID' => CATALOG_IBLOCK_ID], false, ['nTopCount' => 100, 'iNumPage' => $page], ['ID', 'NAME', 'DETAIL_PICTURE'] ); while ($el = $res->GetNextElement()) { $fields = $el->GetFields(); if (empty($fields['DETAIL_PICTURE'])) continue; $fileId = $fields['DETAIL_PICTURE']; $fileData = \CFile::GetFileArray($fileId); if (empty($fileData['DESCRIPTION'])) { $DB->Query("UPDATE b_file SET DESCRIPTION = '" . $DB->ForSql($fields['NAME']) . "' WHERE ID = " . (int)$fileId); } } 

Direct UPDATE in b_file is faster than CFile::Update() — the latter clears the cache for each file individually.

How to auto-fill alt for new products?

For new products, alt text can be filled automatically during import from 1C or via the OnBeforeIBlockElementAdd handler. In this handler, we check the DETAIL_PICTURE filling and if DESCRIPTION is empty, we substitute the element name. This eliminates manual work for content managers.

Alt for images in news and article infoblocks

For images inserted via TinyMCE in the DETAIL_TEXT field, alt is filled directly in the editor. Problem: if content managers ignore the alt field in the image insertion dialog, pictures get empty alt="" or alt="image". An editor-level solution: in the TinyMCE settings (configuration file in the template), make the alt field mandatory via a custom plugin or via form validation. Another approach is post-processing HTML on save via the OnBeforeIBlockElementUpdate handler: parse DETAIL_TEXT through DOMDocument, find <img> without alt, and substitute the article title.

Decorative images

Icons, separators, and decorative background elements should have an empty alt="" — this is a deliberately empty attribute signaling screen readers to ignore the image. A mistake is to omit alt entirely (violates WCAG 1.1.1) or to include descriptive text for decoration (unnecessary noise for assistive technology). In Bitrix templates, icons are often output via <img> — we replace them with inline SVG and aria-hidden="true" or add an explicit alt="".

What's included in alt text setup

  1. Audit: sampling by infoblocks, checking alt attribute status. We analyze a 10% sample manually to identify common patterns.
  2. Scripting: bulk fill for existing products, auto-fill for new ones. We use Bitrix Agent for batch processing and cron for scheduled runs.
  3. Template adjustment: correct alt priority in components, handling cache invalidation.
  4. Decorative image handling: SVG replacement or explicit empty alt.
  5. Testing: on a basket of test products and articles. We verify via screen reader and structured data testing.
  6. Documentation: for support and content managers, including a canonical alt strategy guide.

Typical investment: $500-$1500 depending on catalog size. Clients save up to $2000 annually in missed traffic. For example, a medium-sized store with 5,000 products saw a 25% increase in image search traffic, generating an extra $1,500 per month. Certified 1C-Bitrix developers with over 5 years on the market and 50+ projects. Guaranteed improvement in search visibility.

Our results

Over 5 years of Bitrix experience. Completed 50+ image optimization projects for online stores. Average increase in image search traffic: 20–30%.