NextGEN Gallery 4.0.4

Does NextGEN Gallery work with WordPress 6.9.1 and PHP 8.1.12? A smoke test was performed on .

Summary

Errors
8Database errors
No JavaScript exceptions
All test pages loaded successfully
No resource errors
Performance

Memory usage: 1.01 MiB
The average PHP memory usage increased by this amount after activating by the plugin.

Page speed impact: 0.788 seconds
The average page load time increased by this amount after activating the plugin.

Environment
WordPress version6.9.1
PHP version8.1.12
MySQL version10.6.10
PHP memory limit512M
Plugin Info
Last updated
Active installs 400,000+
WordPress.org page https://wordpress.org/plugins/nextgen-gallery/
Badges

WordPress compatibility badge PHP compatibility badge

Get badge code

Pages 9

Imagely › Onboarding Wizard

Page screenshot: Imagely › Onboarding Wizard
URL /wp-admin/index.php?page=nextgen-gallery-setup-wizard
Requested URL /wp-admin/plugins.php?action=activate&plugin=nextgen-gallery%2Fnggallery.php&plugin_status=all&paged=1&s&_wpnonce=f19a816083
Aspect after-activation
HTTP status 200
Load time 1.622 s
Memory usage 8.05 MiB
JS errors None
Resource errors None

Imagely

Page screenshot: Imagely
URL /wp-admin/admin.php?page=imagely
Aspect menu-item
HTTP status 200
Load time 1.188 s
Memory usage 4.76 MiB
JS errors None
Resource errors None

Imagely → Add New Gallery

Page screenshot: Imagely → Add New Gallery
URL /wp-admin/admin.php?page=imagely
Requested URL /wp-admin/admin.php?page=imagely&create_gallery=1
Aspect menu-item
HTTP status 200
Load time 0.700 s
Memory usage 4.76 MiB
JS errors None
Resource errors None

Imagely → Albums

Page screenshot: Imagely → Albums
URL /wp-admin/admin.php?page=imagely-albums
Aspect menu-item
HTTP status 200
Load time 0.814 s
Memory usage 4.76 MiB
JS errors None
Resource errors None

Imagely → Tags

Page screenshot: Imagely → Tags
URL /wp-admin/admin.php?page=imagely-tags
Aspect menu-item
HTTP status 200
Load time 0.593 s
Memory usage 4.76 MiB
JS errors None
Resource errors None

Imagely → Settings

Page screenshot: Imagely → Settings
URL /wp-admin/admin.php?page=imagely-settings
Aspect menu-item
HTTP status 200
Load time 0.458 s
Memory usage 4.76 MiB
JS errors None
Resource errors None

Imagely → About Us

Page screenshot: Imagely → About Us
URL /wp-admin/admin.php?page=imagely-about-us
Aspect menu-item
HTTP status 200
Load time 0.724 s
Memory usage 4.76 MiB
JS errors None
Resource errors None

Test site – Just another WordPress site

Page screenshot: Test site – Just another WordPress site
URL /
Aspect front-page
HTTP status 200
Load time 0.335 s
Memory usage 4.56 MiB
JS errors None
Resource errors None

Widgets ‹ Test site — WordPress

Page screenshot: Widgets ‹ Test site — WordPress
URL /wp-admin/widgets.php
Aspect new-sidebar-widgets
HTTP status 200
Load time 2.249 s
Memory usage 7.25 MiB
JS errors None
Resource errors None

Benchmark

URL Load time Memory usage
Inactive Active Change Inactive Active Change
/wp-admin/index.php0.461 s1.282 s+0.821 s3.78 MiB4.78 MiB+ 1.01 MiB
/wp-admin/edit.php0.365 s0.851 s+0.486 s3.78 MiB4.78 MiB+ 1020.58 KiB
/wp-admin/post-new.php0.992 s3.616 s+2.624 s6.31 MiB7.67 MiB+ 1.37 MiB
/wp-admin/upload.php0.451 s1.184 s+0.733 s3.74 MiB4.79 MiB+ 1.05 MiB
/wp-admin/options-writing.php0.330 s0.672 s+0.342 s3.71 MiB4.67 MiB+ 979.63 KiB
/wp-admin/media-new.php0.542 s1.017 s+0.475 s3.7 MiB4.66 MiB+ 978.99 KiB
/wp-admin/edit-tags.php?taxonomy=category0.323 s0.932 s+0.609 s3.72 MiB4.71 MiB+ 1016.2 KiB
/wp-admin/post-new.php?post_type=page0.798 s2.435 s+1.637 s6.3 MiB7.66 MiB+ 1.36 MiB
/wp-admin/options-discussion.php0.356 s0.777 s+0.421 s3.71 MiB4.68 MiB+ 993.06 KiB
/wp-admin/edit-comments.php0.369 s0.934 s+0.565 s3.73 MiB4.73 MiB+ 1017.78 KiB
/0.333 s0.290 s-0.043 s4.11 MiB4.55 MiB+ 458.26 KiB
Average 0.484 s1.272 s+0.788 s4.24 MiB5.24 MiB+ 1.01 MiB

Code Statistics

Note: Third-party libraries and minified JS/CSS files are excluded from these statistics where possible, so the numbers you see here may be lower than those reported by other tools.

PHP
JavaScript
CSS
Language % Lines of code Comment lines Files
PHP49.0%63,37827,424385
JavaScript21.0%27,1602,442188
CSS13.9%18,05045673
SVG7.6%9,875027
PO File6.2%8,0237,2299
Sass1.8%2,33458
Markdown0.3%34202
LESS0.1%15251
JSON0.1%8703
Ruby0.0%801
XML0.0%501
Total 129,414 37,561 698

