60% all-in-one-seo-pack

Code Review | All in One SEO – Best WordPress SEO Plugin – Easily Improve SEO Rankings & Increase Traffic

WordPress plugin All in One SEO – Best WordPress SEO Plugin – Easily Improve SEO Rankings & Increase Traffic scored 60% from 54 tests.

About plugin

Code review

54 tests

User reviews

2069 reviews

Install metrics

3,000,000+ active / 94,066,589 total downloads

Benchmarks

Plugin footprint 64% 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: ▲8.11MB] [CPU: ▼227.28ms] 50% from 4 tests

This is a short check of server-side resources used by All in One SEO – Best WordPress SEO Plugin – Easily Improve SEO Rankings & Increase Traffic
Please have a look at the following items
  • RAM: Try to keep total memory usage under 10MB (currently 11.91MB on /wp-admin/admin.php?page=aioseo-monsterinsights)
  • Extra RAM: The extra memory usage should kept under 5MB (currently 8.11MB on /wp-admin/admin.php?page=aioseo-monsterinsights)
PageMemory (MB)CPU Time (ms)
Home /11.31 ▲7.79108.24 ▲56.30
Dashboard /wp-admin11.19 ▲7.7791.05 ▲57.28
Posts /wp-admin/edit.php12.42 ▲8.78212.46 ▲176.35
Add New Post /wp-admin/post-new.php15.23 ▲8.25166.56 ▼1,090.69
Media Library /wp-admin/upload.php11.94 ▲8.6493.67 ▲68.01
Local SEO /wp-admin/admin.php?page=aioseo-local-seo11.9385.27
Dashboard /wp-admin/admin.php?page=aioseo11.9179.95
Sitemaps /wp-admin/admin.php?page=aioseo-sitemaps11.8087.09
Redirects /wp-admin/admin.php?page=aioseo-redirects11.9180.67
Link Assistant NEW! /wp-admin/admin.php?page=aioseo-link-assistant11.9180.01
/wp-admin/index.php?page=aioseo-setup-wizard11.7679.79
Tools /wp-admin/admin.php?page=aioseo-tools11.9887.10
SEO Analysis /wp-admin/admin.php?page=aioseo-seo-analysis11.9182.44
About Us /wp-admin/admin.php?page=aioseo-about11.9186.58
Analytics /wp-admin/admin.php?page=aioseo-monsterinsights11.9180.49

Server storage [IO: ▲11.99MB] [DB: ▲0.31MB] Passed 3 tests

A short overview of filesystem and database impact
The plugin installed successfully
Filesystem: 981 new files
Database: 7 new tables, 11 new options
New tables
wp_aioseo_notifications
wp_actionscheduler_claims
wp_actionscheduler_groups
wp_actionscheduler_logs
wp_actionscheduler_actions
wp_aioseo_posts
wp_aioseo_cache
New WordPress options
aioseo_options_internal_lite
aioseo_options
aioseo_dynamic_settings_backup
action_scheduler_hybrid_store_demarkation
action_scheduler_lock_async-request-runner
aioseo_options_lite
schema-ActionScheduler_StoreSchema
aioseo_options_internal
schema-ActionScheduler_LoggerSchema
widget_aioseo-breadcrumb-widget
...

Browser metrics Passed 4 tests

All in One SEO – Best WordPress SEO Plugin – Easily Improve SEO Rankings & Increase Traffic: an overview of browser usage
This plugin has a minimal impact on browser resources
PageNodesMemory (MB)Script (ms)Layout (ms)
Home /4,375 ▲62118.60 ▲3.007.23 ▼0.302.92 ▲0.10
Dashboard /wp-admin3,333 ▲4727.85 ▲1.68171.89 ▲34.46213.28 ▲49.83
Posts /wp-admin/edit.php3,002 ▲31715.82 ▲12.59316.90 ▲250.71177.91 ▲31.77
Add New Post /wp-admin/post-new.php3,773 ▲2,11237.78 ▲16.96931.81 ▲494.57274.50 ▲116.27
Media Library /wp-admin/upload.php1,955 ▲25718.19 ▲12.67379.76 ▲238.97260.64 ▲73.38
Local SEO /wp-admin/admin.php?page=aioseo-local-seo2,48824.66380.78248.80
Dashboard /wp-admin/admin.php?page=aioseo3,08130.81556.80345.74
Sitemaps /wp-admin/admin.php?page=aioseo-sitemaps2,35024.37366.87253.61
Redirects /wp-admin/admin.php?page=aioseo-redirects2,48721.64410.62272.04
Link Assistant NEW! /wp-admin/admin.php?page=aioseo-link-assistant2,57524.75382.44336.04
/wp-admin/index.php?page=aioseo-setup-wizard27413.34331.0975.97
Tools /wp-admin/admin.php?page=aioseo-tools3,52926.05368.20269.54
SEO Analysis /wp-admin/admin.php?page=aioseo-seo-analysis2,07821.04385.27255.93
About Us /wp-admin/admin.php?page=aioseo-about2,53222.58364.03254.28
Analytics /wp-admin/admin.php?page=aioseo-monsterinsights2,12223.26384.87329.02

