PHPackages                             hidro/core-web-vitals - PHPackages - PHPackages  [Skip to content](#main-content)[PHPackages](/)[Directory](/)[Categories](/categories)[Trending](/trending)[Leaderboard](/leaderboard)[Changelog](/changelog)[Analyze](/analyze)[Collections](/collections)[Log in](/login)[Sign up](/register)

1. [Directory](/)
2. /
3. [Utility &amp; Helpers](/categories/utility)
4. /
5. hidro/core-web-vitals

ActiveMagento2-module[Utility &amp; Helpers](/categories/utility)

hidro/core-web-vitals
=====================

Improve Core Web Vital score for Magento 2 website, Magento 2.4

2.4.4(2y ago)182.6k4GPL-3.0PHPPHP &gt;=5.6

Since Oct 25Pushed 2y ago2 watchersCompare

[ Source](https://github.com/hieuhidro/core-web-vitals)[ Packagist](https://packagist.org/packages/hidro/core-web-vitals)[ RSS](/packages/hidro-core-web-vitals/feed)WikiDiscussions M2.4 Synced 3w ago

READMEChangelogDependencies (1)Versions (4)Used By (0)

Magento 2 Core web vitals, optimization for Google Insights
===========================================================

[](#magento-2-core-web-vitals-optimization-for-google-insights)

- Version pattern: \[Magento Version\].x.x
    - Ex: Version format 2.4.x.x (This pattern for Magento 2.4).

This modules allows you modify the HTML, Javascript, CSS, update the position, optimize CWV (Core Web Vitals) scores.

By: Hidro Le. Website:

By me a coffee:
---------------

[](#by-me-a-coffee)

-
-

\#More packages:

- Graylog:
- Checkout my paid version of CWV:

- Main Functionalities
----------------------

[](#--main-functionalities)

- Minify HTML code.
- Adding https/2 push.
- Preload fonts
- Lazy loading Iframe, Images. (You can choose the behavior: Origin browser or Javascript)
- Move javascript to footer.
- Defer javascript codes.
- Defer/preload CSS files by using javascript/browser preload.
- Minify inline CSS, Javascript.
- Active the first item of Owl Carousel first.

- Specifications
----------------

[](#--specifications)

- You have to disable merge **css** if you want to use CSS modifier functions.

Installation
------------

[](#installation)

### Type 1: Zip file

[](#type-1-zip-file)

- Unzip the zip file in `app/code/Hidro`
- Enable the module by running `php bin/magento module:enable Hidro_CoreWebVitals`
- Apply database updates by running `php bin/magento setup:upgrade`\*
- Flush the cache by running `php bin/magento cache:flush`

### Type 2: Composer

[](#type-2-composer)

-
- Make the module available in a composer repository for example:
    - public repository `packagist.org`
    - public github repository as vcs
- Install the module composer by running `composer require hidro/core-web-vitals`
- enable the module by running `php bin/magento module:enable Hidro_CoreWebVitals`
- apply database updates by running `php bin/magento setup:upgrade`
- Flush the cache by running `php bin/magento cache:flush`

### After install the module:

[](#after-install-the-module)

- `bin/magento config:set dev/js/minify_files 1 -l;`
- `bin/magento config:set dev/js/enable_js_bundling 1 -l;`
- `bin/magento config:set dev/css/minify_files 1 -l;`
- `bin/magento config:set dev/css/merge_css_files 0 -l;`
- `bin/magento config:set dev/template/minify_html 1 -l;`
- `bin/magento deploy:mode:set production;`

### DEVELOP

[](#develop)

- app/code/Hidro/CoreWebVitals/Model/Asset/CriticalCss.php:109
    - Adding a custom critical css for special body class
- Override default.css for updating entire default critical css
- Override the core\_vital.css for adding special custom css
- Override fonts.css for updating webfont.

###  Health Score

28

—

LowBetter than 52% of packages

Maintenance20

Infrequent updates — may be unmaintained

Popularity28

Limited adoption so far

Community10

Small or concentrated contributor base

Maturity44

Maturing project, gaining track record

 Bus Factor1

Top contributor holds 100% of commits — single point of failure

How is this calculated?**Maintenance (25%)** — Last commit recency, latest release date, and issue-to-star ratio. Uses a 2-year decay window.

**Popularity (30%)** — Total and monthly downloads, GitHub stars, and forks. Logarithmic scaling prevents top-heavy scores.

**Community (15%)** — Contributors, dependents, forks, watchers, and maintainers. Measures real ecosystem engagement.

**Maturity (30%)** — Project age, version count, PHP version support, and release stability.

###  Release Activity

Cadence

Every ~249 days

Total

3

Last Release

838d ago

### Community

Maintainers

![](https://www.gravatar.com/avatar/05fc5c37edc9d3508d1a69374515d12399fdd889215e2d1906e6caf30fded04c?d=identicon)[hieu.gh](/maintainers/hieu.gh)

---

Top Contributors

[![hieuhidro](https://avatars.githubusercontent.com/u/3570575?v=4)](https://github.com/hieuhidro "hieuhidro (17 commits)")

---

Tags

core-web-vitalsmagentomagento2magento2-extensionmagento2-extension-freemagento2-moduleoptimizationsolution-tutorials

### Embed Badge

![Health badge](/badges/hidro-core-web-vitals/health.svg)

```
[![Health](https://phpackages.com/badges/hidro-core-web-vitals/health.svg)](https://phpackages.com/packages/hidro-core-web-vitals)
```

###  Alternatives

[elgentos/regenerate-catalog-urls

Regenerate Catalog URL Rewrites (products, categories, cms pages)

2842.6M](/packages/elgentos-regenerate-catalog-urls)[run-as-root/magento2-prometheus-exporter

Magento2 Prometheus Exporter

68353.9k](/packages/run-as-root-magento2-prometheus-exporter)[myparcelnl/magento

A Magento 2 module that creates MyParcel labels

1859.0k](/packages/myparcelnl-magento)[loki/magento2-components

Core module for defining Alpine.js components with advanced AJAX features

1010.0k22](/packages/loki-magento2-components)[magepal/magento2-form-field-manager

Customer and Address Form Fields Manager for Magento2

273.9k](/packages/magepal-magento2-form-field-manager)[mage-os/module-llm-txt

AI-powered LLMs.txt generation for Magento 2 / Mage-OS stores. Help AI systems understand your store with OpenAI-generated content.

223.3k](/packages/mage-os-module-llm-txt)

PHPackages © 2026

[Directory](/)[Categories](/categories)[Trending](/trending)[Changelog](/changelog)[Analyze](/analyze)
