Yeah there is a lot that Pro theme is doing great and even things like moving things to natively support in the theme do improve performance as well. I think without getting into the performance area too much like previous mentioned having a way to reduce DOM elments would be great. Maybe something in theme settings under Miscellaneous with toggles for all the auto generate classes that the theme doesn’t use by are generated so that if you want to specific something with css you can easily do it.
e.g. this is body classes I have home page-template page-template-template-blank-4 page-template-template-blank-4-php page page-id-20 x-integrity x-integrity-light x-child-theme-active x-full-width-layout-active x-full-width-active x-page-title-disabled x-portfolio-meta-disabled pro-v4_2_3 some for the template seem to be duplicate not sure if either are used just there incase want to apply to this template specifically. Multiple referencing
- integrity stack choosen
- full width layout
- mentioning it is a page template
Removing the duplicates and only using one would reduce this by a third.
Disabled features like header and meta thought this would be controlled at php server level removing that guess added incase you want to use special css for these but having option to not push these to dom would be great. And then options for turning off not pushing the page id and slug to dom would be great so if you don’t use these for css then it is fine since most handled on php server level. Maybe even make a note letting people know it can break css or javascription looking for these classes. Then under general page setting under where you select template you could have an emtpy field for classes and id that if someone wants to add say back a class specific for a page they can do it via this.
Obviously this example is just for the body DOM picked because that is often the largest DOM. So maybe just starting with these options for large DOMs at first would be great. And adds some performance improvements without hopefully getting to complicated or into the performance areas as I know there are other plugins focusing on things like CSS shaking and JS shaking that need to take into account plugins and think no need you going down that path.
Thanks again this is just some thoughts put into text.