{"id":341518,"date":"2026-07-19T19:21:17","date_gmt":"2026-07-19T19:21:17","guid":{"rendered":"https:\/\/wordpress.org\/plugins\/pingvera\/"},"modified":"2026-08-09T17:39:56","modified_gmt":"2026-08-09T17:39:56","slug":"pingvera","status":"publish","type":"plugin","link":"https:\/\/ta.wordpress.org\/plugins\/pingvera\/","author":23533877,"comment_status":"closed","ping_status":"closed","template":"","meta":{"version":"0.4.9","stable_tag":"0.4.9","tested":"7.0.3","requires":"5.0","requires_php":"7.2","requires_plugins":null,"header_name":"Pingvera","header_author":"Pingvera","header_description":"\u0412\u043d\u0443\u0442\u0440\u0435\u043d\u043d\u044f\u044f \u0434\u0438\u0430\u0433\u043d\u043e\u0441\u0442\u0438\u043a\u0430 \u0441\u0430\u0439\u0442\u0430 \u0434\u043b\u044f Pingvera: \u0438\u043d\u0432\u0435\u043d\u0442\u0430\u0440\u044c \u0438 \u0441\u043e\u0441\u0442\u043e\u044f\u043d\u0438\u0435 WordPress \u043e\u0442\u043f\u0440\u0430\u0432\u043b\u044f\u044e\u0442\u0441\u044f \u0432 \u0432\u0430\u0448 \u043a\u0430\u0431\u0438\u043d\u0435\u0442 Pingvera \u0438\u0441\u0445\u043e\u0434\u044f\u0449\u0438\u043c HTTPS. \u0411\u0435\u0437 \u0432\u0445\u043e\u0434\u044f\u0449\u0438\u0445 \u043f\u043e\u0440\u0442\u043e\u0432.","assets_banners_color":"c3c2c1","last_updated":"2026-08-09 17:39:56","external_support_url":"","external_repository_url":"","donate_link":"","header_plugin_uri":"https:\/\/pingvera.com\/blog\/wordpress-health-monitoring-inside.html","header_author_uri":"https:\/\/pingvera.com","rating":0,"author_block_rating":0,"active_installs":0,"downloads":181,"num_ratings":0,"support_threads":0,"support_threads_resolved":0,"author_block_count":0,"sections":["description","installation","faq","changelog"],"tags":{"0.4.4":{"tag":"0.4.4","author":"pingvera","date":"2026-07-19 19:20:42"},"0.4.5":{"tag":"0.4.5","author":"pingvera","date":"2026-07-24 15:37:16"},"0.4.7":{"tag":"0.4.7","author":"pingvera","date":"2026-08-09 16:40:12"},"0.4.8":{"tag":"0.4.8","author":"pingvera","date":"2026-08-09 17:20:43"},"0.4.9":{"tag":"0.4.9","author":"pingvera","date":"2026-08-09 17:39:56"}},"upgrade_notice":[],"ratings":[],"assets_icons":{"icon-128x128.png":{"filename":"icon-128x128.png","revision":3613876,"resolution":"128x128","location":"assets","locale":"","width":128,"height":128},"icon-256x256.png":{"filename":"icon-256x256.png","revision":3613876,"resolution":"256x256","location":"assets","locale":"","width":256,"height":256}},"assets_banners":{"banner-1544x500.png":{"filename":"banner-1544x500.png","revision":3613876,"resolution":"1544x500","location":"assets","locale":"","width":1544,"height":500},"banner-772x250.png":{"filename":"banner-772x250.png","revision":3613876,"resolution":"772x250","location":"assets","locale":"","width":772,"height":250}},"assets_blueprints":{},"all_blocks":[],"tagged_versions":["0.4.4","0.4.5","0.4.7","0.4.8","0.4.9"],"block_files":[],"assets_screenshots":{"screenshot-1.png":{"filename":"screenshot-1.png","revision":3639623,"resolution":"1","location":"assets","locale":"","width":1280,"height":860},"screenshot-2.png":{"filename":"screenshot-2.png","revision":3639623,"resolution":"2","location":"assets","locale":"","width":1280,"height":860}},"screenshots":[]},"plugin_section":[],"plugin_tags":[282,5603,16281,29148,286],"plugin_category":[54],"plugin_contributors":[272361],"plugin_business_model":[],"class_list":["post-341518","plugin","type-plugin","status-publish","hentry","plugin_tags-ecommerce","plugin_tags-monitoring","plugin_tags-orders","plugin_tags-uptime","plugin_tags-woocommerce","plugin_category-security-and-spam-protection","plugin_contributors-pingvera","plugin_committers-pingvera"],"banners":{"banner":"https:\/\/ps.w.org\/pingvera\/assets\/banner-772x250.png?rev=3613876","banner_2x":"https:\/\/ps.w.org\/pingvera\/assets\/banner-1544x500.png?rev=3613876","banner_rtl":false,"banner_2x_rtl":false},"icons":{"svg":false,"icon":"https:\/\/ps.w.org\/pingvera\/assets\/icon-128x128.png?rev=3613876","icon_2x":"https:\/\/ps.w.org\/pingvera\/assets\/icon-256x256.png?rev=3613876","generated":false},"screenshots":[{"src":"https:\/\/ps.w.org\/pingvera\/assets\/screenshot-1.png?rev=3639623","caption":""},{"src":"https:\/\/ps.w.org\/pingvera\/assets\/screenshot-2.png?rev=3639623","caption":""}],"raw_content":"<!--section=description-->\n<p>Pingvera is a monitoring service for studios and agencies that maintain many\nclient websites. Unlike a plain uptime checker, it watches whether the client's\n<strong>business<\/strong> actually works \u2014 orders arrive, forms deliver, checkout runs \u2014 not\njust whether the homepage returns 200. So you find out about a problem before the\nclient calls asking \"why did the orders stop?\".<\/p>\n\n<p>This plugin is the inside connector: it looks at the WordPress\/WooCommerce site\nfrom the inside and reports to your dashboard:<\/p>\n\n<ul>\n<li>Commerce (WooCommerce): real-time order.created \/ order.failed events that feed a unified timeline and a business-anomaly detector (\"orders dropped to zero while the site is up\"), plus failed-order spikes, payment-gateway and checkout health, and a daily order-pipeline smoke run.<\/li>\n<li>Inventory: WordPress core, PHP and database versions, active theme, plugins and their versions.<\/li>\n<li>Updates: available core and plugin updates.<\/li>\n<li>Security: predictable admin login name, debug mode left on, core file integrity (checksums), a malware scan, and new-administrator detection.<\/li>\n<li>Performance: object cache presence, size of autoloaded options.<\/li>\n<li>Availability: REST loopback, recent PHP fatal errors (a count only, never the log itself).<\/li>\n<li>Configuration: WP-Cron mode and task lag; mail\/SMTP.<\/li>\n<li>Files: write permissions on wp-config.php.<\/li>\n<\/ul>\n\n<p>What the plugin does NOT do: it opens no inbound ports, executes no remote\ncommands, and never transmits passwords, database contents, or visitor\npersonal data. All communication is outbound HTTPS to your own dashboard.<\/p>\n\n<h3>External services<\/h3>\n\n<p>This plugin is the connector for Pingvera, an external website-monitoring\nservice (https:\/\/pingvera.com). The plugin exists to send your site's technical\nhealth to your Pingvera dashboard, so using it requires that service. It talks to\nthe dashboard you configure \u2014 a hosted dashboard such as pingvera.com, or your\nown self-hosted\/on-prem instance \u2014 over outbound HTTPS only.<\/p>\n\n<p>What is sent and when:<\/p>\n\n<ul>\n<li>Pairing (once, when you click \"Connect\"): the one-time pairing code and your\nsite URL are sent to obtain a scoped access token. Endpoint: \/cms\/v1\/pair.<\/li>\n<li>Sync (once an hour via WP-Cron, and on \"Sync now\"): technical health and\ninventory \u2014 WordPress, PHP and database versions; the active theme and the list\nof plugins with their versions; available updates; security, performance and\nconfiguration findings; WooCommerce order statistics and payment gateway \/\ncheckout status; and a count of recent PHP fatal errors. Endpoint: \/cms\/v1\/sync.\nPasswords, database contents, post content and visitor personal data are never\nsent.<\/li>\n<li>Real User Monitoring (only if enabled for your site in the dashboard): a small\nasynchronous script is loaded on the front end to collect anonymous Core Web\nVitals (loading and interaction timings) of your own pages. Endpoint: \/rum\/v1\/.\nNo personal data is collected.<\/li>\n<li>Business events (WooCommerce only, as they happen): when a new order is\ncreated or an order fails, the order ID, total, currency and status are sent\nso the dashboard can flag unusual patterns in real time. Endpoint: \/cms\/v1\/event.\nNo customer names, addresses, emails or payment details are sent.<\/li>\n<\/ul>\n\n<p>Service provided by Pingvera:<\/p>\n\n<ul>\n<li>Terms of Service: https:\/\/pingvera.com\/terms.html<\/li>\n<li>Privacy Policy: https:\/\/pingvera.com\/privacy.html<\/li>\n<\/ul>\n\n<!--section=installation-->\n<ol>\n<li>In the Pingvera dashboard, open your site and create a CMS installation (WordPress).<\/li>\n<li>Copy the one-time pairing code.<\/li>\n<li>In WordPress admin: Pingvera -&gt; paste your dashboard URL and the code -&gt; \"Connect\".<\/li>\n<\/ol>\n\n<p>After that the plugin syncs once an hour via WP-Cron. \"Sync now\" sends data\nimmediately. \"Disconnect\" forgets the token and dashboard URL.<\/p>\n\n<!--section=faq-->\n<dl>\n<dt id=\"does%20the%20plugin%20send%20any%20personal%20data%3F\"><h3>Does the plugin send any personal data?<\/h3><\/dt>\n<dd><p>No. It sends technical health and inventory only. Passwords, database contents,\nand visitor personal data are never transmitted.<\/p><\/dd>\n<dt id=\"can%20pingvera%20control%20my%20site%20remotely%3F\"><h3>Can Pingvera control my site remotely?<\/h3><\/dt>\n<dd><p>No. The connector is strictly one-way: it only sends data out over HTTPS. It\nopens no inbound ports and executes no commands from the outside.<\/p><\/dd>\n\n<\/dl>\n\n<!--section=changelog-->\n<h4>0.4.9<\/h4>\n\n<ul>\n<li>Refreshed the plugin listing to lead with what sets Pingvera apart: WooCommerce\norder\/business monitoring \u2014 a unified timeline and business-anomaly detection\n(\"orders dropped to zero while the site is up\"), so you learn about a problem\nbefore the client does. No code changes.<\/li>\n<\/ul>\n\n<h4>0.4.8<\/h4>\n\n<ul>\n<li>English base language with internationalization (i18n); Russian is now\nprovided as a translation.<\/li>\n<\/ul>\n\n<h4>0.4.7<\/h4>\n\n<ul>\n<li>order.created is now sent on woocommerce_checkout_order_processed (order placed\nat checkout, totals already calculated) instead of woocommerce_new_order \u2014 the\nevent carries the correct order total, and reflects a real customer purchase\nrather than an early draft with a zero total.<\/li>\n<\/ul>\n\n<h4>0.4.6<\/h4>\n\n<ul>\n<li>WooCommerce business events: sends order.created and order.failed events to\nthe dashboard as they happen (order ID, total, currency, status only), so\nthe unified timeline and business-anomaly detector see spikes and drops in\nreal time rather than at the next hourly sync.<\/li>\n<\/ul>\n\n<h4>0.4.5<\/h4>\n\n<ul>\n<li>Malware scan: PHP files inside uploads, known web-shell filenames, and\nobfuscated code in recently modified wp-content files (budget-limited, so a\nlarge site's hourly sync stays fast).<\/li>\n<li>New-administrator detection: alerts once when an administrator account\nappears that wasn't there before (a common compromise marker); the first\nrun after install only records a baseline and does not alert.<\/li>\n<li>Component slugs (core\/theme\/plugins) for matching against a vulnerability\ndatabase on the dashboard side.<\/li>\n<\/ul>\n\n<h4>0.4.4<\/h4>\n\n<ul>\n<li>Documented the external Pingvera service in the readme: what data is sent, when,\nand links to the Terms of Service and Privacy Policy (directory requirement).<\/li>\n<\/ul>\n\n<h4>0.4.3<\/h4>\n\n<ul>\n<li>Distinct Plugin URI and Author URI in the plugin header (directory requirement).<\/li>\n<\/ul>\n\n<h4>0.4.2<\/h4>\n\n<ul>\n<li>Plugin Check: enqueued RUM script now carries an explicit version for cache\nbusting. No functional changes.<\/li>\n<\/ul>\n\n<h4>0.4.1<\/h4>\n\n<ul>\n<li>Compliance with the official WordPress Plugin Check: output escaping,\nWP_Filesystem for file access, enqueued RUM script, and an English readme.\nNo functional changes.<\/li>\n<\/ul>\n\n<h4>0.4.0<\/h4>\n\n<ul>\n<li>WooCommerce order monitoring: failed-order spikes against a 7-day baseline,\norder \"drought\" detection (stays quiet on low-volume stores), payment gateway\nconfiguration (no active gateway \/ live gateway left in test mode), and\ncheckout page reachability (loopback).<\/li>\n<li>Daily smoke run of the order pipeline (a service product and order, created\nwithout emails, stock changes or payment, then removed immediately).<\/li>\n<\/ul>\n\n<h4>0.2.0<\/h4>\n\n<ul>\n<li>Extended diagnostics: REST loopback, WP-Cron lag, wp-config permissions,\nSMTP\/mail, WooCommerce (checkout page), core integrity via checksums (a sign\nof compromise), and a recent PHP fatal-error count.<\/li>\n<\/ul>\n\n<h4>0.1.0<\/h4>\n\n<ul>\n<li>First release: pairing by code, inventory, baseline findings (updates,\nsecurity, performance, configuration), and a management screen.<\/li>\n<\/ul>","raw_excerpt":"Know when a client&#039;s WooCommerce orders stop, a form breaks, or the site goes down \u2014 inside-out monitoring for WordPress agencies.","jetpack_sharing_enabled":true,"_links":{"self":[{"href":"https:\/\/ta.wordpress.org\/plugins\/wp-json\/wp\/v2\/plugin\/341518","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/ta.wordpress.org\/plugins\/wp-json\/wp\/v2\/plugin"}],"about":[{"href":"https:\/\/ta.wordpress.org\/plugins\/wp-json\/wp\/v2\/types\/plugin"}],"replies":[{"embeddable":true,"href":"https:\/\/ta.wordpress.org\/plugins\/wp-json\/wp\/v2\/comments?post=341518"}],"author":[{"embeddable":true,"href":"https:\/\/ta.wordpress.org\/plugins\/wp-json\/wporg\/v1\/users\/pingvera"}],"wp:attachment":[{"href":"https:\/\/ta.wordpress.org\/plugins\/wp-json\/wp\/v2\/media?parent=341518"}],"wp:term":[{"taxonomy":"plugin_section","embeddable":true,"href":"https:\/\/ta.wordpress.org\/plugins\/wp-json\/wp\/v2\/plugin_section?post=341518"},{"taxonomy":"plugin_tags","embeddable":true,"href":"https:\/\/ta.wordpress.org\/plugins\/wp-json\/wp\/v2\/plugin_tags?post=341518"},{"taxonomy":"plugin_category","embeddable":true,"href":"https:\/\/ta.wordpress.org\/plugins\/wp-json\/wp\/v2\/plugin_category?post=341518"},{"taxonomy":"plugin_contributors","embeddable":true,"href":"https:\/\/ta.wordpress.org\/plugins\/wp-json\/wp\/v2\/plugin_contributors?post=341518"},{"taxonomy":"plugin_business_model","embeddable":true,"href":"https:\/\/ta.wordpress.org\/plugins\/wp-json\/wp\/v2\/plugin_business_model?post=341518"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}