littlebizzy / slickstack

Lightning-fast WordPress on Nginx
https://slickstack.io
GNU General Public License v3.0
638 stars 112 forks source link

Wordpress blacklist database #3

Closed sanarena closed 5 years ago

sanarena commented 5 years ago

Hi I noticed that you have a long list of plugins in your blacklist. How to appeal and make plugin out of your blacklist? In this case, plugin is marked as excessive logging. Does it mean plugin is generating excessive log in error log therefor is blacklisted?

jessuppi commented 5 years ago

Which plugin are you referring to?

"Excessive logging" means plugins that constantly log data to the MySQL database, such as traffic statistics, post views, and other items that are impossible to cache.

These types of logging should typically be done using third party tracking scripts, etc.

sanarena commented 5 years ago

Hi Plugin name is hitsteps-visitor-manager Yes, it is a traffic statistics plugin but it does not log anything to local mysql. It loads 3rd party javascript from Hitsteps analytics.

jessuppi commented 5 years ago

It looks to be loading tons of API calls to display analytics around the WP Admin in any case, that's really not conducive to WordPress performance.

(All that really needs to be loaded is a simple external JS in the footer.)

We've updated the reason for blacklist to "bloated" and "excessive API calls"... thanks --

sanarena commented 5 years ago

On admin area, there are 4 API calls to show graph (from our own server) for each post, and 1 API call to show total graph on WP Admin bar and 3 calls show configure Hitsteps widget and setting page for admin. On visitors area, there are header and footer API calls to install our javascript code. (some themes lack proper wp-head and/or some theme lack wp-footer, therefor we had to add both to support both) How many API calls are considered excessive? Which features should we remove in order to not be considered in blacklist? We can remove certain API calls if SS (SlickStack) is defined.

jessuppi commented 5 years ago

Sorry, didn't realize it was your plugin. I suppose we'd define "excessive API calls" as either:

I think it's the first category. If your analytics company has a homepage with a UI for users, I'm not sure why you are turning the WP Admin into a secondary full-fledged UI.

It kind of goes to the argument that "yours is not the only WP plugin installed"...

If newbie users are loving your approach, then I'd at least recommend releasing a 2nd plugin that does nothing except load your external JS in the header/footer. High traffic sites, high security sites, etc are never going to be able to use a bulky plugin like this as it is now.

Compare:

E.g. https://github.com/littlebizzy/statcounter E.g. https://wordpress.org/plugins/crazyegg-heatmap-tracking/

Your JS/etc should also be delivered by a respected CDN if possible (if not already), IMO.

sanarena commented 5 years ago

Hi If we make 2 different versions of plugin, it will cause confusion among our users. (we had two versions before, we removed simple version from WordPress Repo)

Our enhanced features are tightly working with WordPress and WordPress forms such as Contact forms or wooCommerce purchase notice will show visitor information inside the email received by website owner.

In order to provide a simplified way for SlickStack users, I will work toward making a simple version within same plugin. So If simple version is chosen OR if SlickStack is installed, plugin does not have additional API callbacks and only work as a simple script injector in footer. So plugin will look for SlickStack and If SlickStack found, it will recommend simple version to enhance performance of website (or completely remove advanced version? what do you think?)

Reason that I am keen to make Hitsteps works alongside with SlickStack is that I am keen about goal you are aiming to achieve, being able to have a fast WordPress setup with minimal resource requirement is very valuable specially with rise of AWS and other cloud platforms.

Would you have a second look into it once simple version is ready?

jessuppi commented 5 years ago

For our purposes that wouldn't help, as it still has potential to have poor performance.

It's either a lightweight plugin with good performance, or not.

sanarena commented 5 years ago

Outside of SlickStack context, this plugin performance is not poor at all. API calls that we are using (graphs within posts and header), they just render a simple which content of this image get generated and loaded in Hitsteps servers. Integration with other plugins only get called if those plugins are installed and Hitsteps is configured to integrate with them.

We will disable ALL enhanced features for SlickStack users, so all enhanced codes do not load at all, making plugin act as a simple JS injector. PHP would not processed those codes therefore I do not see any problem where this will be considered as poor performance. We would not provide option for SlickStack users to switch to enhanced version.

jessuppi commented 5 years ago

If a team wanted to whitelist something they can always fork this repo in any case. This repo is what our web hosting company uses, another team can customize how they wish --