{"id":324247,"date":"2026-06-21T20:50:19","date_gmt":"2026-06-21T20:50:19","guid":{"rendered":"https:\/\/wordpress.org\/plugins\/speed-vitals-bulk-pagespeed-insights\/"},"modified":"2026-06-21T21:04:32","modified_gmt":"2026-06-21T21:04:32","slug":"pagescan-bulk-performance-testing-gpi","status":"publish","type":"plugin","link":"https:\/\/pcd.wordpress.org\/plugins\/pagescan-bulk-performance-testing-gpi\/","author":6190781,"comment_status":"closed","ping_status":"closed","template":"","meta":{"version":"1.5.4","stable_tag":"1.5.4","tested":"7.0","requires":"6.5","requires_php":"8.0","requires_plugins":null,"header_name":"PageScan - Bulk Performance Testing with Google PageSpeed Insights","header_author":"Logicfire","header_description":"Bulk-test published URLs with Google PageSpeed Insights. Core Web Vitals, progress tracking, CSV export, and score-drop email alerts. Not affiliated with Google.","assets_banners_color":"0b1926","last_updated":"2026-06-21 21:04:32","external_support_url":"","external_repository_url":"","donate_link":"","header_plugin_uri":"https:\/\/wordpress.org\/plugins\/pagescan-bulk-performance-testing-gpi\/","header_author_uri":"https:\/\/logicfire.in","rating":0,"author_block_rating":0,"active_installs":0,"downloads":28,"num_ratings":0,"support_threads":0,"support_threads_resolved":0,"author_block_count":0,"sections":["description","installation","faq"],"tags":{"1.5.3":{"tag":"1.5.3","author":"logicfire","date":"2026-06-21 21:02:38"},"1.5.4":{"tag":"1.5.4","author":"logicfire","date":"2026-06-21 21:04:32"}},"upgrade_notice":[],"ratings":[],"assets_icons":{"icon-128x128.png":{"filename":"icon-128x128.png","revision":3580968,"resolution":"128x128","location":"assets","locale":"","width":128,"height":128},"icon-256x256.png":{"filename":"icon-256x256.png","revision":3580968,"resolution":"256x256","location":"assets","locale":"","width":256,"height":256}},"assets_banners":{"banner-1544x500.png":{"filename":"banner-1544x500.png","revision":3580968,"resolution":"1544x500","location":"assets","locale":"","width":1544,"height":500},"banner-772x250.png":{"filename":"banner-772x250.png","revision":3580968,"resolution":"772x250","location":"assets","locale":"","width":772,"height":250}},"assets_blueprints":{},"all_blocks":[],"tagged_versions":["1.5.3","1.5.4"],"block_files":[],"assets_screenshots":{"screenshot-1.png":{"filename":"screenshot-1.png","revision":3580968,"resolution":"1","location":"assets","locale":"","width":3284,"height":3515},"screenshot-2.png":{"filename":"screenshot-2.png","revision":3580968,"resolution":"2","location":"assets","locale":"","width":3284,"height":1818},"screenshot-3.png":{"filename":"screenshot-3.png","revision":3580968,"resolution":"3","location":"assets","locale":"","width":3280,"height":3932},"screenshot-4.png":{"filename":"screenshot-4.png","revision":3580968,"resolution":"4","location":"assets","locale":"","width":3276,"height":7872},"screenshot-5.png":{"filename":"screenshot-5.png","revision":3580968,"resolution":"5","location":"assets","locale":"","width":3278,"height":1070},"screenshot-6.png":{"filename":"screenshot-6.png","revision":3580968,"resolution":"6","location":"assets","locale":"","width":3600,"height":2086}},"screenshots":{"1":"Dashboard with quick actions, recent scans table, and results explorer with color-coded scores and lab metrics.","2":"New scan screen to configure post types, device strategy (mobile, desktop, or both), and runs per URL before starting a bulk scan.","3":"Settings for Google PageSpeed API key, scan defaults, admin list pagination, score-drop alerts, and optional debug logging.","4":"Per-URL performance report with category score gauges, lab data metrics, and prioritized improvement opportunities.","5":"Pages list table with PageSpeed Mobile and Desktop score columns for at-a-glance performance across content.","6":"Block editor sidebar PageScan panel with mobile and desktop scores, Core Web Vitals, and a one-click Run test action."}},"plugin_section":[],"plugin_tags":[3236,187460,154843,1513,247],"plugin_category":[54],"plugin_contributors":[84711],"plugin_business_model":[],"class_list":["post-324247","plugin","type-plugin","status-publish","hentry","plugin_tags-bulk","plugin_tags-core-web-vitals","plugin_tags-lighthouse","plugin_tags-pagespeed","plugin_tags-performance","plugin_category-security-and-spam-protection","plugin_contributors-logicfire","plugin_committers-logicfire"],"banners":{"banner":"https:\/\/ps.w.org\/pagescan-bulk-performance-testing-gpi\/assets\/banner-772x250.png?rev=3580968","banner_2x":"https:\/\/ps.w.org\/pagescan-bulk-performance-testing-gpi\/assets\/banner-1544x500.png?rev=3580968","banner_rtl":false,"banner_2x_rtl":false},"icons":{"svg":false,"icon":"https:\/\/ps.w.org\/pagescan-bulk-performance-testing-gpi\/assets\/icon-128x128.png?rev=3580968","icon_2x":"https:\/\/ps.w.org\/pagescan-bulk-performance-testing-gpi\/assets\/icon-256x256.png?rev=3580968","generated":false},"screenshots":[{"src":"https:\/\/ps.w.org\/pagescan-bulk-performance-testing-gpi\/assets\/screenshot-1.png?rev=3580968","caption":"Dashboard with quick actions, recent scans table, and results explorer with color-coded scores and lab metrics."},{"src":"https:\/\/ps.w.org\/pagescan-bulk-performance-testing-gpi\/assets\/screenshot-2.png?rev=3580968","caption":"New scan screen to configure post types, device strategy (mobile, desktop, or both), and runs per URL before starting a bulk scan."},{"src":"https:\/\/ps.w.org\/pagescan-bulk-performance-testing-gpi\/assets\/screenshot-3.png?rev=3580968","caption":"Settings for Google PageSpeed API key, scan defaults, admin list pagination, score-drop alerts, and optional debug logging."},{"src":"https:\/\/ps.w.org\/pagescan-bulk-performance-testing-gpi\/assets\/screenshot-4.png?rev=3580968","caption":"Per-URL performance report with category score gauges, lab data metrics, and prioritized improvement opportunities."},{"src":"https:\/\/ps.w.org\/pagescan-bulk-performance-testing-gpi\/assets\/screenshot-5.png?rev=3580968","caption":"Pages list table with PageSpeed Mobile and Desktop score columns for at-a-glance performance across content."},{"src":"https:\/\/ps.w.org\/pagescan-bulk-performance-testing-gpi\/assets\/screenshot-6.png?rev=3580968","caption":"Block editor sidebar PageScan panel with mobile and desktop scores, Core Web Vitals, and a one-click Run test action."}],"raw_content":"<!--section=description-->\n<p>PageScan helps you bulk-test published WordPress URLs with the Google PageSpeed Insights API. View Lighthouse-style scores, lab metrics, improvement opportunities, CSV exports, and optional email alerts when scores drop.<\/p>\n\n<p><strong>This plugin is not affiliated with, endorsed by, or sponsored by Google.<\/strong><\/p>\n\n<ul>\n<li>Discovers URLs from public post types, the home page, and post-type archives.<\/li>\n<li>Runs tests in the background via a custom job queue, WP-Cron fallback, and async HTTP loopback dispatch.<\/li>\n<li>Dashboard with sortable median results and per-URL detail views.<\/li>\n<li>CSV export and optional email alerts when scores fall below a threshold.<\/li>\n<li>Editor sidebar shortcut to test the current post without leaving the editor.<\/li>\n<\/ul>\n\n<h3>External services<\/h3>\n\n<p>This plugin connects to third-party services to provide its functionality. By using this plugin, you agree to the terms and privacy policies of those services.<\/p>\n\n<h4>Google PageSpeed Insights API<\/h4>\n\n<ul>\n<li><strong>What the service is:<\/strong> Google's PageSpeed Insights API runs Lighthouse-style performance, accessibility, best-practices, and SEO audits on URLs you submit.<\/li>\n<li><strong>What data is sent:<\/strong> For each URL you scan, your WordPress site sends an HTTPS request to <code>pagespeedonline.googleapis.com<\/code> containing the public URL to test, your API key, the device strategy (mobile or desktop), and requested audit categories. When validating an API key, the plugin may send a request using <code>https:\/\/example.com\/<\/code> as a probe URL.<\/li>\n<li><strong>When data is sent:<\/strong> Only when you (or an authorized admin) start or retry a scan, run an editor sidebar test, or save settings that trigger key validation. Bulk scans queue requests in the background; no data is sent when the plugin is idle.<\/li>\n<li><strong>Where data is stored:<\/strong> API responses (scores and metrics) are stored in your WordPress database. Your API key is stored in the <code>wp_options<\/code> table.<\/li>\n<li><strong>Terms of service:<\/strong> <a href=\"https:\/\/developers.google.com\/terms\">Google APIs Terms of Service<\/a><\/li>\n<li><strong>Privacy policy:<\/strong> <a href=\"https:\/\/policies.google.com\/privacy\">Google Privacy Policy<\/a><\/li>\n<\/ul>\n\n<!--section=installation-->\n<ol>\n<li>Upload the plugin folder to <code>\/wp-content\/plugins\/<\/code> or install the ZIP from the WordPress Plugins screen.<\/li>\n<li>Activate the plugin through the <strong>Plugins<\/strong> screen.<\/li>\n<li>Go to <strong>PageScan \u2192 Settings<\/strong> and add your Google PageSpeed Insights API key.<\/li>\n<li>Start a scan from <strong>PageScan \u2192 New Scan<\/strong>.<\/li>\n<\/ol>\n\n<!--section=faq-->\n<dl>\n<dt id=\"do%20i%20need%20a%20google%20api%20key%3F\"><h3>Do I need a Google API key?<\/h3><\/dt>\n<dd><p>Yes. Create a key in <a href=\"https:\/\/console.cloud.google.com\/\">Google Cloud Console<\/a> and enable the PageSpeed Insights API. The key is stored in your WordPress database and sent only to Google when running scans.<\/p><\/dd>\n<dt id=\"does%20this%20work%20without%20woocommerce%3F\"><h3>Does this work without WooCommerce?<\/h3><\/dt>\n<dd><p>Yes. WooCommerce is not required.<\/p><\/dd>\n<dt id=\"what%20data%20does%20this%20plugin%20send%20to%20google%3F\"><h3>What data does this plugin send to Google?<\/h3><\/dt>\n<dd><p>When you run a scan, your server sends each URL to test, your API key, and the chosen device strategy (mobile or desktop) to the PageSpeed Insights API. Google loads the URL in its testing environment and returns Lighthouse-style results. See <strong>External services<\/strong> below for full details.<\/p><\/dd>\n<dt id=\"do%20email%20alerts%20use%20a%20third-party%20service%3F\"><h3>Do email alerts use a third-party service?<\/h3><\/dt>\n<dd><p>No. Score-drop alerts are sent with WordPress <code>wp_mail()<\/code> to the address you configure (or the site admin email by default).<\/p><\/dd>\n\n<\/dl>","raw_excerpt":"Bulk performance testing with Google PageSpeed Insights: Core Web Vitals, CSV export, and score-drop email alerts for your WordPress URLs.","jetpack_sharing_enabled":true,"_links":{"self":[{"href":"https:\/\/pcd.wordpress.org\/plugins\/wp-json\/wp\/v2\/plugin\/324247","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/pcd.wordpress.org\/plugins\/wp-json\/wp\/v2\/plugin"}],"about":[{"href":"https:\/\/pcd.wordpress.org\/plugins\/wp-json\/wp\/v2\/types\/plugin"}],"replies":[{"embeddable":true,"href":"https:\/\/pcd.wordpress.org\/plugins\/wp-json\/wp\/v2\/comments?post=324247"}],"author":[{"embeddable":true,"href":"https:\/\/pcd.wordpress.org\/plugins\/wp-json\/wporg\/v1\/users\/logicfire"}],"wp:attachment":[{"href":"https:\/\/pcd.wordpress.org\/plugins\/wp-json\/wp\/v2\/media?parent=324247"}],"wp:term":[{"taxonomy":"plugin_section","embeddable":true,"href":"https:\/\/pcd.wordpress.org\/plugins\/wp-json\/wp\/v2\/plugin_section?post=324247"},{"taxonomy":"plugin_tags","embeddable":true,"href":"https:\/\/pcd.wordpress.org\/plugins\/wp-json\/wp\/v2\/plugin_tags?post=324247"},{"taxonomy":"plugin_category","embeddable":true,"href":"https:\/\/pcd.wordpress.org\/plugins\/wp-json\/wp\/v2\/plugin_category?post=324247"},{"taxonomy":"plugin_contributors","embeddable":true,"href":"https:\/\/pcd.wordpress.org\/plugins\/wp-json\/wp\/v2\/plugin_contributors?post=324247"},{"taxonomy":"plugin_business_model","embeddable":true,"href":"https:\/\/pcd.wordpress.org\/plugins\/wp-json\/wp\/v2\/plugin_business_model?post=324247"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}