{"id":386631,"date":"2026-10-25T15:25:22","date_gmt":"2026-10-25T15:25:22","guid":{"rendered":"https:\/\/wordpress.org\/plugins\/strata-site-audit\/"},"modified":"2026-10-31T05:42:11","modified_gmt":"2026-10-31T05:42:11","slug":"strata-site-audit","status":"publish","type":"plugin","link":"https:\/\/wordpress.org\/plugins\/strata-site-audit\/","author":23578930,"comment_status":"closed","ping_status":"closed","template":"","meta":{"version":"1.1.3","stable_tag":"1.1.3","tested":"7.1.4","requires":"6.5","requires_php":"7.4","requires_plugins":null,"header_name":"Strata Site Audit","header_author":"Soren Ford","header_description":"Maps every Elementor asset, theme file, CSS rule and code snippet on your site, finds broken links and redirects, flags conflicting code, and fixes what it safely can with one-click undo.","assets_banners_color":"508379","last_updated":"2026-10-31 05:42:11","external_support_url":"","external_repository_url":"","donate_link":"","header_plugin_uri":"https:\/\/stratasiteaudit.com","header_author_uri":"https:\/\/sorenford.com","rating":0,"author_block_rating":0,"active_installs":0,"downloads":130,"num_ratings":0,"support_threads":0,"support_threads_resolved":0,"author_block_count":0,"sections":["description","faq","changelog"],"tags":{"1.1.2":{"tag":"1.1.2","author":"sorenford","date":"2026-10-25 15:32:54","revision":3764832},"1.1.3":{"tag":"1.1.3","author":"sorenford","date":"2026-10-31 05:42:11","revision":3776354}},"upgrade_notice":[],"ratings":[],"assets_icons":{"icon-128x128.gif":{"filename":"icon-128x128.gif","revision":3764815,"resolution":"128x128","location":"assets","locale":"","width":128,"height":128},"icon-256x256.gif":{"filename":"icon-256x256.gif","revision":3764815,"resolution":"256x256","location":"assets","locale":"","width":256,"height":256}},"assets_banners":{"banner-1544x500.png":{"filename":"banner-1544x500.png","revision":3764867,"resolution":"1544x500","location":"assets","locale":"","width":1544,"height":500},"banner-772x250.png":{"filename":"banner-772x250.png","revision":3764867,"resolution":"772x250","location":"assets","locale":"","width":772,"height":250}},"assets_blueprints":{},"all_blocks":[],"tagged_versions":["1.1.2","1.1.3"],"block_files":[],"assets_screenshots":{"screenshot-1.png":{"filename":"screenshot-1.png","revision":3764803,"resolution":"1","location":"assets","locale":"","width":1440,"height":900},"screenshot-2.png":{"filename":"screenshot-2.png","revision":3764803,"resolution":"2","location":"assets","locale":"","width":1440,"height":900},"screenshot-3.png":{"filename":"screenshot-3.png","revision":3764803,"resolution":"3","location":"assets","locale":"","width":1440,"height":900},"screenshot-4.png":{"filename":"screenshot-4.png","revision":3764803,"resolution":"4","location":"assets","locale":"","width":1440,"height":900},"screenshot-5.png":{"filename":"screenshot-5.png","revision":3764803,"resolution":"5","location":"assets","locale":"","width":1440,"height":900}},"screenshots":{"1":"Overview: one health score, what needs attention and the five things to do next.","2":"Every finding says what is wrong, exactly what to do and where it lives. Safe fixes run from the same panel, with undo.","3":"Assets: the media library as a grid with previews, where each file is used, and views for unused files and duplicates.","4":"Every theme file, snippet and page builder code block, with what it hooks into and loads.","5":"Strata Pro: scheduled scans with email and Slack alerts."}},"plugin_section":[],"plugin_tags":[14279,76538,726,20034,219749],"plugin_category":[],"plugin_contributors":[288485],"plugin_business_model":[],"class_list":["post-386631","plugin","type-plugin","status-publish","hentry","plugin_tags-broken-links","plugin_tags-elementor","plugin_tags-redirects","plugin_tags-site-audit","plugin_tags-unused-media","plugin_contributors-sorenford","plugin_committers-sorenford"],"banners":{"banner":"https:\/\/ps.w.org\/strata-site-audit\/assets\/banner-772x250.png?rev=3764867","banner_2x":"https:\/\/ps.w.org\/strata-site-audit\/assets\/banner-1544x500.png?rev=3764867","banner_rtl":false,"banner_2x_rtl":false},"icons":{"svg":false,"icon":"https:\/\/ps.w.org\/strata-site-audit\/assets\/icon-128x128.gif?rev=3764815","icon_2x":"https:\/\/ps.w.org\/strata-site-audit\/assets\/icon-256x256.gif?rev=3764815","generated":false},"screenshots":[{"src":"https:\/\/ps.w.org\/strata-site-audit\/assets\/screenshot-1.png?rev=3764803","caption":"Overview: one health score, what needs attention and the five things to do next."},{"src":"https:\/\/ps.w.org\/strata-site-audit\/assets\/screenshot-2.png?rev=3764803","caption":"Every finding says what is wrong, exactly what to do and where it lives. Safe fixes run from the same panel, with undo."},{"src":"https:\/\/ps.w.org\/strata-site-audit\/assets\/screenshot-3.png?rev=3764803","caption":"Assets: the media library as a grid with previews, where each file is used, and views for unused files and duplicates."},{"src":"https:\/\/ps.w.org\/strata-site-audit\/assets\/screenshot-4.png?rev=3764803","caption":"Every theme file, snippet and page builder code block, with what it hooks into and loads."},{"src":"https:\/\/ps.w.org\/strata-site-audit\/assets\/screenshot-5.png?rev=3764803","caption":"Strata Pro: scheduled scans with email and Slack alerts."}],"raw_content":"<!--section=description-->\n<p>Strata tells you what is on a WordPress site, where it is used, what is broken and what is fighting with what. It is built for people who look after sites they did not build.<\/p>\n\n<p><strong>What it reads<\/strong><\/p>\n\n<ul>\n<li>Elementor pages, templates, popups, Theme Builder conditions, global colors and fonts, and HTML widgets<\/li>\n<li>Block editor content, block types and synced patterns<\/li>\n<li>Theme and child theme files<\/li>\n<li>Customizer Additional CSS and Elementor custom CSS<\/li>\n<li>WPCode, Code Snippets, Simple Custom CSS and JS, Elementor Custom Code and Astra Custom Layouts<\/li>\n<li>Redirects from Redirection, Rank Math, Yoast SEO Premium and Safe Redirect Manager<\/li>\n<li>The media library: every image and file, and every page, setting and stylesheet that uses it<\/li>\n<\/ul>\n\n<p><strong>What it finds<\/strong><\/p>\n\n<ul>\n<li>Broken internal links and missing images, scripts and stylesheets, with the exact page and widget that contains them. A server that is busy, slow, refuses the request or asks for a login is never reported as a broken link: Strata says it could not check, and Check again verifies any link on the spot<\/li>\n<li>Redirect chains, loops, redirects that end on a 404, and the same address redirected by two plugins<\/li>\n<li>Templates, popups, globals and synced patterns nothing uses<\/li>\n<li>Templates that point at deleted templates, and header or footer templates that target the same pages<\/li>\n<li>PHP syntax errors, deprecated WordPress functions, code that newer PHP versions break, and code worth a second look<\/li>\n<li>A PHP version older than the latest critical security releases, or one that no longer gets security fixes, with the version to ask your host for<\/li>\n<li>Shortcodes left in posts, templates and sidebar widgets after the plugin that provided them was removed, such as <code>[vc_row]<\/code> or <code>[et_pb_section]<\/code>, which visitors see as plain text<\/li>\n<li>The same function defined twice, two snippets fighting over one filter, a tracking tag loaded twice, a library loaded twice, and CSS set differently in several places<\/li>\n<li>Images far larger than any screen needs, images shown without alt text, files nothing appears to use, and the same file uploaded more than once<\/li>\n<li>Page checks on every crawled page: search engines told to stay away from the whole site, a home page or other pages set to noindex, a canonical tag naming another site, missing and duplicate page titles, links and buttons with no text, form fields with no label, and pages with no language on the html tag. Reported only from what the page's HTML shows, shown under Links, and no extra requests<\/li>\n<\/ul>\n\n<p><strong>What it can fix<\/strong><\/p>\n\n<p>Every finding says what is wrong and exactly what to do about it: which copy of a duplicated function, snippet, tracking tag or CSS value to keep, which ones to remove, and where each one lives. Every finding that counts places lists them in the drawer, with links to edit each one. Code, CSS and conflict findings show exactly which lines to delete (for example lines 27 to 98) with the code itself, and which copy to keep. Every fix saves what it replaces first and can be undone from the Activity screen: disable a snippet, delete a block of code stored in the database (snippets, Customizer CSS, Elementor custom CSS and code, HTML widgets), move an unused template, popup, synced pattern or media file to the trash, remove a widget or block type from every page that uses it, remove an unused global, add a redirect, collapse a redirect chain (Add redirect is not offered for an address that a query string identifies, such as \/?p=123, because a redirect matches the path and would catch the whole page), replace a broken link wherever it is stored, remove a missing file or broken link from every place that references it while keeping the rest of the content, add alt text to an image and to the saved image tags that use it (the text is kept as you type it, on one line), or remove a leftover shortcode. Anything that removes something opens a question first that names it and every place it is used. Remove shortcode takes the tags out of every place that stores them, keeps the text between an opening and a closing tag, and asks first; posts keep a revision, and Undo puts back every place that was not edited since. Strata never edits theme files and never deletes anything permanently on its own: files go to the WordPress trash, after Strata shows what it can and cannot check and asks you to confirm, and come back with Undo. When you are sure, Assets &gt; Trash empties the media trash or deletes the files you pick, after a question that names them.<\/p>\n\n<p><strong>Redirects in one place<\/strong><\/p>\n\n<p>Links &gt; Redirects lists every rule from Redirection, Rank Math, Yoast SEO Premium, Safe Redirect Manager and Strata. Test all requests each rule's address on your site a few at a time, with the crawl pause in between, and says what a visitor gets: works (with the final address), broken target, loop, chain, does not redirect, or could not check when the server was busy. Export CSV saves every rule with its target, code, plugin and whether it is on.<\/p>\n\n<p><strong>Built to be read quickly<\/strong><\/p>\n\n<p>The Overview shows one health score, a plain sentence about what needs attention and the five things to do next. The Issues screen lists everything in one place, filtered by area, severity or text. Assets shows the media library as a grid with a preview of each file, where it is used, and views for unused files, duplicates, oversized images and missing alt text, plus the media trash, which WordPress hides by default. The Report button in the header offers CSV, PDF report and handover report (the last two in Pro).<\/p>\n\n<p><strong>Scan one area at a time<\/strong><\/p>\n\n<p>The Overview lists every audit area (code, builder, shortcodes, media, links, CSS, conflicts) with when it last ran and what is open. The Activity screen lists every scan (started, paused, resumed, finished, cancelled, failed) next to the fixes, with how long each finished scan took. Scan one area to re-check it in minutes, tick several and scan them together, or run a full scan. Strata adds whatever an area depends on, so a conflicts scan reads the code first. The running scan shows how far each stage is.<\/p>\n\n<p><strong>Light on your server<\/strong><\/p>\n\n<p>Scans run in the background in short steps, so they work on shared and managed hosting. The link checker requests one page at a time with a pause in between; Pro checks several pages at once and paces itself to your site. Nothing loads on the front end of your site unless you create a redirect with Strata.<\/p>\n\n<p><strong>WP-CLI<\/strong><\/p>\n\n<pre><code>wp strata scan --wait, `wp strata findings`, `wp strata fix &lt;id&gt;`, `wp strata undo &lt;id&gt;` and `wp strata report`.\n<\/code><\/pre>\n\n<p><strong>Strata Pro<\/strong><\/p>\n\n<p>The free plugin finds the problems. Pro keeps watching, reports to clients, and works across many sites.<\/p>\n\n<ul>\n<li>Scheduled scans (daily, weekly or monthly, at the hour you choose in your site's time zone) with email and Slack alerts when new issues appear<\/li>\n<li>An email or Slack message when a scan you started finishes or stops, so you can close the tab on a long scan<\/li>\n<li>Scan history and a \"since the previous scan\" view of new and resolved issues<\/li>\n<li>A log of the 404 pages real visitors hit, with suggested redirect targets<\/li>\n<li>External link checks, rate limited per host<\/li>\n<li>Likely unused CSS selectors, matched against up to 50 sampled pages<\/li>\n<li>Plugins with no use found: every active plugin that adds Elementor widgets, blocks, shortcodes, sidebar widgets or post types, reported only when none of them is used in content (including WordPress widgets placed in Elementor), sidebars, theme files or snippets and Strata could read all of them. On a multisite network, a plugin active for the whole network is not judged from one site. Cache, security, SEO, redirect, mail, backup, analytics and consent, image, page builder, commerce and multilingual plugins, Jetpack, and plugins with nothing to trace are never judged. Inactive plugins still installed are listed too. Strata never deactivates or deletes a plugin<\/li>\n<li>Merge duplicate media: every use of a duplicate file is pointed at one kept copy and the extra copies go to the trash, all in one step with one undo<\/li>\n<li>Bulk fixes with one \"Undo batch\" button, including moving several unused files to the trash and removing leftover shortcodes<\/li>\n<li>White-label PDF reports with your agency's name and logo, and CSV exports named for your agency<\/li>\n<li>Handover report: a white-label PDF that maps the site for a new agency: WordPress, PHP and database versions, theme and child theme, active and inactive plugins with updates, Elementor templates and where Theme Builder shows them, where custom code lives, redirects per plugin and the media library, with a short health summary<\/li>\n<li>Import redirects from a CSV file into Strata's own redirects: a preview checks every row first (unsafe targets, loops, rules that already exist in any redirect plugin), and the whole import is one Activity entry whose Undo removes exactly those rules<\/li>\n<li>Compare with another site: export a snapshot from one site (Report, Export snapshot) and open it on another, such as staging and live, to see the issues only one of them has, plugins and versions that differ, and settings like search engine visibility and debug mode. Both sites need the same version of Strata. Nothing changes on either site<\/li>\n<li>Resize large images to 2560 px (or your own size), one at a time or many in a background queue with progress: Strata saves a scaled copy the way WordPress does for big uploads, keeps the original file, and Undo puts every image back. Optional JPEG and WebP compression<\/li>\n<li>No limit on crawled pages unless you set one in Settings (the free plugin checks up to 500), and a faster crawl that sends up to 5 page requests at once, checks files alongside them and slows down on its own when your site struggles<\/li>\n<\/ul>\n\n<p>Plans and pricing: <a href=\"https:\/\/stratasiteaudit.com\/pricing\/\">stratasiteaudit.com\/pricing<\/a>. The free plugin's Settings screen also links to the plans.<\/p>\n\n<p><strong>Bundled libraries<\/strong><\/p>\n\n<p>Strata ships with the Freemius SDK and Action Scheduler (both GPLv3 or later), nikic\/php-parser (BSD 3-Clause), sabberworm\/php-css-parser (MIT), htm (Apache 2.0) and the Geist and Geist Mono fonts (SIL Open Font License 1.1, loaded from the plugin folder, never from another server). The Pro edition adds dompdf, php-font-lib and php-svg-lib (LGPL) and masterminds\/html5 (MIT). Each keeps its own license file.<\/p>\n\n<h3>External services<\/h3>\n\n<p>Strata contacts outside servers only in the cases below.<\/p>\n\n<p><strong>WordPress.org theme downloads.<\/strong> When you run the parent theme comparison, Strata downloads the release of your theme that matches its version from downloads.wordpress.org, to compare it with the files on your server. Only the theme's slug and version are sent. See the <a href=\"https:\/\/wordpress.org\/about\/privacy\/\">WordPress.org privacy policy<\/a>.<\/p>\n\n<p><strong>Freemius.<\/strong> Licensing, checkout and the optional usage opt-in are handled by Freemius. If you opt in, or activate a Pro license, details such as your site URL, WordPress and PHP versions, the plugin version and the admin name and email are sent to Freemius. Nothing is sent if you skip the opt-in. See the <a href=\"https:\/\/freemius.com\/terms\/\">Freemius terms<\/a> and <a href=\"https:\/\/freemius.com\/privacy\/\">privacy policy<\/a>.<\/p>\n\n<p><strong>Slack (Pro).<\/strong> If you add a Slack webhook for alerts, Strata sends the alert text (site name, how long the scan took, how many issues are new or resolved, the titles of the newest issues, the reason a scan stopped, and a link to the results screen) to that webhook on Slack's servers. See the <a href=\"https:\/\/slack.com\/terms-of-service\">Slack terms<\/a> and <a href=\"https:\/\/slack.com\/trust\/privacy\/privacy-policy\">privacy policy<\/a>.<\/p>\n\n<p><strong>Sites you link to (Pro).<\/strong> External link checks send a HEAD or GET request to each external address linked from your content, to see whether it still works. Private and local addresses are never requested.<\/p>\n\n<!--section=faq-->\n<dl>\n<dt id=\"does%20any%20data%20leave%20my%20site%3F\"><h3>Does any data leave my site?<\/h3><\/dt>\n<dd><p>Not unless you choose to. Scans run entirely on your server. Two things can contact outside servers, and only when you choose them: the optional parent theme comparison downloads the matching release from WordPress.org, and Strata Pro uses Freemius for licensing if you opt in. See the External services section below.<\/p><\/dd>\n<dt id=\"what%20is%20the%20handover%20report%3F\"><h3>What is the handover report?<\/h3><\/dt>\n<dd><p>A PDF that describes a site you are taking over: what runs it, where the custom code is, which template shows where and which plugin holds the redirects. It changes nothing and needs no new scan. Parts that come from a scan (custom code, media details, health) show \"Not scanned yet\" until that area has been scanned. It uses your report branding. It is part of Strata Pro.<\/p><\/dd>\n<dt id=\"is%20strata%20an%20seo%20plugin%3F\"><h3>Is Strata an SEO plugin?<\/h3><\/dt>\n<dd><p>No. It flags a few things that are broken, such as a site still hidden from search engines after going live, or a canonical tag that names the staging site. It does not check meta descriptions, headings or structured data.<\/p><\/dd>\n<dt id=\"does%20strata%20check%20the%20php%20version%20itself%3F\"><h3>Does Strata check the PHP version itself?<\/h3><\/dt>\n<dd><p>Yes. Each Code scan compares the PHP version the site runs with the latest critical PHP security releases and reports a Critical finding when the version number is older. Your host installs PHP updates on managed hosting; on your own server you update the PHP packages. Ubuntu, Debian and Red Hat can include the fixes under an older number, so ask your host before you ignore it. Strata's list of fixed releases is updated with the plugin, and a new advisory is reported even if you ignored the last one.<\/p><\/dd>\n<dt id=\"can%20strata%20tell%20me%20if%20my%20site%20is%20ready%20for%20a%20newer%20php%3F\"><h3>Can Strata tell me if my site is ready for a newer PHP?<\/h3><\/dt>\n<dd><p>Yes. The Code scan reads every PHP snippet and theme file and lists lines that PHP 8.0 to 8.4 removed or warn about, with the line and what to write instead. It never edits your code.<\/p><\/dd>\n<dt id=\"why%20does%20strata%20say%20a%20shortcode%20shows%20as%20plain%20text%3F\"><h3>Why does Strata say a shortcode shows as plain text?<\/h3><\/dt>\n<dd><p>Strata first checks whether a plugin registers the tag, or whether the plugin or theme known to provide it (WPBakery, Divi, Avada and others in its list) is active. For the rest it loads one published page that uses the tag, logged out and past any page cache, and reports the tag when it shows there as raw text. Tags only on drafts, private pages, templates or widgets, or on pages it could not load (at most 30 per scan), are reported as \"may show as plain text\". Check one page before removing them.<\/p><\/dd>\n<dt id=\"does%20strata%20run%20the%20code%20it%20scans%3F\"><h3>Does Strata run the code it scans?<\/h3><\/dt>\n<dd><p>No. PHP is parsed into a syntax tree and read. Nothing is included or executed.<\/p><\/dd>\n<dt id=\"the%20link%20check%20says%20it%20was%20skipped.%20why%3F\"><h3>The link check says it was skipped. Why?<\/h3><\/dt>\n<dd><p>Strata checks links by requesting your own pages from the server. Sites behind a password (common on staging) or a firewall that blocks the server from calling itself will skip this step. Everything else still runs.<\/p><\/dd>\n<dt id=\"can%20i%20undo%20a%20fix%3F\"><h3>Can I undo a fix?<\/h3><\/dt>\n<dd><p>Yes. Every change appears on the Activity screen with an Undo button. If your host stops a fix part way, Undo puts back exactly the places the fix had changed (it asks you to wait a minute while the fix may still be running), and an Undo that cannot put back every place stays available for the rest and names the places it left.<\/p><\/dd>\n<dt id=\"strata%20said%20a%20link%20was%20broken%20but%20it%20loads%20for%20me\"><h3>Strata said a link was broken but it loads for me<\/h3><\/dt>\n<dd><p>A link is reported broken only when your server answered with a real error such as 404 or 410. Busy or rate-limited answers (429, 502, 503, 504), timeouts, refused connections and login or firewall answers (401, 403) are listed as \"Could not check\" instead, and Technical details show exactly what Strata saw, such as HEAD 405 then GET 404. Open the finding and click Check again: if the address loads now, the finding is marked fixed. Findings from a scan made with an older version stay until you scan again.<\/p><\/dd>\n<dt id=\"can%20strata%20delete%20code%2C%20widgets%20or%20templates%20for%20me%3F\"><h3>Can Strata delete code, widgets or templates for me?<\/h3><\/dt>\n<dd><p>Yes, with Undo. It deletes a block of code stored in the database (snippets, Customizer CSS, Elementor custom CSS and code, HTML widgets), removes a widget or block type from every page, moves templates, popups and synced patterns to the trash, and removes globals. Each asks first and lists every place affected. It never edits theme or plugin files: for those it shows the exact lines to delete, and it shows theme PHP source only to users who may open the Theme File Editor (not when <code>DISALLOW_FILE_EDIT<\/code> is set, and not to a site admin on a multisite network). It does not remove whole sections or groups, because that would take everything inside them.<\/p><\/dd>\n<dt id=\"do%20i%20need%20elementor%3F\"><h3>Do I need Elementor?<\/h3><\/dt>\n<dd><p>No. Strata reads the block editor, themes, custom CSS, code snippet plugins and redirect plugins on any site. Elementor support is built in for sites that use it.<\/p><\/dd>\n<dt id=\"will%20a%20scan%20slow%20down%20my%20site%3F\"><h3>Will a scan slow down my site?<\/h3><\/dt>\n<dd><p>Scans run in the background in short steps, and the link checker waits between requests. Visitors are not affected. On a large site a full scan can take a while; you can pause, resume or cancel it at any time.<\/p><\/dd>\n<dt id=\"what%20is%20the%20difference%20between%20free%20and%20pro%3F\"><h3>What is the difference between Free and Pro?<\/h3><\/dt>\n<dd><p>Free runs every scanner by hand, checks up to 500 internal pages, applies single fixes with undo (including moving one unused file to the trash), empties the media trash and exports CSV. Pro adds scheduled scans with alerts, scan history, the 404 log, external link checks, unused CSS and plugins with no use found, merging duplicate media and trashing the extra copies, bulk fixes (including bulk Remove shortcode), white-label PDF reports, the handover report and an unlimited, faster crawl.<\/p><\/dd>\n<dt id=\"can%20i%20delete%20a%20plugin%20strata%20says%20has%20no%20use%3F\"><h3>Can I delete a plugin Strata says has no use?<\/h3><\/dt>\n<dd><p>Deactivate it on a staging copy first and check the site. Strata only looks for what it can trace (Elementor widgets, blocks, shortcodes, sidebar widgets, post types and calls from your theme files and snippets). It cannot see features that only change settings, run on a schedule or work in the admin, or other plugins that use its code. When Strata cannot read everything it needs, it skips the check instead of guessing. The filter <code>strata_infrastructure_plugins<\/code> (plugin basename to a category) marks more plugins that should never be judged.<\/p><\/dd>\n<dt id=\"what%20does%20the%20pro%20404%20log%20store%3F\"><h3>What does the Pro 404 log store?<\/h3><\/dt>\n<dd><p>The path that returned a 404, the referring address, how many times it was hit, and when. It does not store IP addresses, user agents or anything else about the visitor. It is off until you turn it on, and it is the only Strata code that runs on the front end of your site. Repeated hits are capped per visitor address; behind Cloudflare or another proxy every visitor shares one address, so add <code>add_filter( 'strata_404_client_id', function () { return $_SERVER['HTTP_CF_CONNECTING_IP'] ?? ''; } );<\/code> to a small plugin to count visitors separately.<\/p><\/dd>\n<dt id=\"will%20strata%20delete%20my%20images%3F\"><h3>Will Strata delete my images?<\/h3><\/dt>\n<dd><p>Not unless you ask it to. Strata's fixes never delete files permanently. It reports images that are too large, missing alt text, likely unused or uploaded twice. Adding alt text is a one-click fix with undo. On an image used on very many pages it works for a few seconds at a time, and Finish adding alt text does the rest with the text you saved. An unused file can be moved to the WordPress trash after you confirm, and Undo in Activity brings it back until WordPress empties the trash (30 days by default). WordPress keeps Media Library trash hidden unless MEDIA_TRASH is turned on, so on most sites Strata's Undo is the way to get a file back. Strata refuses when any use it can find remains (it checks again just before moving the file), and offers no trash at all on sites where the trash is turned off; the same applies to templates. Strata Pro can merge duplicates: every use is pointed at one copy and the extra copies go to the trash, with one Undo for the whole step.<\/p><\/dd>\n<dt id=\"can%20i%20empty%20the%20media%20trash%3F\"><h3>Can I empty the media trash?<\/h3><\/dt>\n<dd><p>Yes. WordPress hides the Media Library trash by default, so files moved there wait until WordPress deletes them (30 days by default). Assets &gt; Trash lists them: tick the files to delete or use Empty trash. Strata asks first and names the files, then checks each file again and keeps any that a page, a setting, builder data or a theme stylesheet still uses, and any it cannot be sure about. A permanent delete removes the file and every size of it from the server and cannot be undone; Activity records it.<\/p><\/dd>\n<dt id=\"why%20does%20strata%20say%20a%20file%20is%20only%20%22likely%22%20unused%3F\"><h3>Why does Strata say a file is only \"likely\" unused?<\/h3><\/dt>\n<dd><p>Strata checks post and page content (including drafts), featured images, WooCommerce galleries, Elementor data, the site icon and logo, custom CSS (including CSS far down a long stylesheet and minified theme stylesheets) and the Site Editor's styles. When it cannot read all of the CSS or a page, it lists no unused file at all, refuses to move media to the trash, and says so in a notice. A file can still be used from places it cannot see, such as theme options of some themes, hard-coded paths in PHP, emails or other websites. Just before it moves a file to the trash, Strata checks again: content, featured images, galleries, Elementor data and page settings, ACF fields, widgets, menus, the site icon, logo, header and background image, the Additional CSS and the theme's stylesheets as they are at that moment. When it cannot read every theme stylesheet, it keeps a file the last media scan did not cover and asks you to scan Media first. It still cannot see files used from theme or plugin PHP code, in emails or on other websites, so look over a file before you remove it.<\/p><\/dd>\n<dt id=\"does%20strata%20work%20on%20multisite%3F\"><h3>Does Strata work on multisite?<\/h3><\/dt>\n<dd><p>Yes. Each site keeps its own scans and findings. Network-wide Code Snippets are listed in every site's scan, but only a network admin can read their code or change them, and a site's own snippets follow Code Snippets' own permission setting.<\/p><\/dd>\n<dt id=\"what%20happens%20to%20my%20data%20if%20i%20delete%20the%20plugin%3F\"><h3>What happens to my data if I delete the plugin?<\/h3><\/dt>\n<dd><p>Deleting Strata from the Plugins screen removes its database tables, settings and scheduled jobs on every site. Changes you made with Strata's fixes stay as they are.<\/p><\/dd>\n<dt id=\"can%20undo%20overwrite%20something%20i%20changed%20later%3F\"><h3>Can undo overwrite something I changed later?<\/h3><\/dt>\n<dd><p>No. Undo first checks whether the post or kit changed since the fix. If nothing changed, the exact original comes back. If you edited it in between, Strata reverses only its own change inside your current content (for example it swaps the link back) and keeps your edits. Items moved to the trash can be restored until WordPress empties the trash, 30 days by default.<\/p><\/dd>\n<dt id=\"can%20i%20move%20redirects%20from%20one%20site%20to%20another%3F\"><h3>Can I move redirects from one site to another?<\/h3><\/dt>\n<dd><p>Yes. Links &gt; Redirects &gt; Export CSV saves every rule from every supported redirect plugin. With Pro, Import CSV on the other site shows each row with what is wrong with it before anything is written, then adds the valid rows to Strata's own redirects in one step. Undo in Activity removes exactly the imported rules. Rules in your redirect plugins are never changed.<\/p><\/dd>\n<dt id=\"can%20strata%20compare%20my%20staging%20site%20with%20the%20live%20site%3F\"><h3>Can Strata compare my staging site with the live site?<\/h3><\/dt>\n<dd><p>Yes, with Pro. On one site choose Report, Export snapshot. On the other choose Report, Compare with another site and pick that file. Strata lists the issues each site has that the other does not, plugins that are missing or on another version, and differences in WordPress, PHP, theme and settings that are safe to share (no passwords, keys or email addresses are in the file). A checksum catches damaged or accidentally edited files, and Strata refuses them. Both sites need the same version of Strata: a snapshot exported by an older version is refused, so export it again after updating. Nothing changes on either site.<\/p><\/dd>\n<dt id=\"does%20resizing%20an%20image%20change%20the%20original%20file%3F\"><h3>Does resizing an image change the original file?<\/h3><\/dt>\n<dd><p>No. Pro's Resize to 2560 px saves a smaller copy next to the original, named like the copy WordPress makes for big uploads (photo-scaled.jpg), and points the image at it. The original stays in the uploads folder and is kept as the original image in WordPress. Featured images, galleries and page builder widgets show the copy; an image address typed into a post keeps loading the original. Undo puts the image back and deletes only the files the resize made, and keeps any of them that a page, a theme stylesheet, a setting, a user profile or a category still names. Animated GIFs and file types other than JPEG, PNG and WebP are left alone.<\/p><\/dd>\n<dt id=\"do%20i%20keep%20the%20free%20plugin%20when%20i%20buy%20pro%3F\"><h3>Do I keep the free plugin when I buy Pro?<\/h3><\/dt>\n<dd><p>Pro replaces it. After checkout you download the Pro version from your Freemius account (or from the link in the plugin) and install it over the free one; your settings, scans and history stay. If a license lapses, the plugin keeps working as the free edition.<\/p><\/dd>\n<dt id=\"how%20many%20sites%20can%20i%20use%20a%20pro%20license%20on%3F\"><h3>How many sites can I use a Pro license on?<\/h3><\/dt>\n<dd><p>It depends on the plan: one site, five sites, 25 sites or unlimited sites. Licenses are annual; there is no monthly or lifetime option. You can move a license between sites from your account. A multisite network counts each site that activates Strata.<\/p><\/dd>\n<dt id=\"what%20happens%20when%20my%20license%20expires%3F\"><h3>What happens when my license expires?<\/h3><\/dt>\n<dd><p>Scheduled scans, alerts, the 404 log, external link checks, bulk fixes and PDF and handover reports stop. Everything the free edition does keeps working, and your scan history and settings are kept so they return when you renew.<\/p><\/dd>\n<dt id=\"which%20page%20builders%20does%20strata%20understand%3F\"><h3>Which page builders does Strata understand?<\/h3><\/dt>\n<dd><p>Elementor (Free and Pro) and the block editor are read in detail: templates, global colors and fonts, widgets and their links and images. Other builders are not parsed, but the code inventory, CSS analysis, link checks, conflicts and media audit work on any site.<\/p><\/dd>\n<dt id=\"can%20i%20use%20strata%20pro%20on%20client%20sites%2C%20and%20can%20i%20remove%20the%20strata%20name%20from%20reports%3F\"><h3>Can I use Strata Pro on client sites, and can I remove the Strata name from reports?<\/h3><\/dt>\n<dd><p>Yes. Pro is licensed per site, so each client site you manage counts toward your plan. PDF reports can carry your agency's name, logo and accent color instead of Strata's, and CSV exports carry your agency's name in the file name.<\/p><\/dd>\n<dt id=\"is%20there%20a%20trial%20or%20a%20refund%3F\"><h3>Is there a trial or a refund?<\/h3><\/dt>\n<dd><p>Pro has a 7-day free trial with no card required. If it is not for you, there is a 7-day refund policy; contact support first so we can try to help.<\/p><\/dd>\n<dt id=\"do%20i%20have%20to%20run%20a%20full%20scan%20every%20time%3F\"><h3>Do I have to run a full scan every time?<\/h3><\/dt>\n<dd><p>No. The Overview has a Scan button on every audit area and a \"Scan selected\" button for several at once. A partial scan refreshes only the areas it covers: every screen, export and PDF report shows the newest result for each area, and each Overview row says when its area was last scanned. Old scans are cleaned up automatically, but Strata always keeps the scans the current results come from. Scheduled scans are always full scans.<\/p><\/dd>\n<dt id=\"does%20strata%20work%20on%20very%20large%20sites%3F\"><h3>Does Strata work on very large sites?<\/h3><\/dt>\n<dd><p>Yes. Strata is tested on a generated site with over 10,000 media files, thousands of Elementor pages and thousands of findings. Every screen loads in pages, every fix searches the database a fixed number of times however big the site is, and a scan runs in short background steps (about 20 seconds each by default) that pick up where the last one stopped, so host time limits such as WP Engine's 60 seconds are never reached. A full scan of a large site can take an hour or more; you can close the tab and Pro emails you when it is done.<\/p><\/dd>\n<dt id=\"why%20is%20a%20scan%20slow%2C%20and%20how%20do%20i%20speed%20it%20up%3F\"><h3>Why is a scan slow, and how do I speed it up?<\/h3><\/dt>\n<dd><p>The crawl requests your own site, and every page it checks is built by WordPress (a page cache rarely helps, since the crawl visits each page once). Images, PDFs, scripts and other files are checked with a quick HEAD request instead of being downloaded. On Pro the crawl starts with two pages at a time, adds more while your site keeps up (up to Most requests at once in Settings) and backs off when the site slows down or answers \"busy\", so you rarely need to tune it. On managed hosting (WP Engine, Kinsta, Cloudways and the like) you can also set Pause between requests to 0 and Time per background step to 40. A scan started from the Strata screen also moves a little faster while that screen stays open.<\/p><\/dd>\n<dt id=\"where%20does%20replace%20link%20change%20the%20link%3F\"><h3>Where does Replace link change the link?<\/h3><\/dt>\n<dd><p>Everywhere WordPress stores it: post and page content, block editor attributes (navigation links, embeds, buttons), Elementor data and templates, shortcode attributes of builders such as Divi, WPBakery and Avada, reusable blocks, menus, custom fields (ACF included) on posts, users and terms, user profiles (website and biography), classic widgets, theme and Customizer settings, plugin settings, and WPML string translations. Plugin settings are saved through WordPress, so the plugin's own checks run on them. Before anything changes, the panel lists the places it will change. Only the link itself is replaced: a longer address that starts the same, or text that merely mentions the address, is left alone. Every change can be undone from Activity, and Undo leaves alone any place someone edited after the fix and tells you which. Strata never touches core settings such as the site address, never edits theme or plugin files, and cannot change a link written into theme or plugin code; it says so when that is the case.<\/p><\/dd>\n<dt id=\"do%20fixes%20show%20up%20on%20cached%20sites%3F\"><h3>Do fixes show up on cached sites?<\/h3><\/dt>\n<dd><p>Yes. After a fix or an undo, Strata asks the page caches it knows to clear, once per request: WP Rocket, LiteSpeed Cache, W3 Total Cache, WP Super Cache, WP Fastest Cache, NitroPack, Breeze, Hummingbird, Autoptimize, and the host caches of WP Engine, SiteGround and Kinsta. Other caches can listen to the <code>strata_purge_caches<\/code> action. To turn this off, return false from the <code>strata_purge_caches_after_fix<\/code> filter. A CDN with its own cache (Cloudflare, for example) may still serve the old page until it expires or you purge it there.<\/p><\/dd>\n<dt id=\"a%20firewall%20or%20security%20plugin%20blocks%20the%20link%20check\"><h3>A firewall or security plugin blocks the link check<\/h3><\/dt>\n<dd><p>The link check requests your own pages the way a visitor would, with the user agent <code>Strata-Audit\/<\/code>. Security plugins, Cloudflare bot rules and some hosts can block or slow those requests, which shows up as skipped or failed links. Allow that user agent (or your server's own IP address) in the firewall, then scan the Links area again. When a host answers \"too many requests\" or \"busy\" (429, 502, 503 or 504), Strata tries that page again later in the same scan, up to four more times with growing pauses, and never reports your page as a broken link. A page that is still busy after the last try gets a \"Could not check\" warning, so a gap in the scan is never silent; raise Pause between requests in Settings and scan again.<\/p><\/dd>\n<dt id=\"can%20strata%20tell%20me%20when%20a%20long%20scan%20is%20done%3F\"><h3>Can Strata tell me when a long scan is done?<\/h3><\/dt>\n<dd><p>Yes, on Pro. Add your email addresses or a Slack webhook in Settings, then start a scan and close the tab. When the scan finishes you get one message with how long it took, what is new since the previous scan and a link to the results. If the scan stops part way, the message says why. Scheduled scans follow the \"Alert me when\" setting instead. Scans run from WP-CLI send nothing, since the terminal already shows the result. If no email arrives, use Send test in Settings: many hosts only deliver mail through an SMTP plugin.<\/p><\/dd>\n<dt id=\"i%20re-uploaded%20the%20plugin%20and%20pro%20features%20are%20gone\"><h3>I re-uploaded the plugin and Pro features are gone<\/h3><\/dt>\n<dd><p>Open Strata, then Account, and click Activate or Reactivate License. Your key is still valid; the re-upload only interrupted the activation.<\/p><\/dd>\n<dt id=\"do%20scheduled%20scans%20need%20a%20real%20cron%20job%3F\"><h3>Do scheduled scans need a real cron job?<\/h3><\/dt>\n<dd><p>They run through WordPress's background job system, so they work with WP-Cron on a normal site. Hosts that turn WP-Cron off (WP Engine, for example) run a real cron that calls wp-cron.php, which is even better. Each step of a scan starts the next one itself, and a watchdog re-queues a scan that has gone quiet whenever anyone requests the site, so a scan keeps going with the Strata screen closed. If the host kills a step part way, the watchdog clears it and starts a fresh one within about five minutes; Resume does the same at once.<\/p><\/dd>\n\n<\/dl>\n\n<!--section=changelog-->\n<h4>1.1.3<\/h4>\n\n<ul>\n<li>New: the Code scan reports, as Critical, a PHP version with known security holes: one older than the October 21, 2026 security releases (8.2.35, 8.3.36, 8.4.27 and 8.5.12, which fix CVE-2026-109618 and CVE-2026-109619) or one that no longer gets security fixes (8.1 and older). It says which version to ask the host for.<\/li>\n<\/ul>\n\n<h4>1.1.2<\/h4>\n\n<ul>\n<li>Changed: every file of the bundled PHP and CSS parsers now refuses direct requests, as Plugin Check asks. No change in behaviour.<\/li>\n<\/ul>\n\n<h4>1.1.1<\/h4>\n\n<ul>\n<li>Changed: the PHP and CSS parsers Strata ships now live in lib\/ beside Action Scheduler, so vendor\/ holds only the Freemius SDK and the autoloader. No change in behaviour.<\/li>\n<\/ul>\n\n<h4>1.1.0<\/h4>\n\n<ul>\n<li>Fixed: a stylesheet or script referenced with http:\/\/ keeps one finding across cache clears, instead of a new one every time its version stamp changes.<\/li>\n<li>New: leftover shortcodes. Strata finds shortcode tags left in posts, templates and widgets after their plugin was removed, and Remove shortcode takes them out with undo (Pro removes them in bulk).<\/li>\n<li>New: PHP 8 readiness. The Code scan lists code that PHP 8.0 to 8.4 removed or warn about, with what to write instead.<\/li>\n<li>Changed: PHP code is now checked as the PHP version the site runs.<\/li>\n<li>New (Pro): handover report, a white-label PDF that describes a site you are taking over, from the Report menu and <code>wp strata report --format=handover<\/code>.<\/li>\n<li>New (Pro): plugins with no use found. Every active plugin that adds widgets, blocks, shortcodes, sidebar widgets or post types is checked, not only Elementor add-ons, and inactive plugins left installed are listed. Report only.<\/li>\n<li>New: every finding lists exactly where it is, and code, CSS and conflict findings show the exact lines to delete with the code.<\/li>\n<li>New: fix from the plugin with Undo: remove a missing file or broken link from every page that references it, remove a widget or block type everywhere, delete a block of database-stored code, and resolve any row on the Assets screens; each asks first and names every place.<\/li>\n<li>New: Check again re-verifies a link finding on the spot.<\/li>\n<li>Changed: a busy, slow, refusing or login-protected server is never reported as a broken link, and images found in builder settings are reported as missing files.<\/li>\n<li>Changed: the media scan and the trash check agree on what counts as a use; a refused trash says where the file is used.<\/li>\n<li>Changed: a new admin design.<\/li>\n<li>New: page checks on every crawled page: a site still hidden from search engines, noindex on the home page or other pages, a canonical tag naming another site, missing and duplicate titles, links and buttons with no text, form fields with no label and pages with no language, shown under Links.<\/li>\n<li>Fixed: many false reports found in a review of the whole plugin (see the handoff, section 4).<\/li>\n<li>Fixed: redirects that differ only in case or accents no longer send visitors in a loop on MySQL; a redirect now matches the exact address.<\/li>\n<li>Fixed: Redirection, Rank Math, Yoast SEO Premium and Safe Redirect Manager count as in use only while the plugin is active, so no redirect is added to a plugin that is switched off. A redirect with a 410 or another error code is no longer shown as a problem.<\/li>\n<li>Fixed: 404 redirect suggestions on a site in a subdirectory no longer repeat the folder name.<\/li>\n<li>Fixed (Pro): the redirect CSV import refuses addresses over 255 characters, imports exactly the rows the preview showed and says so plainly when nothing could be saved.<\/li>\n<li>Fixed: PHP files that start with HTML or a byte order mark are no longer reported as syntax errors.<\/li>\n<li>Fixed: after a missing brace in CSS, Strata no longer offers to delete the next valid rule.<\/li>\n<li>Fixed: Merge and trash and Delete permanently keep files used in ACF fields, Elementor page settings, Additional CSS or the Customizer background image.<\/li>\n<li>Fixed: Undo after a fix that stopped half way puts back exactly what was changed, or says plainly that it cannot. Undo of Ignore also reopens the issue in the latest scan, and fixes no longer publish a scheduled post whose time had passed.<\/li>\n<li>Fixed (Pro): Stop in the image resize queue holds, and an image that crashes the server is skipped.<\/li>\n<li>Fixed: page checks on very long addresses (non-Latin page names), and scans on sites that already use a lot of memory, which now make progress. A scan step that stops the scan three times in a row is skipped with a finding instead of being retried forever, and that area keeps the results of the scan before. A scan that is recovering from such a stop no longer says it stopped making progress, and one busy answer from the home page no longer skips the link check.<\/li>\n<li>Fixed: Replace link and Remove reference find links with non-Latin letters, also in Elementor data, Undo restores WPBakery button links after an edit, and links such as \/time\/10:30\/ are checked.<\/li>\n<li>Changed: on a multisite network, network-wide Code Snippets can be read and changed only by a network admin.<\/li>\n<li>Fixed (Pro): Check again on an external link uses the same private-address protection as the scan, and a host that only has an IPv6 address is no longer reported as broken. An address Strata does not request is answered as not checked.<\/li>\n<li>Fixed (Pro): a plugin another used plugin depends on is no longer called unused; a page too large to read in full is judged by the part that was read when Strata looks for unused CSS; the crawl speeds up again after one slow moment; the 404 log is trimmed on hosts that skip database ids; the network overview no longer links to a site where Strata is switched off.<\/li>\n<li>Changed (Pro): Compare snapshots work across admin languages and can always be read by the site that made them. A snapshot exported by an older version must be exported again.<\/li>\n<li>Fixed: Simple Custom CSS and JS codes that Strata switches off stop printing, as they do when switched off in the plugin.<\/li>\n<li>Fixed: Settings shows an error with Try again when it cannot load, success messages are announced to screen readers, and <code>wp strata report --format=handover<\/code> works before the first scan.<\/li>\n<li>Fixed: a fix on a post whose page template the theme no longer has (Replace link, Remove reference, Remove shortcode, Remove widget and block, Add alt text) now saves and keeps its Undo. If the host stops a fix half way, Undo puts back exactly the places it had changed, or asks you to wait a minute while the fix may still be running.<\/li>\n<li>Fixed: an Undo that cannot put back every place stays available for the rest and names the places it left. Check again and its Undo no longer clear page caches.<\/li>\n<li>Changed: Replace link works for at most 20 seconds per click and keeps a bounded Undo copy; when places are left it says so and the next click carries on. Remove widget and Remove block skip a page that is too large to copy for Undo, name it, and carry on.<\/li>\n<li>Fixed: Add alt text keeps the text as typed (<code>$1<\/code> and prices such as $10 no longer change it), finds an empty alt anywhere in the image tag, leaves image tags inside comments, scripts and attribute values alone, and its Undo restores the whole page unless it was edited since. On an image used on very many pages it stops writing after a few seconds, says how many pages are left, and the next run with the same text does the rest.<\/li>\n<li>Changed: Add redirect is not offered for an address told apart by its query string (such as \/?p=123) or when the page without the query works, and the 404 log will not redirect the site root.<\/li>\n<li>Fixed: the Links scan no longer fails on a site with many redirect rules, does not lose the links of a page when the host stops a step, tries a busy sitemap again, and does not read a sitemap that redirects to another site.<\/li>\n<li>Fixed: a media file used only by CSS far down a long stylesheet (past 256 KB), by a relative <code>url()<\/code> in a theme stylesheet, by a minified theme stylesheet (<code>*.min.css<\/code>) or by the Site Editor's styles is no longer reported as unused. When Strata cannot read all the CSS (or a post) it lists no unused file, refuses to trash media, and says so in one notice.<\/li>\n<li>Fixed: Delete permanently and Empty trash keep a file in the trash that the last media scan found in a theme stylesheet, and keep every file when that scan could not read everything.<\/li>\n<li>Fixed: CSS nesting is no longer a syntax error, a CSS file over 256 KB gets no false syntax error, an earlier <code>!important<\/code> rule in the same file is respected, and CSS for one page is no longer compared with site-wide CSS when Strata advises which rule to delete.<\/li>\n<li>Fixed (Pro): a plugin whose WordPress widget is used in Elementor is no longer reported with no use found, and a plugin active for the whole network is not judged from one site.<\/li>\n<li>Changed: when an Elementor page cannot be read, Strata lists no unused template, popup or global and refuses to trash them until it can.<\/li>\n<li>Fixed: an area where some items could not be read keeps its earlier results instead of reporting files as unused or findings as resolved from partial data, and one bad address no longer takes down the rest of its batch.<\/li>\n<li>Fixed: Activity and batch Undo no longer load every saved copy; a long batch Undo stops after 20 seconds and offers Undo the rest, and starting a scan no longer reads the whole Activity log.<\/li>\n<li>Fixed: Replace link and Remove reference find a link to the site root with a query (\/?p=123), a link followed by text that is not a fragment is no longer taken for the whole value, and empty objects in block settings stay empty objects.<\/li>\n<li>Fixed: the conflicts scan counts a library enqueued twice under one handle once, skips snippets that never run on the same kind of request (admin or front end) and parent theme templates a child theme replaces, and for a guarded duplicate function no longer advises keeping the copy that is not running: when it cannot tell, it says so.<\/li>\n<li>Changed: PHP source of theme files is shown only to users who may open the Theme File Editor, and a site's own Code Snippets follow that plugin's own capability on a multisite network. For such code the Code list and drawer also leave out what Strata read from it (tracking tags, libraries, hooks), the path on the server and the link to an editor the user cannot open.<\/li>\n<li>Fixed (Pro): scheduled scans run at the chosen hour every time and weekly and monthly scans keep their day, also across an update or a time zone change; the unused CSS check samples up to five pages per template; the handover report says the number of unused files is not determined when the media scan could not read everything, instead of 0; Undo of an image resize keeps a copy that a widget still names; uninstall removes the crawl pace and image queue options; each site in the network overview reads its own settings.<\/li>\n<li>Fixed: counts of 1,000 or more read correctly (1,234 notices), a one-click fix or an Undo cannot be sent twice by a second click, an older count no longer replaces a newer one, Test all runs one loop at a time, and the redirect import panel can take a second file.<\/li>\n<li>New: an area whose last scan could not finish says so on its row, above its findings and on the Overview, with the date it first failed, until a scan completes it. The older results stay, and scans that fail or are cancelled no longer push the last good scan out of \"Scans to keep\".<\/li>\n<li>Changed: Add alt text that stopped part way is offered as Finish adding alt text. It needs no typing, uses the saved text, is also on the Media screen, and a new scan keeps the finding until every page has the text.<\/li>\n<li>Fixed: before a media file is moved to the trash, merged or deleted for good, Strata also reads the theme's stylesheets as they are now, so a file a stylesheet started to use after the last scan is kept. When it cannot read them all, it keeps a file the media scan never saw and asks for a Media scan first.<\/li>\n<li>Fixed (Pro): History and alerts no longer report earlier findings as new on the first complete scan after an incomplete one, and History says when nothing is listed as resolved for an area, and why.<\/li>\n<li>Fixed: a sitemap that could not be read is noted in the Links results, and findings on pages only that sitemap listed are not reported as resolved.<\/li>\n<li>Changed: Add redirect is not offered for the site root or for an address too long for a redirect rule (over 255 characters), and (Pro) the 404 list says why a row takes no redirect.<\/li>\n<li>Fixed: a restricted CSS snippet keeps its row in the CSS summary with a line that says why its numbers are not shown, and a finding no longer shows values copied from a snippet or theme file (returned text, CSS values, versions, error messages, the path on the server) to a user who may not open that code.<\/li>\n<li>Fixed: a page whose Elementor data is broken is named in a finding with an edit link, instead of holding several areas back without a word.<\/li>\n<li>Fixed: a theme folder that is a link, or sits outside wp-content\/themes, is read, and stylesheets in its vendor, node_modules and tests folders count as uses of a media file. What Strata cannot read there is said in the unread notice.<\/li>\n<li>Fixed: Undo of a fix that was undone while it was still running puts the last place back and says so, Activity no longer shows such a row as In progress, and Remove shortcode leaves and names a widget it cannot tell apart from another with the same text.<\/li>\n<li>Fixed (Pro): Undo of image resizing keeps a copy that a theme stylesheet, a setting, a user profile or a category still names, and puts a long queue back in several steps instead of one long request. Stop in the resize queue is never lost.<\/li>\n<li>Fixed (Pro): scheduled scans keep their day after a manual early run, and two page loads at the same moment no longer queue two scans.<\/li>\n<li>Fixed (Pro): Check again shows a refused address in the admin language, and a check that fails inside the plan answers \"Not checked\" and is never run without its protection.<\/li>\n<li>Fixed: the conflicts scan reports two versions of a library loaded by one source, no longer reports a parent theme's comments, attachment and page templates that the child theme replaces, and keeps an ignore when a finding's list of copies changes for that reason.<\/li>\n<li>Fixed: the PHP check no longer flags a call to an imported function or one guarded in an elseif, and is faster on large PHP files. A leftover shortcode used only on a post without a title is checked on the live page.<\/li>\n<li>Fixed (Pro): the handover report counts redirect rules without loading them, prints no Update column for must-use plugins and drop-ins, and answers \"Run a scan first.\" for a scan that is not there. The snapshot export of a very large site uses little memory.<\/li>\n<li>Fixed: the menu counts stay when a refresh fails, the same message announced twice is read twice by a screen reader, and Undo the rest cannot be sent twice for one batch.<\/li>\n<li>Changed: Pro crawls without a page limit unless you set one.<\/li>\n<\/ul>\n\n<h4>1.0.4<\/h4>\n\n<ul>\n<li>WP-CLI: <code>wp strata report --output<\/code> writes inside the uploads folder only (a bare name goes to uploads\/strata-site-audit\/), as WordPress.org requires of plugins.<\/li>\n<li>The bundled parser libraries ship without their build tools and old tests.<\/li>\n<\/ul>\n\n<h4>1.0.3<\/h4>\n\n<ul>\n<li>Upgrade page: the feature panel is as wide as the row of plans, its text is left-aligned, and the page loads its current styles after an update instead of a cached copy.<\/li>\n<li>Account page: now in Strata's design too.<\/li>\n<\/ul>\n\n<h4>1.0.2<\/h4>\n\n<ul>\n<li>Upgrade page: the plan's features are listed once, below the four sizes, instead of under every card, and nothing is cut off at the card edge.<\/li>\n<\/ul>\n\n<h4>1.0.1<\/h4>\n\n<ul>\n<li>The Upgrade page inside the plugin now follows Strata's design and shows yearly prices, as the website does.<\/li>\n<li>Media scan: an image a page uses is always counted as used, whichever order the scan reads files and pages in. Before, a long scan could list a used image as \"likely unused\" or drop its missing alt text finding, a different set of images on each scan, so scan history showed the same findings as new and then resolved again and again.<\/li>\n<\/ul>\n\n<h4>1.0.0<\/h4>\n\n<ul>\n<li>First release.<\/li>\n<\/ul>","raw_excerpt":"Map every Elementor asset, theme file, CSS rule, snippet and media file. Find broken links, bad redirects, conflicts and media waste. Fix with undo.","jetpack_sharing_enabled":true,"_links":{"self":[{"href":"https:\/\/wordpress.org\/plugins\/wp-json\/wp\/v2\/plugin\/386631","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/wordpress.org\/plugins\/wp-json\/wp\/v2\/plugin"}],"about":[{"href":"https:\/\/wordpress.org\/plugins\/wp-json\/wp\/v2\/types\/plugin"}],"replies":[{"embeddable":true,"href":"https:\/\/wordpress.org\/plugins\/wp-json\/wp\/v2\/comments?post=386631"}],"author":[{"embeddable":true,"href":"https:\/\/wordpress.org\/plugins\/wp-json\/wporg\/v1\/users\/sorenford"}],"wp:attachment":[{"href":"https:\/\/wordpress.org\/plugins\/wp-json\/wp\/v2\/media?parent=386631"}],"wp:term":[{"taxonomy":"plugin_section","embeddable":true,"href":"https:\/\/wordpress.org\/plugins\/wp-json\/wp\/v2\/plugin_section?post=386631"},{"taxonomy":"plugin_tags","embeddable":true,"href":"https:\/\/wordpress.org\/plugins\/wp-json\/wp\/v2\/plugin_tags?post=386631"},{"taxonomy":"plugin_category","embeddable":true,"href":"https:\/\/wordpress.org\/plugins\/wp-json\/wp\/v2\/plugin_category?post=386631"},{"taxonomy":"plugin_contributors","embeddable":true,"href":"https:\/\/wordpress.org\/plugins\/wp-json\/wp\/v2\/plugin_contributors?post=386631"},{"taxonomy":"plugin_business_model","embeddable":true,"href":"https:\/\/wordpress.org\/plugins\/wp-json\/wp\/v2\/plugin_business_model?post=386631"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}