Better AMP - WordPress Complete AMP 1.10.0

Does "Better AMP - WordPress Complete AMP" work with WordPress 6.8.1 and PHP 8.1.12? A smoke test was performed on .

Summary

Errors
1PHP warnings
18PHP deprecation warnings
9JavaScript exceptions
All test pages loaded successfully
No resource errors
Performance

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

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

Environment
WordPress version6.8.1
PHP version8.1.12
MySQL version10.6.10
PHP memory limit512M
Plugin Info
Last updated
Active installs 10,000+
WordPress.org page https://wordpress.org/plugins/better-amp/
Badges

WordPress compatibility badge PHP compatibility badge

Get badge code

Pages 15

Plugins ‹ Test site — WordPress

Page screenshot: Plugins ‹ Test site — WordPress
URL /wp-admin/plugins.php?plugin_status=all&paged=1&s
Requested URL /wp-admin/plugins.php?action=activate&plugin=better-amp%2Fbetter-amp.php&plugin_status=all&paged=1&s&_wpnonce=3510879f6d
Aspect after-activation
HTTP status 200
Load time 0.711 s
Memory usage 4.1 MiB
JS errors None
Resource errors None

Better AMP

Page screenshot: Better AMP
URL /wp-admin/admin.php?page=better-amp-translation&tab=1
Aspect menu-item
HTTP status 200
Load time 0.817 s
Memory usage 4.02 MiB
JS errors
[
    {
        "message": "ReferenceError: redux is not defined\n    at /wp-content/plugins/better-amp/includes/redux/ReduxCore/inc/extensions/options_object/options_object/field_options_object.js?ver=4.0:6:5\n    at /wp-content/plugins/better-amp/includes/redux/ReduxCore/inc/extensions/options_object/options_object/field_options_object.js?ver=4.0:44:3",
        "trace": null,
        "code": null
    },
    {
        "message": "ReferenceError: redux is not defined\n    at /wp-content/plugins/better-amp/includes/redux/ReduxCore/inc/extensions/import_export/import_export/field_import_export.js?ver=4.0:6:5\n    at /wp-content/plugins/better-amp/includes/redux/ReduxCore/inc/extensions/import_export/import_export/field_import_export.js?ver=4.0:196:3",
        "trace": null,
        "code": null
    },
    {
        "message": "TypeError: Cannot use 'in' operator to search for 'text' in undefined\n    at HTMLFieldSetElement.<anonymous> (/wp-content/plugins/better-amp/includes/redux/ReduxCore/assets/js/redux.js?ver=3.6.18.1746100205:640:27)\n    at Function.each (/wp-admin/load-scripts.php?c=0&load%5Bchunk_0%5D=jquery-core,jquery-migrate,utils&ver=6.8.1:2:3129)\n    at e.<computed>.each (/wp-admin/load-scripts.php?c=0&load%5Bchunk_0%5D=jquery-core,jquery-migrate,utils&ver=6.8.1:2:1594)\n    at Object.$.redux.initFields (/wp-content/plugins/better-amp/includes/redux/ReduxCore/assets/js/redux.js?ver=3.6.18.1746100205:634:77)\n    at HTMLDivElement.<anonymous> (/wp-content/plugins/better-amp/includes/redux/ReduxCore/assets/js/redux.js?ver=3.6.18.1746100205:586:33)\n    at HTMLDivElement.r.complete (/wp-admin/load-scripts.php?c=0&load%5Bchunk_0%5D=jquery-core,jquery-migrate,utils&ver=6.8.1:2:61090)\n    at c (/wp-admin/load-scripts.php?c=0&load%5Bchunk_0%5D=jquery-core,jquery-migrate,utils&ver=6.8.1:2:25304)\n    at Object.fireWith [as resolveWith] (/wp-admin/load-scripts.php?c=0&load%5Bchunk_0%5D=jquery-core,jquery-migrate,utils&ver=6.8.1:2:26053)\n    at u (/wp-admin/load-scripts.php?c=0&load%5Bchunk_0%5D=jquery-core,jquery-migrate,utils&ver=6.8.1:2:57797)\n    at Function.ce.fx.tick (/wp-admin/load-scripts.php?c=0&load%5Bchunk_0%5D=jquery-core,jquery-migrate,utils&ver=6.8.1:2:62805)",
        "trace": null,
        "code": null
    }
]
Resource errors None

