NextGEN Gallery 4.0.2

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.93 KiB
The average PHP memory usage increased by this amount after activating by the plugin.

Page speed impact: 0.771 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=f64d6a7878
Aspect after-activation
HTTP status 200
Load time 1.395 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 1.068 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.662 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.733 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.574 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.451 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.667 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.253 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 1.504 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.431 s1.215 s+0.784 s3.77 MiB4.77 MiB+ 1019.41 KiB
/wp-admin/edit.php0.369 s0.736 s+0.367 s3.78 MiB4.76 MiB+ 1007.77 KiB
/wp-admin/post-new.php0.858 s3.439 s+2.581 s6.3 MiB7.64 MiB+ 1.33 MiB
/wp-admin/upload.php0.558 s1.270 s+0.712 s3.74 MiB4.77 MiB+ 1.04 MiB
/wp-admin/options-writing.php0.319 s0.618 s+0.299 s3.71 MiB4.65 MiB+ 966.82 KiB
/wp-admin/media-new.php0.493 s0.657 s+0.164 s3.7 MiB4.64 MiB+ 966.18 KiB
/wp-admin/edit-tags.php?taxonomy=category0.446 s0.935 s+0.489 s3.71 MiB4.69 MiB+ 1003.39 KiB
/wp-admin/post-new.php?post_type=page0.687 s2.583 s+1.896 s6.29 MiB7.62 MiB+ 1.33 MiB
/wp-admin/options-discussion.php0.333 s1.022 s+0.689 s3.71 MiB4.67 MiB+ 980.25 KiB
/wp-admin/edit-comments.php0.326 s0.861 s+0.535 s3.73 MiB4.71 MiB+ 1004.97 KiB
/0.274 s0.234 s-0.040 s4.1 MiB4.53 MiB+ 445.97 KiB
Average 0.463 s1.234 s+0.771 s4.23 MiB5.22 MiB+ 1016.93 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,89627,263385
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,883 37,390 697

PHP Code Analysis | More results »

Lines of code 56,761
Total complexity 12,079
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,809
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

[16-Dec-2025 15:19:56 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
[16-Dec-2025 15:19:56 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
[16-Dec-2025 15:19:56 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
[16-Dec-2025 15:19:56 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
[16-Dec-2025 15:19:56 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
[16-Dec-2025 15:19:56 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
[16-Dec-2025 15:19:56 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
[16-Dec-2025 15:19:56 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