{"id":335856,"date":"2026-07-14T22:21:47","date_gmt":"2026-07-14T22:21:47","guid":{"rendered":"https:\/\/wordpress.org\/plugins\/memory-scan\/"},"modified":"2026-07-16T00:55:38","modified_gmt":"2026-07-16T00:55:38","slug":"memory-scan","status":"publish","type":"plugin","link":"https:\/\/sq.wordpress.org\/plugins\/memory-scan\/","author":15682717,"comment_status":"closed","ping_status":"closed","template":"","meta":{"version":"1.1.0","stable_tag":"1.1.0","tested":"7.0.1","requires":"5.0","requires_php":"7.0","requires_plugins":null,"header_name":"Memory Scan","header_author":"Service2Client","header_description":"Site-health tool: measures real PHP memory headroom per request, ranks active plugins by expected peak, recommends a memory_limit for your site type, warns before a low-memory crash, and flags a WP_MEMORY_LIMIT set below the PHP limit.","assets_banners_color":"bfbba4","last_updated":"2026-07-16 00:55:38","external_support_url":"","external_repository_url":"","donate_link":"https:\/\/www.service2client.com\/dynamic-post-donation","header_plugin_uri":"","header_author_uri":"","rating":0,"author_block_rating":0,"active_installs":0,"downloads":90,"num_ratings":0,"support_threads":0,"support_threads_resolved":0,"author_block_count":0,"sections":["description","installation","faq","changelog"],"tags":{"1.0":{"tag":"1.0","author":"service2client","date":"2026-07-14 22:21:17"},"1.0.0":{"tag":"1.0.0","author":"service2client","date":"2026-07-14 22:23:43"},"1.1.0":{"tag":"1.1.0","author":"service2client","date":"2026-07-16 00:55:38"}},"upgrade_notice":{"1.1.0":"<p>Adds a PHP end-of-life advisory, a PHP 8 plugin-readiness check, a dashboard widget, and Site Health integration. All read-only.<\/p>","1.0.0":"<p>Initial release.<\/p>"},"ratings":[],"assets_icons":{"icon-128x128.png":{"filename":"icon-128x128.png","revision":3608084,"resolution":"128x128","location":"assets","locale":"","width":128,"height":128},"icon-256x256.png":{"filename":"icon-256x256.png","revision":3608084,"resolution":"256x256","location":"assets","locale":"","width":256,"height":256}},"assets_banners":{"banner-1544x500.jpg":{"filename":"banner-1544x500.jpg","revision":3608084,"resolution":"1544x500","location":"assets","locale":"","width":1544,"height":500},"banner-772x250.jpg":{"filename":"banner-772x250.jpg","revision":3608084,"resolution":"772x250","location":"assets","locale":"","width":772,"height":250}},"assets_blueprints":{},"all_blocks":[],"tagged_versions":["1.0","1.0.0","1.1.0"],"block_files":[],"assets_screenshots":{"screenshot-1.png":{"filename":"screenshot-1.png","revision":3609545,"resolution":"1","location":"assets","locale":"","width":1239,"height":771},"screenshot-2.PNG":{"filename":"screenshot-2.PNG","revision":3609545,"resolution":"2","location":"assets","locale":"","width":880,"height":699},"screenshot-3.PNG":{"filename":"screenshot-3.PNG","revision":3609545,"resolution":"3","location":"assets","locale":"","width":926,"height":835},"screenshot-4.PNG":{"filename":"screenshot-4.PNG","revision":3609545,"resolution":"4","location":"assets","locale":"","width":853,"height":510}},"screenshots":{"1":"The Memory Scan overview: current headroom, recommended memory for your site type, and the escalation banner.","2":"Real peak by request type and the per-plugin expected-peak ranking.","3":"PHP version support status and the PHP 8.x plugin-readiness check.","4":"The Memory Scan verdicts surfaced under Tools \u2192 Site Health."}},"plugin_section":[262246],"plugin_tags":[9434,16981,247,258141,151481],"plugin_category":[54],"plugin_contributors":[261600],"plugin_business_model":[],"class_list":["post-335856","plugin","type-plugin","status-publish","hentry","plugin_section-dashboard-widgets","plugin_tags-memory","plugin_tags-memory-limit","plugin_tags-performance","plugin_tags-php-compatibility","plugin_tags-site-health","plugin_category-security-and-spam-protection","plugin_contributors-service2client","plugin_committers-service2client"],"banners":{"banner":"https:\/\/ps.w.org\/memory-scan\/assets\/banner-772x250.jpg?rev=3608084","banner_2x":"https:\/\/ps.w.org\/memory-scan\/assets\/banner-1544x500.jpg?rev=3608084","banner_rtl":false,"banner_2x_rtl":false},"icons":{"svg":false,"icon":"https:\/\/ps.w.org\/memory-scan\/assets\/icon-128x128.png?rev=3608084","icon_2x":"https:\/\/ps.w.org\/memory-scan\/assets\/icon-256x256.png?rev=3608084","generated":false},"screenshots":[{"src":"https:\/\/ps.w.org\/memory-scan\/assets\/screenshot-1.png?rev=3609545","caption":"The Memory Scan overview: current headroom, recommended memory for your site type, and the escalation banner."},{"src":"https:\/\/ps.w.org\/memory-scan\/assets\/screenshot-2.PNG?rev=3609545","caption":"Real peak by request type and the per-plugin expected-peak ranking."},{"src":"https:\/\/ps.w.org\/memory-scan\/assets\/screenshot-3.PNG?rev=3609545","caption":"PHP version support status and the PHP 8.x plugin-readiness check."},{"src":"https:\/\/ps.w.org\/memory-scan\/assets\/screenshot-4.PNG?rev=3609545","caption":"The Memory Scan verdicts surfaced under Tools \u2192 Site Health."}],"raw_content":"<!--section=description-->\n<p>Memory Scan tells you, in plain terms, whether your WordPress site has enough PHP memory to run reliably \u2014 and warns you <em>before<\/em> a low-memory crash instead of after. It also keeps an eye on two things that quietly take sites down: running an end-of-life PHP version, and upgrading PHP before your plugins are ready.<\/p>\n\n<p>Rather than guessing from a single admin page (which is one of the lightest requests on a site), Memory Scan records the real peak memory of each request type \u2014 front-end, admin, AJAX and cron \u2014 and judges your headroom against your PHP <code>memory_limit<\/code> with a built-in safety margin.<\/p>\n\n<p><strong>What you get:<\/strong><\/p>\n\n<ul>\n<li><strong>Real measured headroom<\/strong> \u2014 based on the heaviest actual request seen, not a synthetic number.<\/li>\n<li><strong>Three at-a-glance metrics<\/strong> \u2014 current headroom, recommended-for-your-site-type, and real peak by request \u2014 that escalate from \"You're fine\" to \"Urgent\" as memory gets tight.<\/li>\n<li><strong>Per-plugin expected-peak ranking<\/strong> so you can see which plugins (page builders, SEO suites) demand the most memory. This figure is a deliberately conservative estimate, not a live measurement \u2014 WordPress cannot bill runtime memory to a single plugin \u2014 so it errs high to keep your site safe.<\/li>\n<li><strong>A recommended <code>memory_limit<\/code><\/strong> for your detected site type (simple blog, Elementor, WooCommerce, or a heavy stack).<\/li>\n<li><strong>A proactive warning<\/strong> that appears on every admin page when memory is low \u2014 so you are told without hunting for it.<\/li>\n<li><strong>A <code>WP_MEMORY_LIMIT<\/code> check<\/strong> that flags when it is set below your PHP <code>memory_limit<\/code>, with the exact <code>wp-config.php<\/code> line to fix it.<\/li>\n<li><strong>A Dashboard widget<\/strong> \u2014 an at-a-glance memory status on your main dashboard, so you can see the plugin is watching without any nag.<\/li>\n<li><strong>A PHP version support check<\/strong> \u2014 tells you whether the PHP version your server runs still receives security patches, and when it reaches end of life, based on php.net's published schedule.<\/li>\n<li><strong>A PHP 8.x plugin-readiness check<\/strong> \u2014 compares your active plugins against WordPress.org's own published data (declared PHP requirement, WordPress \"tested up to,\" and last-updated date) and flags which look ready, which to verify, and which are high-risk before you move PHP up. It reads published data \u2014 it does <strong>not<\/strong> run your plugins \u2014 so a green result is a strong signal, not a guarantee, and premium or custom plugins that are not in the WordPress.org directory are shown as \"could not verify.\"<\/li>\n<li><strong>Site Health integration<\/strong> \u2014 the PHP-support and memory verdicts also appear under Tools \u2192 Site Health, where hosts and experienced admins look.<\/li>\n<\/ul>\n\n<p>Memory Scan is read-only with respect to your content: it never changes your posts, pages, or other plugins' settings. It only reads memory figures and writes its own small diagnostic values. It never changes your PHP version either \u2014 it detects and advises; your host controls the PHP version.<\/p>\n\n<!--section=installation-->\n<ol>\n<li>Upload the <code>memory-scan<\/code> folder to <code>\/wp-content\/plugins\/<\/code>, or install it through the Plugins screen in WordPress.<\/li>\n<li>Activate the plugin through the <strong>Plugins<\/strong> screen.<\/li>\n<li>On first activation you'll be taken to the Memory Scan page. After that you can open it any time from the <strong>Memory Scan<\/strong> menu.<\/li>\n<li>Browse a few pages and run your heaviest task so it can record real peaks, then reload the scan.<\/li>\n<\/ol>\n\n<!--section=faq-->\n<dl>\n<dt id=\"does%20this%20slow%20my%20site%20down%3F\"><h3>Does this slow my site down?<\/h3><\/dt>\n<dd><p>No. It records the memory peak at the end of each request (a couple of arithmetic operations), and only performs the heavier per-plugin scan on admin requests, cached hourly. Nothing extra runs on front-end page loads beyond recording a single number.<\/p><\/dd>\n<dt id=\"is%20the%20per-plugin%20%22expected%20peak%22%20an%20exact%20measurement%3F\"><h3>Is the per-plugin \"expected peak\" an exact measurement?<\/h3><\/dt>\n<dd><p>No, and it says so on screen. PHP cannot attribute runtime memory to an individual plugin from a single request, so the per-plugin figure is a conservative estimate based on each plugin's code size. It errs high on purpose, so you provision enough memory rather than too little. The overall verdict uses your real measured peak.<\/p><\/dd>\n<dt id=\"does%20the%20php%20compatibility%20check%20run%20my%20plugins%3F\"><h3>Does the PHP compatibility check run my plugins?<\/h3><\/dt>\n<dd><p>No. It reads WordPress.org's published data about each plugin \u2014 the declared PHP requirement, the WordPress \"tested up to\" version, and the last-updated date, the same information shown on each plugin's page. It never executes your plugin code, so it is safe, but a green result is a strong signal rather than a guarantee. The only certain test is running the upgrade on staging.<\/p><\/dd>\n<dt id=\"does%20the%20compatibility%20check%20call%20an%20external%20server%20or%20slow%20my%20site%3F\"><h3>Does the compatibility check call an external server or slow my site?<\/h3><\/dt>\n<dd><p>It looks plugins up on WordPress.org \u2014 the same service WordPress already uses to check for plugin updates. Those lookups happen only when you click the \"Check compatibility\" button on the Memory Scan page, are limited to a handful at a time, time out quickly, and are cached for a week. Nothing runs on your visitors' pages, and if WordPress.org is slow or unreachable the plugin simply shows \"could not verify\" rather than waiting.<\/p><\/dd>\n<dt id=\"why%20do%20some%20plugins%20show%20%22not%20in%20the%20wordpress.org%20directory%22%3F\"><h3>Why do some plugins show \"not in the WordPress.org directory\"?<\/h3><\/dt>\n<dd><p>Premium plugins and custom-built plugins are not hosted in the WordPress.org directory, so there is no published data to read. Those are shown as \"could not verify\" \u2014 check the developer's own PHP-compatibility information for them.<\/p><\/dd>\n<dt id=\"it%20says%20my%20wp_memory_limit%20is%20below%20my%20php%20memory_limit.%20what%20do%20i%20do%3F\"><h3>It says my WP_MEMORY_LIMIT is below my PHP memory_limit. What do I do?<\/h3><\/dt>\n<dd><p>The plugin shows the exact line to add to <code>wp-config.php<\/code>. That setting lives outside any plugin, so Memory Scan can only detect and advise, not change it for you.<\/p><\/dd>\n<dt id=\"does%20it%20change%20or%20delete%20any%20of%20my%20content%2C%20or%20change%20my%20php%20version%3F\"><h3>Does it change or delete any of my content, or change my PHP version?<\/h3><\/dt>\n<dd><p>No. Memory Scan is read-only with respect to your content \u2014 it never touches posts, pages, or other plugins' settings, and it never changes your PHP version. It only detects and advises.<\/p><\/dd>\n\n<\/dl>\n\n<!--section=changelog-->\n<h4>1.1.0<\/h4>\n\n<ul>\n<li>New: Dashboard widget showing an at-a-glance memory status.<\/li>\n<li>New: PHP version support \/ end-of-life advisory on the Memory Scan page, based on php.net's published schedule.<\/li>\n<li>New: PHP 8.x plugin-readiness check using WordPress.org published data (declared PHP requirement, \"tested up to,\" and last-updated), with bounded, cached, opt-in lookups that never block a page.<\/li>\n<li>New: Site Health integration \u2014 the PHP-support and memory verdicts now also appear under Tools \u2192 Site Health.<\/li>\n<li>New: Menu icon and a logo at the top of the Memory Scan page.<\/li>\n<li>Improved: Clearer first-run and low-memory messaging.<\/li>\n<\/ul>\n\n<h4>1.0.1<\/h4>\n\n<ul>\n<li>Maintenance and text fixes.<\/li>\n<\/ul>\n\n<h4>1.0.0<\/h4>\n\n<ul>\n<li>Initial release.<\/li>\n<\/ul>","raw_excerpt":"Warns before a low-memory crash, flags end-of-life PHP, and checks whether your plugins are ready for a PHP upgrade \u2014 all read-only.","jetpack_sharing_enabled":true,"_links":{"self":[{"href":"https:\/\/sq.wordpress.org\/plugins\/wp-json\/wp\/v2\/plugin\/335856","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/sq.wordpress.org\/plugins\/wp-json\/wp\/v2\/plugin"}],"about":[{"href":"https:\/\/sq.wordpress.org\/plugins\/wp-json\/wp\/v2\/types\/plugin"}],"replies":[{"embeddable":true,"href":"https:\/\/sq.wordpress.org\/plugins\/wp-json\/wp\/v2\/comments?post=335856"}],"author":[{"embeddable":true,"href":"https:\/\/sq.wordpress.org\/plugins\/wp-json\/wporg\/v1\/users\/service2client"}],"wp:attachment":[{"href":"https:\/\/sq.wordpress.org\/plugins\/wp-json\/wp\/v2\/media?parent=335856"}],"wp:term":[{"taxonomy":"plugin_section","embeddable":true,"href":"https:\/\/sq.wordpress.org\/plugins\/wp-json\/wp\/v2\/plugin_section?post=335856"},{"taxonomy":"plugin_tags","embeddable":true,"href":"https:\/\/sq.wordpress.org\/plugins\/wp-json\/wp\/v2\/plugin_tags?post=335856"},{"taxonomy":"plugin_category","embeddable":true,"href":"https:\/\/sq.wordpress.org\/plugins\/wp-json\/wp\/v2\/plugin_category?post=335856"},{"taxonomy":"plugin_contributors","embeddable":true,"href":"https:\/\/sq.wordpress.org\/plugins\/wp-json\/wp\/v2\/plugin_contributors?post=335856"},{"taxonomy":"plugin_business_model","embeddable":true,"href":"https:\/\/sq.wordpress.org\/plugins\/wp-json\/wp\/v2\/plugin_business_model?post=335856"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}