Payments are experiencing issues due to temporary restrictions in Russia. If your payment does not go through, please submit a support request.•Our support team is available 24/7 — we are always here to help with hosting and server issues.•We are now accepting requests for dedicated server rental and colocation services in our data center.•Reminder: we recommend enabling backups for additional data protection.•A new VPS/VDS lineup with NVMe storage and improved performance is now available.•Maintenance work on some servers has been completed. All services are operating normally.•
Payments are experiencing issues due to temporary restrictions in Russia. If your payment does not go through, please submit a support request.•Our support team is available 24/7 — we are always here to help with hosting and server issues.•We are now accepting requests for dedicated server rental and colocation services in our data center.•Reminder: we recommend enabling backups for additional data protection.•A new VPS/VDS lineup with NVMe storage and improved performance is now available.•Maintenance work on some servers has been completed. All services are operating normally.•
Аккаунт в General iT
Вход / Регистрация
Войдите или создайте аккаунт для управления услугами в панели.
Image optimization and conversion to WebP/AVIF - automatically and without third-party services
This module automatically optimizes images and converts them to WebP or AVIF formats for browsers that support these standards. Processing is performed locally without relying on external services. This approach helps improve site performance and aligns with SEO best practices.
This module automatically optimizes images and converts them to WebP or AVIF formats for browsers that support these standards. Processing is performed locally without relying on external services. This approach helps improve site performance and aligns with SEO best practices.
The module optimizes images and PDF files, converting them to WebP and AVIF formats without relying on external services. Supported types for optimization include JPEG, PNG, PDF, GIF, and SVG. Conversion to WebP/AVIF is available for JPEG and PNG images.
The solution utilizes Google-recommended tools: jpegoptim, optipng, gs, svgo, gifsicle, cwebp, and Imagick. This ensures image compression by a factor of 5–10, significant disk space savings, and successful PageSpeed Insights test results. Optimization and conversion occur automatically in real time, including processing during image resizing.
The module does not use external services or the curl library, minimizing server load. Features include support for multisite installations and Bitrix24. Flexible configuration options are available, including the ability to run optimization via console in the background.
Users can enable or disable automatic image resizing with a defined maximum size limit. The original orientation of files is preserved (vertical images remain vertical, horizontal remain horizontal), and file permissions are maintained. The optimization process is clean, avoiding the creation of unnecessary data.
The Dev2Fun image optimization module provides compression and conversion to WebP and AVIF formats without using external services. The original creation timestamp of files is preserved during processing.
Three conversion modes are available:
hitConvert — conversion is performed upon the first image request. Can work together with the postConvert mode. Creates load when the image is accessed for the first time.
postConvert — conversion occurs at the end of page generation. Converts all images that meet the conditions. Can work together with the hitConvert mode. Creates load when the page is accessed for the first time.
lazyConvert (recommended) — deferred conversion. Converts all found images on visited pages in the background. Works independently of all other modes. Does not create load when accessing the page.
Optimization is supported for:
- loading preview and detail images of elements;
- loading images into the FILE Image property of elements;
- loading images into element sections;
- loading images into the main module;
- image resizing (including cached versions).
Additional features:
- enable or disable optimization for elements, sections, and resizing;
- set file quality during compression;
- set compression level for files;
- enable or disable progressive JPEG;
- compress all existing images directly from the admin panel;
- settings for conversion to WebP and AVIF;
- image conversion agent.
The module automatically optimizes images and converts them to WebP and AVIF formats without relying on external services. It includes an agent for clearing expired cache. Users can select which browsers receive converted image versions and toggle browser support checks via HTTP headers.
Console scripts are provided for optimization, conversion (bitrix/modules/dev2fun.imagecompress/console/convert.php), and clearing the cache of converted pages (bitrix/modules/dev2fun.imagecompress/console/cache-delayed-delete.php). The module can be disabled during data exchange and synchronization processes.
To clear the database of conversion results, execute SQL queries against the b_d2f_imagecompress_images_to_converted and b_d2f_imagecompress_images_converted tables via the SQL administration page. Delete WebP files from the upload/resize_cache/webp directory. Full cache or HTML-only cache clearing is performed via the administration panel or command line (deleting the bitrix/html_pages folder).
Original images are preserved during optimization, allowing for their restoration if needed.
In the free version of the module, the optimization process replaces the original image with a compressed version. The original file cannot be restored after this replacement. It is recommended to create a backup of the upload folder before starting optimization.
When converting images to WebP or AVIF formats, the original files are preserved and can be restored. To do this, disable the conversion feature in the module settings and clear the cache.
Report any technical issues, bugs, or suggestions for improvement to the developers.
For “Image optimization and conversion to WebP/AVIF - automatically and without third-party services”, General iT can perform integration, configuration and a final check after installation.
UPDATE HISTORY
What’s new
76 releases
0.11.15 (15.06.2026)Latest update
* Security improvements
0.11.14 (12.04.2026)
* Security improvements when working with exec()
* Migration from webpack.js to vite.js
0.11.13 (06.04.2026)
* Fixed an error if GD was compiled without EXIF support
* Removed checks for readable and executable from PHP. Now only the version is checked
* Improved checking for the availability of the exec function and necessary server utilities
* Added the ability to clear the cache for searching images for conversion
* Added the ability to clear the cache for replacing original images with webp/avif versions
* Improved deletion of converted images when the original is deleted
* Significantly improved security when working with exec
0.11.11 (23.02.2026)
* Fixed a bug that occasionally occurred with incorrect paths
0.11.10 (30.07.2025)
* Fixed a bug where the image of an information block element was not saved when optimizing JPEG images
* Reintroduced the possibility of the error "Mysql query error: (2006) MySQL server has gone away (400)". Occurs when the MySQL connection times out
* Fixed the bug "Dev2fun\ImageCompress\Compress::resize(): Argument #2 ($strFilePath) must be of type string, null given, called in"
* Frontend update
0.11.9 (27.07.2025)
* Conversion. Fixed a conversion error when the image hash is missing (suggested by @Elnadrion)
* Conversion. Fixed orientation when converting to webp (suggested by @bxmeta)
* Conversion. Fixed orientation when converting to avif
* Optimization. Fixed orientation when optimizing using jpegoptim and optipng
* Optimization. Fixed the error "Mysql query error: (2006) MySQL server has gone away (400)"
* Optimization. Improved optimization. Now, when using jpegoptim and optipng, original permissions and creation date are preserved
0.11.8 (23.07.2025)
* Fixed exception thrown by jpegoptim and others
* Conversion. UI. Added functionality to specify browsers for which webp/avif versions of images should be served
* Conversion. UI. Added functionality to enable/disable browser support check for webp/avif via the Accept header
0.11.7 (26.06.2025)
* Fixed bugs in version 0.11.6
0.11.6 (25.06.2025)
* Conversion. Now images with mime-type webp/avif and extensions jpeg/jpg/png are no longer ignored but are converted to webp/avif
* Conversion. Conversion now always works in CLI, even if image conversion is disabled by default for the site. Previously, if conversion was disabled by default for the site, it also did not work in CLI.
* Fixed a bug in checking interval agents on cron
* Settings. Added a separate error when checking read/execution availability for console utilities: jpegoptim, optipng, ps2pdf, cwebp, svgo, nodejs, gifsicle
* Optimization. Fixed a rare error: Argument #1 ($strFilePath) must be of type string...
0.11.5 (26.05.2025)
* Conversion. Added an agent for conversion
* Conversion. Added the ability to activate/deactivate the conversion agent in module settings
* Conversion. Added functionality to search for images for conversion
* Conversion. Added functionality to delete converted images
* Improved the algorithm for checking that interval agents work via cron
0.11.4 (12.05.2025)
* Fixed bug: Non-static method Bitrix\Main\Data\CacheEngineFiles::delayedDelete() cannot be called statically (0)
* Fixed bugs in image optimization and conversion lists
* Improved support for Cyrillic domains
* Reduced support for invalid image names. It has been identified that names with spaces and invalid characters are currently not supported
* Improved deletion of webp/avif versions when original images are deleted
* Added a scheduled agent for image optimization. It is extremely important that scheduled agents run on cron!
0.11.3 (06.04.2025)
* Fixed a bug where data about converted images was not being saved to the database
0.11.2 (17.03.2025)
* Significant performance improvements when handling large numbers of images
* Fixed a bug during module deletion
* Fixed a bug when saving the flag 'Enable auto-clearing of resize_cache on full cache reset'
0.11.1 (19.02.2025)
* Reduced cache size. Clearing the cache is recommended.
* Improved matching of original images with their webp/avif copies
* Enhanced functionality for excluding images based on original files
0.11.0 (18.02.2025)
* Fixed error "Column DATE_CREATE is not found in the b_d2f_imagecompress_images table"
* Changed storage location for webp/avif images. Images are now stored at /upload/dev2fun.imagecompress
* Added migration functionality from the old storage to the new one via path: /bitrix/admin/dev2fun_imagecompress_convert_move.php
* Fixed issue with webp/avif versions disappearing after a full cache flush
* Added ability to clear resized images via button from directories: /upload/dev2fun.imagecompress/webp/resize_cache and /upload/dev2fun.imagecompress/avif/resize_cache
* Added ability to automatically clear resized images when flushing the full cache. This is done on the conversion settings page
* Now, error messages are written to the general event log
* Added foreign key to fields: b_d2f_imagecompress_images_to_converted.IMAGE_ID and b_d2f_imagecompress_images_to_converted.CONVERTED_IMAGE_ID
If you encounter issues during the update, you can reinstall the module or email support@dev2fun.com and we will help you
0.10.5 (20.10.2024)
* Fixed error "UNCAUGHT_EXCEPTION - [DivisionByZeroError] Division by zero (0)"
0.10.4 (16.09.2024)
* Conversion: fixed warning "Array to string conversion"
* Conversion: fixed fatal error
0.10.3 (15.09.2024)
* Conversion: fixed conversion when escaping the path
* Conversion: added support for paths not from the site root
* Conversion: fixed warning "Array to string conversion"
0.10.2 (08.09.2024)
* Fixed conversion bug in UI
0.10.1 (08.09.2024)
* Added support for converting files with invalid names
* Fixed bugs in the interface during conversion
0.10.0 (23.07.2024)
* Fixed a bug in the paths excluded for image conversion. Now, duplicate images with different paths are taken into account.
* Fixed a bug with double upload when using the Convert::convertImageByPath() method.
* The default exclusion regular expression has been changed from (\/bitrix\/.*) to (\/bitrix\/(?!services\/main\/ajax\.php).*) due to Bitrix requests to /bitrix/services/main/ajax.php. Attention! Upon updating, the old regular expression will be removed from the settings.
0.9.0 (26.04.2024)
* The Dev2fun\ImageCompress::getBrowserAgentName(?string $userAgent) method now supports null.
* Added functionality for automatic cleanup of expired cache.
* Added a script for automatic cleanup of expired cache for cron, located at: ./console/cache-delayed-delete.php.
* Added a cron agent for automatic cleanup of expired cache.
0.8.6 (19.04.2024)
* Fixed a bug in the regular expressions for exclusions in the conversion functionality.
0.8.5 (13.04.2024)
* Fixed a bug where auto-resizing was not performed when saving images in information blocks.
* Added the ability to specify the path to node.js for running svgo.
* Fixed the bug: Column `SITE_ID` is not found in the `b_d2f_imagecompress_images` table.
0.8.4 (15.02.2024)
* Fixed a bug when optimizing a missing image for sections.
* Fixed a bug when checking browser support for conversion.
* Fixed a bug in paths when converting images in the root of the upload folder.
0.8.3 (11.02.2024)
Improved support for older versions of Bitrix:
* Fixed the issue: Call to undefined method Bitrix\Main\Data\Cache::noOutput().
* Fixed the issue: Call to undefined method Bitrix\Main\ORM\Fields\StringField::configureNullable().
0.8.2 (30.01.2024)
- Technical update 2
0.8.1 (30.01.2024)
- Technical update
0.8.0 (25.01.2024)
- Added LazyConvert conversion mode, which converts images in the background with virtually no overhead. This mode achieved a 10x speed increase.
- Added additional settings
- Added support for multi-site conversion
- Fixed several bugs
- Improved postConvert mode operation
- Improved error handling
- Redesigned the module menu in the admin panel
- During optimization, added saving of the new image file size for Bitrix24 (b_disk_object table)
0.7.5 (25.11.2023)
- Fixed a bug when converting transparent PNG images to WebP for the phpWebp mode
- Fixed a bug in the admin panel when saving exclusion pages
0.7.4 (07.08.2023)
- Added support for Cyrillic characters and spaces in file names
- Added a console script for converting images to WEBP/AVIF. Location: console/convert.php
0.7.3 (29.01.2023)
- Fixed a bug with $globalEnable in the Convert class
0.7.2 (22.01.2023)
- Fixed optimization activity
- Fixed conversion activity
- Added support for PHP 8.0
0.7.1 (27.08.2022)
- Added exclusion of all /bitrix pages from conversions
- Improved the settings page
0.7.0 (23.08.2022)
- Improved settings handling
- Fixed several bugs
- Added support for converting images to AVIF
0.6.8 (26.08.2021)
- Improved settings handling
0.6.7 (13.08.2021)
- Fixed a bug related to saving infoblock properties
0.6.6 (29.06.2021)
- Fixed a minor bug in settings
- Added support for exception pages for conversion to WebP (the main page is designated as index.php)
0.6.5 (29.06.2021)
- Improved support for PHP 8
- Improved PDF optimization
- Added support for selecting the optimization type for PDF
0.6.3 (12.04.2021)
- Improved search for non-WebP images in attributes with URLs
0.6.2 (23.03.2021)
- Improved image search for postConvert mode, including srcset attributes and CSS styles such as background-image, background, etc.
0.6.1 (07.02.2021)
- Improved postConvert mode
0.6.0 (05.02.2021)
- Added post-convert mode (postConvert). The module can operate in 2 modes at once. However, it is better to use post-conversion
- Added the ability to specify supported attributes for post-conversion search
- Added cache lifetime for post-conversion
Do not forget to clear the cache
0.5.5 (27.01.2021)
- Fixed a bug with browser verification
- Added the OnBeforeCheckWebpBrowserSupport event with the $supportBrowsers variable to modify the list of supported browsers. The variable is passed by reference.
- Added the OnAfterCheckWebpSupport event with the $result variable to modify the result of the WebP support check. The result must be returned as `return $result;`
- Fixed the check for the current page; now WebP is disabled by default in the `/bitrix/admin/` sections
- Removed the WebP support check from HTTP_ACCEPT due to its absence in some AJAX requests. If you wish to add it, customize it via the `OnAfterCheckWebpSupport` event
- Fixed a bug in the file size check
Thank you for your patience! You are the best!
Remember to clear the cache.
0.5.4 (04.12.2020)
- Fixed a bug where images were not displayed for users whose HTTP_ACCEPT header does not contain image/webp
Note: You must clear the cache.
0.5.3 (13.10.2020)
- Added on-the-fly conversion to WebP for resizing (CFile::ResizeImageGet()).
- Fixed a bug when converting transparent PNG files.
- Fixed a bug with the output of empty images
Note: You must clear the upload/resize_cache folder and clear the cache.
0.5.2 (15.07.2020)
- Fixed an issue where a white area appeared instead of an image on Macs.
Note: If the browser does not support WebP, the old files will be displayed.
0.5.1 (30.06.2020)
- Changed the image type detection algorithm during WebP conversion
0.5.0 (23.06.2020)
- Added the ability to convert images to WebP "on the fly"
- Added WebP conversion algorithms: phpWebp and cwebp
- Added settings for WebP conversion
- Updated the roadmap and solution description on the marketplace page
0.4.5 (28.04.2020)
- Added settings for SVG and GIF
0.4.4 (28.04.2020)
- Fixed a minor bug in the settings
0.4.3 (27.04.2020)
- Fixed a minor bug
0.4.2 (27.04.2020)
- Fixed a minor bug
0.4.1 (26.04.2020)
- Fixed a bug in the configuration testing (Dev2fun\ImageCompress\Check)
0.4.0 (25.04.2020)
- Added GIF image optimization
- Added SVG image optimization
- Added support for PDF/GIF/SVG lists in the list
Roadmap
- 0.5.x: Custom path optimization will be added
- 0.6.x: Image conversion capability will be added
- 1.0.x: Duplicate image replacement capability will be added
Please support the release of updates with a donation
0.3.1 (22.04.2020)
- Added the ability to enable/disable optimization on an instance (useful for exchanges and synchronizations)
The Yandex.Zen RSS PRO module by Dev2Fun is designed to display and manage an RSS feed for Yandex.Zen content. The module includes a display component, flexible configuration options, and a ready-to-use example file.
Key features include feed caching with management controls and automatic cache reset upon saving settings.
The module resolves the issue of blocked site display in iframes caused by the 'Proactive protection -> Frame protection' feature in Yandex.Metrica. By default, the tool allows site rendering for all core analytics sections: Webvisor, Click map, Link map, Scroll map, and Form analytics. Administrators can also configure a custom list of trusted hosts.
The module enables user authentication via email address or login within the standard authentication component. Configuration is performed in the Bitrix administration panel on the module settings page. Each configuration field consists of two keys separated by a colon: EmailInputName and PasswordInputName. An example format is USER_LOGIN:USER_PASSWORD.
The module is designed for importing products and sections from XML, YML, and JSON files. It supports loading any product fields and properties, as well as updating stock levels and prices. Product-to-section binding is supported, along with importing section structures from a file into an arbitrary site structure.
The CleanTalk anti-spam module provides multi-level website security without the need for CAPTCHA. The system automatically blocks bot registrations, spam comments in forums and blogs, and spam in Progressive Media tree comments. Protection extends to private user messages, product reviews in 1C-Bitrix modern online stores, order forms, and any custom forms.
The 'Agents on Cron' module accelerates site performance by shifting agent execution from user visits to the server-side cron scheduler. In Bitrix, agents are scheduled background tasks. By default, they run whenever a user accesses the site, creating server load. This module moves these tasks to a background mode independent of visitor activity.
The solution itself is free. Installation, configuration and customisation services are agreed separately. A compatible platform and an appropriate platform licence are required.
How do I check compatibility?
Compare the supported editions and solution version in the technical details with your project. Before installing on a live website, we recommend making a backup and checking the solution in a test environment.
Can you help with implementation?
We can help install the module, check its settings and verify how it works in your project. Compatibility with other customisations and the scope of work are assessed before we begin.
Your cookie choices
Necessary cookies support sign-in, your cart and security. Optional analytics helps improve the website and starts only with your permission.
Our metrika.git.ru system: public pages, a random identifier, device and interaction events. Form contents, account and payment pages are excluded. Raw events: up to 90 days. Operator: General IT Rus LLC, INN 2310208877.
Your browser requests no tracking: analytics is off.