77% tracemyip-visitor-analytics-ip-tracking-control

Code Review | Visitor IP Tracker, IP Stats Analytics & IP Control With Email Alerts

WordPress plugin Visitor IP Tracker, IP Stats Analytics & IP Control With Email Alerts scored77%from 54 tests.

About plugin

  • Plugin page: tracemyip-visitor...
  • Plugin version: 2.53
  • PHP compatiblity: 5.6+
  • PHP version: 7.4.16
  • WordPress compatibility: 2.0.4-6.3
  • WordPress version: 6.3.1
  • First release: Oct 24, 2015
  • Latest release: Jul 26, 2023
  • Number of updates: 128
  • Update frequency: every 22.3 days
  • Top authors: TraceMyIP (100%)

Code review

54 tests

User reviews

13 reviews

Install metrics

2,000+ active /89,194 total downloads

Benchmarks

Plugin footprint 83% from 16 tests

Installer Passed 1 test

🔺 Critical test (weight: 50) | It is important to correctly install your plugin, without throwing errors or notices
Installer ran successfully

Server metrics [RAM: ▼10.64MB] [CPU: ▼2,243,571.99ms] Passed 4 tests

Analyzing server-side resources used by Visitor IP Tracker, IP Stats Analytics & IP Control With Email Alerts
This plugin does not affect your website's performance
PageMemory (MB)CPU Time (ms)
Home /3.75 ▲0.2447.65 ▲6.71
Dashboard /wp-admin3.59 ▼43.2658.61 ▼8,974,284.70
Posts /wp-admin/edit.php3.70 ▲0.3050.22 ▲1.22
Add New Post /wp-admin/post-new.php6.17 ▲0.2489.26 ▼11.20
Media Library /wp-admin/upload.php3.51 ▲0.2451.09 ▲14.67
My Current IP /wp-admin/admin.php?page=tmip_lnk_myipv_46_adr3.4837.58
Unlock Features /wp-admin/admin.php?page=tmip_upgrade_page3.4840.51
TraceMyIP Reports /wp-admin/index.php?page=tmip3.4838.01
Reports /wp-admin/admin.php?page=tmip_admpanel_menu3.4836.80
Settings /wp-admin/admin.php?page=tmip_lnk_wp_settings3.4838.50

