{"id":303397,"date":"2026-05-31T11:34:49","date_gmt":"2026-05-31T11:34:49","guid":{"rendered":"https:\/\/wordpress.org\/plugins\/mensura-performa\/"},"modified":"2026-05-31T11:34:26","modified_gmt":"2026-05-31T11:34:26","slug":"sciova-performance-intelligence","status":"publish","type":"plugin","link":"https:\/\/en-nz.wordpress.org\/plugins\/sciova-performance-intelligence\/","author":23479736,"comment_status":"closed","ping_status":"closed","template":"","meta":{"version":"1.0.0","stable_tag":"1.0.0","tested":"7.0","requires":"6.0","requires_php":"8.0","requires_plugins":null,"header_name":"Sciova","header_author":"Geetwosix Digital","header_description":"CrUX-first WordPress performance intelligence and governance plugin.","assets_banners_color":"","last_updated":"2026-05-31 11:34:26","external_support_url":"","external_repository_url":"","donate_link":"","header_plugin_uri":"https:\/\/geetwosix.digital\/sciova","header_author_uri":"https:\/\/geetwosix.digital","rating":0,"author_block_rating":0,"active_installs":0,"downloads":38,"num_ratings":0,"support_threads":0,"support_threads_resolved":0,"author_block_count":0,"sections":["description","installation","faq","changelog"],"tags":{"1.0.0":{"tag":"1.0.0","author":"g26digital","date":"2026-05-31 11:34:26"}},"upgrade_notice":{"1.0.0":"<p>Initial release.<\/p>"},"ratings":[],"assets_icons":{"icon.svg":{"filename":"icon.svg","revision":3555446,"resolution":false,"location":"assets","locale":false}},"assets_banners":[],"assets_blueprints":{},"all_blocks":[],"tagged_versions":["1.0.0"],"block_files":[],"assets_screenshots":[],"screenshots":{"1":"Dashboard with CrUX trend charts (LCP, CLS, INP), moving average overlay, and trend classification.","2":"Chart tooltip showing p75 value and reporting period on hover.","3":"Analysis panel with plain-language CWV summary and Copy button.","4":"PSI panel showing lab scores for mobile and desktop with score badge.","5":"Notes panel with datetime logging and pagination.","6":"Settings page with API key management and connection test."}},"plugin_section":[],"plugin_tags":[215387,187460,265172,194867,247],"plugin_category":[54],"plugin_contributors":[265173],"plugin_business_model":[],"class_list":["post-303397","plugin","type-plugin","status-publish","hentry","plugin_tags-cls","plugin_tags-core-web-vitals","plugin_tags-crux","plugin_tags-lcp","plugin_tags-performance","plugin_category-security-and-spam-protection","plugin_contributors-g26digital","plugin_committers-g26digital"],"banners":[],"icons":{"svg":"https:\/\/ps.w.org\/sciova-performance-intelligence\/assets\/icon.svg?rev=3555446","icon":"https:\/\/ps.w.org\/sciova-performance-intelligence\/assets\/icon.svg?rev=3555446","icon_2x":false,"generated":false},"screenshots":[],"raw_content":"<!--section=description-->\n<p>Sciova gives WordPress site owners, SEO managers, and developers a reliable tool to monitor Core Web Vitals trends using <strong>Chrome UX Report (CrUX)<\/strong> as the source of truth. Lab tools like PageSpeed Insights (PSI) are used as supporting diagnostics.<\/p>\n\n<p>All operations are admin-only. There is no frontend impact, no injected scripts, and no effect on site visitors or SEO.<\/p>\n\n<p><strong>Key Features:<\/strong><\/p>\n\n<ul>\n<li>Track up to 3 URLs (free tier).<\/li>\n<li>CrUX History charts for LCP, CLS, and INP \u2014 rendered with uPlot for minimal overhead.<\/li>\n<li>Interactive chart tooltips showing p75 value and reporting period on hover.<\/li>\n<li>Moving average overlay (MA5 or MA10) to smooth out week-to-week noise.<\/li>\n<li>Trend classification per metric: Improving, Regressing, Stable, or Insufficient Data.<\/li>\n<li>URL health indicator \u2014 colour-coded dot in the URL selector reflects overall trend health.<\/li>\n<li>Smart analysis text \u2014 plain-language summary of CWV status with actual p75 values and CWV thresholds.<\/li>\n<li>Copy report \u2014 one-click copy of the analysis text for sharing or pasting into docs.<\/li>\n<li>Lab diagnostics via PageSpeed Insights (mobile and desktop snapshots) with score badge.<\/li>\n<li>Notes panel \u2014 log deployments, theme changes, or any site events with datetime for correlation.<\/li>\n<li>Notes pagination \u2014 5 notes per page, newest first.<\/li>\n<li>Settings page \u2014 manage your CrUX and PSI API keys with a built-in connection test.<\/li>\n<li>Loading overlay \u2014 dashboard waits for all data (URLs, CrUX, PSI, Notes) before revealing the UI.<\/li>\n<li>Async PSI fetch \u2014 adding a URL returns instantly; PSI data is fetched via WP-Cron in the background.<\/li>\n<li>Lightweight: no build step, no bundler, no frontend libraries loaded outside the admin screen.<\/li>\n<\/ul>\n\n<p><strong>Future Enhancements:<\/strong><\/p>\n\n<ul>\n<li>Unlimited URL tracking (Pro)<\/li>\n<li>Automated lab diagnostics via GTmetrix \/ WebPageTest<\/li>\n<li>Export reports (CSV \/ PDF)<\/li>\n<li>AI-assisted analysis and automated correlation of plugin, theme, and code changes<\/li>\n<\/ul>\n\n<h3>External Services<\/h3>\n\n<p>This plugin connects to the following third-party services:<\/p>\n\n<p><strong>Chrome UX Report (CrUX) API<\/strong> by Google\nUsed to fetch real-user performance field data (LCP, CLS, INP) for tracked URLs.\nOnly contacts Google when you actively request metrics from the dashboard.\nTerms of Service: https:\/\/developers.google.com\/terms\nPrivacy Policy: https:\/\/policies.google.com\/privacy<\/p>\n\n<p><strong>PageSpeed Insights API<\/strong> by Google\nUsed to fetch lab performance diagnostics for tracked URLs.\nOnly contacts Google when a PSI API key is configured and a URL is added or refreshed.\nTerms of Service: https:\/\/developers.google.com\/terms\nPrivacy Policy: https:\/\/policies.google.com\/privacy<\/p>\n\n<p>No user data is sent to Geetwosix Digital or any third party other than Google.\nAll API calls are made server-side using your own API keys.<\/p>\n\n<h3>Source Code<\/h3>\n\n<p>All plugin JavaScript (assets\/app\/) and PHP source files are included in the plugin package unminified and human-readable. No build step is used for the plugin's own code.<\/p>\n\n<p>The full source code for this plugin is publicly available at:\nhttps:\/\/github.com\/g26digital\/sciova<\/p>\n\n<h3>Third Party Libraries<\/h3>\n\n<p>This plugin bundles the following third-party libraries:<\/p>\n\n<p><strong>uPlot<\/strong> (v1.6.31) by Leon Sorokin\nLicensed under the MIT License (GPL-compatible).\nBundled as: assets\/uPlot.iife.js (unminified IIFE build)\nSource: https:\/\/github.com\/leeoniya\/uPlot\nRelease: https:\/\/github.com\/leeoniya\/uPlot\/releases\/tag\/1.6.31<\/p>\n\n<p><strong>Space Grotesk<\/strong> by Florian Karsten\nLicensed under the SIL Open Font License 1.1 (GPL-compatible).\nhttps:\/\/github.com\/floriankarsten\/space-grotesk<\/p>\n\n<p><strong>Plus Jakarta Sans<\/strong> by Tokotype\nLicensed under the SIL Open Font License 1.1 (GPL-compatible).\nhttps:\/\/github.com\/tokotype\/PlusJakartaSans<\/p>\n\n<!--section=installation-->\n<ol>\n<li>Upload the <code>sciova<\/code> folder to the <code>\/wp-content\/plugins\/<\/code> directory.<\/li>\n<li>Activate the plugin through the 'Plugins' menu in WordPress.<\/li>\n<li>Navigate to <strong>Sciova<\/strong> in the admin sidebar.<\/li>\n<li>Go to <strong>Settings<\/strong> and enter your CrUX API key (and optionally your PSI API key).<\/li>\n<li>Use the <strong>Test Keys<\/strong> button to verify your keys are working.<\/li>\n<li>Add the URLs you want to track from the dashboard.<\/li>\n<\/ol>\n\n<p><strong>Requirements:<\/strong><\/p>\n\n<ul>\n<li>PHP 8.0+<\/li>\n<li>WordPress 6.0+<\/li>\n<li>REST API enabled<\/li>\n<li>A Google CrUX API key (free via Google Cloud Console)<\/li>\n<\/ul>\n\n<!--section=faq-->\n<dl>\n<dt id=\"is%20this%20plugin%20safe%20for%20live%20sites%3F\"><h3>Is this plugin safe for live sites?<\/h3><\/dt>\n<dd><p>Yes. All operations are admin-only. No scripts, styles, or markup are added to the frontend. It is fully safe for SEO and site visitors.<\/p><\/dd>\n<dt id=\"how%20does%20crux%20integration%20work%3F\"><h3>How does CrUX integration work?<\/h3><\/dt>\n<dd><p>The plugin uses the Chrome UX Report History API to fetch 28-day rolling period data for LCP, CLS, and INP per tracked URL. This real field data drives the trend charts and classification engine.<\/p><\/dd>\n<dt id=\"how%20many%20urls%20can%20i%20track%3F\"><h3>How many URLs can I track?<\/h3><\/dt>\n<dd><p>The free version supports up to 3 URLs. Limits are enforced both client-side and server-side.<\/p><\/dd>\n<dt id=\"do%20i%20need%20api%20keys%3F\"><h3>Do I need API keys?<\/h3><\/dt>\n<dd><p>Yes. A CrUX API key is required to fetch field metrics. A PSI API key is optional but recommended for lab diagnostics (PageSpeed Insights). Both are available free via Google Cloud Console.<\/p><\/dd>\n<dt id=\"what%20is%20the%20notes%20panel%20for%3F\"><h3>What is the Notes panel for?<\/h3><\/dt>\n<dd><p>The Notes panel lets you log site events (deployments, plugin updates, theme changes) with a date and time. This helps you correlate performance changes with real site changes over time.<\/p><\/dd>\n<dt id=\"does%20psi%20run%20every%20time%20i%20load%20the%20dashboard%3F\"><h3>Does PSI run every time I load the dashboard?<\/h3><\/dt>\n<dd><p>No. PSI data is cached via WordPress transients (3-hour TTL). A fresh PSI fetch is triggered asynchronously via WP-Cron only when a new URL is added. You can also trigger a manual refresh from the PSI card.<\/p><\/dd>\n<dt id=\"what%20happens%20to%20my%20data%20if%20i%20deactivate%20the%20plugin%3F\"><h3>What happens to my data if I deactivate the plugin?<\/h3><\/dt>\n<dd><p>Your tracked URLs, notes, and settings are preserved in the database. Data is only removed if you uninstall the plugin entirely.<\/p><\/dd>\n\n<\/dl>\n\n<!--section=changelog-->\n<h4>1.0.0<\/h4>\n\n<ul>\n<li>Initial release of Sciova.<\/li>\n<li>Admin-only dashboard \u2014 no frontend impact.<\/li>\n<li>Track up to 3 URLs (free tier).<\/li>\n<li>CrUX History charts for LCP, CLS, and INP via uPlot with interactive tooltips.<\/li>\n<li>Moving average overlay (MA5\/MA10) to smooth week-to-week noise.<\/li>\n<li>Trend classification per metric: Improving, Regressing, Stable, or Insufficient Data.<\/li>\n<li>URL health dot \u2014 colour-coded indicator in the URL selector reflecting overall trend health.<\/li>\n<li>Smart analysis text with actual p75 values and CWV thresholds (LCP \u22642.5s, CLS \u22640.10, INP \u2264200ms).<\/li>\n<li>Copy Report button \u2014 copies analysis text to clipboard.<\/li>\n<li>Lab diagnostics via PageSpeed Insights (mobile and desktop) with score badge, async via WP-Cron.<\/li>\n<li>Notes panel with datetime logging, pagination (5\/page), and delete flash.<\/li>\n<li>Settings page with CrUX and PSI API key management and built-in connection test.<\/li>\n<li>Settings submenu in WP admin left nav.<\/li>\n<li>Loading overlay waits for all data (URLs, CrUX, PSI, Notes) with 10-second safety timeout.<\/li>\n<li>Mobile responsive layout.<\/li>\n<li>Deactivation clears pending PSI cron events; data preserved for reactivation.<\/li>\n<\/ul>","raw_excerpt":"CrUX-first WordPress performance plugin. Monitor Core Web Vitals with real field data and lab diagnostics via PageSpeed Insights \u2014 admin-only.","jetpack_sharing_enabled":true,"_links":{"self":[{"href":"https:\/\/en-nz.wordpress.org\/plugins\/wp-json\/wp\/v2\/plugin\/303397","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/en-nz.wordpress.org\/plugins\/wp-json\/wp\/v2\/plugin"}],"about":[{"href":"https:\/\/en-nz.wordpress.org\/plugins\/wp-json\/wp\/v2\/types\/plugin"}],"replies":[{"embeddable":true,"href":"https:\/\/en-nz.wordpress.org\/plugins\/wp-json\/wp\/v2\/comments?post=303397"}],"author":[{"embeddable":true,"href":"https:\/\/en-nz.wordpress.org\/plugins\/wp-json\/wporg\/v1\/users\/g26digital"}],"wp:attachment":[{"href":"https:\/\/en-nz.wordpress.org\/plugins\/wp-json\/wp\/v2\/media?parent=303397"}],"wp:term":[{"taxonomy":"plugin_section","embeddable":true,"href":"https:\/\/en-nz.wordpress.org\/plugins\/wp-json\/wp\/v2\/plugin_section?post=303397"},{"taxonomy":"plugin_tags","embeddable":true,"href":"https:\/\/en-nz.wordpress.org\/plugins\/wp-json\/wp\/v2\/plugin_tags?post=303397"},{"taxonomy":"plugin_category","embeddable":true,"href":"https:\/\/en-nz.wordpress.org\/plugins\/wp-json\/wp\/v2\/plugin_category?post=303397"},{"taxonomy":"plugin_contributors","embeddable":true,"href":"https:\/\/en-nz.wordpress.org\/plugins\/wp-json\/wp\/v2\/plugin_contributors?post=303397"},{"taxonomy":"plugin_business_model","embeddable":true,"href":"https:\/\/en-nz.wordpress.org\/plugins\/wp-json\/wp\/v2\/plugin_business_model?post=303397"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}