{"id":357832,"date":"2026-09-19T13:57:47","date_gmt":"2026-09-19T13:57:47","guid":{"rendered":"https:\/\/wordpress.org\/plugins\/maintain-hero-monitor\/"},"modified":"2026-09-19T14:03:42","modified_gmt":"2026-09-19T14:03:42","slug":"maintain-hero-monitor","status":"publish","type":"plugin","link":"https:\/\/wordpress.org\/plugins\/maintain-hero-monitor\/","author":7718829,"comment_status":"closed","ping_status":"closed","template":"","meta":{"version":"1.0.28","stable_tag":"1.0.28","tested":"7.1.1","requires":"6.2","requires_php":"7.4","requires_plugins":null,"header_name":"Maintain Hero Monitor","header_author":"WP Maintain Hero","header_description":"A practical WordPress website health dashboard with core health, SEO, security, accessibility, and site-wide broken-link crawling.","assets_banners_color":"","last_updated":"2026-09-19 14:03:42","external_support_url":"","external_repository_url":"","donate_link":"","header_plugin_uri":"https:\/\/wpmaintainhero.com\/maintain-hero-monitor\/","header_author_uri":"https:\/\/wpmaintainhero.com\/","rating":0,"author_block_rating":0,"active_installs":0,"downloads":43,"num_ratings":0,"support_threads":0,"support_threads_resolved":0,"author_block_count":0,"sections":["description","installation","faq","changelog"],"tags":{"1.0.28":{"tag":"1.0.28","author":"stimsonm","date":"2026-09-19 14:03:42","revision":3703345}},"upgrade_notice":[],"ratings":[],"assets_icons":{"icon-128x128.png":{"filename":"icon-128x128.png","revision":3703342,"resolution":"128x128","location":"assets","locale":"","width":128,"height":128},"icon-256x256.png":{"filename":"icon-256x256.png","revision":3703342,"resolution":"256x256","location":"assets","locale":"","width":256,"height":256},"icon.svg":{"filename":"icon.svg","revision":3703342,"resolution":false,"location":"assets","locale":false}},"assets_banners":[],"assets_blueprints":{},"all_blocks":[],"tagged_versions":["1.0.28"],"block_files":[],"assets_screenshots":[],"screenshots":[]},"plugin_section":[],"plugin_tags":[1953,14279,600,31034,265547],"plugin_category":[34,54],"plugin_contributors":[281581],"plugin_business_model":[],"class_list":["post-357832","plugin","type-plugin","status-publish","hentry","plugin_tags-accessibility","plugin_tags-broken-links","plugin_tags-security","plugin_tags-seo-audit","plugin_tags-website-health","plugin_category-accessibility","plugin_category-security-and-spam-protection","plugin_contributors-stimsonm","plugin_committers-stimsonm"],"banners":[],"icons":{"svg":"https:\/\/ps.w.org\/maintain-hero-monitor\/assets\/icon.svg?rev=3703342","icon":"https:\/\/ps.w.org\/maintain-hero-monitor\/assets\/icon.svg?rev=3703342","icon_2x":false,"generated":false},"screenshots":[],"raw_content":"<!--section=description-->\n<p>Maintain Hero Monitor gives site owners a straightforward view of WordPress issues worth reviewing without requiring an external account or license.<\/p>\n\n<p>The free plugin includes:<\/p>\n\n<ul>\n<li>Website Health score and dashboard.<\/li>\n<li>Core WordPress configuration and update checks.<\/li>\n<li>Basic SEO visibility checks.<\/li>\n<li>Basic production\/security configuration checks.<\/li>\n<li>Media Library image alt-text review count.<\/li>\n<li>Site-wide broken-link crawl that follows discoverable internal pages and checks the links found across the site.<\/li>\n<li>Issue Center with plain-English recommendations.<\/li>\n<\/ul>\n\n<p>The free plugin does not send scan data to WP Maintain Hero. For advanced audits, vulnerability intelligence, client reports, health history, automatic monitoring, and repair tools, see <a href=\"https:\/\/wpmaintainhero.com\/maintain-hero-monitor-pro\/\">Maintain Hero Monitor Pro<\/a>, a separately distributed premium add-on. Premium code is not included in this WordPress.org package.<\/p>\n\n<h3>Privacy<\/h3>\n\n<p>The free plugin stores scan results in the site's own WordPress database. It does not create a WP Maintain Hero account and does not send site-health scan data to WP Maintain Hero.<\/p>\n\n<p>When an administrator manually runs the Broken Links scan, WordPress follows discoverable internal pages and makes HTTP requests to the links found across the site so their response status can be checked. This can include external links already present on those pages. Generous safety limits protect against runaway dynamically generated URLs on unusually large sites.<\/p>\n\n<p>The optional Upgrade to Pro links open the WP Maintain Hero website in a new browser tab.<\/p>\n\n<!--section=installation-->\n<ol>\n<li>Upload the plugin through Plugins &gt; Add New &gt; Upload Plugin, or install it from the WordPress Plugin Directory.<\/li>\n<li>Activate Maintain Hero Monitor.<\/li>\n<li>Open Maintain Hero in the WordPress admin menu.<\/li>\n<li>Select Run New Check to refresh the basic website health scan.<\/li>\n<\/ol>\n\n<!--section=faq-->\n<dl>\n<dt id=\"does%20the%20free%20plugin%20require%20a%20license%20key%3F\"><h3>Does the free plugin require a license key?<\/h3><\/dt>\n<dd><p>No. The WordPress.org version is functional without a license or external account.<\/p><\/dd>\n<dt id=\"does%20the%20free%20plugin%20send%20my%20website%20data%20to%20wp%20maintain%20hero%3F\"><h3>Does the free plugin send my website data to WP Maintain Hero?<\/h3><\/dt>\n<dd><p>No. Free health results are stored locally in WordPress.<\/p><\/dd>\n<dt id=\"why%20can%20an%20image%20with%20empty%20alt%20text%20be%20valid%3F\"><h3>Why can an image with empty alt text be valid?<\/h3><\/dt>\n<dd><p>Maintain Hero treats empty alt text as an accessibility issue until the image is explicitly approved as decorative. Informative images should receive useful alternative text; purely decorative images can be marked decorative and intentionally keep alt=\"\".<\/p><\/dd>\n<dt id=\"what%20does%20the%20broken-link%20scan%20check%3F\"><h3>What does the broken-link scan check?<\/h3><\/dt>\n<dd><p>The free edition follows discoverable internal pages and checks the links it finds across the site when an administrator manually starts the scan. Generous safety limits protect against runaway dynamically generated URLs on unusually large sites.<\/p><\/dd>\n<dt id=\"where%20are%20premium%20features%3F\"><h3>Where are premium features?<\/h3><\/dt>\n<dd><p>Premium functionality is delivered in a separate add-on distributed by WP Maintain Hero. Premium code is not included or disabled inside the WordPress.org package.<\/p><\/dd>\n\n<\/dl>\n\n<!--section=changelog-->\n<h4>1.0.28<\/h4>\n\n<ul>\n<li>Updated WordPress.org review compliance: admin JavaScript now loads through the WordPress enqueue system.<\/li>\n<li>Moved the top-level Maintain Hero admin menu to the standard plugin area.<\/li>\n<li>Updated the WordPress.org contributor username.<\/li>\n<\/ul>\n\n<h4>1.0.27<\/h4>\n\n<ul>\n<li>Issue Center findings now open the most relevant section when one is available. Accessibility findings link directly to Accessibility, and broken-link findings link directly to Broken Links.<\/li>\n<li>Replaced the generic Back to Dashboard issue action with a clearer context-aware primary action.<\/li>\n<\/ul>\n\n<h4>1.0.26<\/h4>\n\n<ul>\n<li>Empty alt text now lowers Accessibility Health until the image is fixed or explicitly marked decorative.<\/li>\n<li>Accessibility cards now label unresolved empty alt text as Missing alt text instead of a neutral review.<\/li>\n<li>Approved decorative images remain excluded from future penalties.<\/li>\n<\/ul>\n\n<h4>1.0.23<\/h4>\n\n<ul>\n<li>Renames restricted automated link checks to \u201cCould Not Verify,\u201d explains that blocked external checks may still work for visitors, and keeps them out of the Broken Links score.<\/li>\n<\/ul>\n\n<h4>1.0.22<\/h4>\n\n<ul>\n<li>Preserves the actual linked URL while using a separate normalized key for crawl deduplication, avoiding false trailing-slash redirects.<\/li>\n<li>Shows redirect destinations and HTTP status codes in Broken Links results.<\/li>\n<li>Adds plain-English redirect guidance, including how to clean up canonical, temporary, external, and direct redirects.<\/li>\n<li>Treats simple canonical redirects as informational rather than score deductions.<\/li>\n<\/ul>\n\n<h4>1.0.20<\/h4>\n\n<ul>\n<li>Removed the meta_key\/meta_value attachment query from Accessibility and reuse the already-loaded image list when building the approved-decorative list.<\/li>\n<\/ul>\n\n<h4>1.0.17<\/h4>\n\n<ul>\n<li>Align decorative-image review actions consistently on Accessibility cards.<\/li>\n<\/ul>\n\n<h4>1.0.13<\/h4>\n\n<ul>\n<li>Added a Free and Pro-compatible decorative-image approval workflow so intentional alt=\"\" images can be skipped in future scans and reviewed later.<\/li>\n<\/ul>\n\n<h4>1.0.12<\/h4>\n\n<ul>\n<li>Standardized health-score bands: 90-100 green, 70-89 yellow, and 0-69 red.<\/li>\n<li>Renamed HTTP Link findings to Insecure Link and separated broken, insecure, and redirect counts in the scan summary.<\/li>\n<li>Kept confirmed broken links weighted more heavily than insecure-link and redirect warnings.<\/li>\n<li><p>Accessibility now shows Review Recommended when empty alt text needs human review while preserving a 100 score when no confirmed failure is known.<\/p><\/li>\n<li><p>Removed the locked Media Audit page and sidebar item from Free so the Free navigation contains usable features only.<\/p><\/li>\n<li>Kept Media Audit as a Pro benefit on the dedicated Upgrade to Pro page.<\/li>\n<\/ul>\n\n<h4>1.0.10<\/h4>\n\n<ul>\n<li>Made full-site broken-link crawling a core Free feature.<\/li>\n<li>Updated Broken Links scoring and messaging to reflect site-wide coverage.<\/li>\n<li>Repositioned Pro around scheduled monitoring, alerts, history, reports, and remediation rather than basic crawl coverage.<\/li>\n<\/ul>\n\n<h4>1.0.6<\/h4>\n\n<ul>\n<li>Marked inline editing\/remediation actions as Pro while keeping Free findings, guidance, and viewing tools available.<\/li>\n<li>Refined customer-facing Pro upgrade messaging.<\/li>\n<\/ul>\n\n<h4>1.0.5<\/h4>\n\n<ul>\n<li>Replaced internal\/testing language on Pro-only feature screens with customer-facing upgrade messaging.<\/li>\n<li>Added a polished Media Usage Audit preview for Free users.<\/li>\n<li>Standardized Pro upgrade links to the Maintain Hero Monitor Pro page.<\/li>\n<\/ul>\n\n<h4>1.0.4<\/h4>\n\n<ul>\n<li>Prepared the free plugin for WordPress.org review.<\/li>\n<li>Reformatted the broken-link crawler for easier code review and maintenance.<\/li>\n<li>Updated Pro descriptions to remove cloud-history wording and better describe client reports and automatic monitoring.<\/li>\n<li>Restored the packaged admin stylesheet used by the plugin screens.<\/li>\n<li>Added clean uninstall handling for locally stored Free scan results.<\/li>\n<\/ul>\n\n<h4>1.0.3<\/h4>\n\n<ul>\n<li>Accessibility now lists every Media Library image with empty alt text.<\/li>\n<li>Added thumbnails, filenames, and direct Review image links.<\/li>\n<li>Added contextual Pro messaging for deeper page-level accessibility auditing.<\/li>\n<\/ul>\n\n<h4>1.0.2<\/h4>\n\n<ul>\n<li>Added score-based health colors to the dashboard ring.<\/li>\n<li>Fixed singular\/plural issue-count wording.<\/li>\n<\/ul>\n\n<h4>1.0.1<\/h4>\n\n<ul>\n<li>Expanded Broken Links to crawl up to 25 pages across the website.<\/li>\n<li>Replaced raw HTTP status codes with plain-language link states.<\/li>\n<li>Added source-page reporting and a problems-first results view.<\/li>\n<li>Added contextual Pro messaging for full-site and scheduled crawling.<\/li>\n<\/ul>\n\n<h4>1.0.0<\/h4>\n\n<ul>\n<li>Initial WordPress.org-ready release.<\/li>\n<li>Added Website Health dashboard and Issue Center.<\/li>\n<li>Added basic WordPress, SEO, security and accessibility checks.<\/li>\n<li>Added limited on-demand broken-link scanning.<\/li>\n<li>Kept premium functionality outside the WordPress.org package.<\/li>\n<\/ul>","raw_excerpt":"A WordPress website health dashboard with practical checks for SEO, security, accessibility, updates, configuration, and broken links.","jetpack_sharing_enabled":true,"_links":{"self":[{"href":"https:\/\/wordpress.org\/plugins\/wp-json\/wp\/v2\/plugin\/357832","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=357832"}],"author":[{"embeddable":true,"href":"https:\/\/wordpress.org\/plugins\/wp-json\/wporg\/v1\/users\/stimsonm"}],"wp:attachment":[{"href":"https:\/\/wordpress.org\/plugins\/wp-json\/wp\/v2\/media?parent=357832"}],"wp:term":[{"taxonomy":"plugin_section","embeddable":true,"href":"https:\/\/wordpress.org\/plugins\/wp-json\/wp\/v2\/plugin_section?post=357832"},{"taxonomy":"plugin_tags","embeddable":true,"href":"https:\/\/wordpress.org\/plugins\/wp-json\/wp\/v2\/plugin_tags?post=357832"},{"taxonomy":"plugin_category","embeddable":true,"href":"https:\/\/wordpress.org\/plugins\/wp-json\/wp\/v2\/plugin_category?post=357832"},{"taxonomy":"plugin_contributors","embeddable":true,"href":"https:\/\/wordpress.org\/plugins\/wp-json\/wp\/v2\/plugin_contributors?post=357832"},{"taxonomy":"plugin_business_model","embeddable":true,"href":"https:\/\/wordpress.org\/plugins\/wp-json\/wp\/v2\/plugin_business_model?post=357832"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}