Less is more.
OK, that might just be a silly slogan – but it’s an actual philosophy that drives our website development practices.
We don’t overbuild. We don’t give options you don’t need. We don’t install plugins or create code that doesn’t specifically help your site.
(Watch my first ever Junger Explains it All video on this topic – Minimalist Code: What it is and Why it Matters)
WordPress plugins tend to be some of the worst offenders when it comes to this minimalist philosophy. It’s not that they are inherently bad or poorly built – it’s because they’re so easy to install, which leads to sites filled with unnecessary plugins and code.
When you’re installing a plugin, make sure you actually need it. And if it’s something that only serves a temporary purpose (like some of the plugins listed below), delete it when you’re done. It’s easy enough to re-install it later, if you need it again.
Here are 5 simple WordPress plugins that pack a powerful punch.
If you’ve ever found yourself needing to upload a new version of an image, PDF, or other file to your Media Library, Enable Media Replace can make the process easier.
This lightweight plugin allows you to overwrite an existing file with a new version, while keeping the same file name and URL. That’s incredibly handy if, for example, an image lives on multiple pages or there’s more than one link to a PDF. Upload the new version of your file, and it seamlessly replaces the existing version.
Replacing the old version of a file with a new version allows you to save on server space, and ensures anyone accessing that file gets the correct, updated version.
If you want to use the new version’s file name, you can replace the old version in the Media Library and even update all of the links pointing to that file. (This is only internal links, so anything linked from external sites won’t be updated.)
Find out more about Enable Media Replace here.
As we’ve written about before, the SVG image file type is increasingly used for sharp, scalable, and crisp graphics – especially logos.
WordPress, however, does not natively allow you to upload SVG files to the Media Library. There’s a good reason for that; since SVG files are code, and not flat images, there’s an inherent security risk in allowing unfiltered code uploads. To be clear, that doesn’t mean that SVG files aren’t safe – it just means that, out of the box, WordPress doesn’t want code to be uploaded to the Media Library.
If you’d like to upload SVG files to your site, use the SVG Support plugin.
It’s simple, and includes security features that can help mitigate any concerns, including the ability to restrict SVG uploads to administrators and optional sanitization to remove any malicious code.
While there are code-only options for SVG support (including some I’ve written about here), they haven’t always consistently worked as WordPress changes its security features.
Find out more about SVG Support here.
It’s incredibly common for us to see websites where all of the content has been created as just Pages or just Posts, when a good content management approach would be to use multiple Post types – including Custom Post Types – to differentiate formats and kinds.
For example, if you’re running targeted ad campaigns, you may want to create a custom Post type for Landing Pages; these would likely be different than your normal, evergreen Pages and not date-based like Posts. Similarly, if you’re hosting Webinars or offering White Papers for download, you may want to create a custom post type for ‘Resources’ that can house these content formats.
When we’re working on a website redesign, we often help our partners re-organize their content into Post types that make sense for their organization and their users.
The Post Type Switcher plugin is an easy way to change a given Post or Page’s type, once you have all of your Custom Post Types declared. It adds a simple dropdown option on the edit screen; choose the new Post type and save. You can also bulk edit Post types on the ‘All Posts’ / ‘All Pages’ screen.
One thing to keep in mind: if you change a Post’s type, it will keep its taxonomy (category + tag) relationships – but if you’re using a custom Post type, make sure those taxonomies are supported or you won’t be able to sort by them.
Find out more about Post Type Switcher here.
Similar to the Post Type Switcher plugin, Taxonomy Switcher allows you to easily convert terms from one taxonomy to another.
Why would you do this?
Here’s an example: if you’ve converted your ‘Webinars’ from being Posts to being their own Custom Post Type, any Categories you’ve used to organize those webinar Posts will need to be converted to a new custom taxonomy.
The ability to switch those terms from the old structure to the new structure allows you to easily keep the relationship between your Webinars and their taxonomy terms intact.
The only downside to the Taxonomy Switcher plugin is that you need to get the IDs of the terms you want to switch, rather than select from a dropdown or autosuggest when typing. It’s not a huge pain to find them – simply look for the tag_ID value when hovering over a term link – but does require an extra step.
Find out more about Taxonomy Switcher here.
This is one of those plugins that we use in nearly every large projects. Along with its Pro version, Better Search Replace makes it easy to run a find-and-replace in your WordPress database.
There’s so many reasons why you may need to do this:
When you launch Better Search Replace, you can select which database tables to target with your query, as well as do a “dry run” to see how many instances were found (without making any changes). This is a great way to ensure you’re looking for the correct thing, and not accidentally including something else.
Better Search Replace also supports serialized data, which is very common in WordPress, making it a stronger option than doing a simple find-and-replace in a text document or SQL query.
Like the other plugins mentioned here, there’s only a few fields – so you don’t need to worry about dealing with too many options.
Find out more about Better Search Replace here.