This repository has been archived by the owner. It is now read-only.
WordPress plugin - score a current setup/installation based on a variety of tests.
Clone or download
Fetching latest commit…
Cannot retrieve the latest commit at this time.
Permalink
Type Name Latest commit message Commit time
Failed to load latest commit information.
include
src
.gitignore
LICENSE
README.md
readme.txt
screenshot.jpeg
wp-insight-score.php

README.md

⚠️ Archived! – This ambitious project unfortunately requires more time than I could possibly ever have! I am focusing on my career and my family so this project will be on hold for the foreseeable future. Leaving on Github incase anyone wants to fork it.


Sword Insights - 🚧 WIP

Sword Insights, is a currently-in-development, WordPress plugin that scores a setup/installation based on a series of tests. The score is displayed and results managed in a gorgeous panel in the admin dashboard.

This is a ranking system helps website owners and developers better identify how to make their site solid, and where improvements can be made.

Tests

The scans tests run a wide range of tests for many different areas:

Quality

  • Tests like Google PageSpeed Test for over-all standards on speed, then HTML checks for the site being responsive, including tracking/monitoring, etc.
  • More tests run for sometimes forgotten or neglected things like robots.txt, sitemap.xml, and more

Stability

  • Tests to ensure the software on the server, and the plugins and themes in WordPress are all up to date

Bloat

  • Tests to de-clutter typical WordPress installs, first checking for features being used, then removing if no found – like WP's emoji, comments, author pages, and more

Security

  • Tests run to ensure the WordPress installation is hardened, and then some – extra things like hiding login errors, ensuring certain PHP functions are turned off,

Performance

  • Tests are run to ensure scripts are deferred, debug is off, etc.

The test results are shown with detailed explanations of the issues at hand. Pro users get the solution to the problems as well, in text form, and in some cases one-click fixes.

Terminology

In the context of this plugin, the following words have the following meaning:

Word Definition
SCAN run a series of Tests
TESTS are snippets of code that return a result (0-100, how to fix, default weight, cat)
SCAN RESULTS is an array of Test results, cached in database
REPORT is a interpreter of the Results, that adjusts for user supplied filters and mutes
SCORE the report condensed to a single number (sum weighed result / total weight)
mute turn off certain Tests

Weight Settings

The weight of each test is different. PageSpeed for example, is 50. Checking for Emoji Scripts is 5. These weights create a relative scoring system. So, if you only ran two tests, your PageSpeed test is 80% of 50 (40%), and your Emoji Script was 0 of 5 (0%). Then your total score would be (40% + 0%) / 55, or 72%. This weighting system allows dynamic calibration of the score.

There are many filters for each weight to calibrate to your own needs (make PageSpeed 90, or 10). To change the weight of a test you can use the plugins Settings page, or do it programmatically with:

add_filter('wpis_GooglePageSpeed_weight', 30);
add_filter('wpis_weight_GeneratorTags', 2);
//..etc

Mute Settings

Some tests may not have any purpose on your setup. That should not affect your score. To mute a test you can use the plugins Settings page, or do it programmatically with:

add_filter('wpis_GooglePageSpeed_mute', function(){ return true; });
//..ect

Other Settings

For debugging only Insights, adding the following to your theme or wp-config.php

define('WPIS_DEBUG', true);

RoadMap

See /.todo

Personal Notes:

  • The Dashboard has been my least favorite place of WordPress. It's an opportune place to show graphs, simple visual cues. And what do we get? Plugins that limit themselves to their admin_menu page, and default WordPress ones showing info that doesn't matter. I wanted something beautiful, informal, and simple.

  • This plugin is my solution to the problem of having to fix the same 20-or-so things that "bad" WordPress setups often have. Its mostly filters, hooks, and checks for software, and PageSpeed - but it's important, and often things with CMS's change, every year it's something that needs to be redone. This plugin was designed to keep on top of all the tweaks and setups.

  • Yes, the ability to tweak the test substantially reduces the legitimacy of the ranking, 5 lines of code and you could fake a 100%. However, one size does not fit all. Each site is different, each developer is different. True web developers would tell you no two are the same. The number of times I wished I could change the results of PageSpeed, to get the 2% taken away because YouTube resources aren't cached by Googles Servers. I tell you.