Managing Effective Drupal Websites
A lot has changed over the course of my career, but not everything. Some things that were true 10 years ago, or even 20 years ago, are still true today.
One of those things is the most important key to managing a website effectively. I’m reminded of this every time my colleagues and I do an audit of a new client’s Drupal website.
So, what’s the secret? What is the one word that determines whether you can successfully manage your website not just today, but three months from now or even three years from now?
That’s right. The same thing that is important for your closet at home or your desk at work is the key to managing your website effectively.
I mentioned performing audits on our clients’ websites. At Duo, we have a 21-page templated audit document that helps us evaluate what’s good about the client’s website and where it needs improvement, and we’ve been doing more audits recently than ever before. More often than not, the biggest problems we come across —particularly on Drupal websites — relate to organization.
I’m guessing you are saying to yourself, I’m a pretty organized person. How do I know if my website is organized well? I’m glad you asked. Here are four common organization problems we see when we perform an audit.
- Drupal core and Drupal contributor modifications
Drupal core is a powerful base for any website, and Drupal 8 core is the best that the platform has ever seen. That being said, most site owners still want to make changes so their site is unique, reflecting the unique qualities of their organization and offerings, which makes perfect sense. There are countless ways to implement changes to your Drupal site that will help differentiate it. The one way you should not make those changes, though, is by changing the core or contributed module files.
This actually happens more than you may think.
Say, for example, you have a module that gives you the functionality to share content across social channels. You want to modify how the output from the module appears on your site. Maybe you want to change the order of the social channel icons, and the module provides no way to make that change through the user interface. Some social channels are more important than others for your organization, so that’s completely fair. The quickest way to make that change is to go in and change the files in the module directly, but please resist that urge.
If you change the code to the files in Drupal core or contributed modules, unless you’re very organized and take the appropriate precautions, the next time that module updates, it will essentially wipe out whatever changes you made. More importantly, as the maintainer of the module makes updates for security and bug fixes, the module’s files will change over time. Even if you are organized and create a patch for the module, there’s a good chance that patch will not cleanly apply the next time the module is updated.
Instead, Drupal provides mechanisms for modifying or even replacing functionality in core and contributed modules through your own custom modules or in your theme. This is a much better practice to follow, and code that you need to update is organized into areas of your site where you’re already working.
There are rare cases when Drupal core or a contributed module will have to be modified that go beyond the scope of this post. There are important best practices that should be followed, and modifying Drupal core or a contributed module should always be the exception and not the rule.
- Duplicate page titles
This one surprised me the first time I saw it, but I’ve found it’s become more of an issue recently. We have been seeing a lot of duplicate page titles during site audits. Often, these are the result of recurring calendar events or other types of content that use the same title.
The biggest problem this can cause — other than potential confusion for both site editors and site visitors who are searching for content on the site — relates to SEO. To Google and other search engines, duplicate titles appear to be the same content over and over again. As part of our audit, we offer to make recommendations to replace duplicate titles with unique titles instead.
- Duplicate modules
Duplicate modules have been discovered much more frequently during our recent audits, resulting from disorganization in how the site was architected or is maintained. This problem usually surfaces when a developer who is not familiar with your back-end site structure tries to fix a bug or update a module. If the developer can’t find the location for a specific module, they may end up re-downloading the module and placing it in a different location. This can lead to minor or major conflicts within the site itself, especially in cases when the modules may be different versions.
- Unused modules
Just like the shirt that’s hiding in the back of your closet that you haven’t worn in years, modules that aren’t being used should be removed. A lot of times we see websites that have modules that just built up over time; sometimes these modules haven’t been used in years. You want your code base to match your site’s function, so if you’re not using a module, remove or disable it in order to ensure your site is operating effectively.
What are some ways to tell that your site is suffering from disorganization?
Audits can be very helpful in discovering organizational issues with your website, including issues that may not be as common as those outlined above. The site’s content model, for example, might be making it harder to display certain relationships, slowing down your site, making it perform more slowly than it should. Audits also discover security, SEO, accessibility, coding standards, and a whole host of other issues not directly relating to organization.
That said, there are also a few things you can do as a site owner to discover issues with your site. The clearest indicator of an issue is if deployments to the production site wipe out functionality or create other bugs or errors. Deployments should generally be a smooth process in which what you have seen and approved in a non-production environment gets pushed over into production.
Additionally, you can access your website’s status (/admin/reports/status) and updates page (/admin/reports/status) to see the latest information on how your site is performing and what, if any updates need to be made.
So, how well organized is your website?
Do you think it may need an audit?
Feel free to connect with us and we’d be happy to get you started.