78% gofer-seo

Code Review | Gofer SEO

WordPress plugin Gofer SEO scored 78% from 54 tests.

About plugin

  • Plugin page: gofer-seo
  • Plugin version: 1.0.4
  • PHP compatiblity: 5.3.8+
  • PHP version: 7.4.16
  • WordPress compatibility: 4.9-5.9
  • WordPress version: 6.3.1
  • First release: Dec 28, 2021
  • Latest release: Mar 25, 2022
  • Number of updates: 8
  • Update frequency: every 10.9 days
  • Top authors: EkoJr (100%)

Code review

54 tests

User reviews

1 review

Install metrics

10+ active / 776 total downloads

Benchmarks

Plugin footprint 83% from 16 tests

Installer Passed 1 test

🔺 Critical test (weight: 50) | All plugins must install correctly, without throwing any errors, warnings, or notices
Install script ran successfully

Server metrics [RAM: ▲3.87MB] [CPU: ▲25.45ms] Passed 4 tests

A check of server-side resources used by Gofer SEO
This plugin does not affect your website's performance
PageMemory (MB)CPU Time (ms)
Home /7.68 ▲4.2282.28 ▲39.59
Dashboard /wp-admin7.31 ▲4.0084.52 ▲29.60
Posts /wp-admin/edit.php7.21 ▲3.8672.71 ▲22.99
Add New Post /wp-admin/post-new.php9.49 ▲3.60107.01 ▲9.63
Media Library /wp-admin/upload.php7.22 ▲4.0079.36 ▲44.41
XML Sitemap /wp-admin/admin.php?page=gofer_seo_module_sitemap7.66108.22
General /wp-admin/admin.php?page=gofer_seo7.83177.90
Crawlers /wp-admin/admin.php?page=gofer_seo_module_crawlers7.3481.37
Schema Graph /wp-admin/admin.php?page=gofer_seo_module_schema_graph7.3281.66

Server storage [IO: ▲2.56MB] [DB: ▲0.08MB] Passed 3 tests

Input-output and database impact of this plugin
This plugin was installed successfully
Filesystem: 273 new files
Database: no new tables, 7 new options
New WordPress options
widget_theysaidso_widget
db_upgraded
can_compress_scripts
widget_recent-posts
gofer_seo_options
theysaidso_admin_options
widget_recent-comments

Browser metrics Passed 4 tests

Gofer SEO: an overview of browser usage
This plugin has a minimal impact on browser resources
PageNodesMemory (MB)Script (ms)Layout (ms)
Home /3,201 ▲46613.26 ▼1.134.14 ▲2.3438.39 ▼8.09
Dashboard /wp-admin2,531 ▲3404.86 ▼1.03112.14 ▼1.3543.08 ▼5.46
Posts /wp-admin/edit.php2,491 ▲4022.18 ▲0.1336.96 ▲2.4129.06 ▼7.34
Add New Post /wp-admin/post-new.php2,330 ▲81323.87 ▲6.16583.02 ▼51.7654.46 ▲4.64
Media Library /wp-admin/upload.php1,709 ▲3184.22 ▲0.0296.93 ▼1.6743.24 ▼0.19
XML Sitemap /wp-admin/admin.php?page=gofer_seo_module_sitemap3,9913.1287.3678.47
General /wp-admin/admin.php?page=gofer_seo5,1834.50166.6568.68
Crawlers /wp-admin/admin.php?page=gofer_seo_module_crawlers1,7932.3948.4340.62
Schema Graph /wp-admin/admin.php?page=gofer_seo_module_schema_graph1,8113.8762.4033.37

Uninstaller [IO: ▲0.00MB] [DB: ▲0.08MB] 75% from 4 tests

🔸 Tests weight: 35 | It is important to correctly uninstall your plugin, without leaving any traces
These items require your attention
  • The uninstall procedure has failed, leaving 7 options in the database
    • theysaidso_admin_options
    • can_compress_scripts
    • widget_recent-posts
    • db_upgraded
    • widget_recent-comments
    • widget_theysaidso_widget
    • gofer_seo_options

Smoke tests 50% from 4 tests

Server-side errors Passed 1 test

🔹 Test weight: 20 | This is a shallow check for server-side errors
The smoke test was a success, however most plugin functionality was not tested

SRP 0% from 2 tests

