In the past, when working with Drupal Commerce, I have built it from scratch. This is usually to fine tune exactly the modules I need, and to keep an eye on performance as I add each module.

After doing a few sites this way, I get pretty sick of the process of configuring it all every time, and so with this next project, I have decided to save myself some time, and use Commerce Kickstart 2. I have downloaded it and a had a quick play on WAMP, and its great to have a working site ready to go, with a huge amount of time and worked saved.

However, it feels slow compared to the sites I build from scratch, and there is a lot of modules in this distribution that I wont be needing, and so I will go through and disable/uninstall the modules I don't need.

This still leaves a huge list of modules on the modules page, and even though there is a quick search/filter on the modules page, I would just rather they weren't there.

My question(s) is/are, am I OK to just go and delete all of the modules from the Kickstart profiles folder once I have uninstalled them? Is this considered bad practice for any reason? Will I see any sort of performance increase by deleting them? (I think I will as the system table will be much smaller)

1 Answer 1


By disabling modules enabled by the profile, you may be working against yourself. There is known issue that D7 does not enforce module dependencies listed in the .info of a profile. So if some of the modules you are disabling were enabled on install because they are listed in http://cgit.drupalcode.org/commerce_kickstart/tree/commerce_kickstart.info, then you will find that the profile itself is actually disabled. You can tell if this has happen by looking in the system table and/or the status report. In the system table, the status on of the profile will be 0. In the status report you'll see the profile's name, but no version number. You can read more about the D7 issue in https://www.drupal.org/node/1170362. Some progress has been made on addressing this in D8 in https://www.drupal.org/node/820054.

Because Drupal also uses a variable to tell which profile is being used, a disabled profile may not cause any issues beyond preventing update status lookups. But if a module is being included as a dependency in the .info, it's worth taking the time to understand why the profile's maintainer added that dependency in the first place.

As far as removing modules with a status of 0 to achieve a slightly smaller system table, that is unlikely to have a measurable impact on performance. Where you may see a performance hit is from lots of extra .info and .install files. Creating the list of modules at admin/modules requires scanning several directories for .info files. Checking for updates scans the .install files for any update hooks that haven't already been applied. Beyond that, modules that are not enabled shouldn't be impacting the performance when Drupal renders a page.

You should consider using https://www.drupal.org/project/profiler_builder to generate your own profile and .make from one of the sites you built from scratch. That would give you the advantage of getting another site started quickly without the overhead of a general purpose kickstarter style profile and distribution.

If you do create your own profile, please consider sharing it on Drupal.org so that other members of the community can benefit from the a more efficient (while less robust) Commerce configuration.

  • That's exactly the sort of advice i was looking for. Thank you very much. I think I will still delete the modules I'm not using, but I will be much more careful about reading dependencies and looking at all info files before I get rid of them. Thanks!
    – Collins
    Feb 3, 2015 at 7:58

Your Answer

By clicking “Post Your Answer”, you agree to our terms of service and acknowledge you have read our privacy policy.

Not the answer you're looking for? Browse other questions tagged or ask your own question.