Server storage [IO: ▲1.41MB] [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: 21 new files
Database: no new tables, 8 new options
New WordPress options
db_upgraded
widget_theysaidso_widget
widget_recent-comments
can_compress_scripts
widget_recent-posts
tmip_page_tracker
tmip_visit_tracker
theysaidso_admin_options

Browser metrics Passed 4 tests

Visitor IP Tracker, IP Stats Analytics & IP Control With Email Alerts: an overview of browser usage
This plugin renders optimally with no browser resource issues detected
PageNodesMemory (MB)Script (ms)Layout (ms)
Home /2,827 ▲8114.38 ▲0.261.82 ▲0.0744.01 ▲1.86
Dashboard /wp-admin2,233 ▲565.55 ▼0.1296.91 ▲5.5977.39 ▲31.55
Posts /wp-admin/edit.php2,144 ▲472.00 ▲0.0134.91 ▼1.4633.13 ▼4.38
Add New Post /wp-admin/post-new.php1,710 ▲18422.40 ▼0.63655.24 ▼75.5445.59 ▼15.88
Media Library /wp-admin/upload.php1,435 ▲384.14 ▼0.03100.94 ▼4.4876.49 ▲28.97
My Current IP /wp-admin/admin.php?page=tmip_lnk_myipv_46_adr1,1212.5334.4561.72
Unlock Features /wp-admin/admin.php?page=tmip_upgrade_page2,7195.89145.24153.38
TraceMyIP Reports /wp-admin/index.php?page=tmip2,2022.5036.4573.34
Reports /wp-admin/admin.php?page=tmip_admpanel_menu2,2022.5043.34122.19
Settings /wp-admin/admin.php?page=tmip_lnk_wp_settings1,2542.0125.36108.49

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

🔸 Tests weight: 35 | Verifying that this plugin uninstalls completely without leaving any traces
It is recommended to fix the following
  • Zombie WordPress options were found after uninstall: 8 options
    • can_compress_scripts
    • widget_recent-comments
    • theysaidso_admin_options
    • tmip_page_tracker
    • tmip_visit_tracker
    • widget_theysaidso_widget
    • widget_recent-posts
    • db_upgraded

Smoke tests 50% from 4 tests

Server-side errors 0% from 1 test

🔹 Test weight: 20 | A smoke test targeting server-side errors
These errors were triggered by the plugin
  • 125 occurences, only the last one shown
    • > GET request to /wp-admin/admin.php?page=tmip_lnk_wp_settings
    • > Warning in wp-content/plugins/easy-age-verifier/lib/extras/wpApi.php+48
    file_get_contents(): php_network_getaddresses: getaddrinfo failed: Name or service not known
  • 125 occurences, only the last one shown
    • > GET request to /wp-admin/admin.php?page=tmip_lnk_wp_settings
    • > Warning in wp-content/plugins/easy-age-verifier/lib/extras/wpApi.php+48
    file_get_contents(http://www.fillyourtaproom.com/wp-json/wp/v2/posts?per_page=10): failed to open stream: php_network_getaddresses: getaddrinfo failed: Name or service not known

SRP 50% 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
Almost there! Just fix the following items
  • 1× PHP files trigger errors when accessed directly with GET requests:
    • > PHP Fatal error
      Uncaught Error: Call to undefined function plugin_dir_path() in wp-content/plugins/tracemyip-visitor-analytics-ip-tracking-control/TraceMyIP-Wordpress-Plugin.php:18

User-side errors Passed 1 test

🔹 Test weight: 20 | A shallow check that no browser errors were triggered
No browser errors were detected

Optimizations

Plugin configuration 87% from 29 tests

readme.txt 88% from 16 tests

The readme.txt file is an important file in your plugin as it is parsed by WordPress.org to prepare the public listing of your plugin
Attributes that need to be fixed:
  • Screenshots: These screenshots do not have images: #1 (Project Summary screen, enables viewing all website and blog stats on a single page. These include current visitors online, today, yesterday, last 7 days, this month, and the total. Sound notifications are available when new visitors come to the site. The 30-day mini bar graph shows website page load activity over time.), #2 (Zoomable visitor map shows all visitors available in the real-time log. By clicking on each visitor icon, a new report is generated with detailed visitor activity, page view times, physical location, and other information.), #3 (Variety of statistical graphic charts gives quick visualization of recurring visitor traffic, traffic sources, social engagement, and National vs. International traffic sources.), #4 (Visitor IP Log shows individual visitors and their activity on a page level. If a visitor is online, he or she will be highlighted. Visitors can be tagged and tracked for IP changes over an extended period of time.), #5 (Page loads log provides detailed visitor and web page/blog activity information about every single page load in real-time. This includes visitor geolocation, ISP, organization, user agent, IP address changes, referrers, and landing pages), #6 (Individual Link and Page Tracking and Visitor Redirecting), #7 (Integrated Page Tracker module allows controlling visitor traffic and redirecting visitors based on custom redirect and messaging rules.), #8 (Some of the Page and Link Tracker rules can be triggered based on a variety of website and blog visitor data such as visitor's Current IP address, First IP address, Last or First IP address, Computer ID, Referrer URL, Referring subdomain, Referring search engine keywords, Landing page title, Landing page URL, Device types such as mobile, tablet and desktop, Device names such as iPad, iPhone, User agent strings, Device OS, Device OS version, Browsers, and other options.), #9 (Advanced General Data Protection Regulation (GDPR)(EU) 2016/679 regulation tools allow for flexible custom configuration that allows web publishers to maintain the ability to capture blog and website visitor tracking data with maximum efficiency and data management scalability.), #10 (Visitor Email Alerts - a highly configurable email alerts system. Schedule immediate, daily, weekly, or monthly alerts to capture website visitor activity and email you the reports.), #11 (Visitor Console Alerts - the console alerts work together with email alerts and notify users of a tagged visitor activity. The console alerts can either be configured as real-time popup notifications or compact single-line notifications that can be opened to see a full list of recent visitor activity alerts.)
  • Tags: Please reduce the number of tags, currently 18 tag instead of maximum 10
You can take inspiration from this readme.txt

tracemyip-visitor-analytics-ip-tracking-control/TraceMyIP-Wordpress-Plugin.php 85% from 13 tests

The main PHP script in "Visitor IP Tracker, IP Stats Analytics & IP Control With Email Alerts" version 2.53 is automatically included on every request by WordPress
The following require your attention:
  • Main file name: The principal plugin file should be the same as the plugin slug ("tracemyip-visitor-analytics-ip-tracking-control.php" instead of "TraceMyIP-Wordpress-Plugin.php")
  • Description: Please keep the plugin description shorter than 140 characters (currently 372 characters long)

Code Analysis Passed 3 tests

File types Passed 1 test

🔸 Test weight: 35 | An overview of files in this plugin; executable files are not allowed
Everything looks great! No dangerous files found in this plugin1,606 lines of code in 5 files:
LanguageFilesBlank linesComment linesLines of code
PHP32091651,318
CSS1140266
JavaScript12022

PHP code Passed 2 tests

Analyzing cyclomatic complexity and code structure
There are no cyclomatic complexity problems detected for this plugin
Cyclomatic complexity
Average complexity per logical line of code0.49
Average class complexity0.00
▷ Minimum class complexity0.00
▷ Maximum class complexity0.00
Average method complexity0.00
▷ Minimum method complexity0.00
▷ Maximum method complexity0.00
Code structure
Namespaces0
Interfaces0
Traits0
Classes0
▷ Abstract classes00.00%
▷ Concrete classes00.00%
▷ Final classes00.00%
Methods0
▷ Static methods00.00%
▷ Public methods00.00%
▷ Protected methods00.00%
▷ Private methods00.00%
Functions44
▷ Named functions4295.45%
▷ Anonymous functions24.55%
Constants95
▷ Global constants95100.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
2 PNG files occupy 0.01MB with 0.00MB in potential savings
Potential savings
Compression of 2 random PNG files using pngquant
FileSize - originalSize - compressedSavings
images/tmip_logo_60x60_sq.png6.88KB2.91KB▼ 57.75%
images/tmip_icon_admin_menu.png2.06KB1.23KB▼ 40.41%