Making WordPress.org

Opened 4 weeks ago

Last modified 2 weeks ago

#7648 new defect (bug)

Stop weighing active installations in plugin search heavily

Reported by: cybr's profile Cybr Owned by:
Milestone: Improved Search Priority: normal
Component: Plugin Directory Keywords:
Cc:

Description

Currently, plugin search greatly favors the plugins with the most installations.

However, a plugin with 1,000,000 installs isn't always better than one with 10,000 installations. The plugin with a million installations will have 2 million in 2 years, while the one with 10,000 installations might hit 20,000 if they're lucky and heavily promoted. This imbalanced gap is ever-increasing, promotes anti-competitive behavior, and discourages developers from contributing since all their hard work will quickly prove a deigned futility.

Therefore, I suggest setting the favorability ceiling to 10,000 instead of 1,000,000 active installations. This allows the less popular plugins to prosper on a level playing field. Do not forget that 10,000 is a big number, even in the grand scheme of things.

The code in question can be found here: https://github.com/WordPress/wordpress.org/blob/4a9bdffdecfc46dc42debb026ec34476f1a7b096/wordpress.org/public_html/wp-content/plugins/plugin-directory/libs/site-search/jetpack-search.php#L1084-L1098.

Change History (7)

#1 @dd32
4 weeks ago

  • Milestone set to Improved Search

#2 @dd32
4 weeks ago

Just to add a data point, on Themes the sort isn't based on Installs alone, but rather Installs / Theme age such that a plugin that has 10k installs over 100 days and one that has 100k over 1,000 days are weighted the same in the sort order.

This doesn't translate 1:1 to the plugin directory search, since we've got the ES filtering instead.

Noting, the search code linked in the description here isn't the one that's in use, it's this one (that's mostly the same thing): https://github.com/WordPress/wordpress.org/blob/4a9bdffdecfc46dc42debb026ec34476f1a7b096/wordpress.org/public_html/wp-content/plugins/plugin-directory/class-plugin-search.php#L342-L368

#3 follow-up: @gibrown
2 weeks ago

This imbalanced gap is ever-increasing, promotes anti-competitive behavior, and discourages developers from contributing since all their hard work will quickly prove a deigned futility.

The goal behind the ranking alg is giving end users the best plugin experience possible. The user is trying to solve a problem and plugins that have a larger install count are much more likely to provide good long term support. There are also a number of other factors used in the alg that help newer plugins improve their rankings (support thread resolution, ratings, etc).

The search alg has already been somewhat designed to do this. As the install count increases, the boost that the alg provides doesn't go up as quickly (though it does need to go up somewhat). There is a very strong inflection point around ~20k installs. More background from my original post discussing the alg: https://data.blog/2017/03/15/improving-relevance-and-elasticsearch-query-patterns/ IIRC a hard cutoff (or even a slower growth logarithmic) can create some strange dynamics for certain searches where very obviously worse results were getting recommended.

I think the best ways to help new plugins is to add better filtering and sorting options to the UI so that those plugins can be found more easily.

#4 in reply to: ↑ 3 @Cybr
2 weeks ago

Replying to gibrown:

The user is trying to solve a problem and plugins that have a larger install count are much more likely to provide good long term support.

This is not true. Please provide evidence and studies on this.

The truth is that most plugins above 1 million installs are spyware, and serve the developer’s best interest (i.e., limit functionality to incentivize spending). They got there by perpetually being ranked first because of the number of installs, or otherwise illegally promoted through pre-installations and featured listings.

There are also a number of other factors used in the alg that help newer plugins improve their rankings (support thread resolution, ratings, etc).

Never have I experienced this benefit; only the opposite. It’s forcing free labor, causing ill actors to spam the “resolved” checkbox, and annoying users by asking them for reviews.

#5 @jeffr0
2 weeks ago

It may not be the answer to the problem, but I think having a way to search for plugins based on common phrases of what features I'm looking for is pretty cool. I'm guessing it also provides lesser known plugins to gain more exposure as it's not so much a popularity contest they're trying to win. https://ploogins.com/

#6 @codente
2 weeks ago

Support thread resolution is factored into the search? Supporting a plugin in the forum is completely optional so how does that factor into the algo?

#7 @Gamersea
2 weeks ago

I wonder is this really active installs, or have been installed? Shouldn't de-installed also be counted.

Next to this I would say adding one spot as a "featured" slot would also not be a bad idea, which should be a random slot giving lower installed plugins the chance to be promoted. I definitely agree that installations says nothing. I know of pretty garbage plugins and themes with a lot of installs, and great plugins with maybe the half or even less installs.

Note: See TracTickets for help on using tickets.