Better AMP → Options Object

Page screenshot: Better AMP → Options Object
URL /wp-admin/admin.php?page=better-amp-translation&tab=2
Aspect menu-item
HTTP status 200
Load time 0.479 s
Memory usage 3.97 MiB
JS errors
[
    {
        "message": "ReferenceError: redux is not defined\n    at /wp-content/plugins/better-amp/includes/redux/ReduxCore/inc/extensions/options_object/options_object/field_options_object.js?ver=4.0:6:5\n    at /wp-content/plugins/better-amp/includes/redux/ReduxCore/inc/extensions/options_object/options_object/field_options_object.js?ver=4.0:44:3",
        "trace": null,
        "code": null
    },
    {
        "message": "ReferenceError: redux is not defined\n    at /wp-content/plugins/better-amp/includes/redux/ReduxCore/inc/extensions/import_export/import_export/field_import_export.js?ver=4.0:6:5\n    at /wp-content/plugins/better-amp/includes/redux/ReduxCore/inc/extensions/import_export/import_export/field_import_export.js?ver=4.0:196:3",
        "trace": null,
        "code": null
    },
    {
        "message": "TypeError: Cannot use 'in' operator to search for 'options_object' in undefined\n    at HTMLFieldSetElement.<anonymous> (/wp-content/plugins/better-amp/includes/redux/ReduxCore/assets/js/redux.js?ver=3.6.18.1746100207:640:27)\n    at Function.each (/wp-admin/load-scripts.php?c=0&load%5Bchunk_0%5D=jquery-core,jquery-migrate,utils&ver=6.8.1:2:3129)\n    at e.<computed>.each (/wp-admin/load-scripts.php?c=0&load%5Bchunk_0%5D=jquery-core,jquery-migrate,utils&ver=6.8.1:2:1594)\n    at Object.$.redux.initFields (/wp-content/plugins/better-amp/includes/redux/ReduxCore/assets/js/redux.js?ver=3.6.18.1746100207:634:77)\n    at HTMLDivElement.<anonymous> (/wp-content/plugins/better-amp/includes/redux/ReduxCore/assets/js/redux.js?ver=3.6.18.1746100207:586:33)\n    at HTMLDivElement.r.complete (/wp-admin/load-scripts.php?c=0&load%5Bchunk_0%5D=jquery-core,jquery-migrate,utils&ver=6.8.1:2:61090)\n    at c (/wp-admin/load-scripts.php?c=0&load%5Bchunk_0%5D=jquery-core,jquery-migrate,utils&ver=6.8.1:2:25304)\n    at Object.fireWith [as resolveWith] (/wp-admin/load-scripts.php?c=0&load%5Bchunk_0%5D=jquery-core,jquery-migrate,utils&ver=6.8.1:2:26053)\n    at u (/wp-admin/load-scripts.php?c=0&load%5Bchunk_0%5D=jquery-core,jquery-migrate,utils&ver=6.8.1:2:57797)\n    at Function.ce.fx.tick (/wp-admin/load-scripts.php?c=0&load%5Bchunk_0%5D=jquery-core,jquery-migrate,utils&ver=6.8.1:2:62805)",
        "trace": null,
        "code": null
    }
]
Resource errors None

Better AMP → Import / Export

