10% schema-integration

Code Review | Schema Integration

WordPress plugin Schema Integration scored 10% from 54 tests.

About plugin

  • Plugin page: schema-integration
  • Plugin version: 1.2.1
  • PHP compatiblity: 5.6.4+
  • PHP version: 7.4.16
  • WordPress compatibility: 5.0.0-5.5.3
  • WordPress version: 6.3.1
  • First release: Dec 1, 2020
  • Latest release: Mar 4, 2021
  • Number of updates: 9
  • Update frequency: every 10.4 days
  • Top authors: vo3da (100%)

Code review

54 tests

User reviews

1 review

Install metrics

10+ active / 504 total downloads

Benchmarks

Plugin footprint 40% from 16 tests

Installer 0% from 1 test

🔺 Critical test (weight: 50) | Verifying that this plugin installs correctly without errors
The following installer errors require your attention
  • The plugin did not install without errors
    • > Notice in wp-content/plugins/schema-integration/front/class-front.php+78
    Undefined index: enable_in_amp

Server metrics [RAM: ▼1.71MB] [CPU: ▼54.72ms] Passed 4 tests

Server-side resources used by Schema Integration
No issues were detected with server-side resource usage
PageMemory (MB)CPU Time (ms)
Home /2.28 ▼1.186.62 ▼34.75
Dashboard /wp-admin2.30 ▼1.0010.45 ▼37.87
Posts /wp-admin/edit.php2.30 ▼1.0610.27 ▼48.52
Add New Post /wp-admin/post-new.php2.30 ▼3.599.73 ▼97.74
Media Library /wp-admin/upload.php2.30 ▼0.939.79 ▼22.84
Settings /wp-admin/edit.php?post_type=schema_integration&page=schema_integration2.308.26
Schema Int. /wp-admin/edit.php?post_type=schema_integration2.309.88
Add new schema /wp-admin/post-new.php?post_type=schema_integration2.308.81

Server storage [IO: ▲8.96MB] [DB: ▲0.00MB] Passed 3 tests

Input-output and database impact of this plugin
There were no storage issued detected upon installing this plugin
Filesystem: 597 new files
Database: no new tables, 6 new options
New WordPress options
theysaidso_admin_options
widget_recent-comments
widget_theysaidso_widget
can_compress_scripts
db_upgraded
widget_recent-posts

Browser metrics Passed 4 tests

This is an overview of browser requirements for Schema Integration
This plugin renders optimally with no browser resource issues detected
PageNodesMemory (MB)Script (ms)Layout (ms)
Home /2,834 ▲9914.47 ▲0.121.60 ▼0.3441.40 ▼1.23
Dashboard /wp-admin2,237 ▲494.86 ▼1.04107.90 ▲7.9441.65 ▼1.20
Posts /wp-admin/edit.php2,120 ▲312.05 ▲0.0339.43 ▼4.0035.37 ▲0.13
Add New Post /wp-admin/post-new.php1,560 ▲4023.49 ▲0.28690.55 ▼0.5755.06 ▼8.88
Media Library /wp-admin/upload.php1,419 ▲314.15 ▼0.0494.53 ▼7.0844.62 ▼2.24
Settings /wp-admin/edit.php?post_type=schema_integration&page=schema_integration8042.0422.4524.05
Schema Int. /wp-admin/edit.php?post_type=schema_integration1,2186.40111.9430.47
Add new schema /wp-admin/post-new.php?post_type=schema_integration2,01411.80135.4897.25

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

🔸 Tests weight: 35 | All plugins must uninstall correctly, removing their source code and extra database tables they might have created
It is recommended to fix the following
  • The plugin did not uninstall gracefully
    • > Notice in wp-content/plugins/schema-integration/front/class-front.php+78
    Undefined index: enable_in_amp
  • The uninstall procedure has failed, leaving 6 options in the database
    • widget_theysaidso_widget
    • can_compress_scripts
    • widget_recent-posts
    • widget_recent-comments
    • db_upgraded
    • theysaidso_admin_options

Smoke tests 25% from 4 tests

Server-side errors 0% from 1 test

