nystudio107 / craft-seomatic

SEOmatic facilitates modern SEO best practices & implementation for Craft CMS 3. It is a turnkey SEO system that is comprehensive, powerful, and flexible.
https://nystudio107.com/plugins/seomatic
Other
166 stars 71 forks source link

[FR] Allow more settings to be saved to project config #1528

Closed kabel closed 3 weeks ago

kabel commented 4 weeks ago

Is your feature request related to a problem? Please describe.

There a so many settings to get configured for mature sites that are just getting started with the plugin. With the "Global SEO", "Content SEO", "Site Settings", and "Tracking Scripts" all being put into the seomatic_metabundles table, it's very difficult to work on setting changes locally in a development environment and then quickly publish them to a production environment. Currently only the basic "Plugin Settings" are saved into project config.

Describe the solution you would like

All of the bundle types could be persisted to project config folders/files like existing section, site, category, and other configuration.

Describe alternatives you have considered

As a work-around, we could try to work in our development environment to get all our sites and sections configured they way we like and then dump the SQL table to import into the production environment. However, this workflow is fragile and could lead to data integrity errors.

Alternatively, we have to manually keep track of every SEO setting change and re-apply them in a production environment.

Additional context

Project config works with most other craft built-ins like matrix blocks, fields, and entry types.

khalwat commented 3 weeks ago

We can't use Project Config for the SEOmatic settings, because most sites run with allowAdminChanges = false, which would mean that SEO consultants, etc. would be unable to change anything in production.

You can however customize the initial setup however you like via the config/seomatic.php config file: https://nystudio107.com/blog/tips-for-using-seomatic-effectively#customized-setup