Налаштування фотогалереї на 1С-Бітрікс: від модуля до лайтбокса
Фотогалерея на Бітрікс перетворюється на сторінку, що гальмує, через відсутність WebP та ледачого завантаження. Клієнти скаржаться на довге завантаження (до 15 секунд на мобільних), а SEO-трафік з Google Images близький до нуля. Картинки в JPEG важать 5 МБ, сітка ламається на пристроях з шириною 320–768px, alt-теги порожні. Ми налаштовуємо фотогалереї на 1С-Бітрікс більше 10 років і знаємо всі підводні камені: від застарілих шаблонів модуля photogallery до правильної конвертації в WebP. За 50+ проєктів накопичили конкретні рішення: прискорення завантаження до 70%, охоплення Google Images — зростання в 3–5 разів. Наприклад, на одному проєкті для інтернет-магазину меблів ми оптимізували галерею: WebP та lazy loading зменшили час завантаження сторінки з 12 с до 2.3 с, а трафік з Google Images зріс у 4 рази. У цій статті розберемо два підходи: модуль photogallery та кастомна галерея на інфоблоці. Ви дізнаєтеся, як вибрати відповідний варіант під ваш проєкт та які сучасні інструменти (GLightbox, CSS Grid) використовувати для швидкого завантаження.
Який модуль обрати: photogallery чи інфоблок?
Модуль photogallery
Модуль photogallery працює поверх інфоблока: створює спеціалізований інфоблок з попередньо встановленими властивостями для фотографій. Компоненти:
-
photogallery — комплексний компонент (альбоми + фотографії).
-
photogallery.album.list — список альбомів.
-
photogallery.album.edit — створення/редагування альбому.
-
photogallery.detail.list — список фотографій в альбомі.
-
photogallery.detail.view — перегляд фотографії.
-
photogallery.upload — завантаження фотографій.
Компонент photogallery об'єднує все. Параметри:
-
IBLOCK_ID — ID інфоблока галереї.
-
ALBUM_PHOTO_THUMBS_SIZE — розмір мініатюр.
-
ALBUM_PHOTO_SIZE — розмір для перегляду.
-
PHOTOS_PER_PAGE — фотографій на сторінці.
Обмеження модуля: шаблони застарілі, лайтбокс — власна реалізація Бітрікс (не Fancybox / GLightbox). Адаптивність не закладена. Для сучасного сайту потрібна повна переробка шаблонів. Однак модуль зручний для швидкого старту без програмування.
Як реалізувати галерею на інфоблоці?
Створюємо інфоблок «Фотогалерея». Розділи — альбоми. Елементи — фотографії. Структура властивостей мінімальна:
| Властивість |
Тип |
Призначення |
| PREVIEW_PICTURE |
Файл (вбудований) |
Мініатюра |
| DETAIL_PICTURE |
Файл (вбудований) |
Повнорозмірне фото |
| DESCRIPTION |
Рядок |
Підпис до фотографії |
| PHOTOGRAPHER |
Рядок |
Автор знімка |
При завантаженні через адмінку Бітрікс автоматично створює мініатюру з DETAIL_PICTURE для PREVIEW_PICTURE (якщо налаштовано). Але краще керувати ресайзом явно — через CFile::ResizeImageGet() у шаблоні компонента із зазначенням точних розмірів.
Виведення: news.list для сітки фотографій, news.detail — опціонально, якщо потрібна окрема сторінка кожного фото. Для більшості галерей окремі сторінки не потрібні — перегляд у лайтбоксі достатній.
Вибір лайтбокса
Стандартний вибір — GLightbox (7 КБ gzip, без залежностей) або Fancybox 5 (функціональніший, але важчий). Підключаємо через npm або CDN.
У шаблоні news.list кожна фотографія обгортається в посилання з атрибутом data-gallery:
<a href="/upload/photo_full.jpg" class="glightbox" data-gallery="album1">
<img src="/upload/photo_thumb.webp" loading="lazy" alt="Опис">
</a>
Ініціалізація: GLightbox({ selector: '.glightbox' }).
Адаптивна сітка
CSS Grid — оптимальне рішення для сітки фотографій. Для галереї з різноформатними знімками:
.gallery-grid {
display: grid;
grid-template-columns: repeat(auto-fill, minmax(250px, 1fr));
gap: 8px;
}
Для Pinterest-подібної розкладки (masonry) — grid-template-rows: masonry (експериментальна властивість) або JavaScript-бібліотека Masonry.js. Компроміс — фіксоване співвідношення сторін мініатюр через aspect-ratio: 1 (квадратні) або aspect-ratio: 4/3.
Оптимізація зображень
Галерея — це десятки фотографій на сторінці. Без оптимізації — мегабайти трафіку.
WebP-генерація. При завантаженні фото через інфоблок Бітрікс зберігає оригінал. WebP-версію генеруємо при першому зверненні через обробник або заздалегідь — через агент. Метод CFile::ResizeImageGet() з параметром BX_RESIZE_IMAGE_PROPORTIONAL та подальшою конвертацією через imagecreatefromjpeg() + imagewebp().
Lazy loading
Атрибут loading="lazy" на всіх <img> крім перших 4-6 (above the fold). Вбудована підтримка браузерами, без JavaScript.
Розміри мініатюр
Для сітки достатньо 400x300. Для лайтбокса — обмеження по ширині 1600px. Зберігати оригінали в 4000x3000 на сервері можна, але віддавати клієнту — не можна.
SEO для галереї
Фотогалереї індексуються через Google Images. Для кожного зображення важливий атрибут alt з описом. Schema.org-розмітка ImageGallery + ImageObject покращує представлення у видачі. Розмітка додається в шаблон компонента через JSON-LD.
Окремі сторінки альбомів (розділів) індексуються стандартно — з title, description та канонічним URL.
Що входить у налаштування фотогалереї під ключ?
Ми надаємо повний цикл робіт:
- Консультація та ТЗ: аналіз вимог, вибір модуля або інфоблока, структура альбомів.
- Проєктування: створення інфоблока, налаштування властивостей, полів, шаблонів.
- Розробка: інтеграція лайтбокса (GLightbox), адаптивної сітки (CSS Grid), оптимізація зображень (WebP, lazy loading).
- SEO-налаштування: додавання alt-тегів, Schema.org розмітки, мета-тегів альбомів.
- Тестування: перевірка на всіх пристроях, швидкість завантаження (PageSpeed Insights), коректність відображення.
- Навчання: інструкція для контент-менеджера по завантаженню та редагуванню фотографій.
- Гарантія та підтримка: виправлення помилок протягом місяця після здачі.
Чек-лист типових помилок при налаштуванні фотогалереї
- Відсутність lazy loading: сторінка завантажує всі фото одразу → гальмування на мобільних.
- JPEG без стиснення: фото 5 МБ замість 200 КБ. Використовуйте WebP та ресайз.
- Alt-теги порожні: Google Images не індексує фото, втрачається трафік.
- Сітка без медіа-запитів: на вузьких екранах фото налазять одне на одне.
- Лайтбокс не адаптований: модальне вікно виходить за межі екрана.
Порівняння підходів
| Критерій |
Модуль photogallery |
Інфоблок кастомний |
| Швидкість впровадження |
Швидко (готові компоненти) |
Середньо (вимагає розробки) |
| Гнучкість |
Низька |
Висока |
| Адаптивність |
Вимагає доопрацювання |
Повністю кастомізована |
| SEO |
Стандартні мета-теги |
Можна додати будь-яку розмітку |
| Підтримка сучасних форматів |
Потрібне дод. програмування |
WebP, lazy loading легко |
Наша команда має понад 10 років досвіду та 50+ реалізованих проєктів на Бітрікс. Зв'яжіться з нами — ми допоможемо вибрати оптимальний варіант і налаштуємо фотогалерею під ключ. Гарантуємо якість та строки. Замовте консультацію — обговоримо ваш проєкт.
Офіційна документація модуля photogallery: dev.1c-bitrix.ru
Докладніше про формат WebP — він стискає зображення на 25–35% без втрати якості.
Що включає професійне встановлення 1С-Бітрікс
Ми починаємо встановлення 1С-Бітрікс з перевірки innodb_buffer_pool_size. Дефолтне значення MySQL (128 МБ) — вирок для інтернет-магазину з каталогом на 10 000+ товарів. Ми ставимо 70–80% від доступної RAM на виділеному сервері, 50% на VPS. Одна ця налаштування прискорює сайт у 2–3 рази порівняно з дефолтом. Правильна конфігурація сервера заощаджує до 60% вартості хостингу щомісяця. Оцінимо ваш проєкт за один день — отримайте консультацію. Звертайтеся, щоб замовити встановлення під ключ з гарантією продуктивності.
Як вибрати хостинг та редакцію для встановлення 1С-Бітрікс?
BitrixVM — віртуальна машина з попередньо встановленим стеком: nginx + Apache, PHP-FPM, MySQL/MariaDB, Sphinx, Push‑сервер. Для VPS — найкращий старт. Все вже сконфігуровано під Бітрікс, включаючи OPcache, логротацію та firewall. Керування через веб‑панель на порту 8890.
VPS/VDS — золота середина. Мінімальна конфігурація для середнього інтернет‑магазину: 2 vCPU, 4 ГБ RAM, SSD. Оптимальна: 4 vCPU, 8 ГБ RAM. ОС: Ubuntu 22.04 або Debian 12. Якщо не BitrixVM — налаштовуємо стек вручну під задачу. Віртуальний хостинг — тільки для візиток та лендінгів. Вимоги: PHP 8.0+, MySQL 5.7+ / MariaDB 10.0+, 512 МБ RAM, .htaccess. Хостинг‑партнери 1С-Бітрікс — гарантія сумісності. Виділений сервер — для highload. Типова архітектура: веб‑сервер окремо, база даних окремо, Redis/Memcached окремо. На редакції «Ентерпрайз» — веб‑кластер з балансувальником. Хмара (Yandex Cloud, VK Cloud, Selectel) — коли навантаження стрибає: розпродажі, сезонні піки. Автомасштабування через Managed Kubernetes або просто вертикальне масштабування VM.
Вибір редакції — не менш важливий крок. Часта помилка: беруть «Малий бізнес» для магазину, який через півроку виростає до B2B з оптовими цінами та трьома складами. Перехід на «Бізнес» — доплата різниці, дані не втрачаються, але краще передбачити заздалегідь. Наші фахівці підберуть редакцію під поточні завдання і з запасом на зростання. Наприклад, ліцензія «Бізнес» окупається за рахунок мультискладу та обміну з 1С, а неправильний вибір призводить до додаткових витрат, які можуть у 2–3 рази перевищити вартість ліцензії.
| Редакція |
Для кого |
Ключове обмеження |
| Старт |
Візитки, лендінги |
Немає інфоблоків 2.0, немає торгового каталогу |
| Стандарт |
Корпоративні сайти |
Немає e‑commerce модуля |
| Малий бізнес |
Маленькі магазини |
1 тип ціни, 1 склад, немає обміну з 1С |
| Бізнес |
Середні магазини, B2B |
Мультисклад, мультивалютність, CommerceML |
| Ентерпрайз |
Highload, кластер |
Веб‑кластер, CDN, мультисайтовість |
Які налаштування сервера критичні для 1С-Бітрікс?
Веб‑сервер та PHP
nginx як reverse proxy + Apache (mod_php) або nginx + PHP-FPM напряму. Другий варіант економить пам’ять — Apache не потрібен. Але деякі модулі Бітрікс використовують .htaccess, тому для сумісності іноді залишаємо Apache. Конфігурація nginx: fastcgi_read_timeout 300 — для довгих операцій (імпорт з 1С), client_max_body_size 1024m — завантаження великих файлів. Закриваємо доступ до .settings.php, .settings_extra.php, bitrix/.settings.php — там паролі до бази. Rewrite‑правила з urlrewrite.php — Бітрікс сам генерує, але при nginx + PHP-FPM потрібно продублювати. PHP 8.0–8.2 з розширеннями: mbstring, curl, gd, xml, json, opcache, redis/memcached. Ключові налаштування php.ini: opcache.memory_consumption=256, opcache.max_accelerated_files=20000, max_execution_time=300, memory_limit=512M, upload_max_filesize=100M, post_max_size=128M. Порівняно з Apache + mod_php, зв’язка nginx + PHP-FPM споживає на 30% менше оперативної пам’яті при однаковому навантаженні — це підтверджено на наших проєктах.
База даних та кешування
MySQL/MariaDB. Ключові параметри my.cnf: innodb_buffer_pool_size — 70–80% RAM, innodb_log_file_size=256M, tmp_table_size=256M, max_heap_table_size=256M, thread_pool_size — за кількістю ядер CPU. Кодування utf8mb4 обов'язково, інакше емодзі та спецсимволи ламаються. Redis кращий за Memcached для Бітрікс — підтримує persistent connections та більш надійний. Налаштовуємо в .settings_extra.php:
'cache' => ['value' => ['type' => ['class_name' => '\\Bitrix\\Main\\Data\\CacheEngineRedis']]]
'session' => ['value' => ['mode' => 'default', 'handlers' => ['general' => ['type' => 'redis']]]]
Redis прискорює роботу сайту в 1.5 рази порівняно з Memcached завдяки постійним з’єднанням та вбудованому кешуванню сесій.
SSL, пошта та cron
SSL — Let's Encrypt через certbot у 90% випадків. Редирект HTTP → HTTPS (301), HSTS, TLS 1.2/1.3, OCSP Stapling. У Бітрікс перемикаємо на HTTPS у налаштуваннях головного модуля. Пошта: відмовляємося від mail() — підключаємо SMTP (Яндекс.Пошта для домену, Mail.ru для бізнесу). Обов'язково налаштовуємо SPF, DKIM, DMARC. Без SPF листи потрапляють у спам. Тестуємо доставляння через mail‑tester.com — оцінка 9+/10. Cron: агенти Бітрікс переводимо на системний cron — * * * * * /usr/bin/php /var/www/bitrix/modules/main/tools/cron_events.php. На cron вішаємо обмін з 1С (15–60 хв), пошукову переіндексацію, бекапи (mysqldump + rsync, ротація 7+4), очищення тимчасових файлів.
Безпека та адміністрування
Файлова система: власник www-data, директорії 755, файли 644, upload 775. nginx блокує доступ до файлів конфігурації. Вмикаємо Проактивний захист Бітрікс — WAF, контроль активності (блокування після 5 невдалих спроб), перевірку цілісності ядра. Для адмін‑панелі: двофакторна аутентифікація через Google Authenticator або OTP, обмеження доступу за IP через nginx для параноїків.
Скільки часу займає встановлення 1С-Бітрікс та налаштування?
| Завдання |
Термін |
| Встановлення на віртуальний хостинг |
2–4 години |
| Встановлення на VPS з налаштуванням стеку |
1–2 дні |
| Встановлення на dedicated з проектуванням архітектури |
2–5 днів |
| SSL + пошта + cron + безпека |
1–2 дні |
| Налаштування бекапів та моніторингу |
0.5–1 день |
Перевірка після встановлення (покроковий чек‑лист)
- Монітор продуктивності (
/bitrix/admin/perfmon_panel.php) — цілимося в 30+ балів. Нижче 20 — є серйозні проблеми з конфігурацією.
- Перевірка системи — автоматична перевірка всіх параметрів. Червоні пункти — виправляємо обов'язково, жовті — за ситуацією.
- Сканер безпеки — перевірка на типові вразливості.
- PageSpeed Insights — TTFB < 200мс на VPS, LCP < 2.5с.
- Тестовий обмін з 1С — якщо планується інтеграція, перевіряємо CommerceML‑обмін до запуску.
Додатково перевіряємо версії ПЗ, налаштування кешування, роботу cron, SSL‑сертифікат, SPF/DKIM/DMARC, права доступу, видалення дефолтних користувачів та сторінок. Для проєктів з 54‑ФЗ переконуємося, що налаштована фіскалізація через ОФД‑провайдера.
Що входить у роботу (deliverables)
- Повністю налаштований сервер під 1С-Бітрікс з оптимізацією MySQL, PHP, nginx.
- Встановлена та активована ліцензія потрібної редакції.
- SSL‑сертифікат, поштові налаштування, cron та бекапи.
- Документація: всі параметри конфігурації, доступи, cron‑завдання.
- Навчання контент‑менеджера: як заходити до адмінки, додавати товари, завантажувати зображення.
- Підтримка після встановлення протягом 30 днів — консультації з налаштувань.
Чому варто довірити встановлення професіоналам?
Неправильне встановлення — втрата часу та грошей. Ми бачили проєкти, де магазин на «Старті» не міг витримати 50 відвідувачів, тому що не було налаштовано innodb_buffer_pool_size. Після перенесення на VPS з правильною конфігурацією сайт «полетів». Неправильна конфігурація призводить до невиправданих витрат — іноді в 2–3 рази дорожче, ніж вартість професійного налаштування. Ви отримуєте готову архітектуру, яка масштабується. Замовте встановлення 1С-Бітрікс під ключ — й отримайте надійну платформу для зростання бізнесу. Зв'яжіться з нами — розрахуємо вартість під ваш проєкт. Досвід понад 7 років, реалізовано 120+ проєктів на Бітрікс, включаючи highload‑магазини з каталогами понад 100 000 товарів. Звертайтеся — ми допоможемо налаштувати Бітрікс під ваш проєкт.