🔹 Test weight: 20 | This is a shallow check for server-side errors
These errors were triggered by the plugin
  • 5 occurences, only the last one shown
    • > GET request to /wp-admin/post-new.php?post_type=schema_integration
    • > POST request to /wp-admin/admin-ajax.php?action=get_schema_settings
    • > Notice in wp-content/plugins/schema-integration/front/class-front.php+78
    Undefined index: enable_in_amp

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 take a closer look at the following
  • 22× PHP files output text when accessed directly (only 10 are shown):
    • > /wp-content/plugins/schema-integration/vendor/mustache/mustache/bin/build_bootstrap.php
    • > /wp-content/plugins/schema-integration/vendor/wp-cli/php-cli-tools/examples/progress.php
    • > /wp-content/plugins/schema-integration/vendor/wp-cli/php-cli-tools/examples/colors.php
    • > /wp-content/plugins/schema-integration/vendor/rmccue/requests/examples/get.php
    • > /wp-content/plugins/schema-integration/vendor/wp-cli/php-cli-tools/examples/notify.php
    • > /wp-content/plugins/schema-integration/vendor/wp-cli/mustangostang-spyc/php4/5to4.php
    • > /wp-content/plugins/schema-integration/vendor/rmccue/requests/examples/cookie.php
    • > /wp-content/plugins/schema-integration/vendor/rmccue/requests/examples/basic-auth.php
    • > /wp-content/plugins/schema-integration/vendor/wp-cli/php-cli-tools/examples/arguments.php
    • > /wp-content/plugins/schema-integration/vendor/rmccue/requests/examples/cookie_jar.php
  • 224× PHP files trigger server-side errors or warnings when accessed directly (only 10 are shown):
    • > PHP Warning
      Use of undefined constant WP_CLI_ROOT - assumed 'WP_CLI_ROOT' (this will throw an Error in a future version of PHP) in wp-content/plugins/schema-integration/vendor/wp-cli/wp-cli/php/wp-cli.php on line 18
    • > PHP Fatal error
      Uncaught Error: Class 'PHPUnit_Framework_TestCase' not found in wp-content/plugins/schema-integration/vendor/wp-cli/wp-cli/tests/test-configurator.php:5
    • > PHP Fatal error
      Uncaught Error: Class 'PHPUnit_Framework_TestCase' not found in wp-content/plugins/schema-integration/vendor/mustache/mustache/test/Mustache/Test/HelperCollectionTest.php:12
    • > PHP Fatal error
      Uncaught Error: Class 'WP_CLI_Command' not found in wp-content/plugins/schema-integration/vendor/wp-cli/wp-cli/tests/data/commandfactory-doc_comment-class.php:11
    • > PHP Fatal error
      Uncaught Error: Class 'WP_CLI_Command' not found in wp-content/plugins/schema-integration/vendor/wp-cli/wp-cli/tests/data/commandfactory-doc_comment-class-win.php:11
    • > PHP Fatal error
      Uncaught Error: Class 'WP_Upgrader_Skin' not found in wp-content/plugins/schema-integration/vendor/wp-cli/wp-cli/php/WP_CLI/UpgraderSkin.php:14
    • > PHP Fatal error
      Uncaught Error: Class 'PHPUnit_Framework_TestCase' not found in wp-content/plugins/schema-integration/vendor/mustache/mustache/test/Mustache/Test/Functional/NestedPartialIndentTest.php:16
    • > PHP Fatal error
      Uncaught Error: Class 'Requests_Exception_HTTP' not found in wp-content/plugins/schema-integration/vendor/rmccue/requests/library/Requests/Exception/HTTP/411.php:13
    • > PHP Notice
      Undefined variable: argv in wp-content/plugins/schema-integration/vendor/rmccue/requests/bin/create_pear_package.php on line 12
    • > PHP Fatal error
      Uncaught Error: Class 'PHPUnit_Framework_TestCase' not found in wp-content/plugins/schema-integration/vendor/mustache/mustache/test/Mustache/Test/TokenizerTest.php:15

User-side errors Passed 1 test

🔹 Test weight: 20 | A shallow check that no browser errors were triggered
Everything seems fine, but this is not an exhaustive test

Optimizations

Plugin configuration 93% from 29 tests

readme.txt Passed 16 tests

Often overlooked, readme.txt is one of the most important files in your plugin
7 plugin tags: seo, google bot, microdata, indexing, schema...

schema-integration/schema-integration.php 85% from 13 tests

The principal PHP file in "Schema Integration" v. 1.2.1 is loaded by WordPress automatically on each request
It is important to fix the following:
  • Domain Path: You should use only dashes and lowercase characters for the domain path ("schema_integration/core/languages")
  • Text Domain: The text domain name must use dashes instead of underscores, and it must be lowercase

Code Analysis 5% from 3 tests

File types 0% from 1 test

🔸 Test weight: 35 | An overview of files in this plugin; executable files are not allowed
It is important to fix the following items
  • Do not include executable or dangerous files in your plugin
    • .ms - Maxwell Script in Maxwell Render
      • wp-content/plugins/schema-integration/vendor/mustache/mustache/test/fixtures/templates/alpha.ms
      • wp-content/plugins/schema-integration/vendor/mustache/mustache/test/fixtures/templates/beta.ms
    • .bat - Batch File in Windows
      • wp-content/plugins/schema-integration/vendor/wp-cli/wp-cli/bin/wp.bat
      • wp-content/plugins/schema-integration/vendor/bin/wp.bat
55,531 lines of code in 518 files:
LanguageFilesBlank linesComment linesLines of code
PHP3986,85915,62828,946
CSS45,88611917,698
Cucumber24881776,312
Markdown2569001,505
YAML1410848391
JSON100313
Mustache38180175
Bourne Shell5243175
Bourne Again Shell313853
XML1204847
HTML1006
JavaScript20124
Python1104
DOS Batch1002

PHP code Passed 2 tests

A short review of cyclomatic complexity and code structure
No cyclomatic complexity issues were detected for this plugin
Cyclomatic complexity
Average complexity per logical line of code0.32
Average class complexity9.43
▷ Minimum class complexity1.00
▷ Maximum class complexity258.00
Average method complexity2.59
▷ Minimum method complexity1.00
▷ Maximum method complexity52.00
Code structure
Namespaces32
Interfaces11
Traits4
Classes351
▷ Abstract classes195.41%
▷ Concrete classes33294.59%
▷ Final classes185.42%
Methods1,934
▷ Static methods25713.29%
▷ Public methods1,59782.57%
▷ Protected methods1055.43%
▷ Private methods23212.00%
Functions213
▷ Named functions11855.40%
▷ Anonymous functions9544.60%
Constants136
▷ Global constants2921.32%
▷ Class constants10778.68%
▷ Public constants107100.00%

Plugin size Passed 2 tests

Image compression Passed 2 tests

It is recommended to compress PNG files in your plugin to minimize bandwidth usage
There were not PNG files found in your plugin