Does Turnstile work with WordPress 6.9.4 and PHP 8.1.12? A smoke test was performed on .
| 4 | PHP fatal errors |
| 2 | PHP warnings |
| 1 | JavaScript exceptions |
| 1 | Page failed to load
|
| 1 | Resource error (CSS, JS, images, fonts and so on.)
|
Memory usage: 78.07 KiB
The average PHP memory usage increased by this amount after activating by the plugin.
Page speed impact:
insignificant.
The plugin didn't make the site noticeably slower.
| WordPress version | 6.9.4 |
|---|---|
| PHP version | 8.1.12 |
| MySQL version | 10.6.10 |
| PHP memory limit | 512M |
| Last updated | |
|---|---|
| Active installs | <10 |
| WordPress.org page | https://wordpress.org/plugins/turnstile/ |
| Badges |
|
| URL | /wp-admin/plugins.php?activate=true&plugin_status=all&paged=1&s= |
|---|---|
| Requested URL | /wp-admin/plugins.php?action=activate&plugin=turnstile%2Fturnstile.php&plugin_status=all&paged=1&s&_wpnonce=5047b86598 |
| Aspect | after-activation |
| HTTP status | 500 |
| Load time | 0.124 s |
| Memory usage | N/A |
| JS errors | None |
| Resource errors | None |
| URL | /wp-admin/options-general.php?page=turnstile-setting-admin |
|---|---|
| Aspect | menu-item |
| HTTP status | 200 |
| Load time | 0.268 s |
| Memory usage | 3.81 MiB |
| JS errors | None |
| Resource errors | None |
| URL | / |
|---|---|
| Aspect | front-page |
| HTTP status | 200 |
| Load time | 0.318 s |
| Memory usage | 4.13 MiB |
| JS errors | |
| Resource errors | |
| URL | Load time | Memory usage | ||||
|---|---|---|---|---|---|---|
| Inactive | Active | Change | Inactive | Active | Change | |
| /wp-admin/index.php | 0.373 s | 0.342 s | -0.031 s | 3.78 MiB | 3.87 MiB | + 93.74 KiB |
| /wp-admin/edit.php | 0.359 s | 0.307 s | -0.052 s | 3.78 MiB | 3.87 MiB | + 87.91 KiB |
| /wp-admin/post-new.php | 0.864 s | 0.276 s | -0.588 s | 6.31 MiB | ||
| /wp-admin/upload.php | 0.649 s | 0.528 s | -0.121 s | 3.74 MiB | 3.81 MiB | + 76.41 KiB |
| /wp-admin/options-writing.php | 0.334 s | 0.356 s | +0.022 s | 3.71 MiB | 3.79 MiB | + 80.4 KiB |
| /wp-admin/media-new.php | 0.484 s | 0.350 s | -0.134 s | 3.7 MiB | 3.79 MiB | + 88.59 KiB |
| /wp-admin/edit-tags.php?taxonomy=category | 0.463 s | 0.309 s | -0.154 s | 3.72 MiB | 3.81 MiB | + 93.45 KiB |
| /wp-admin/post-new.php?post_type=page | 0.694 s | 0.266 s | -0.428 s | 6.3 MiB | ||
| /wp-admin/options-discussion.php | 0.359 s | 0.288 s | -0.071 s | 3.71 MiB | 3.79 MiB | + 76.59 KiB |
| /wp-admin/edit-comments.php | 0.338 s | 0.303 s | -0.035 s | 3.73 MiB | 3.81 MiB | + 76.39 KiB |
| / | 0.286 s | 0.210 s | -0.076 s | 4.11 MiB | 4.14 MiB | + 29.12 KiB |
| Average | 0.473 s | 0.321 s | -0.152 s | 4.23 MiB | 3.85 MiB | + 78.07 KiB |
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.
| Language | % | Lines of code | Comment lines | Files | |
|---|---|---|---|---|---|
| PHP | 81.8% | 1,073 | 138 | 22 | |
| JavaScript | 10.1% | 132 | 35 | 4 | |
| CSS | 8.1% | 106 | 1 | 2 | |
| Total | 1,311 | 174 | 28 | ||
| Lines of code | 1,089 |
|---|---|
| Total complexity | 209 |
| Median class complexity | 4.0 |
| Median method complexity | 1.0 |
| Most complex class | Turnstile |
| Most complex function | TurnstileAdmin::save_post() |
| Classes | 11 |
|---|---|
| Methods | 81 |
| Functions | 29 |
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.
No new entries found.
[26-Mar-2026 18:32:42 UTC] PHP Fatal error: Uncaught TypeError: call_user_func_array(): Argument #1 ($callback) must be a valid callback, cannot access private method Turnstile::allowed_redirect_hosts() in /wp-includes/class-wp-hook.php:343
Stack trace:
#0 /wp-includes/plugin.php(205): WP_Hook->apply_filters()
#1 /wp-includes/pluggable.php(1721): apply_filters()
#2 /wp-includes/pluggable.php(1639): wp_validate_redirect()
#3 /wp-content/plugins/turnstile/src/includes/core/functions.php(12): wp_safe_redirect()
#4 /wp-content/plugins/turnstile/src/includes/admin/common.php(18): turnstile_redirect()
#5 /wp-includes/class-wp-hook.php(341): turnstile_do_activation_redirect()
#6 /wp-includes/class-wp-hook.php(365): WP_Hook->apply_filters()
#7 /wp-includes/plugin.php(522): WP_Hook->do_action()
#8 /wp-content/plugins/turnstile/src/includes/admin/actions.php(30): do_action()
#9 /wp-includes/class-wp-hook.php(341): turnstile_admin_init()
#10 /wp-includes/class-wp-hook.php(365): WP_Hook->apply_filters()
#11 /wp-includes/plugin.php(522): WP_Hook->do_action()
#12 /wp-admin/admin.php(180): do_action()
#13 /wp-admin/plugins.php(10): require_once('...')
#14 {main}
thrown in /wp-includes/class-wp-hook.php on line 343
[26-Mar-2026 18:32:45 UTC] PHP Warning: Trying to access array offset on value of type bool in /wp-content/plugins/turnstile/src/turnstile.php on line 119
[26-Mar-2026 18:32:46 UTC] PHP Fatal error: Uncaught TypeError: implode(): Argument #2 ($array) must be of type ?array, string given in /wp-content/plugins/turnstile/src/turnstile.php:126
Stack trace:
#0 /wp-content/plugins/turnstile/src/turnstile.php(126): implode()
#1 /wp-content/plugins/turnstile/src/turnstile.php(173): Turnstile->url()
#2 /wp-content/plugins/turnstile/src/includes/admin/class-turnstile-meta-boxes.php(146): Turnstile->connect_url()
#3 /wp-content/plugins/turnstile/src/includes/admin/class-turnstile-meta-boxes.php(134): TurnstileMetaBoxes->render_connect_required()
#4 /wp-admin/includes/template.php(1453): TurnstileMetaBoxes->render_metrics_meta_box()
#5 /wp-admin/includes/post.php(2401): do_meta_boxes()
#6 /wp-admin/edit-form-blocks.php(383): the_block_editor_meta_boxes()
#7 /wp-admin/post-new.php(72): require('...')
#8 {main}
thrown in /wp-content/plugins/turnstile/src/turnstile.php on line 126
[26-Mar-2026 18:32:49 UTC] PHP Fatal error: Uncaught TypeError: implode(): Argument #2 ($array) must be of type ?array, string given in /wp-content/plugins/turnstile/src/turnstile.php:126
Stack trace:
#0 /wp-content/plugins/turnstile/src/turnstile.php(126): implode()
#1 /wp-content/plugins/turnstile/src/turnstile.php(173): Turnstile->url()
#2 /wp-content/plugins/turnstile/src/includes/admin/class-turnstile-meta-boxes.php(146): Turnstile->connect_url()
#3 /wp-content/plugins/turnstile/src/includes/admin/class-turnstile-meta-boxes.php(134): TurnstileMetaBoxes->render_connect_required()
#4 /wp-admin/includes/template.php(1453): TurnstileMetaBoxes->render_metrics_meta_box()
#5 /wp-admin/includes/post.php(2401): do_meta_boxes()
#6 /wp-admin/edit-form-blocks.php(383): the_block_editor_meta_boxes()
#7 /wp-admin/post-new.php(72): require('...')
#8 {main}
thrown in /wp-content/plugins/turnstile/src/turnstile.php on line 126
[26-Mar-2026 18:32:50 UTC] PHP Warning: Trying to access array offset on value of type bool in /wp-content/plugins/turnstile/src/turnstile.php on line 119
[26-Mar-2026 18:32:51 UTC] PHP Fatal error: Uncaught TypeError: call_user_func_array(): Argument #1 ($callback) must be a valid callback, cannot access private method Turnstile::allowed_redirect_hosts() in /wp-includes/class-wp-hook.php:343
Stack trace:
#0 /wp-includes/plugin.php(205): WP_Hook->apply_filters()
#1 /wp-includes/pluggable.php(1721): apply_filters()
#2 /wp-includes/functions.php(1986): wp_validate_redirect()
#3 /wp-includes/pluggable.php(1374): wp_get_referer()
#4 /wp-admin/plugins.php(204): check_admin_referer()
#5 {main}
thrown in /wp-includes/class-wp-hook.php on line 343