Fixed: Google Analytics AMP tag now correctly detects GA4 (G-XXXXXXXX) vs Universal Analytics (UA-XXXXXXX-X) IDs — GA4 IDs now output <amp-analytics type=”gtag”> with gtag_id / config vars, while UA IDs continue to use the legacy type=”googleanalytics” vendor. This resolves the persistent [AmpAnalytics googleanalytics] Warning: [object Object] console error that appeared after migrating to a GA4 Measurement ID.
Fixed: JSON-LD structured data — 11 Schema.org / Google Rich Results compliance issues resolved: mainEntityOfPage is now a typed WebPage object instead of a plain URL; publisher outputs an inline Organization when no logo is configured so the #organization reference never dangles; headline capped at 110 characters per Google AMP article spec; all @context values normalised to https://schema.org (no trailing slash); all @id values upgraded to absolute URLs; WebSite schema uses description instead of alternateName for the site tagline; AudioObject now includes the required name property; post_excerpt is sanitised before output; wordCount restricted to Article sub-types only; WebPage potentialAction corrected to a direct SearchAction object; JSON_UNESCAPED_SLASHES | JSON_UNESCAPED_UNICODE added to JSON output flags.
Fixed: AdSense Auto Ads (and any custom <head> code) now outputs via the amp_wp_template_head_deferred hook at priority 5 instead of amp_wp_template_head — ensures the snippet is injected after AMP boilerplate styles are written, which is required for <amp-auto-ads> to be recognised and fired correctly by the AMP runtime.
Improved: Upgraded Font Awesome from 4.7.0 (MaxCDN) to 6.7.2 (cdnjs) — eliminates browser console warnings about incorrect glyph bounding boxes present in the FA 4.7.0 font file. The v4-shims stylesheet is loaded automatically so all existing fa fa-* icon classes continue to work with no template changes required.
Improved: WordPress Coding Standards (PHPCS) compliance in amp-wp-template-functions.php — all output values are now properly escaped (esc_attr(), wp_kses_post()), loose == comparisons replaced with strict ===, variable assignments moved out of conditions, in_array() calls updated with strict mode, reserved-keyword parameter names renamed, and PHPDoc parameter annotations corrected throughout.
Improved: WordPress Coding Standards (PHPCS) compliance in class-amp-wp-html-util.php — added file-level docblock, renamed camelCase local variables to snake_case in renameElement(), fixed variable assignments in conditions in get_child_tag_attribute(), corrected a @param name mismatch in the child() method docblock, and added phpcs:ignore annotations for PHP DOM API built-in properties (parentNode, childNodes, ownerDocument, etc.) that cannot be renamed.
1.7.1 – 2026-04-26
Fixed: Select2 CSS in the admin now scoped to .select2-container.amp-wp-select-container — prevents style conflicts when ACF (Advanced Custom Fields) or other plugins ship their own Select2 instance on the same admin page.
Fixed: Comments section on single posts no longer hides the “Add Comment” button when a post has zero comments — comments are open so visitors can start a discussion. The comment list itself is still only rendered when comments exist.
Improved: Add-ons tab card layout — Install/Update action button now appears above the version info line, and the action area uses flexbox for consistent alignment across varying content lengths.
Fixed: PHP Warning “Undefined array key amp_wp_settings_nonce_field” in settings save handler — || operator caused the nonce value to be read before its existence was confirmed; corrected to &&.
Fixed: WP Rocket redirect loop on URLs excluded from AMP — WP Rocket was serving a stale cached redirect (non-AMP → AMP) after the URL was added to the exclusion list, while the plugin redirected back (AMP → non-AMP). Excluded URLs are now pushed into WP Rocket’s rocket_cache_exclude_uris bypass list so cached redirects are never served for them, and DONOTCACHEPAGE is set on the current request to prevent a new cache file from being written.
Improved: class-amp-wp-plugin-compatibility.php file and class docblocks rewritten to professional WordPress PHPDoc standard — file header now documents all supported third-party plugins grouped by category (Cache & Performance, SEO, Multilingual, Media & Lazy Load, Social & Comments, Forms, Structured Data, Links & Permalinks, Miscellaneous) with plugin URLs; class docblock describes the conditional-detection architecture.
Removed: WP Speed Grades Lite compatibility — plugin was closed on WordPress.org on 1 March 2021 for guideline violation and is no longer available for download. Removed the WP_SPEED_GRADES_VERSION detection block, the pre_init() method, and all references in docblocks.
Fixed: Translated AMP pages returning 404 when Polylang is active with subdirectory language URLs (e.g. /uk/category/post/amp/) — the AMP URL transformer was reading the language prefix segment (e.g. uk) as a post slug and failing to detect the AMP endpoint. Language slugs are now added to the URL transformer exclusion list when Polylang is configured in subdirectory mode, mirroring the existing WPML fix.
1.7.0 – 2026-04-23
Added: Add-ons tab now shows installed and latest version for each premium add-on (e.g. “Installed: v2.0.0 | Latest: v2.0.0”).
Added: Download button on the Add-ons tab hides when the add-on is already installed and up to date.
Added: Update button appears on the Add-ons card when an installed add-on is outdated (installed version < latest version).
Added: Latest version is fetched from the public amp-wp-addon-versions GitHub repository and cached for 12 hours via WordPress transients.
Added: Manual version cache refresh — visiting the Add-ons page with ?amp_refresh_versions=1 clears the cached version and forces a fresh fetch.
Added: Full Help & Documentation page — replaces the placeholder with Getting Started, Content Control, Design, Analytics & Ads, Embeds, Add-Ons, and FAQ sections.
Fixed: Undefined variable $page warning in amp-wp-admin-header.php — the active tab highlight now reads the current page from the URL query parameter directly.
Fixed: wp_redirect() replaced with wp_safe_redirect() + exit on activation redirect to prevent open redirect and ensure execution stops.
Fixed: amp_wp_version_check_using_wpapi() wrapped in function_exists guard and moved to utility functions to prevent fatal errors on duplicate inclusion.
1.6.0 – 2026-04-14
Added: Instagram Reels (/reel/) and IGTV (/tv/) embed support alongside existing /p/ posts via amp-instagram.
Added: data-captioned passthrough — preserves Instagram caption flag when the original embed included data-instgrm-captioned.
Added: Auto layout detection for amp-iframe — sets layout=”responsive” when both width and height are present; layout=”fixed-height” when only height is available.
Added: Pass-through of layout, resizable, scrolling, and srcdoc attributes to amp-iframe for fuller AMP spec coverage.
Improved: amp-facebook output now includes a proper closing tag and corrected attribute spacing.
Improved: amp-playbuzz component now supports both src (full URL) and data-item (item ID) conventions, plus optional data-item-info, data-share-buttons, and data-comments attributes.
Improved: amp-instagram dimensions updated to 1×1 with layout=”responsive” per AMP documentation.
Improved: JSON-LD @context updated from http://schema.org to https://schema.org.
Improved: SearchAction structured data updated to use the EntryPoint object format with urlTemplate and search_term_string per current Schema.org specification.
Improved: Tumblr share button updated to the current widget API endpoint (https://www.tumblr.com/widgets/share/tool) with correct parameters.
Improved: aria-label attribute on social share buttons corrected — was producing malformed HTML.
Fixed: PHP 8 — replaced @fopen() error suppression in Fastimage.php with a proper set_error_handler / restore_error_handler pattern.
Fixed: PHP 8 — replaced @getimagesize() suppression with an explicit false !== $size check.
Fixed: Replaced all deprecated join() calls with implode() across the codebase.
Removed: amp-addthis from the supported AMP components list (component retired by the AMP Project).
Removed: amp-gfycat from the supported AMP components list (component retired by the AMP Project).
1.5.19 – 2026-04-03
Fixed: Resolved PHP 8.4 compatibility issue — deprecated return type warning in Amp_WP_Html_Util::loadHTML() due to incompatible method signature with DOMDocument::loadHTML(). Added #[ReturnTypeWillChange] attribute, explicit : bool return type, and proper return value.
Removed: Dropped Vine embed support as the platform was permanently shut down in 2017.
1.5.18 – 2026-01-28
Fixed: PHP 8.2 compatibility — “Trying to access array offset on value of type bool” warning in amp-wp-theme-functions.php when sharing posts without featured images on Pinterest.
Fixed: Translation loading notice — text domain now loads at the init action hook, complying with WordPress 6.7.0+ requirements.
Fixed: Undefined variable warning in layout settings by removing unused template code.
1.5.17 – 2024-10-01
Fixed: Missing file documentation in Amp_WP_Redirect_Router class to adhere to WordPress Coding Standards.
Improved: Inline documentation for class methods, function parameters, and sanitization functions.
Fixed: explode() called with potentially null parameters — now validates before calling.
Fixed: DOMDocument::__construct() called with null $version parameter.
1.5.16 – 2024-06-03
Fixed: Resolved XSS vulnerabilities.
Fixed: Corrected string concatenation to comply with coding standards.
1.5.15 – 2023-07-09
Enhancement: Updated AMP tags list.
Note: Overall improvements.
1.5.14 – 2021-12-24
Fixed: Social sharing issue on single post.
1.5.13 – 2021-08-19
Note: PHP 8 compatibility improvements.
Fixed: Undefined variables.
1.5.12 – 2021-06-23
Added: SG Optimizer plugin compatibility.
Improved: JSON-LD schema revision.
Fixed: Yoast SEO v14 compatibility.
Fixed: Color issues.
Fixed: AMP Carousel component updated to v0.2.
Fixed: RTL CSS fixes.
1.5.11 – 2019-11-15
Feature: Description display on archive pages.
Feature: OneSignal Push Notifications support.
Note: Added Facebook App ID option for post sharing.
1.5.10 – 2019-09-17
Fixed: Resolved self-canonical AMP URL issue when AMP URL format is set to “End”.
1.5.9 – 2019-09-16
Fixed: Resolved self-canonical AMP URL issue when AMP URL format is set to “Start”.
1.5.8 – 2019-07-18
Feature: Option to exclude any taxonomy or post type from AMP under General settings.
Fixed: amp-mustache script enqueue error when using Contact Form 7.
1.5.7 – 2019-04-30
Fixed: Broken editor issue when editing a post or page.
1.5.6 – 2019-04-29
Added: AMP WP – Contact Form 7 Extension.
Fixed: Social sharing link.
1.5.5 – 2019-04-18
Fixed: Minor bug fixes.
1.5.4 – 2019-04-03
Fixed: Fastimage.php library path.
1.5.3 – 2019-04-03
Fixed: Missing template for notifications.
Fixed: Missing template for GDPR.
Fixed: Max input variable value under System Status.
Fixed: Header and content wrapper overlapping when sticky header is enabled.
Fixed: Links starting with wp-content no longer converted when AMP URL format is “End Point”.
1.5.2 – 2019-03-27
Fixed: Social links colors in sidebar.
1.5.1 – 2019-03-26
Note: Disabled development mode.
1.5.0 – 2019-03-26
Note: Front-end theme code refactoring.
Fixed: Broken landing page for Custom Post Types when AMP URL format is “End Point”.
1.4.3.1 – 2019-02-12
Feature: Jetpack compatibility.
Improved: All in One SEO Pack plugin support.
Fixed: Malformed URLs when AMP URL format is “End Point”.
Fixed: Jetpack undefined error.
Fixed: Broken layout when notice bar is enabled.
Fixed: Broken layout when GDPR is enabled.
1.4.3 – 2019-01-26
Feature: Yoast SEO meta description tag support.
Fixed: YouTube video height issue.
1.4.2 – 2019-01-18
Feature: Responsive table CSS.
Note: Front-end theme improvements.
1.4.1 – 2019-01-04
Feature: Two new header presets.
Feature: Customizable header color schemes.
Feature: Schema type for Post.
Fixed: Exclude URLs list issue on all pages.
Fixed: Home page link issue on all pages.
Fixed: Permalink structure prefix causing 404 errors on Home and Search pages.
1.4.0 – 2018-12-12
Feature: Gutenberg editor support.
Feature: AMP at the end of the URL support.
Feature: Show/Hide Related Post thumbnails.
Feature: Show/Hide Social Links on Single Post pages.
Feature: Enable/Disable structured data site-wide.
Improved: Admin UI/UX.
Fixed: Minor errors.
1.3.1 – 2018-12-03
Feature: Show/Hide Date in Related Posts.
Feature: Show/Hide Author in Related Posts.
Feature: Show/Hide Date in Home Page Slider.
Feature: Show/Hide Author in Home Page Slider.
Feature: Home Page Slider post count setting.
1.3.0 – 2018-12-03
Feature: Show/Hide Date on Archive/Single Post pages.
Feature: Show/Hide Author on Archive/Single Post pages.
Feature: Show/Hide Tags on Single Post pages.
Note: Front-end structural improvements.
Fixed: Social media share links with custom permalink structures.
1.2.2 – 2018-12-02
Fixed: YouTube video embed error.
1.2.1 – 2018-11-29
Note: Default configuration setup.
Feature: New follow links — Pinterest, Instagram, LinkedIn, YouTube.
Fixed: Minor errors.
1.2.0 – 2018-11-23
Feature: Post Modified date display.
Feature: Option to hide featured image on single pages.
Note: Overall structural improvements.
Note: Modified date now always included in structured data per updated Google requirements.
Fixed: Search page action URL on HTTPS.
Fixed: Invalid JSON for Yandex Metrica.
Fixed: Custom HTML output in “Codes right after <body> tag”.
1.1.1 – 2018-11-16
Improved: Posts now show author display name instead of email or username.
Fixed: Broken layout when social share is enabled from the Customizer.
Fixed: Customizer preview refresh on option change in AMP Options Panel.
1.1.0 – 2018-11-10
Improved: Settings panel revised.
Fixed: 404 error on AMP WP activation.
Fixed: Minor bugs.
1.0.5
Fixed: Links for AMP Menus (Sidebar & Footer Menu).
Fixed: Too many redirects.
1.0.4
Added: Yandex Metrica, AFS Analytics, and Adobe Analytics support.
Added: Squirrly SEO plugin compatibility.
Fixed: Mobile users force redirect.
1.0.3
Added: comScore UDM pageview tracking.
Fixed: AMP page validation and minor bug fixes.
1.0.2
Added: Alexa Metrics and Chartbeat Analytics support.