Disable Adobe Commerce Banner output to improve site performance
This article provides a fix for low site performance. Low site performance can be caused by the Magento_Banner
module being enabled but not used. Disabling the module output can improve site performance. Review the article for resolution steps.
Note: If you use the Adobe Commerce Banner functionality, see the High throughput AJAX requests cause poor performance article in our support knowledge base for recommendations on how to avoid performance issues caused by excessive Ajax requests.
Description description
Environment
- Adobe Commerce on cloud infrastructure v.2.x.x
- Adobe Commerce on-premises v.2.2.x and 2.3.x
Cause
The Magento_Banner
module is enabled, but not used.
To check if this is the case:
For Adobe Commerce on cloud infrastructure 2.2.x:
- Log in to the Commerce Admin.
- Navigate to Content
>
Elements>
Banners. - If the grid displayed on this page is empty, you do not have any banners.
If you do not see the Banners option under Content >
Elements, it means that you have already applied the recommendations from this article.
For Adobe Commerce on cloud infrastructure 2.3.x and newer (the functionality was renamed in v 2.3.x):
- Log in to the Commerce Admin.
- Navigate to Content
>
Elements>
Dynamic Blocks. - If the grid displayed on this page is empty, you do not have any dynamic blocks (banners).
If you do not see the Dynamic Blocks option under Content >
Elements, it means that you have already applied the recommendation from this article. To see the banners option again, reverse the process.
Cause
When the Magento_Banner
module is enabled, Adobe Commerce sends Ajax requests from the storefront to the server to get the banner information. These Ajax requests have a performance impact, especially in high-load (high-volume and high-traffic) conditions. If the functionality is not used, it is recommended that you disable the module output. It is not recommended to disable the module, because of the dependency issues.
Resolution resolution
Warning: We strongly recommend testing changes on Staging/Integration environment first, before applying it to Production. We also recommend having a recent backup before any manipulations.
- Disable the
Magento_Banner
module output, as described in Disable module output in our developer documentation. The module name you need to use isMagento_Banner
. - Deploy your code. For Adobe Commerce on cloud infrastructure, deploy as described in the Deploy your store article in our developer documentation.
- After disabling the module output, the menu no longer appears in the admin.
- You will no longer see Banner or Dynamic option under Content
>
Elements. To show the options again, enable the module output.