- 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
Version | |
---|---|
PHP | ^8.0 |
Sylius | ^1.10 |
-
Add the bundle and dependencies in your composer.json :
composer require synolia/sylius-maintenance-plugin
-
Import required config in your
config/packages/_sylius.yaml
file:imports: - { resource: "@SynoliaSyliusMaintenancePlugin/Resources/config/config.yaml" }
-
Import routing in your
config/routes.yaml
file:synolia_maintenance: resource: "@SynoliaSyliusMaintenancePlugin/Resources/config/admin_routing.yaml" prefix: '/%sylius_admin.path_name%'
-
Clear cache
php bin/console cache:clear
-
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]
-
Enable the plugin
php bin/console maintenance:enable
-
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
-
Disable the plugin
php bin/console maintenance:disable
-
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
- Enable/disable the plugin
- Allow access for one or multiple ips addresses (optional)
- Allow access for secret token (optional)
- Create your custom message (optional)
- Grant access to search bots during maintenance (optional)
For example :
SYNOLIA_MAINTENANCE_DIR=var/maintenance
# .env
SYNOLIA_MAINTENANCE_CACHE=30 # ttl in seconds
And in project code (for exemple with redis)
# config/packages/prod/cache.yaml
framework:
cache:
...
pools:
...
synolia_maintenance.cache:
adapter: cache.adapter.redis
See How to contribute.
This library is under the EUPL-1.2 license.
Developed by Synolia.