Page screenshot: Better AMP → Import / Export
URL /wp-admin/admin.php?page=better-amp-translation&tab=3
Aspect menu-item
HTTP status 200
Load time 0.458 s
Memory usage 3.97 MiB
JS errors
[
    {
        "message": "ReferenceError: redux is not defined\n    at /wp-content/plugins/better-amp/includes/redux/ReduxCore/inc/extensions/options_object/options_object/field_options_object.js?ver=4.0:6:5\n    at /wp-content/plugins/better-amp/includes/redux/ReduxCore/inc/extensions/options_object/options_object/field_options_object.js?ver=4.0:44:3",
        "trace": null,
        "code": null
    },
    {
        "message": "ReferenceError: redux is not defined\n    at /wp-content/plugins/better-amp/includes/redux/ReduxCore/inc/extensions/import_export/import_export/field_import_export.js?ver=4.0:6:5\n    at /wp-content/plugins/better-amp/includes/redux/ReduxCore/inc/extensions/import_export/import_export/field_import_export.js?ver=4.0:196:3",
        "trace": null,
        "code": null
    },
    {
        "message": "TypeError: Cannot use 'in' operator to search for 'import_export' in undefined\n    at HTMLFieldSetElement.<anonymous> (/wp-content/plugins/better-amp/includes/redux/ReduxCore/assets/js/redux.js?ver=3.6.18.1746100208:640:27)\n    at Function.each (/wp-admin/load-scripts.php?c=0&load%5Bchunk_0%5D=jquery-core,jquery-migrate,utils&ver=6.8.1:2:3129)\n    at e.<computed>.each (/wp-admin/load-scripts.php?c=0&load%5Bchunk_0%5D=jquery-core,jquery-migrate,utils&ver=6.8.1:2:1594)\n    at Object.$.redux.initFields (/wp-content/plugins/better-amp/includes/redux/ReduxCore/assets/js/redux.js?ver=3.6.18.1746100208:634:77)\n    at HTMLDivElement.<anonymous> (/wp-content/plugins/better-amp/includes/redux/ReduxCore/assets/js/redux.js?ver=3.6.18.1746100208:586:33)\n    at HTMLDivElement.r.complete (/wp-admin/load-scripts.php?c=0&load%5Bchunk_0%5D=jquery-core,jquery-migrate,utils&ver=6.8.1:2:61090)\n    at c (/wp-admin/load-scripts.php?c=0&load%5Bchunk_0%5D=jquery-core,jquery-migrate,utils&ver=6.8.1:2:25304)\n    at Object.fireWith [as resolveWith] (/wp-admin/load-scripts.php?c=0&load%5Bchunk_0%5D=jquery-core,jquery-migrate,utils&ver=6.8.1:2:26053)\n    at u (/wp-admin/load-scripts.php?c=0&load%5Bchunk_0%5D=jquery-core,jquery-migrate,utils&ver=6.8.1:2:57797)\n    at Function.ce.fx.tick (/wp-admin/load-scripts.php?c=0&load%5Bchunk_0%5D=jquery-core,jquery-migrate,utils&ver=6.8.1:2:62805)",
        "trace": null,
        "code": null
    }
]
Resource errors None

Better AMP → Customize AMP

Page screenshot: Better AMP → Customize AMP
URL /wp-admin/customize.php?url=http%3A%2F%2F127.0.0.1%2Famp&autofocus%5Bpanel%5D=better-amp-panel
Aspect menu-item
HTTP status 200
Load time 1.412 s
Memory usage 6.55 MiB
JS errors None
Resource errors None

Tools → Redux Framework

Page screenshot: Tools → Redux Framework
URL /wp-admin/tools.php?page=redux-about
Aspect menu-item
HTTP status 200
Load time 0.713 s
Memory usage 3.95 MiB
JS errors None
Resource errors None

Tools → Redux Framework → Extensions

Page screenshot: Tools → Redux Framework → 
                    Extensions
URL /wp-admin/tools.php?page=redux-extensions
Aspect menu-item-tab
HTTP status 200
Load time 0.643 s
Memory usage 3.94 MiB
JS errors None
Resource errors None

Tools → Redux Framework → Changelog

Page screenshot: Tools → Redux Framework → 
                    Changelog
URL /wp-admin/tools.php?page=redux-changelog
Aspect menu-item-tab
HTTP status 200
Load time 0.549 s
Memory usage 6.25 MiB
JS errors None
Resource errors None

Tools → Redux Framework → Credits

Page screenshot: Tools → Redux Framework → 
                    Credits
URL /wp-admin/tools.php?page=redux-credits
Aspect menu-item-tab
HTTP status 200
Load time 2.207 s
Memory usage 4.12 MiB
JS errors None
Resource errors None

Tools → Redux Framework → Support

Page screenshot: Tools → Redux Framework → 
                    Support
URL /wp-admin/tools.php?page=redux-support
Aspect menu-item-tab
HTTP status 200
Load time 0.650 s
Memory usage 3.94 MiB
JS errors None
Resource errors None

Tools → Redux Framework → Status

Page screenshot: Tools → Redux Framework → 
                    Status
URL /wp-admin/tools.php?page=redux-status
Aspect menu-item-tab
HTTP status 200
Load time 1.076 s
Memory usage 4.3 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.264 s
Memory usage 3.58 MiB
JS errors None
Resource errors None

