PHPackages                             synolia/sylius-maintenance-plugin - 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. synolia/sylius-maintenance-plugin

ActiveSylius-plugin[Utility &amp; Helpers](/categories/utility)

synolia/sylius-maintenance-plugin
=================================

Plugin for Sylius when your website is under maintenance

v2.1.1(5mo ago)568.4k↑20.8%8[1 issues](https://github.com/synolia/SyliusMaintenancePlugin/issues)EUPL-1.2PHPPHP ^8.2CI passing

Since Nov 28Pushed 4mo ago9 watchersCompare

[ Source](https://github.com/synolia/SyliusMaintenancePlugin)[ Packagist](https://packagist.org/packages/synolia/sylius-maintenance-plugin)[ RSS](/packages/synolia-sylius-maintenance-plugin/feed)WikiDiscussions main Synced 1mo ago

READMEChangelog (10)Dependencies (23)Versions (21)Used By (0)

[![License](https://camo.githubusercontent.com/e7de763ffa725af0f13e0d80ccee4d49afc68256f013f82bd03619de95eaf584/68747470733a2f2f62616467656e2e6e65742f6769746875622f6c6963656e73652f73796e6f6c69612f53796c6975734d61696e74656e616e6365506c7567696e)](https://github.com/synolia/SyliusMaintenancePlugin/blob/main/LICENSE)[![CI - Analysis](https://github.com/synolia/SyliusMaintenancePlugin/actions/workflows/analysis.yaml/badge.svg?branch=main)](https://github.com/synolia/SyliusMaintenancePlugin/actions/workflows/analysis.yaml)[![CI - Sylius](https://github.com/synolia/SyliusMaintenancePlugin/actions/workflows/sylius.yaml/badge.svg?branch=main)](https://github.com/synolia/SyliusMaintenancePlugin/actions/workflows/sylius.yaml)[![Version](https://camo.githubusercontent.com/dd3353f3b2cc6e593be6da414ee2c023103883f3d26b9cebf67334560ba10c93/68747470733a2f2f62616467656e2e6e65742f6769746875622f7461672f73796e6f6c69612f53796c6975734d61696e74656e616e6365506c7567696e3f6c6162656c3d56657273696f6e)](https://packagist.org/packages/synolia/sylius-maintenance-plugin)[![Total Downloads](https://camo.githubusercontent.com/d0649be9f3679d07f59d3257987464832cf5102cacddd73bb93e8ab579192699/68747470733a2f2f706f7365722e707567782e6f72672f73796e6f6c69612f73796c6975732d6d61696e74656e616e63652d706c7567696e2f646f776e6c6f616473)](https://packagist.org/packages/synolia/sylius-maintenance-plugin)

 [    ![Sylius Logo.](https://camo.githubusercontent.com/ea9dddc934264aa7ec01cf3202c500f3d8b04448bce2571bdc74230efddda88f/68747470733a2f2f6d656469612e73796c6975732e636f6d2f73796c6975732d6c6f676f2d3830302e706e67)  ](https://sylius.com)

Sylius Maintenance Plugin
=========================

[](#sylius-maintenance-plugin)

Features
--------

[](#features)

### When your website is under maintenance, and you want to :

[](#when-your-website-is-under-maintenance-and-you-want-to-)

- Do not allow access to your website and display the message "the website is under maintenance" on the frontpage.
- Allow access to your website to some Ips addresses or secret token
- Activate and deactivate these behaviors by commands
- Activate and deactivate behaviors in your Sylius Back-office
- Custom your message in your Sylius Back-office
- Allow access to search bots to avoid negative impact on SEO

[![Alt text](images/maintenance.png "maintenance_configure")](images/maintenance.png)

Requirements
------------

[](#requirements)

VersionPHP^8.2Sylius^2.0Installation
------------

[](#installation)

1. Add the bundle and dependencies in your composer.json :

    ```
    composer require synolia/sylius-maintenance-plugin
    ```
2. Import routing in your `config/routes.yaml` file:

    ```
    synolia_maintenance:
        resource: "@SynoliaSyliusMaintenancePlugin/config/routes/admin_routing.yaml"
        prefix: '/%sylius_admin.path_name%'
    ```
3. Import twig hooks from config in your `config/packages/maintenance.yaml` file:

    ```
    imports:
         - { resource: "@SynoliaSyliusMaintenancePlugin/config/config.yaml" }
    ```
4. Clear cache

    ```
    php bin/console cache:clear
    ```

Usage
-----

[](#usage)

- To turn your website under maintenance, please create a file **maintenance.yaml** at the root of your project.
- If you want to allow access for some Ips, please add these Ip into **maintenance.yaml**
    For example :

    ```
    ips: [172.16.254.1, 255.255.255.255, 192.0.0.255]
    ```

### You can turn your website under maintenance by console commands :

[](#you-can-turn-your-website-under-maintenance-by-console-commands-)

1. Enable the plugin

    ```
    php bin/console maintenance:enable
    ```
2. Enable the plugin and add one or multiple ips addresses separated with a space

    ```
    php bin/console maintenance:enable 172.16.254.1 255.255.255.255 192.0.0.255
    ```

3.Enable the plugin and disable admin access

```
``` shell
php bin/console maintenance:enable --disable-admin
```

```

4.Disable the plugin

```
``` shell
php bin/console maintenance:disable
```

```

5.Remove configuration file using CLI

By default, **maintenance.yaml** configuration file remains when running `maintenance:disable` or via admin panel using toggle disable Nevertheless passing option `[-c|--clear]` to command line above will reset previous saved configuration

### You can also turn your website under maintenance in Back Office :

[](#you-can-also-turn-your-website-under-maintenance-in-back-office-)

- Enable/disable the plugin
- Allow access for one or multiple ips addresses (optional)
- Allow access for secret token (session and request) (optional)
- Create your custom message (optional)
- Grant access to search bots during maintenance (optional)
- Grant access to admins during maintenance (optional)

### If you want to put the **maintenance.yaml** in a directory, please add your directory in .env:

[](#if-you-want-to-put-the-maintenanceyaml-in-a-directory-please-add-your-directory-in-env)

For example :

```
 SYNOLIA_MAINTENANCE_DIR=var/maintenance
```

### If you want to add cache on the **maintenance.yaml**:

[](#if-you-want-to-add-cache-on-the-maintenanceyaml)

```
# .env
SYNOLIA_MAINTENANCE_CACHE=30 # ttl in seconds
```

And in project code (for example with redis)

```
# config/packages/prod/cache.yaml
framework:
    cache:
        ...
        pools:
            ...
            synolia_maintenance.cache:
                adapter: cache.adapter.redis
```

### Precisions for access token

[](#precisions-for-access-token)

Once token is generated, disallowing maintenance will be available thought request as well. So you can use it as query parameter `?synolia_maintenance_token={$token}` or in headers `HTTP_SYNOLIA_MAINTENANCE_TOKEN: token` for a particular request to bypass maintenance mode.

Development
-----------

[](#development)

See [How to contribute](CONTRIBUTING.md).

License
-------

[](#license)

This library is under the [EUPL-1.2 license](LICENSE).

Credits
-------

[](#credits)

Developed by [Synolia](https://synolia.com/).

###  Health Score

55

—

FairBetter than 98% of packages

Maintenance68

Regular maintenance activity

Popularity38

Limited adoption so far

Community19

Small or concentrated contributor base

Maturity79

Established project with proven stability

 Bus Factor1

Top contributor holds 71.8% 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 ~121 days

Recently: every ~74 days

Total

19

Last Release

172d ago

Major Versions

v0.1.2 → v1.0.02021-07-08

v1.6.0 → v2.02025-01-29

v1.7.1 → v2.1.02025-03-22

PHP version history (3 changes)v1.0.0PHP ^7.4 || ^8.0

v1.4.0PHP ^8.0

v1.6.0PHP ^8.2

### Community

Maintainers

![](https://www.gravatar.com/avatar/32f47fee63643780d0758c7803bd7f2e682fb8c41e09a6f6041412b3264821c1?d=identicon)[synolia](/maintainers/synolia)

---

Top Contributors

[![oallain](https://avatars.githubusercontent.com/u/6593252?v=4)](https://github.com/oallain "oallain (102 commits)")[![maxperei](https://avatars.githubusercontent.com/u/7437661?v=4)](https://github.com/maxperei "maxperei (23 commits)")[![Jibbarth](https://avatars.githubusercontent.com/u/3168281?v=4)](https://github.com/Jibbarth "Jibbarth (11 commits)")[![gebi84](https://avatars.githubusercontent.com/u/805019?v=4)](https://github.com/gebi84 "gebi84 (5 commits)")[![yoannhdev](https://avatars.githubusercontent.com/u/109511385?v=4)](https://github.com/yoannhdev "yoannhdev (1 commits)")

---

Tags

maintenance-modesyliussylius-pluginsyliusmaintenancesylius-plugin

###  Code Quality

TestsPHPUnit

Static AnalysisPHPStan, Rector

Code StylePHP\_CodeSniffer

Type Coverage Yes

### Embed Badge

![Health badge](/badges/synolia-sylius-maintenance-plugin/health.svg)

```
[![Health](https://phpackages.com/badges/synolia-sylius-maintenance-plugin/health.svg)](https://phpackages.com/packages/synolia-sylius-maintenance-plugin)
```

###  Alternatives

[sylius/refund-plugin

Plugin provides basic refunds functionality for Sylius application.

691.7M14](/packages/sylius-refund-plugin)[stefandoorn/sitemap-plugin

Sitemap Plugin for Sylius

851.0M](/packages/stefandoorn-sitemap-plugin)[synolia/sylius-scheduler-command-plugin

Scheduler Command Plugin.

34361.5k](/packages/synolia-sylius-scheduler-command-plugin)[monsieurbiz/sylius-rich-editor-plugin

A Rich Editor plugin for Sylius.

75380.8k6](/packages/monsieurbiz-sylius-rich-editor-plugin)[setono/sylius-redirect-plugin

Sylius plugin for managing redirects

26352.1k](/packages/setono-sylius-redirect-plugin)[odiseoteam/sylius-blog-plugin

This plugin add blog capabilities to your Sylius project

37104.5k](/packages/odiseoteam-sylius-blog-plugin)

PHPackages © 2026

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