Налаштування водяних знаків на фотографіях товарів 1С-Бітрікс
Щодня власники інтернет-магазинів втрачають до 15% трафіку через копіювання зображень конкурентами. Водяний знак на фотографіях товарів — перший рубіж захисту, який ми налаштовуємо на платформі 1С-Бітрікс. Наші інженери з 5-річним досвідом впровадження Бітрікс вирішують це завдання під ключ: від вбудованого механізму до кастомної обробки через GD. Зверніться до нас — ми налаштуємо водяні знаки так, щоб вони не погіршували UX і не сповільнювали сайт.
При цьому важливо враховувати, що водяні знаки не повинні заважати перегляду товару. За нашими даними, оптимальна прозорість логотипу — 70–80%, а розмір — не більше 5% від ширини картинки. Ми гарантуємо, що кожен згенерований файл буде оптимізований для CDN. В середньому на 10 000 зображень обробка займає 15–30 хвилин — без простою сайту.
У цій статті ми розберемо, як працює вбудований механізм водяних знаків у Бітрікс, коли потрібна кастомна обробка через GD і як правильно налаштувати кешування. Якщо вам потрібне готове рішення — зв'яжіться з нами, ми оцінимо проєкт і запропонуємо строки від 2 до 5 днів залежно від складності.
Як захистити зображення товарів від копіювання?
Конкурент завантажує фотографії з каталогу та використовує їх у себе. Це відбувається саме тому, що на зображеннях немає ідентифікатора магазину. Водяний знак — мінімальний захист, але він працює як бар'єр для лінивого копіювання.
Де Бітрікс обробляє зображення?
Всі зображення у Бітрікс проходять через модуль main, клас CFile. Ресайз і конвертація відбуваються при зверненні до методу CFile::ResizeImageGet() або при генерації мініатюри через компонент. Фізично оброблені файли кешуються в /upload/resize_cache/.
Водяний знак не вбудований у стандартний CFile. Бітрікс надає клас \Bitrix\Main\Diag\Image і обгортку \Bitrix\Main\IO\File, але обробка водяного знаку реалізована в окремому функціоналі — через налаштування модуля main в адміністративній частині.
Як налаштувати вбудовані водяні знаки в модулі main?
В адміністративній частині (/bitrix/admin/settings.php?lang=ru&mid=main) є розділ «Водяные знаки». Параметри зберігаються в b_option з модулем main:
-
use_watermark_text— використовувати текст як водяний знак -
use_watermark_image— використовувати зображення -
watermark_text— текст водяного знаку -
watermark_text_color— колір у форматі R,G,B -
watermark_text_size— розмір шрифту -
watermark_position— позиція (TL, TC, TR, CL, CC, CR, BL, BC, BR) -
watermark_image_path— шлях до файлу-зображення для водяного знаку -
watermark_image_alpha— прозорість (0–100)
Вбудований механізм застосовує водяний знак при виклику CFile::ResizeImageGet() з параметром $bUseWatermark = true. Компонент bitrix:catalog.element за замовчуванням не передає цей параметр — потрібно явно вказати в параметрах компонента або в шаблоні.
Таблиця позицій водяного знаку:
| Код позиції | Опис |
|---|---|
| TL | Верхній лівий кут |
| TC | Верхній центр |
| TR | Верхній правий кут |
| CL | Центр зліва |
| CC | Центр |
| CR | Центр справа |
| BL | Нижній лівий кут |
| BC | Нижній центр |
| BR | Нижній правий кут |
Коли потрібне програмне накладання через GD?
Для нестандартного позиціонування або динамічного контенту водяного знаку (наприклад, ціна, дата) використовується пряма робота з GD:
function applyWatermark(string $sourcePath, string $outputPath): void { $info = getimagesize($sourcePath); $src = match($info[2]) { IMAGETYPE_JPEG => imagecreatefromjpeg($sourcePath), IMAGETYPE_PNG => imagecreatefrompng($sourcePath), IMAGETYPE_WEBP => imagecreatefromwebp($sourcePath), default => throw new \RuntimeException('Unsupported format'), }; $wmPath = $_SERVER['DOCUMENT_ROOT'] . '/local/watermark.png'; $wm = imagecreatefrompng($wmPath); $srcW = imagesx($src); $srcH = imagesy($src); $wmW = imagesx($wm); $wmH = imagesy($wm); // Позиція: правий нижній кут з відступом 10px $destX = $srcW - $wmW - 10; $destY = $srcH - $wmH - 10; imagecopy($src, $wm, $destX, $destY, 0, 0, $wmW, $wmH); match($info[2]) { IMAGETYPE_JPEG => imagejpeg($src, $outputPath, 90), IMAGETYPE_PNG => imagepng($src, $outputPath), IMAGETYPE_WEBP => imagewebp($src, $outputPath, 85), }; imagedestroy($src); imagedestroy($wm); } Програмний метод дає більше контролю: можна накладати текст з датою, обробляти лише певні категорії товарів або змінювати прозорість залежно від яскравості фону. Однак він вимагає серверних ресурсів — при масовій обробці використовуйте агенти.
Чому кешування водяних знаків критичне?
Водяний знак не повинен накладатися при кожному запиті. Оброблене зображення кешується в /upload/watermarked/{$fileId}/ з іменем, що включає хеш параметрів водяного знаку. При зміні логотипу або позиції — хеш змінюється, кеш інвалідується автоматично.
Для масової обробки існуючих зображень: агент або CLI-скрипт ітерує b_file по полю MODULE_ID = 'iblock' і обробляє файли батчами по 50–100 штук. На 10 000 зображень при середньому розмірі 200 КБ обробка займає 15–30 хвилин на нормальному сервері.
Порівняння методів накладання водяних знаків
| Параметр | Вбудований модуль main | Програмне накладання GD |
|---|---|---|
| Простота налаштування | Висока | Середня |
| Гнучкість позиціонування | 9 варіантів | Будь-яка позиція |
| Підтримка динамічного тексту | Ні | Так |
| Навантаження на сервер | Мінімальне | Помірне (AGI) |
Чому водяний знак не вирішує всіх проблем?
Водяний знак — лише один з елементів захисту. Він не запобігає скріншотам або ручному копіюванню. Для повного захисту ми рекомендуємо комбінувати водяні знаки з забороною індексації зображень у robots.txt, налаштуванням гарячих посилань (hotlink protection) і використанням технології BlurHash для прев'ю. Наші спеціалісти допоможуть впровадити комплексне рішення — зв'яжіться з нами для консультації.
Що входить у налаштування водяних знаків?
- Параметри вбудованого водяного знаку в
b_optionдля модуляmain - Передачу прапорця
bUseWatermarkу компонентах каталогу - Кастомну функцію накладання через GD для нестандартних вимог
- Директорію кешу
/upload/watermarked/з правильними правами - Агент для масової обробки існуючих зображень
- Виняток: зображення певних категорій або брендів без водяного знаку
Замовте налаштування водяних знаків — отримайте консультацію щодо вашого проєкту протягом години. Досвід наших інженерів — понад 5 років у розробці на Бітрікс, понад 50 успішних кейсів із захисту контенту.