Dashboard ‹ Test site — WordPress

Page screenshot: Dashboard ‹ Test site — WordPress
URL /wp-admin/index.php
Aspect new-meta-boxes
HTTP status 200
Load time 0.784 s
Memory usage 4.64 MiB
JS errors None
Resource errors None

Add Post ‹ Test site — WordPress

Page screenshot: Add Post ‹ Test site — WordPress
URL /wp-admin/post-new.php
Aspect new-meta-boxes
HTTP status 200
Load time 0.814 s
Memory usage 6.56 MiB
JS errors None
Resource errors None

Add Page ‹ Test site — WordPress

Page screenshot: Add Page ‹ Test site — WordPress
URL /wp-admin/post-new.php?post_type=page
Aspect new-meta-boxes
HTTP status 200
Load time 0.731 s
Memory usage 6.54 MiB
JS errors None
Resource errors None

Benchmark

URL Load time Memory usage
Inactive Active Change Inactive Active Change
/wp-admin/index.php0.304 s1.198 s+0.894 s3.51 MiB4.64 MiB+ 1.13 MiB
/wp-admin/edit.php0.185 s0.496 s+0.311 s3.57 MiB4.04 MiB+ 484.89 KiB
/wp-admin/post-new.php0.715 s1.728 s+1.013 s6.06 MiB6.56 MiB+ 508.63 KiB
/wp-admin/upload.php0.583 s0.629 s+0.046 s3.52 MiB3.96 MiB+ 447 KiB
/wp-admin/options-writing.php0.217 s0.417 s+0.200 s3.5 MiB3.94 MiB+ 450.26 KiB
/wp-admin/media-new.php0.263 s0.448 s+0.185 s3.49 MiB3.94 MiB+ 458.45 KiB
/wp-admin/edit-tags.php?taxonomy=category0.172 s0.382 s+0.210 s3.5 MiB3.96 MiB+ 463.69 KiB
/wp-admin/post-new.php?post_type=page0.566 s0.798 s+0.232 s6.05 MiB6.54 MiB+ 504.21 KiB
/wp-admin/options-discussion.php0.302 s0.449 s+0.147 s3.5 MiB3.94 MiB+ 446.79 KiB
/wp-admin/edit-comments.php0.416 s0.400 s-0.016 s3.52 MiB3.96 MiB+ 446.26 KiB
/0.284 s0.373 s+0.089 s3.43 MiB3.58 MiB+ 147.45 KiB
Average 0.364 s0.665 s+0.301 s3.97 MiB4.46 MiB+ 501.42 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
Language % Lines of code Comment lines Files
PHP62.1%28,84610,715186
JavaScript15.8%7,3591,21377
Sass8.0%3,7313337
CSS7.5%3,48524191
Markdown3.9%1,79206
JSON2.1%99604
XML0.3%12504
LESS0.2%8102
HTML0.1%6001
SVG0.0%1111
Total 46,486 12,203 409

PHP Code Analysis | More results »

Lines of code 25,245
Total complexity 5,532
Median class complexity 10.0
Median method complexity 2.0
Most complex class ReduxFramework
Most complex function Better_AMP_Content_Sanitizer::sanitize_document()
Classes 132
Methods 899
Functions 193

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.

Options wp_options 3

User Metadata wp_usermeta 1

Meta Boxes

{
    "dashboard": {
        "redux_dashboard_widget": {
            "title": "Redux Framework News",
            "context": "side"
        }
    },
    "post": {
        "better-amp-settings": {
            "title": "Better AMP Settings",
            "context": "side"
        }
    },
    "page": {
        "better-amp-settings": {
            "title": "Better AMP Settings",
            "context": "side"
        }
    }
}

PHP Error Log 19 lines