Uninstaller [IO: ▲0.00MB] [DB: ▲0.31MB] 50% from 4 tests

🔸 Tests weight: 35 | Verifying that this plugin uninstalls completely without leaving any traces
Please fix the following items
  • This plugin does not fully uninstall, leaving 7 tables in the database
    • wp_aioseo_posts
    • wp_actionscheduler_logs
    • wp_actionscheduler_groups
    • wp_aioseo_cache
    • wp_actionscheduler_actions
    • wp_aioseo_notifications
    • wp_actionscheduler_claims
  • Zombie WordPress options detected upon uninstall: 11 options
    • aioseo_options
    • schema-ActionScheduler_LoggerSchema
    • aioseo_dynamic_settings_backup
    • aioseo_options_lite
    • action_scheduler_lock_async-request-runner
    • schema-ActionScheduler_StoreSchema
    • widget_aioseo-html-sitemap-widget
    • action_scheduler_hybrid_store_demarkation
    • widget_aioseo-breadcrumb-widget
    • aioseo_options_internal_lite
    • ...

Smoke tests 25% from 4 tests

Server-side errors Passed 1 test

🔹 Test weight: 20 | This is a shallow check for server-side errors
Everything seems fine, however this is by no means an exhaustive test

SRP 0% from 2 tests

🔹 Tests weight: 20 | SRP (Single-Responsibility Principle) - PHP files must act as libraries and never output text or perform any action when accessed directly in a browser
Please fix the following
  • 6× GET requests to PHP files return non-empty strings:
    • > /wp-content/plugins/all-in-one-seo-pack/vendor/jwhennessey/phpinsight/examples/demo.php
    • > /wp-content/plugins/all-in-one-seo-pack/vendor/jwhennessey/phpinsight/lib/PHPInsight/data/data.pos.php
    • > /wp-content/plugins/all-in-one-seo-pack/vendor/jwhennessey/phpinsight/lib/PHPInsight/data/data.ign.php
    • > /wp-content/plugins/all-in-one-seo-pack/vendor/jwhennessey/phpinsight/lib/PHPInsight/data/data.neu.php
    • > /wp-content/plugins/all-in-one-seo-pack/vendor/jwhennessey/phpinsight/lib/PHPInsight/data/data.neg.php
    • > /wp-content/plugins/all-in-one-seo-pack/vendor/jwhennessey/phpinsight/lib/PHPInsight/data/data.prefix.php
  • 132× GET requests to PHP files have triggered server-side errors or warnings (only 10 are shown):
    • > PHP Fatal error
      Uncaught Error: Class 'AIOSEO\\Vendor\\Monolog\\Formatter\ormalizerFormatter' not found in wp-content/plugins/all-in-one-seo-pack/vendor_prefixed/monolog/monolog/src/Monolog/Formatter/JsonFormatter.php:23
    • > PHP Fatal error
      Uncaught Error: Interface 'AIOSEO\\Vendor\\Monolog\\Processor\\ProcessorInterface' not found in wp-content/plugins/all-in-one-seo-pack/vendor_prefixed/monolog/monolog/src/Monolog/Processor/WebProcessor.php:18
    • > PHP Fatal error
      Uncaught Error: Class 'AIOSEO\\Vendor\\Monolog\\Handler\\MailHandler' not found in wp-content/plugins/all-in-one-seo-pack/vendor_prefixed/monolog/monolog/src/Monolog/Handler/SwiftMailerHandler.php:22
    • > PHP Fatal error
      Uncaught Error: Class 'AIOSEO\\Vendor\\Monolog\\Handler\\AbstractHandler' not found in wp-content/plugins/all-in-one-seo-pack/vendor_prefixed/monolog/monolog/src/Monolog/Handler/PsrHandler.php:20
    • > PHP Fatal error
      Uncaught Error: Class 'AIOSEO\\Vendor\\Monolog\\Handler\\AbstractProcessingHandler' not found in wp-content/plugins/all-in-one-seo-pack/vendor_prefixed/monolog/monolog/src/Monolog/Handler/RollbarHandler.php:32
    • > PHP Fatal error
      Uncaught Error: Class 'AIOSEO\\Vendor\\Monolog\\Handler\\AbstractHandler' not found in wp-content/plugins/all-in-one-seo-pack/vendor_prefixed/monolog/monolog/src/Monolog/Handler/FilterHandler.php:23
    • > PHP Fatal error
      Uncaught Error: Class 'AIOSEO\\Vendor\\Monolog\\Handler\\AbstractHandler' not found in wp-content/plugins/all-in-one-seo-pack/vendor_prefixed/monolog/monolog/src/Monolog/Handler/AbstractProcessingHandler.php:22
    • > PHP Fatal error
      Uncaught Error: Class 'AIOSEO\\Vendor\\Monolog\\Handler\\AbstractSyslogHandler' not found in wp-content/plugins/all-in-one-seo-pack/vendor_prefixed/monolog/monolog/src/Monolog/Handler/SyslogHandler.php:27
    • > PHP Fatal error
      Uncaught Error: Interface 'ActionScheduler_Schedule' not found in wp-content/plugins/all-in-one-seo-pack/vendor/woocommerce/action-scheduler/deprecated/ActionScheduler_Schedule_Deprecated.php:6
    • > PHP Fatal error
      Uncaught Error: Class 'ActionScheduler_Abstract_QueueRunner_Deprecated' not found in wp-content/plugins/all-in-one-seo-pack/vendor/woocommerce/action-scheduler/classes/abstracts/ActionScheduler_Abstract_QueueRunner.php:6

