How Do You Manage A Declining Plugin?
In April 2015 I took my first step into the WordPress ecosystem by releasing the Mongoose Page Plugin. It took off very quickly, and grew to more than 30,000 installs within the first 3 years.
The other day I noticed that the active install count had dropped to 10,000+. From the peak of more than 30,000 active installs, it saddened me to see that it had dropped so low, and it made me think back on my time maintaining this plugin, and why that might have happened.
Why Is It Declining
I have a few different thoughts as to why the active user base has declined over the last couple of years. I don’t believe it to be one single reason, rather a combination of several different factors that together have contributed to the decline.
It’s been almost 9 years since the initial launch. Of those 30,000+ sites using the plugin in the first couple of years, a significant number have likely since shut down or been redeveloped without the need to embed a Facebook page anymore. We’ve also moved past the plugin goldrush era and features like this are now more likely to be included in monolithic themes and page builders, meaning there is less demand for plugins like this.
It seems that more and more people have turned their back on social media in recent years, and Facebook in particular. The GDPR also discourages people, especially Europeans, from adding things to their site from platforms that are known to collect data like Facebook and Google. Not to mention the Cambridge Analytica scandal, which Facebook was at the centre of.
There’s So Many Social Networks
While I initially built the plugin because I needed to embed a Facebook page on a website I was building, I haven’t done that for a new website in quite some time. Because there are so many networks now, many sites just link to all of them in a menu instead of using embeds.
Lack Of Updates
The plugin only gets a few updates every year, and those are mostly just to update the readme. As a result, security plugins will sometimes flag it as “abandoned” after going a few months without an update, even though an update isn’t needed. Not recently updated does not mean abandoned which does not mean vulnerable, and trying to claim otherwise is only preying on peoples naivety.
Lack Of Block Implementation
I’ve made a couple of blog posts here about how poorly implemented the block editor is, which has hindered me from creating a block for the plugin. For sites using the block editor, they will be more likely to want a plugin with full block support, rather than using a shortcode.
Change Of Branding
Almost a decade ago when the plugin was released, it was just called “Facebook Page Plugin”. A few years later it had to be renamed to “Responsive Facebook Page Plugin”, as the plugin repository guidelines changed to disallow using brand names at the start of the name of the plugin. It was finally renamed to “Mongoose Page Plugin” both as part of the establishment of the Mongoose Marketplace brand and Facebook’s lawyers asked me very nicely to remove the term Facebook from the name. Unfortunately because the plugin directory’s search isn’t very good, if you search for “facebook” you get irrelevant plugins like Elementor ranking higher, which has limited the ability for new users to find it.
Facebook Keep Breaking Things
Numerous times over the past couple of years in particular, the plugin has stopped working. Not through any fault of my own, but because Facebook broke something on their end. It would be fairly safe to assume that some people will have removed the plugin because they believed the plugin to be broken, even though every other plugin would also have been broken in the same way.
I don’t think there is a single reason or cause to blame, rather a combination of all the above factors. But there is an elephant in the room that has probably influenced it more than anything.
And that is Me.
I Don’t Care Anymore
As much as it pains me to see the install count decline, I just don’t think I care anymore. 8 years is a long time to invest in something that involves a lot of hassle and very little personal benefit. In addition to some of the previously mentioned challenges, there are a number of factors that have unfortunately deterred me from investing in it further.
No Data Whatsoever
Plugin developers are given very little insight into how their plugins are being used. There are only 3 metrics made available:
- Total installs, rounded down to the first significant figure, up to 5 million.
- Downloads per day, dating back 6 months.
- Percentage of installs using minor versions (according to semantic versioning).
These metrics, found on the Advanced View page, provide very little value for developers.
Rounding down to the first significant figure is incredibly misleading. If your plugin grows to a point where the sigificant figure changes, for example from 9k to 10k, you then will not see any growth until your active install count doubles to 20k. My plugin could have 19,999 active installs, but all I can see is 10,000+. Of course some rounding is nessecary, as sites can go down temporarily, users can install plugins to check them out and then remove them quickly if not suitable etc, but rounding to this extent is unnessecary and actively deters developers from investing in their plugins when they aren’t able to see any growth.
Downloads per day is nice, but again it doesn’t do anything to indicate use rates. There are multiple sources of downloads, including but not limited to: new installs in the admin dashboard, updating the plugin from the dashboard and downloading the zip file from the directory. Any of these methods could install the plugin on multiple sites from the single download, while updating the plugin still counts as a download without being a new install, and none of that even guarantees that the plugin is even active. While you might be able to deduce a trend of growth or lack of based on downloads, any plugin update will skew that dramatically. Last time I updated this plugin it received over 3,000 downloads that day. How many were new installs? Likely very few. Can I use that to determine if the update introduced a negative experience and is causing people to uninstall? Of course not, why would a developer care about that.
The active versions percentages are probably the most helpful in their current format, although I wouldn’t mind seeing more detailed data, but it still doesn’t do anything to indicate plugin growth.
There was another metric, the Active Install Growth Chart, that was around for a couple of years but was removed in late 2022. This was the one metric that, while limited in it’s own way, could actually show developers whether their plugin is growing. This was roundly criticised by plugin developers, and not helped by the reasoning being initially a security issue, then changing to the data not being obfuscated enough, then finally changing to the data not being accurate.
Developers have been calling for better metrics since the inception of the directory, and particularly since the active install growth chart was removed. Matt Mullenweg even suggested adding additional statistics, however it’s been well over a year since and there has been no movement to my knowledge on this front. Pair this with how little statistics have been made available the entire time the directory has been around, I find it unlikely to believe we will ever see any improvement here. While people will differ on what metrics they would like, at the very least the two things I would like to see are:
- Install numbers rounded to the second significant figure up to 10,000 installs, then every thousand regardless of how large the install count grows.
- PHP and WordPress core version graphs like the active versions graph.
Even if I was to include an analytics library such as Freemius to attempt to track analytics myself, users would have to manually opt in (even though WordPress itself collects data without consent), and what little data is actually provided indicates that barely half of all installs are even using the latest version. This means that any data I could get would be very limited and heavily skewed towards new users, which won’t be overly helpful for a plugin that’s been around for close to a decade.
Change Of Circumstances
When the plugin was initially released, I was a teenager living at my parents house. Since then I moved out on my own, dealt with mental health struggles, raised a child, moved halfway across the country, lived through a global pandemic, and moved to the other side of the world and then back again. It was one of my top priorities when I first released it, but as I’ve grown up and gotten older it’s now quite some way down the list. And quite frankly, so it should be.
Users Are Dumb
This plugin is unfortunately one that can be impacted by lots of external factors, moreso than the average plugin. For example, plenty of adblock extensions and antivirus software will prevent it from working as it loads a script from Facebook. This is mentioned in the FAQ, but that doesn’t stop nearly all support requests being about this one issue, and a significant amount of users seem to be completely incapable of even trying to find an answer. I know you shouldn’t talk badly about your users, but it’s so draining and demoralising to be having to hand hold users who can’t be bothered to help themselves for years on end. Not to mention nonsensical reviews.
SVN Is Garbage
I’ll try to be brief in my critisicms of SVN. It’s clunky and outdated, and I dread having to use it to release plugin updates. Now it’s understandable that WordPress uses SVN, as WordPress is (marginally) older than Git, but it’s a massive hassle to use an inferior system that is not used in modern development. I’ve tried using multiple platforms that automatically deploy to SVN such as this one, but every thing I’ve tried has eventually stopped working, although I’m currently using 10up’s GitHub actions which has worked well so far (fingers crossed). But we shouldn’t be relying on third parties to be creating integrations so that plugins can actually be developed using a decent version control system.
You can’t sell plugins directly on the official plugin directory. This likely comes as a result of Matt Mullenweg’s stance that all plugins should be free (which he has been suspiciously quiet on since his company acquired WooThemes). The only thing you can do is put a donate button or link to upsell to a premium verion. And look, that’s understandable to a point, but the updates system built into WordPress is set up to explicitly only look to the official plugin directory for updates. This means that instead of developers just setting up some configuration details to determine where the plugin should look for updates, they need to set up an entire licensing system, either building it themselves or buying it, and clunkily integrating it into the plugin. I’ve done this for my premium plugins and it’s an absolute pain to get working correctly. If your choice of licensing system is Easy Digital Downloads, you’ll be set back close to $1,000 a year for the Professional Pass that includes the Software Licensing extension.
So What Now?
I’m honestly unsure of what to do with the plugin moving forward. There is unfortunately little incentive for me to continue to making free contributions to the WordPress plugin ecosystem, which is problematic when I have an established plugin to maintain.
Should I sunset it? Unlikely. Having a plugin still used by close to 20,000 sites is great for the CV, and if people continue to find value in it, and thousands of sites still do, then there’s no reason to get rid of it, especially as it’s free.
Should I sell it? Even more unlikely. I’m not sure I could get an offer worth entertaining at the current install count, and it would be difficult to find someone I would trust to do the right thing with it moving forward (eg, eg).
Should I close the plugin and convert it to a premium only plugin? Probably not, I can’t imagine many people would want to make the switch, as most would just look for another free alternative, and by making a product premium that was previously free it already creates animosity between me and my users.
Should I hire someone, either to manage it for me or to manage other aspects of my work to allow me to focus on it more? While that would likely help, it would likely cost more than it would be worth.
Should I just abandon it? I’d rather not if I can help it, I don’t think that would be fair on the users of the plugin, nor do I think that would reflect well on me.
So where do I go from here? I’m struggling to see what the best path forward is here. I’d love to hear any thoughts or suggestions you might have in the comments below.