NextGEN Gallery 4.0.1

Does NextGEN Gallery work with WordPress 6.9 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: 1016.43 KiB
The average PHP memory usage increased by this amount after activating by the plugin.

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

Environment
WordPress version6.9
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=fa9d543990
Aspect after-activation
HTTP status 200
Load time 1.394 s
Memory usage 8.04 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 0.986 s
Memory usage 4.73 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.701 s
Memory usage 4.73 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.732 s
Memory usage 4.73 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.572 s
Memory usage 4.73 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.450 s
Memory usage 4.73 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.693 s
Memory usage 4.73 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.252 s
Memory usage 4.54 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.099 s
Memory usage 7.23 MiB
JS errors None
Resource errors None

Benchmark

URL Load time Memory usage
Inactive Active Change Inactive Active Change
/wp-admin/index.php0.373 s1.293 s+0.920 s3.77 MiB4.77 MiB+ 1018.91 KiB
/wp-admin/edit.php0.353 s0.976 s+0.623 s3.78 MiB4.76 MiB+ 1007.27 KiB
/wp-admin/post-new.php0.848 s3.847 s+2.999 s6.3 MiB7.64 MiB+ 1.33 MiB
/wp-admin/upload.php0.714 s0.976 s+0.262 s3.74 MiB4.77 MiB+ 1.04 MiB
/wp-admin/options-writing.php0.339 s1.050 s+0.711 s3.71 MiB4.65 MiB+ 966.32 KiB
/wp-admin/media-new.php0.532 s0.678 s+0.146 s3.7 MiB4.64 MiB+ 965.68 KiB
/wp-admin/edit-tags.php?taxonomy=category0.455 s0.667 s+0.212 s3.71 MiB4.69 MiB+ 1002.89 KiB
/wp-admin/post-new.php?post_type=page0.679 s2.780 s+2.101 s6.29 MiB7.62 MiB+ 1.33 MiB
/wp-admin/options-discussion.php0.321 s0.690 s+0.369 s3.71 MiB4.67 MiB+ 979.75 KiB
/wp-admin/edit-comments.php0.337 s0.563 s+0.226 s3.73 MiB4.71 MiB+ 1004.47 KiB
/0.275 s0.443 s+0.168 s4.1 MiB4.53 MiB+ 445.47 KiB
Average 0.475 s1.269 s+0.794 s4.23 MiB5.22 MiB+ 1016.43 KiB

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
PHP48.8%62,85927,252385
JavaScript21.0%27,1112,432187
CSS14.0%18,05045673
SVG7.7%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 128,846 37,379 697

PHP Code Analysis | More results »

Lines of code 56,724
Total complexity 12,070
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,807
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

[11-Dec-2025 15:10:46 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
[11-Dec-2025 15:10:46 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
[11-Dec-2025 15:10:46 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
[11-Dec-2025 15:10:46 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
[11-Dec-2025 15:10:46 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
[11-Dec-2025 15:10:46 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
[11-Dec-2025 15:10:46 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
[11-Dec-2025 15:10:46 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