PHP Code Analysis | More results »

Lines of code 57,243
Total complexity 12,194
Median class complexity 12.0
Median method complexity 2.0
Most complex class lsolesen\pel\PelEntrySShort
Most complex function lsolesen\pel\PelEntrySShort::getText()
Classes 356
Methods 2,818
Functions 34

Additions

Things that the plugin adds to the site. This section is not intended to be comprehensive. The test tool only looks for a few specific types of added content.

Database Tables 3

Options wp_options 8

Custom Post Types 6

ID Name
ngg_albumNextGEN Gallery - Album
ngg_galleryNextGEN Gallery - Gallery
ngg_picturesNextGEN Gallery - Image
displayed_galleryNextGEN Gallery - Displayed Gallery
display_typeNextGEN Gallery - Display Type
gal_display_sourceNextGEN Gallery - Displayed Gallery Source

Sidebar Widgets 3

ID Name
ngg-imagesNextGEN Widget
slideshowNextGEN Slideshow
ngg-mrsswNextGEN Media RSS

Capabilities 10

PHP Error Log 8 lines

[03-Feb-2026 19:26:09 UTC] WordPress database error Table 'wordpress.wp_ngg_gallery' doesn't exist for query SHOW COLUMNS FROM `wp_ngg_gallery` made by activate_plugin, plugin_sandbox_scrape, include_once('/plugins/nextgen-gallery/nggallery.php'), C_NextGEN_Bootstrap->__construct, Imagely\NGG\Migrations\AddGalleryDates::migrate
[03-Feb-2026 19:26:09 UTC] WordPress database error Table 'wordpress.wp_ngg_gallery' doesn't exist for query ALTER TABLE `wp_ngg_gallery` ADD COLUMN `date_created` DATETIME made by activate_plugin, plugin_sandbox_scrape, include_once('/plugins/nextgen-gallery/nggallery.php'), C_NextGEN_Bootstrap->__construct, Imagely\NGG\Migrations\AddGalleryDates::migrate
[03-Feb-2026 19:26:09 UTC] WordPress database error Table 'wordpress.wp_ngg_gallery' doesn't exist for query ALTER TABLE `wp_ngg_gallery` ADD COLUMN `date_modified` DATETIME made by activate_plugin, plugin_sandbox_scrape, include_once('/plugins/nextgen-gallery/nggallery.php'), C_NextGEN_Bootstrap->__construct, Imagely\NGG\Migrations\AddGalleryDates::migrate
[03-Feb-2026 19:26:09 UTC] WordPress database error Table 'wordpress.wp_ngg_album' doesn't exist for query SHOW COLUMNS FROM `wp_ngg_album` made by activate_plugin, plugin_sandbox_scrape, include_once('/plugins/nextgen-gallery/nggallery.php'), C_NextGEN_Bootstrap->__construct, Imagely\NGG\Migrations\AddGalleryDates::migrate
[03-Feb-2026 19:26:09 UTC] WordPress database error Table 'wordpress.wp_ngg_album' doesn't exist for query ALTER TABLE `wp_ngg_album` ADD COLUMN `date_created` DATETIME made by activate_plugin, plugin_sandbox_scrape, include_once('/plugins/nextgen-gallery/nggallery.php'), C_NextGEN_Bootstrap->__construct, Imagely\NGG\Migrations\AddGalleryDates::migrate
[03-Feb-2026 19:26:09 UTC] WordPress database error Table 'wordpress.wp_ngg_album' doesn't exist for query ALTER TABLE `wp_ngg_album` ADD COLUMN `date_modified` DATETIME made by activate_plugin, plugin_sandbox_scrape, include_once('/plugins/nextgen-gallery/nggallery.php'), C_NextGEN_Bootstrap->__construct, Imagely\NGG\Migrations\AddGalleryDates::migrate
[03-Feb-2026 19:26:09 UTC] WordPress database error Table 'wordpress.wp_ngg_gallery' doesn't exist for query UPDATE `wp_ngg_gallery` g INNER JOIN `wp_posts` p ON p.ID = g.extras_post_id SET g.date_created = CASE WHEN p.post_modified_gmt = "0000-00-00 00:00:00" THEN p.post_modified ELSE p.post_modified_gmt END, g.date_modified = CASE WHEN p.post_modified_gmt = "0000-00-00 00:00:00" THEN p.post_modified ELSE p.post_modified_gmt END made by activate_plugin, plugin_sandbox_scrape, include_once('/plugins/nextgen-gallery/nggallery.php'), C_NextGEN_Bootstrap->__construct, Imagely\NGG\Migrations\AddGalleryDates::migrate
[03-Feb-2026 19:26:09 UTC] WordPress database error Table 'wordpress.wp_ngg_album' doesn't exist for query UPDATE `wp_ngg_album` a INNER JOIN `wp_posts` p ON p.ID = a.extras_post_id SET a.date_created = CASE WHEN p.post_modified_gmt = "0000-00-00 00:00:00" THEN p.post_modified ELSE p.post_modified_gmt END, a.date_modified = CASE WHEN p.post_modified_gmt = "0000-00-00 00:00:00" THEN p.post_modified ELSE p.post_modified_gmt END made by activate_plugin, plugin_sandbox_scrape, include_once('/plugins/nextgen-gallery/nggallery.php'), C_NextGEN_Bootstrap->__construct, Imagely\NGG\Migrations\AddGalleryDates::migrate
See also: All tests for this plugin, How to Hide NextGEN Gallery Admin Menus