Caution! Adding Plugins to Your WordPress Theme
You probably, like in my case, spent many hours to search for a nice WordPress theme for your Website. You chose a theme that is valid (or mostly with some minor tweaks) for CSS and HTML, and compliant with the accessibility standards (or mostly at least) as required by Section 508 law, and suggested by the W3C Web Content Accessibility Guidelines.
However, I want to caution you about adding plugins to adding plugins to your WordPress theme. As you know, the power of WordPress is its extensibility. And plugins can extend WordPress to do almost anything you can imagine. Plugins either enhance or add additional functionality to your Website. I know that many of you get carried away trying out the thousands of cool plugins available. As of the update of this post (Nov. 3, 2011), there are 59,000 plugins available.
Using plugins have tremendous advantages: they save a lot of time in coding and add a lot of functionality to your Website. But they could have shortcomings too. By adding plugins to your theme, you need to take into consideration the following:
- Plugins can interfere with each other. Installing (or sometimes updating) one plugin can cause another existing plugin to break. Therefore, it is best when installing or updating a plugin to retest all the plugins that exist on your Website to make sure that they still function properly.
- Some plugins can cause your Website to become noncompliant. If you care about HTML validation, CSS validation, and accessibility, make sure you choose plugins that are compliant with the latest Web standards.
- Having a WordPress Website that heavily depends on plugins can lead to future problems with newer versions of WordPress. Existing plugins on your Website might become outdated and not properly maintained for future versions of WordPress. Therefore, with every new WordPress upgrade you need to test all your plugins for proper behavior and functionality. The more plugins you have, the more tesitng your Website requires.
- Last but not least, some plugins inject extraneous CSS and JavaScript code and even create tables in your WordPress database. Plugins use system resources and slow down the load time of your Website. The more plugins you use, the slower your Website loads and users will leave. Website loading speed is a major factor that affects usability and user behavior. Therefore, use only plugins that you really need, and delete the rest.
Therefore, before going crazy with adding plugins, carefully weigh the advantage(s)/disadvantage(s) of each one and choose wisely.
Why not just deactivate plugins instead of deleting them?
- Because, deactivated plugins can create loopholes and back doors that hackers can exploit. Delete them and maintain security of your Website.
- Some plugins feature tags inside the template files. If the plugin is deactivated, it will “break” your Website or fail to load.
- Deactivated plugins pile up in your WordPress plugins panel, making your plugin list cumbersome to scroll through. They might even become incompatible with new WordPress versions. So if you don´t use them, why keep them around?
Some of the WordPress themes, including the default theme, use (X)HTML attributes that are not W3C valid. For example the
role=“main”
andaria-required=´true´
attributes cause validation errors.The
aria
attribute is an addon to XHTML 1.1 to use for accessibility with dynamic applications. It helps the not so fortunate handicap users to know what fields are required. The markup for WAI-ARIA is still in draft and that´s why the validation error.The
role
attribute is used for a better semantic markup and, among other things, further improve accessibility of the content. It describes the role the current element plays in the context of the document. This can be used by assistive technologies to determine the purpose of an element.