---
title: "There's a plugin for that"
date: 2020-06-02T05:00:00-04:00
author: Sean Smith
canonical_url: "https://website101podcast.com/episodes/season-03/episode-6/theres-a-plugin-for-that/"
section: Podcast
---
&lt;!\[CDATA\[YII-BLOCK-BODY-BEGIN\]\]&gt;[Skip to main content](#main-content)Season 03 Episode 6 – Jun 02, 2020   
23:58 [Show Notes](#show-notes)

## There's a plugin for that

﻿

0:00

0:00

1.0x

0.75x1.0x1.25x1.5x2x

[](//dts.podtrac.com/redirect.mp3/website101podcast.com/uploads/mp3/season-03/05-Plugins-master.mp3)

Mike and Sean discuss the pros and cons of extending a content management system with plugins.

<a name="show-notes"></a>### Show Notes

- What is a plugin?
- Why might a website owner use a plugin?
- Why might a developer use a plugin?
- Some of our favourite plugins
- The dangers of using plugins
- What to consider when choosing a plugin
- Have a strategy for when plugins fail

### Show Links

- [What is a CMS?](https://website101podcast.com/episodes/season-02/episode-5/web-jargon-part-one/)
- [Veto](https://devot-ee.com/add-ons/veto)
- [Ctrl+S](https://devot-ee.com/add-ons/ctrls)
- [Field Manager](https://plugins.craftcms.com/field-manager)
- [Template Comments](https://plugins.craftcms.com/templatecomments)
- [Structure](https://devot-ee.com/add-ons/structure)
- [The Dangers of Over Reliance on Plugins in Website Builds](https://caffeinecreations.ca/blog/the-dangers-of-over-reliance-on-plugins-in-website-builds/)

Powered Transcript Accuracy of transcript is dependant on AI technology.

**\[00:00\]** **Sean:** Hi and welcome back to the website one-on-one podcast. My name is Sean Smith and I'm here with my co-host Mike Miller. Hey Sean, how are you? I'm doing great. It's been a little while since we last recorded but we're going to jump back on the horse and today our topic is talking about plugins.

**\[00:23\]** **Mike:** That's right. And this is going to be one with just the dissuant me, no guests today.

**\[00:27\]** **Sean:** Right. And so we're going to talk about what a plugin is, why you want to use it, why you don't want to use it, and things to consider about security and other facets of plugin usage. So Mike, why don't you start off by telling us what a plugin is?

**\[00:44\]** **Mike:** Okay. Well, anyone who's managing your own site these days, your own website, is pretty much certainly going to be using a CMS or a content management system. And I believe we have an episode from before where we explain what a CMS is, right?

**\[01:02\]** **Sean:** Yes, yes, yes, yes, we do.

**\[01:03\]** **Mike:** So consult that one. We'll put the number of the show and the show notes for this one, to find out what a CMS is if you don't know, but you probably do know if you're listening to the show. So a CMS would be, you know, WordPress or Drupal or Kraft or Expression Engine or even Squarespace, I suppose, although I'm not sure how the plug-in ecosystem works on those hosted ones like that. Maybe we can talk about that later. But anyway, the idea is all these CMSs come with built-in functionality that let you, you know, create a blog and add entries to the blog and that kind of thing, repeat content like in a footer or whatever.

But very often you might want the CMS to do something. You might want a feature on your website that the CMS is not capable of doing by itself. So people have created an example. Okay, so sometimes depending on the CMS you're using, you might want a very specific type of navigation, say, maybe with drop-down menus and things like that, that you can build sort dynamically, and you don't need to call a web guide to come in and write more code to make sure that this new page shows up, right?

**\[02:12\]** **Sean:** Right. So that would be a plugin that would be very helpful for a do-it-yourself or here's a little less technically savvy than us, for example.

**\[02:23\]** **Mike:** Yeah. You might want to use plugins for that purpose where you're creating functionality in your site that allows you the website owner to add content for that feature without consulting with a web dev. So you don't, yeah, it might allow you to do things that require little to no code writing. So that's one purpose you might have for them.

**\[02:46\]** **Sean:** OK, so as a non-technical, non-web guy, I grab plugins and I start installing them into my WordPress site and I get all the functionality I want. Why does a professional web developer use a plugin? When would be a good case for that?

**\[03:02\]** **Mike:** Well, I can think of one good case is, so here's a concrete example. I used to work with a CMS called, I still work with it called Expression Engine. Yeah, me too. So the latest version of it, I'm not sure if it can do this, maybe you know, but when I last used it, you couldn't, if you're, let's say you're adding a blog post or an entry or something in your site, and if you're like me, you like to save all the time. I just, I'm constantly saving everything I do in case the power goes off in my computer shuts down or whatever.

**\[03:34\]** **Sean:** Oh, yeah, absolutely.

**\[03:35\]** **Mike:** So in a lot of CMSs, like Kraft or Statomic, they have a built-in save function where if you hit Control-S or Command-S, it will just save what you're doing and let you keep working. But when I last used Expression Engine, it did not have this functionality, so I got a plugin. And by the way, plugins could be called plugins or add-ons or extensions or modules. They have all kinds of different names, but essentially the things you add on to a CMS. And I got a plugin that let me have control S in Expression Engine. So I could say, yep, it was great.

**\[04:10\]** **Sean:** Oh my God, and every time I work in Expression Engine, I keep hitting Control S, and it works the download the page because it doesn't have it built in.

**\[04:18\]** **Mike:** Yep, I don't know if that still exists actually that feature because that plugin because it was for a certain version of EE and I don't know if it's still there.

**\[04:27\]** **Sean:** So I'm going to, I'm going to just take a look for again. I'm going to go to devotee the plugin store and, um, so while you're looking just to

**\[04:37\]** **Mike:** have answered your question, that was, that would be an example of a plugin that I use as a developer to help my workflow go better. It just allows me to, you know, do my work better as I'm doing it. It's not something that necessarily adds functionality to the website itself, but that would be an example of something that a web developer might might use a plugin.

**\[04:58\]** **Sean:** Right. So there's a couple of plugins for expression using that are specifically for expression using two. And then there's another plugin that mentions it in the description for expression engine three and four. Okay. And if it works in four, it's probably works in five because there's not much

**\[05:17\]** **Mike:** change. Yeah, five's the latest version. So yeah, so this one

**\[05:20\]** **Sean:** that plugin is called veto and you can find it on the the Devortary website.

**\[05:25\]** **Mike:** Nice. So, okay. Yeah, so anyway, that's, so there's different, I guess the bottom line is there's different purposes for plugins. Sometimes they actually build onto your site. Sometimes it just help your workflow in managing content. Different things.

**\[05:41\]** **Sean:** So there's a number, like you said, there's a different kinds of plugins. They'll add functionality. That could be like the navigation you said. Or it could be things like it hooks up an API such as Google Maps and makes it easy to add in a map or a store locator or things like that.

Other options would be improved experience in the back end for your developer. So an example of that for craft and for expression engine is a plugin called Field Editor or Field Manager. Right. And it just gives you a whole bunch of extra options in the back end, and allowing you to easily import and export fields across sites, it's very helpful for the developer.

**\[06:31\]** **Mike:** Yeah, and this kind of thing could be really beneficial because the faster your developer can do his job, his or her job, the more money you save because they're able to accomplish something faster, right?

**\[06:44\]** **Sean:** Right, so one of my favorite developer friendly plugins craft CMS. I can't remember what it's called. It's by NY Studio 107 and it adds comments into the exported into the rendered template so that you know which template each part of the site is. So a lot of times when you're developing a site you'll have your index template and then you will include or embed other types of templates throughout the template, the main template.

What this plugin does is it shows you where to find that content in which template. So I actually was very happy about having that just yesterday because I forgot where to find it in the code. So I just did it inspect and there was I was going to say this is the one where the

**\[07:36\]** **Mike:** comment thing shows up in the when you're in source code in the in the browser, right? Right. And

**\[07:42\]** **Sean:** And it's listed, it's like a, it's comments or, you know, so I got the angle brackets in it. It just says, that gives you the template source path. So if you have it in blog slash entry, or includes slash side navigation or whatever it is, it just tells you where to find it. Right, right. Yeah, I think I've used that one before, actually. And it has opening and closing comments. So you know where it ends. It's awesome. It's a great plugin.

**\[08:11\]** **Mike:** Nice. Okay, so yeah, I guess that's the general idea is that a plugin is something you add to a CMS that allows you to push it beyond what it normally does sort of out of the box, which is kind of a, which is good in a way, but it can also introduce problems if which, which I guess we'll get to in a second. So, you know, generally you don't want to add as many cool plugins as you can find into your CMS, right?

**\[08:42\]** **Sean:** Yeah, exactly. So I think this is a common problem with inexperienced developers and do it yourself first. They want to do something. They're not sure how to do it.

They throw a plug-in at it. It solves the problem. I know I did this a lot in the past. So don't feel bad if you're still doing this.

but there is a lot of risk by adding plugins willy nilly. The more plugins you add, the more moving parts there are in your website, the more opportunities for things to break or clash. So your plugin that you're using is developed to work with the core CMS, whether that's WordPress, craft, expression engine, Jumla or whatever. It's designed to work with that.

However, it does not necessarily take into account the other plugins that you have added on to the site and there may be conflicts in there and it happens and then you will either need to uninstall one or the other plugin or try and work around these issues and working around the issues is just going to end up with a buggy or defective product or website. So yeah, you want to be careful in judicious about which types of plugins and add-ons that you're going to use on your site. They should be plugins that add essential features that you are unable to code yourself for whatever reason. And things to look for are the quality of the the developer.

So that's basically looking at the developer's reputation. Do they provide quality support? Do they have other plugins? Are there, if you're trying to do X, are there two or three different plugins that do the same feature?

Take a look at the options they have. Take a look at how often those plugins have been updated. And the general reputation

**\[10:46\]** **Mike:** of the plug-in developer. Hi, hope you're enjoying this episode. We're always looking for topics suggestions from listeners, so if there's anything you'd like us to discuss in the future, please let us know.

**\[10:59\]** **Sean:** We're also looking for guests. If you know somebody who would make a great guest, if you think you would be a good guest, please let us know. You can reach out to us at website 101podcast.com slash contact. Finally, priority, choose a paid plug-in over a free plug-in because a paid plug-in, the developer has incentive to continue developing and supporting it. A free plug-in, he's not getting paid to build it and he's giving it away, which is great, but if you need support, he's also giving away his support.

**\[11:37\]** **Mike:** It could have been a project he did for like a school course or something and then he has no interest in maintaining it or anything. Because the thing to remember about plugins is the CMS you're using WordPress, whatever it is, was developed by probably a whole team of developers, but really any developer could make a plugin and make it available for any system. They're not always vetted. And it's not always like the developers of the CMS say, OK, well, this one's in, this one's out. And sometimes that happens, but not always. So, yeah, very often it's just a programmer who just happened to do it and maybe he wants to keep doing it.

**\[12:15\]** **Sean:** Maybe he doesn't. Yeah, exactly. And I've used a number of plugins that were well supported at one point, but the developer moved on. They stopped using that system or they went out of business.

So I mean, there's risk with any sort of plugin. Even the greatest plugin by the greatest developer is at risk. you have to judge that risk. So somebody who's getting paid for it and they have a good reputation and they're well known for their support, green light on that.

Unknown developer, nobody, you know, no other plugins. Maybe I'll try and figure out a way to do it natively myself. Right. Or even hire someone to build a plugin.

You can do that too, right? Yes, you can. Speaking of that, I'm actually in the middle of a long-running project that I will be launching at the end of March. Great.

And this project was a migration from an old CMS to a new installation of craft. The old CMS had a couple of custom plugins, which were not available anymore. And I managed to migrate most of the content over to a new commercial plug-in, which is great. However, this plug-in does kind of just like a wish list for your users.

Okay. We need to migrate the wish list data from the old custom module into this new wish list module. Well, fortunately the wish list developer is available and he's gonna write a little custom thing for me. That's cool.

off thing. Once we finish the migration, we won't be needing that anymore. So I think that's a lower risk. But if you're getting a custom plug-in for your client site or your own site, you need to be sure that you can maintain it yourself or that the original developer will be available to maintain it for you at whatever it's going to cost them.

If you don't have the skills to write a plugin, how are you going to maintain it if it becomes incompatible as your CMS updates, or perhaps your client wants new features added into it. You need to have somebody you can call in to work on it, whether that's the original developer, but if they disappear, then you might need to look for somebody who's willing to work on a plugin that they've never developed.

**\[14:49\]** **Mike:** Right, and this is especially true for plugins where they're actually providing a functionality on the public-facing side of your site, because of course, as we said earlier, there's some plugins where it's really just a developer's helper tool, and the visitors to your site don't notice that it's even there. There's other ones where it might be adding functionality to your site in a simple way in an efficient way, but if for some reason you have to uninstall it or back out of it, you might be able to find another way to make the same functionality available, but then there's another level of plugins where it's adding features to your site that are not available out of the box that you do not have any sort of code built to accommodate. And if suddenly you can't use that plugin because the developer went AWOL and the thing is not updated or whatever, suddenly your site can be lacking real content that's facing the public, right? That could be a real problem.

**\[15:51\]** **Sean:** Yeah, or you might be stuck in a position where you're unable to update your site anymore. And by update, I don't mean content, I mean keep your CMS up-to-date and secure with the latest versions. So an example of this might be a plugin that adds functionality not available in the core CMS such as mapping, like if you need some cool mapping features for store locator or something like that. When craft, there's only one mapping plugin that I'm aware of.

And I've used it on about three sites now. It's awesome. It's commercial. But if it disappears, I don't know what I'm going to do.

Right. Right. And the developers are really good. I've met them a few times.

But the The point is, if it disappears, I don't know what I'll do. An example of a different plugin that's on the front end would be a contact form submission. There's lots of different plugins for that. They're common in all CMSs.

So if one disappears, 99% chance, you'll be able to replace it with another one.

**\[16:59\]** **Mike:** And by the way, if you have the ability, if you're working at a small organization or something, When you have the ability to do this, it's probably a good idea to have some sort of a fallback plan in place where if you're using plugins to provide functionality that's critical on your site, what would happen if suddenly it stopped working? How would you handle that? Would you be able to write something pretty quick or your developer write something fairly quick to accomplish something similar? In the meantime, would you have to hire another developer to fix it or build a new one?

**\[17:33\]** **Sean:** a game plan like that. It's not a bad idea. Absolutely. So to summarize, you really need to take a look at the plugins that you're planning on using and evaluate them.

Are they mission critical? Or are they not on mission critical? If it's a critical plugin, make sure you get the best quality one that you can with trusted developer. If it's not mission critical, look at possibly coding it yourself, if you're a developer.

So for example, I going back to the store locator thing, store locator is a big deal, you need the mapping add on. But if you're doing it for a smaller website and they just need a single map with one pin on it, you probably don't need all the extra code that's involved in that mapping add on. Right. Take some time, code it out yourself.

Take a look at the Google Maps API or whichever mapping service you want, figure it out. I actually wrote a blog post about a simple map without a plugin specifically for that reason because I didn't want to rely on these plugins if it's not necessary. Sometimes it is, sometimes it's not.

**\[18:44\]** **Mike:** Right, right. And speaking of plugins relating to other plugins as we mentioned earlier. Sean, is there a plug-in for a plug-in? Is it possible to get a plug-in for a different

**\[18:56\]** **Sean:** plug-in? Have you ever had that experience? Oh my god! Yes! Back in the day when I was very heavy into expression engine, there was a very popular plug-in called Structure. Now, I wasn't a fan of this plug-in for a number of reasons, but it was very, very popular. People used it all the time. And I I inherited a number of sites that used structure, so I mean, I know how to work with it. Unfortunately, there's like two or three plugins for structure that were developed by plugin developers who were not the original structure authors.

**\[19:34\]** **Mike:** So it's like a jenga, a jenga tower of plugins basically.

**\[19:38\]** **Sean:** Yeah. So these plugins were built to address holes that a lot of people found in the original structure plug-in, which itself was built to address a hole in the expression engine

**\[19:52\]** **Mike:** core. Right. That's scary.

**\[19:55\]** **Sean:** So you've got the little boy with his finger in the dike, and then there's another boy with a finger up his bum. That is a very apt analogy, I like it. If you need a plug-in for your plug-in, you need to re-evaluate. The only exception I would say to that would be something like e-commerce because e-commerce is such a beast that it's pretty much a guarantee that you will need functionality outside of a normal core of e-commerce.

If you're using WooCommerce for WordPress, you need a plug-in to add some extra functionality to WordPress. the same guidelines that, hey, you know, your vet it, check the developers and the reputation whatever. Same thing with craft. Craft has a first party e-commerce plugin, but there are also a number of third party plugins for that plugin because they add extra functionality that have limited use cases and any commerce developer can't build for everybody.

They have to to build the core and then add in specifics. Like maybe you need to connect to a specific shipping company and it's not UPS or your national mail carrier. It's some other unique thing. Well, you need a plugin for that.

It's just gonna be one of those things. It's not gonna be baked into the core.

**\[21:34\]** **Mike:** Yeah, and it is probably different very often when one of the plugins is developed by the people who make the CMS that it installs into. So like you mentioned craft, that's a CMS that you and I often use. They themselves have made a plugin for their own CMS, which provides e-commerce functionality. So if the people are building onto that plugin, they're really building onto something that the original company has made. It may not come out of the box with the CMS, but it is their product, right?

**\[22:06\]** **Sean:** Yeah, it's an additional purchase. So yeah, it'd be like, I've got this mapping plugin that I talk about. If I needed additional functionality for it and it wasn't available to the box, and then I wanted to get that functionality from another plugin, that's a big red flag in my opinion. Yeah, that's a good point. So do you have any other thoughts about plugins? I think we've kind of hit the end of the, hit the wall here.

**\[22:37\]** **Mike:** Yeah, I was just going to mention that. And we should add, we'll put this in the show notes, but Sean's written a great blog post about, well, plugins in general, and a lot of stuff we covered today. And we'll put it in there and you should definitely check it out because it's got some really good advice in there.

**\[22:53\]** **Sean:** Yeah, I wrote this a couple of years ago, it's called the dangers of over reliance on plugins and website builds. And so yeah, it does cover most of what we talked about.

**\[23:02\]** **Mike:** It is a fine line that you want to balance on where it's not, you can't really fault someone for wanting to use plugins to add functionality to their site, but at the same time, you don't want to go crazy with it because you're really putting yourself at risk. You have to tread that.

**\[23:20\]** **Sean:** Yeah, exactly. Thank you so much for listening to this episode. My name is Sean Smith, your co-host, and you can find me at my website, caffeinecreations.ca on Twitter, caffeine creation that's spelled C-A-F-F-E-I-N-E-C-R-E-8-I-O-N. And also, I'm on LinkedIn, caffeine creations.

**\[23:45\]** **Mike:** And I'm Mike Mele and you can find me online at blikewater.ca. And I'm also on LinkedIn and Twitter. My username is Mike Mele. That's M-I-K-E-M-E-L-L-L-A.

Close Transcript 

Have a question for Sean, Mike, and Amanda? [Send us an email](/contact).

[![Listen on Google Play Music](/assets/images/google_podcasts_badge@2x.png)](https://www.google.com/podcasts?feed=aHR0cHM6Ly93ZWJzaXRlMTAxcG9kY2FzdC5jb20vZmVlZC5yc3M%3D)[![itunes badge](/assets/images/itunes-badge.png)](https://itunes.apple.com/ca/podcast/website-101-podcast/id1449510012)[![itunes badge](/assets/images/spotify-logo.png)](https://open.spotify.com/show/3rmSM1R9t6q1U8DmYWJRSO?si=NrYPMgDaRV6Dd56PjEaPow)### Season 03

- 1 [ Do You Really Need a Website](https://website101podcast.com/episodes/season-03/episode-1/do-you-really-need-a-website/)
- 2 [ Wordpress](https://website101podcast.com/episodes/season-03/episode-2/wordpress/)
- 3 [ How to Adapt During an Emergency: A Special Website 101 Podcast](https://website101podcast.com/episodes/season-03/episode-3/adapting-during-an-emergency/)
- 4 [ Video Marketing: Boosting Business with Video Content](https://website101podcast.com/episodes/season-03/episode-4/using-video/)
- 5 [ Vacations and Website Maintenance: Navigating the Challenges of Time Off](https://website101podcast.com/episodes/season-03/episode-5/vacations/)
- 6 [ There's a plugin for that](https://website101podcast.com/episodes/season-03/episode-6/theres-a-plugin-for-that/)
- 7 [ Backups: Why You Need Them and How to Implement Them](https://website101podcast.com/episodes/season-03/episode-7/backups/)
- 8 [ Using Custom Email Addresses: A Professional Touch for Your Business](https://website101podcast.com/episodes/season-03/episode-8/email/)
- 9 [ The Importance of Website Maintenance Plans and Retainers](https://website101podcast.com/episodes/season-03/episode-9/maintenance-plans/)
- 10 [ How to Conduct a Content Audit for Your Website](https://website101podcast.com/episodes/season-03/episode-10/content-audits/)
- 11 [ Own Your Content](https://website101podcast.com/episodes/season-03/episode-11/own-your-content/)

### All Seasons

- [Season 01](https://website101podcast.com/season/01/)
- [Season 02](https://website101podcast.com/season/02/)
- [Season 03](https://website101podcast.com/season/03/)
- [Season 04](https://website101podcast.com/season/04/)
- [Season 05](https://website101podcast.com/season/05/)
- [Season 06](https://website101podcast.com/season/06/)
- [Season 07](https://website101podcast.com/season/07/)
- [Season 08](https://website101podcast.com/season/08/)
- [Season 09](https://website101podcast.com/season/09/)

      &lt;!\[CDATA\[YII-BLOCK-BODY-END\]\]&gt;