🔹 Tests weight: 20 | It is important to ensure that your PHP files perform no action when accessed directly, respecting the single-responsibility principle
The following issues need your attention
  • 3× GET requests to PHP files return non-empty strings:
    • > /wp-content/plugins/gofer-seo/templates/admin/screens/admin-page.php
    • > /wp-content/plugins/gofer-seo/templates/admin/screens/term-edit.php
    • > /wp-content/plugins/gofer-seo/templates/admin/screens/user-edit.php
  • 64× GET requests to PHP files trigger server-side errors or Error 500 responses (only 10 are shown):
    • > PHP Fatal error
      Uncaught Error: Call to undefined function add_filter() in wp-content/plugins/gofer-seo/admin/partials/notifications/conflicting-plugin-notification.php:47
    • > PHP Fatal error
      Uncaught Error: Class 'Gofer_SEO_Sitemaps_Provider' not found in wp-content/plugins/gofer-seo/includes/sitemap/providers/class-sitemaps-provider-posts.php:17
    • > PHP Fatal error
      Uncaught Error: Class 'Gofer_SEO_Module' not found in wp-content/plugins/gofer-seo/includes/modules/class-module-schema-graph.php:13
    • > PHP Fatal error
      Uncaught Error: Class 'Gofer_SEO_Graph' not found in wp-content/plugins/gofer-seo/includes/schema/graphs/graph-itemlist.php:18
    • > PHP Fatal error
      Uncaught Error: Class 'Gofer_SEO_Screen_Post_Editor' not found in wp-content/plugins/gofer-seo/admin/screens/post-edit/class-screen-post-editor-general.php:14
    • > PHP Fatal error
      Uncaught Error: Call to undefined function add_filter() in wp-content/plugins/gofer-seo/admin/partials/notifications/plugin-review-notification.php:55
    • > PHP Fatal error
      Uncaught Error: Class 'Gofer_SEO_Screen_Page_Module' not found in wp-content/plugins/gofer-seo/admin/screens/class-screen-page-module-debugger.php:14
    • > PHP Fatal error
      Uncaught Error: Class 'WP_Sitemaps_Stylesheet' not found in wp-content/plugins/gofer-seo/includes/sitemap/class-sitemaps-stylesheet.php:16
    • > PHP Fatal error
      Uncaught Error: Class 'Gofer_SEO_RSS_Sitemaps_Provider' not found in wp-content/plugins/gofer-seo/includes/sitemap/providers/class-rss-sitemaps-provider-posts.php:17
    • > PHP Fatal error
      Uncaught Error: Class 'WP_Sitemaps_Stylesheet' not found in wp-content/plugins/gofer-seo/includes/sitemap/class-news-sitemaps-stylesheet.php:16

User-side errors Passed 1 test

🔹 Test weight: 20 | This is a smoke test targeting browser errors/issues
There were no browser issues found

Optimizations

Plugin configuration 96% from 29 tests

readme.txt Passed 16 tests

Don't ignore readme.txt as it is the file that instructs WordPress.org on how to present your plugin to the world
7 plugin tags: schema, seo, analytics, social media, meta data...

gofer-seo/gofer-seo.php 92% from 13 tests

Analyzing the main PHP file in "Gofer SEO" version 1.0.4
It is important to fix the following:
  • Requires PHP: Required version must be the same as the one declared in readme.txt ("5.4.0" instead of "5.3.8")

Code Analysis 97% from 3 tests

File types Passed 1 test

🔸 Test weight: 35 | A short check of programming languages and file extensions; no executable files are allowed
Everything looks great! No dangerous files found in this plugin36,680 lines of code in 215 files:
LanguageFilesBlank linesComment linesLines of code
PHP1424,05214,84324,155
JavaScript272,4961,5339,295
CSS282972411,663
Sass143021931,431
SVG300115
XML10221

PHP code 50% from 2 tests

Cyclomatic complexity and code structure are the fingerprint of this plugin
These items need your attention
  • Method cyclomatic complexity has to be reduced to less than 100 (currently 106)
Cyclomatic complexity
Average complexity per logical line of code0.45
Average class complexity29.24
▷ Minimum class complexity1.00
▷ Maximum class complexity324.00
Average method complexity4.06
▷ Minimum method complexity1.00
▷ Maximum method complexity106.00
Code structure
Namespaces0
Interfaces0
Traits0
Classes94
▷ Abstract classes1212.77%
▷ Concrete classes8287.23%
▷ Final classes00.00%
Methods891
▷ Static methods465.16%
▷ Public methods68476.77%
▷ Protected methods12413.92%
▷ Private methods839.32%
Functions98
▷ Named functions6667.35%
▷ Anonymous functions3232.65%
Constants13
▷ Global constants13100.00%
▷ Class constants00.00%
▷ Public constants00.00%

Plugin size Passed 2 tests

Image compression Passed 2 tests

Using a strong compression for your PNG files is a great way to speed-up your plugin
1 PNG file occupies 0.00MB with 0.00MB in potential savings
Potential savings
Compression of 1 random PNG file using pngquant
FileSize - originalSize - compressedSavings
public/images/default-user.png1.91KB0.77KB▼ 59.54%