[01-May-2025 11:50:02 UTC] PHP Deprecated:  Optional parameter $list declared before required parameter $is_script is implicitly treated as a required parameter in /wp-content/plugins/better-amp/includes/redux/ReduxCore/inc/class.redux_cdn.php on line 21
[01-May-2025 11:50:02 UTC] PHP Deprecated:  Optional parameter $register declared before required parameter $footer_or_media is implicitly treated as a required parameter in /wp-content/plugins/better-amp/includes/redux/ReduxCore/inc/class.redux_cdn.php on line 45
[01-May-2025 11:50:02 UTC] PHP Deprecated:  Optional parameter $register declared before required parameter $footer_or_media is implicitly treated as a required parameter in /wp-content/plugins/better-amp/includes/redux/ReduxCore/inc/class.redux_cdn.php on line 104
[01-May-2025 11:50:02 UTC] PHP Deprecated:  Optional parameter $expire declared before required parameter $path is implicitly treated as a required parameter in /wp-content/plugins/better-amp/includes/redux/ReduxCore/inc/class.redux_functions.php on line 54
[01-May-2025 11:50:02 UTC] PHP Deprecated:  Optional parameter $args declared before required parameter $wp_customize is implicitly treated as a required parameter in /wp-content/plugins/better-amp/includes/redux/ReduxCore/inc/extensions/customizer/extension_customizer.php on line 583
[01-May-2025 11:50:02 UTC] PHP Deprecated:  Optional parameter $args declared before required parameter $wp_customize is implicitly treated as a required parameter in /wp-content/plugins/better-amp/includes/redux/ReduxCore/inc/extensions/customizer/extension_customizer.php on line 606
[01-May-2025 11:50:05 UTC] PHP Deprecated:  Optional parameter $field declared before required parameter $parent is implicitly treated as a required parameter in /wp-content/plugins/better-amp/includes/redux/ReduxCore/inc/fields/text/field_text.php on line 17
[01-May-2025 11:50:05 UTC] PHP Deprecated:  Optional parameter $value declared before required parameter $parent is implicitly treated as a required parameter in /wp-content/plugins/better-amp/includes/redux/ReduxCore/inc/fields/text/field_text.php on line 17
[01-May-2025 11:50:05 UTC] PHP Deprecated:  Optional parameter $field declared before required parameter $parent is implicitly treated as a required parameter in /wp-content/plugins/better-amp/includes/redux/ReduxCore/inc/extensions/options_object/options_object/field_options_object.php on line 42
[01-May-2025 11:50:05 UTC] PHP Deprecated:  Optional parameter $value declared before required parameter $parent is implicitly treated as a required parameter in /wp-content/plugins/better-amp/includes/redux/ReduxCore/inc/extensions/options_object/options_object/field_options_object.php on line 42
[01-May-2025 11:50:05 UTC] PHP Deprecated:  Optional parameter $field declared before required parameter $parent is implicitly treated as a required parameter in /wp-content/plugins/better-amp/includes/redux/ReduxCore/inc/extensions/import_export/import_export/field_import_export.php on line 42
[01-May-2025 11:50:05 UTC] PHP Deprecated:  Optional parameter $value declared before required parameter $parent is implicitly treated as a required parameter in /wp-content/plugins/better-amp/includes/redux/ReduxCore/inc/extensions/import_export/import_export/field_import_export.php on line 42
[01-May-2025 11:50:12 UTC] PHP Deprecated:  Optional parameter $handle declared before required parameter $code is implicitly treated as a required parameter in /wp-content/plugins/better-amp/includes/classes/class-better-amp-styles.php on line 33
[01-May-2025 11:50:14 UTC] PHP Deprecated:  strip_tags(): Passing null to parameter #1 ($string) of type string is deprecated in /wp-admin/admin-header.php on line 41
[01-May-2025 11:50:15 UTC] PHP Deprecated:  strip_tags(): Passing null to parameter #1 ($string) of type string is deprecated in /wp-admin/admin-header.php on line 41
[01-May-2025 11:50:30 UTC] PHP Deprecated:  strip_tags(): Passing null to parameter #1 ($string) of type string is deprecated in /wp-admin/admin-header.php on line 41
[01-May-2025 11:50:32 UTC] PHP Deprecated:  strip_tags(): Passing null to parameter #1 ($string) of type string is deprecated in /wp-admin/admin-header.php on line 41
[01-May-2025 11:50:33 UTC] PHP Deprecated:  strip_tags(): Passing null to parameter #1 ($string) of type string is deprecated in /wp-admin/admin-header.php on line 41
[01-May-2025 11:50:33 UTC] PHP Warning:  fopen(/wp-content/uploads/redux/test-log.log): Failed to open stream: No such file or directory in /wp-content/plugins/better-amp/includes/redux/ReduxCore/inc/class.redux_helpers.php on line 405
See also: All tests for this plugin, How to Hide Better AMP - WordPress Complete AMP Admin Menus and More