User-side errors 0% from 1 test

🔹 Test weight: 20 | This is a smoke test targeting browser errors/issues
Please take a look at the following user-side issues
    • > GET request to /wp-admin/admin.php?page=aioseo-link-assistant
    • > Network (severe)
    https://t1.gstatic.com/faviconV2?client=SOCIAL&type=FAVICON&fallback_opts=TYPE,SIZE,URL&url=http://easydigitaldownloads.com&size=32 - Failed to load resource: the server responded with a status of 404 ()
    • > GET request to /wp-admin/admin.php?page=aioseo-link-assistant
    • > Network (severe)
    https://t1.gstatic.com/faviconV2?client=SOCIAL&type=FAVICON&fallback_opts=TYPE,SIZE,URL&url=http://wpforms.com&size=32 - Failed to load resource: the server responded with a status of 404 ()

Optimizations

Plugin configuration 83% from 29 tests

readme.txt 88% from 16 tests

Perhaps the most important file in your plugin readme.txt gets parsed in order to generate the public listing of your plugin
These attributes need your attention:
  • Screenshots: Screenshot #1 (SEO Content Analyzer (Gutenberg)) image required
  • Tags: Please reduce the number of tags, currently 17 tag instead of maximum 10
You can take inspiration from this readme.txt

all-in-one-seo-pack/all_in_one_seo_pack.php 77% from 13 tests

This is the main PHP file of "All in One SEO – Best WordPress SEO Plugin – Easily Improve SEO Rankings & Increase Traffic" version 4.1.8, providing information about the plugin in the header fields and serving as the principal entry point to the plugin's functions
Please make the necessary changes and fix the following:
  • Domain Path: The domain path folder does not exist ("/i18n/")
  • Description: Please don't use more than 140 characters for the plugin description (currently 179 characters long)
  • Main file name: Please rename the main PHP file in this plugin to the plugin slug ("all-in-one-seo-pack.php" instead of "all_in_one_seo_pack.php")

Code Analysis 97% from 3 tests

File types Passed 1 test

🔸 Test weight: 35 | This is a short overview of programming languages used in this plugin, detecting executable files
Everything looks great! No dangerous files found in this plugin55,311 lines of code in 887 files:
LanguageFilesBlank linesComment linesLines of code
PHP4459,60237,34954,303
JSON410367
JavaScript231082305
CSS202414204
Markdown340097
XML11018
SVG10017

PHP code 50% from 2 tests

This is a short overview of cyclomatic complexity and code structure for this plugin
The following items need your attention
  • Cyclomatic complexity of methods has to be reduced to less than 100 (currently 121)
Cyclomatic complexity
Average complexity per logical line of code0.49
Average class complexity17.76
▷ Minimum class complexity1.00
▷ Maximum class complexity187.00
Average method complexity3.66
▷ Minimum method complexity1.00
▷ Maximum method complexity121.00
Code structure
Namespaces50
Interfaces12
Traits19
Classes356
▷ Abstract classes298.15%
▷ Concrete classes32791.85%
▷ Final classes10.31%
Methods2,495
▷ Static methods2208.82%
▷ Public methods1,81872.87%
▷ Protected methods37214.91%
▷ Private methods30512.22%
Functions72
▷ Named functions2940.28%
▷ Anonymous functions4359.72%
Constants93
▷ Global constants44.30%
▷ Class constants8995.70%
▷ Public constants89100.00%

Plugin size Passed 2 tests

Image compression Passed 2 tests

All PNG images should be compressed to minimize bandwidth usage for end users
10 compressed PNG files occupy 0.12MB
Potential savings
Compression of 5 random PNG files using pngquant
FileSize - originalSize - compressedSavings
dist/Lite/assets/img/if.png4.53KB4.68KB0.00%
dist/Lite/assets/img/wpsp.png6.07KB1.75KB▼ 71.10%
dist/Lite/assets/img/news-sitemap.png29.07KB31.45KB0.00%
dist/Lite/assets/img/dannie-detective.png12.53KB13.13KB0.00%
dist/Lite/assets/img/em-graph-preview.png20.22KB20.69KB0.00%