[{"data":1,"prerenderedAt":-1},["ShallowReactive",2],{"$fo9WMxZYKwJ0IuDTKYwvtVXtANA-YAQx3w9V5fvD4jPY":3,"$fh3h3h3ZqPSe9CqeM_jATdHJua2V8lFO1FGGzcIhG6Ro":339,"$fSZy1NpNhrrKKfAY9lOQovIl1j0B2eFbM2EK8IstffXE":343},{"slug":4,"name":5,"version":6,"author":7,"author_profile":8,"description":9,"short_description":10,"active_installs":11,"downloaded":12,"rating":11,"num_ratings":11,"last_updated":13,"tested_up_to":14,"requires_at_least":15,"requires_php":16,"tags":17,"homepage":23,"download_link":24,"security_score":25,"vuln_count":11,"unpatched_count":11,"last_vuln_date":26,"fetched_at":27,"discovery_status":28,"vulnerabilities":29,"developer":30,"crawl_stats":26,"alternatives":37,"analysis":143,"fingerprints":307},"storagepress-self-storage","StoragePress","1.0.1","JG Web Development","https:\u002F\u002Fprofiles.wordpress.org\u002Fjtgraham38\u002F","\u003Cp>StoragePress is a powerful new plugin for WordPress websites, designed to be a one-stop shop for owners of self-storage and mini-storage businesses to list their storage units for sale online. Easily installable on a business’ existing WordPress website, it makes it easy for owners of storage businesses to connect their physical business to their online presence. StoragePress is fully compatible with the WordPress block editor, allowing business owners to customize their listing interface to their heart’s content.  A series of premium add-ons allow business onwers who are serious aboput their online presence to extract even more value from their website.\u003C\u002Fp>\n\u003Ch3>3rd-Party Libraries\u003C\u002Fh3>\n\u003Cp>This plugin makes use of one third party javascript library, AlpineJS, for reactivity on certain parts of the admin interface.  It is a lightweight library that makes it easy to sprinkle in reactive variables and client-side DOM rendering throughout an application.  View its source code here: https:\u002F\u002Fgithub.com\u002Falpinejs\u002Falpine\u003C\u002Fp>\n","A plugin designed to let owner's of self-storage businesses list their storage units for rent on their WordPress website.",0,959,"2025-10-22T12:59:00.000Z","6.8.5","4.7","7.0",[18,19,20,21,22],"mini-storage","self-storage","storage","storage-business","storage-unit","https:\u002F\u002Fjacob-t-graham.com\u002Fstoragepress\u002F","https:\u002F\u002Fdownloads.wordpress.org\u002Fplugin\u002Fstoragepress-self-storage.1.0.1.zip",100,null,"2026-04-16T10:56:18.058Z","no_bundle",[],{"slug":31,"display_name":7,"profile_url":8,"plugin_count":32,"total_installs":33,"avg_security_score":25,"avg_patch_time_days":34,"trust_score":35,"computed_at":36},"jtgraham38",4,10,30,94,"2026-07-15T04:01:34.263Z",[38,58,83,102,123],{"slug":39,"name":40,"version":41,"author":42,"author_profile":43,"description":44,"short_description":45,"active_installs":46,"downloaded":47,"rating":25,"num_ratings":48,"last_updated":49,"tested_up_to":50,"requires_at_least":51,"requires_php":52,"tags":53,"homepage":55,"download_link":56,"security_score":57,"vuln_count":11,"unpatched_count":11,"last_vuln_date":26,"fetched_at":27},"responsive-mini-storage-calculator","Responsive Mini Storage Calculator","1.04","newdestinymedia","https:\u002F\u002Fprofiles.wordpress.org\u002Fnewdestinymedia\u002F","\u003Cp>Designed for mini-storage or self-storage websites, this plugin adds a form to a page via shortcode, and calculates the approximate total volume of storage space for common household items.\u003C\u002Fp>\n\u003Cp>Written in HTML 5 and CSS3, the form is fully responsive. It will create three columns when viewed on larger monitors, two columns on tablet-sized displays, and one column on smartphones. When viewed on smartphone, the form will invoke the number pad on the device.\u003C\u002Fp>\n\u003Cp>\u003Cstrong>Language Support:\u003C\u002Fstrong> The plugin interface in only in English.\u003C\u002Fp>\n\u003Ch4>Some of the features added by this plugin\u003C\u002Fh4>\n\u003Cul>\n\u003Cli>Adds a 3 column form.\u003C\u002Fli>\n\u003Cli>Supports 3 levels of responsive design.\u003C\u002Fli>\n\u003Cli>Written in HTML 5, CSS3.\u003C\u002Fli>\n\u003C\u002Ful>\n\u003Ch3>Modifying CSS styles for this plugin\u003C\u002Fh3>\n\u003Cp>Best to use Firebug in the Firefox browser to test style edits, then make the changes by adding classes to the bottom of your theme’s stylesheet.\u003C\u002Fp>\n\u003Cp>Included style rules are:\u003C\u002Fp>\n\u003Cp>msc-minicalc-wrapper {\u003C\u002Fp>\n\u003Cp>}\u003C\u002Fp>\n\u003Cp>.msc-heading {\u003Cbr \u002F>\n}\u003C\u002Fp>\n\u003Cp>.msc-item {\u003Cbr \u002F>\n}\u003C\u002Fp>\n\u003Cp>.msc-item-text{\u003Cbr \u002F>\n}\u003C\u002Fp>\n","This plugin adds a form to a page via shortcode, and calculates the approximate total volume of storage space for common household items.",80,2534,1,"2014-05-08T23:46:00.000Z","3.9.40","3.3","",[54],"mini-storage-calculator","http:\u002F\u002Fwww.newdestinymedia.com","https:\u002F\u002Fdownloads.wordpress.org\u002Fplugin\u002Fresponsive-mini-storage-calculator.1.04.zip",85,{"slug":59,"name":60,"version":61,"author":62,"author_profile":63,"description":64,"short_description":65,"active_installs":66,"downloaded":67,"rating":11,"num_ratings":11,"last_updated":68,"tested_up_to":69,"requires_at_least":70,"requires_php":71,"tags":72,"homepage":78,"download_link":79,"security_score":80,"vuln_count":81,"unpatched_count":81,"last_vuln_date":82,"fetched_at":27},"6storage-rentals","6Storage Rentals","2.20.2","6Storage","https:\u002F\u002Fprofiles.wordpress.org\u002Fsixstorage\u002F","\u003Cp>6Storage Rentals is an easy-to-use, straightforward plugin that allows onboarding tenants to book their required storage\u002Ffacility on your website.\u003Cbr \u002F>\nServing in 40+ countries worldwide, 6Storage offers a range of products and each product is unique and versatile in its own way. 6Storage Rentals is a free version of the plugin provided by 6Storage.\u003Cbr \u002F>\nExperience the efficiency of our easy-to-install plugin, customize as per your business and simplify tasks for your tenants. Installing premium 6Storage plugin facilitates embedding these functionalities to your website:\u003C\u002Fp>\n\u003Cpre>\u003Ccode>  Book\u002FRent units directly \n  Access to lease information\n  View summary of invoices and transactions \n  Process payments, add\u002Fedit card details for payments\n\u003C\u002Fcode>\u003C\u002Fpre>\n\u003Cp>6Storage management software and premium plugin supports various storage types as below.\u003C\u002Fp>\n\u003Cpre>\u003Ccode>  Self-Storage\n  RV\u002FBoat Storage\n  Vehicle Storage \n  Containers Storage\n  Car Storage\n  Lock-Ups Storage \n  Drive-Up Storage\n  Mobile self-storage\n\u003C\u002Fcode>\u003C\u002Fpre>\n\u003Cp>Reach us at help@6storage.com for premium plugin and management portal demo and support. For more details, visit \u003Ca href=\"https:\u002F\u002Fwww.6storage.com\u002F?utm_source=wordpress.org\" rel=\"nofollow ugc\">6storage.com\u003C\u002Fa>\u003C\u002Fp>\n\u003Cp>Free version:\u003Cbr \u002F>\n      Leads\u003C\u002Fp>\n\u003Cpre>\u003Ccode>        Free Shortcodes:\n              [six-storage-enquiry-form] --> Leads\n\u003C\u002Fcode>\u003C\u002Fpre>\n\u003Cp>Premium version:\u003Cbr \u002F>\n                 1. Dynamic unit display\u003Cbr \u002F>\n                 2. Filter and sort by\u003Cbr \u002F>\n                 3. Online move-in\u003Cbr \u002F>\n                 4. Payment integration\u003Cbr \u002F>\n                 5. Pay later\u003Cbr \u002F>\n                 6. Move-in approval\u003Cbr \u002F>\n                 7. Reservation\u003Cbr \u002F>\n                 8. Group units by size\u003Cbr \u002F>\n                 9. Insurance integration\u003Cbr \u002F>\n                 10. Custom fields\u003Cbr \u002F>\n                 11. Services\u003Cbr \u002F>\n                 12. Merchandise\u003Cbr \u002F>\n                 13. Move-in approval\u003C\u002Fp>\n\u003Cp>Premium Shortcodes:\u003Cbr \u002F>\n            When request to connect 6storage API raised, pages with below shortcodes will be genared automatically.\u003Cbr \u002F>\n                  [six_storage_online_storage_move_in_shortcode_form] –> Move In\u003Cbr \u002F>\n                  [six_storage_online_dashboard] –> Dashboard\u003Cbr \u002F>\n                  [six_storage_online_sign_in] –> Sign In\u003Cbr \u002F>\n                  [six_storage_online_sign_up] –> Sign Up\u003Cbr \u002F>\n                  [six_storage_online_storage_thank_you_page]  –> Thank You\u003C\u002Fp>\n","Showcase self storage units, rent the units, reserve the units and 6storage has the enterprise portal to manage the tenants.",50,14172,"2026-03-12T06:24:00.000Z","6.9.4","5.5","7.3",[73,74,75,76,77],"6storage","rental-management-software","rental-units-booking","self-storage-software","storage-management-software","https:\u002F\u002Fwww.6storage.com\u002Fself-storage-software\u002F","https:\u002F\u002Fdownloads.wordpress.org\u002Fplugin\u002F6storage-rentals.2.20.2.zip",37,5,"2026-06-08 15:06:25",{"slug":84,"name":85,"version":86,"author":87,"author_profile":88,"description":89,"short_description":90,"active_installs":11,"downloaded":91,"rating":11,"num_ratings":11,"last_updated":92,"tested_up_to":69,"requires_at_least":93,"requires_php":94,"tags":95,"homepage":99,"download_link":100,"security_score":25,"vuln_count":11,"unpatched_count":11,"last_vuln_date":26,"fetched_at":101},"landtech-self-storage-api","LandTech Self Storage API","1.0.0","Randy Breland","https:\u002F\u002Fprofiles.wordpress.org\u002Fbrelandr\u002F","\u003Cp>LandTech Self Storage API is a free WordPress plugin that integrates with the WebSelfStorage API to display storage facility information and available units on your WordPress site. Perfect for self storage facility website owners who want to showcase their facility and available storage units.\u003C\u002Fp>\n\u003Ch4>Features\u003C\u002Fh4>\n\u003Cul>\n\u003Cli>\u003Cstrong>API Integration\u003C\u002Fstrong>: Connect to WebSelfStorage API v3 to retrieve facility data\u003C\u002Fli>\n\u003Cli>\u003Cstrong>Location Display\u003C\u002Fstrong>: Show facility information including address, phone, and hours of operation\u003C\u002Fli>\n\u003Cli>\u003Cstrong>Available Units\u003C\u002Fstrong>: Display available storage units with pricing and specifications\u003C\u002Fli>\n\u003Cli>\u003Cstrong>Easy Configuration\u003C\u002Fstrong>: Simple admin interface to configure your API key and Entity ID\u003C\u002Fli>\n\u003Cli>\u003Cstrong>Responsive Design\u003C\u002Fstrong>: Mobile-friendly display of facility information and units\u003C\u002Fli>\n\u003Cli>\u003Cstrong>Shortcode Support\u003C\u002Fstrong>: Use \u003Ccode>[landtech_self_storage]\u003C\u002Fcode> shortcode to display facility information anywhere on your site\u003C\u002Fli>\n\u003C\u002Ful>\n\u003Ch4>Premium Version\u003C\u002Fh4>\n\u003Cp>For advanced features like reservation forms, multi-facility support, waiting lists, analytics, and more, check out \u003Ca href=\"https:\u002F\u002Flandtechwebdesigns.com\u002Fproduct\u002Fself-storage-api-premium\u002F\" rel=\"nofollow ugc\">LandTech Self Storage API Premium\u003C\u002Fa>.\u003C\u002Fp>\n\u003Ch4>Installation\u003C\u002Fh4>\n\u003Col>\n\u003Cli>Upload the plugin files to the \u003Ccode>\u002Fwp-content\u002Fplugins\u002Flandtech-self-storage-api\u003C\u002Fcode> directory, or install the plugin through the WordPress plugins screen directly\u003C\u002Fli>\n\u003Cli>Activate the plugin through the ‘Plugins’ screen in WordPress\u003C\u002Fli>\n\u003Cli>Go to LandTech Storage > Settings and enter your WebSelfStorage API key and Entity ID\u003C\u002Fli>\n\u003Cli>Use the \u003Ccode>[landtech_self_storage]\u003C\u002Fcode> shortcode on any page or post to display your facility information\u003C\u002Fli>\n\u003C\u002Fol>\n\u003Ch4>Frequently Asked Questions\u003C\u002Fh4>\n\u003Ch4>How do I get an API key?\u003C\u002Fh4>\n\u003Cp>You can obtain your API key from your WebSelfStorage account. Contact your storage network provider for more information about accessing the WebSelfStorage API.\u003C\u002Fp>\n\u003Ch4>What is an Entity ID?\u003C\u002Fh4>\n\u003Cp>The Entity ID is a unique identifier for your storage facility. It’s typically a 6-digit number (e.g., 019109). If you’re unsure of your Entity ID, you can leave it blank and the plugin will attempt to retrieve it from the API.\u003C\u002Fp>\n\u003Ch4>Can I use this with multiple facilities?\u003C\u002Fh4>\n\u003Cp>The free version supports a single facility. For multi-facility support, please check out \u003Ca href=\"https:\u002F\u002Flandtechwebdesigns.com\u002Fproduct\u002Fself-storage-api-premium\u002F\" rel=\"nofollow ugc\">LandTech Self Storage API Premium\u003C\u002Fa>.\u003C\u002Fp>\n\u003Ch4>What API version does this use?\u003C\u002Fh4>\n\u003Cp>The plugin uses WebSelfStorage API v3 (API version 2.7).\u003C\u002Fp>\n\u003Ch4>How do I display facility information on my site?\u003C\u002Fh4>\n\u003Cp>Use the \u003Ccode>[landtech_self_storage]\u003C\u002Fcode> shortcode on any page or post. You can customize what’s displayed using the shortcode attributes:\u003Cbr \u002F>\n* \u003Ccode>show_location=\"true\"\u003C\u002Fcode> – Display facility location information (default: true)\u003Cbr \u002F>\n* \u003Ccode>show_units=\"true\"\u003C\u002Fcode> – Display available units (default: true)\u003C\u002Fp>\n\u003Cp>Example: \u003Ccode>[landtech_self_storage show_location=\"true\" show_units=\"true\"]\u003C\u002Fcode>\u003C\u002Fp>\n\u003Ch4>Changelog\u003C\u002Fh4>\n\u003Ch4>1.0.0\u003C\u002Fh4>\n\u003Cul>\n\u003Cli>Initial release\u003C\u002Fli>\n\u003Cli>Basic API integration with WebSelfStorage API v3\u003C\u002Fli>\n\u003Cli>Location information display\u003C\u002Fli>\n\u003Cli>Available units display\u003C\u002Fli>\n\u003Cli>Admin settings page for API configuration\u003C\u002Fli>\n\u003Cli>Shortcode support for displaying facility information\u003C\u002Fli>\n\u003C\u002Ful>\n\u003Ch3>External services\u003C\u002Fh3>\n\u003Cp>This plugin connects to an external API to display storage facility information and available units on your site. This is required for the plugin to function.\u003C\u002Fp>\n\u003Cp>\u003Cstrong>WebSelfStorage API (U-Haul Self-Storage Affiliate Network)\u003C\u002Fstrong> — https:\u002F\u002Fapi.webselfstorage.com\u003C\u002Fp>\n\u003Cul>\n\u003Cli>\u003Cstrong>What it is and what it is used for:\u003C\u002Fstrong> The WebSelfStorage API is a service provided by U-Haul (eMove, Inc. d\u002Fb\u002Fa U-Haul Self Storage Affiliate Network). The plugin uses it to retrieve your storage facility’s location details (address, phone, hours) and available storage units with pricing so you can show that information on your WordPress site via the shortcode.\u003C\u002Fli>\n\u003Cli>\u003Cstrong>What data is sent and when:\u003C\u002Fstrong> The plugin sends your \u003Cstrong>API key\u003C\u002Fstrong> (in the request header) and your \u003Cstrong>facility Entity ID\u003C\u002Fstrong> (in the request URL) to the API. Specifically, it sends the Entity ID to endpoints such as \u003Ccode>\u002Fv3\u002Flocation\u002F\u003C\u002Fcode> and \u003Ccode>\u002Fv3\u002Fmovein\u002F\u003C\u002Fcode> to fetch location details (address, phone, hours) and available units with pricing. No site visitor personal data is sent. Data is sent when a page or post containing the shortcode is loaded, and when an administrator uses the settings page (e.g. testing the connection).\u003C\u002Fli>\n\u003Cli>\u003Cstrong>Terms of Service and Privacy Policy (required links):\u003C\u002Fstrong>\n\u003Cul>\n\u003Cli>Terms of Service \u002F End User License Agreement: https:\u002F\u002Fwebselfstorage.com\u002FEndUserLicenseAgreement\u003C\u002Fli>\n\u003Cli>Privacy Policy: https:\u002F\u002Fwebselfstorage.com\u002FPrivacyNotice\u003C\u002Fli>\n\u003Cli>U-Haul legal and privacy: https:\u002F\u002Fwww.uhaul.com\u002FLegal\u002F\u003C\u002Fli>\n\u003C\u002Ful>\n\u003C\u002Fli>\n\u003C\u002Ful>\n","Integrate with the WebSelfStorage API to display storage facility info and available units on your WordPress site.",194,"2026-03-14T17:27:00.000Z","5.0","7.2",[96,97,19,20,98],"facilities","landtech","webselfstorage","https:\u002F\u002Fwordpress.org\u002Fplugins\u002Flandtech-self-storage-api\u002F","https:\u002F\u002Fdownloads.wordpress.org\u002Fplugin\u002Flandtech-self-storage-api.1.0.0.zip","2026-04-06T09:54:40.288Z",{"slug":103,"name":104,"version":105,"author":106,"author_profile":107,"description":108,"short_description":109,"active_installs":110,"downloaded":111,"rating":11,"num_ratings":11,"last_updated":112,"tested_up_to":14,"requires_at_least":113,"requires_php":114,"tags":115,"homepage":121,"download_link":122,"security_score":25,"vuln_count":11,"unpatched_count":11,"last_vuln_date":26,"fetched_at":27},"milesweb-tools","MilesWeb Tools","1.0.2","MilesWeb","https:\u002F\u002Fprofiles.wordpress.org\u002Fmilesweb\u002F","\u003Cp>\u003Cstrong>MilesWeb Tools\u003C\u002Fstrong> is a powerful WordPress plugin designed to enhance your site’s functionality and security. It helps you manage security settings, maintenance mode, enforce HTTPS, disable file editing, log user activity, track storage usage, and provides detailed insights into active and inactive themes and plugins.\u003C\u002Fp>\n\u003Cp>Features:\u003C\u002Fp>\n\u003Cul>\n\u003Cli>Enable\u002Fdisable maintenance mode.\u003C\u002Fli>\n\u003Cli>Force HTTPS redirection.\u003C\u002Fli>\n\u003Cli>Disable file editing in the WordPress admin panel.\u003C\u002Fli>\n\u003Cli>Disable XML-RPC to prevent security vulnerabilities.\u003C\u002Fli>\n\u003Cli>Track user logins.\u003C\u002Fli>\n\u003Cli>Display active theme details and inactive theme storage usage.\u003C\u002Fli>\n\u003Cli>Show active\u002Finactive plugins, including their size, and memory usage.\u003C\u002Fli>\n\u003Cli>Identify outdated plugins and themes.\u003C\u002Fli>\n\u003C\u002Ful>\n\u003Ch3>Short Description\u003C\u002Fh3>\n\u003Cp>Manage security, maintenance, and user logging while monitoring storage usage in one plugin.\u003C\u002Fp>\n\u003Ch3>License & Credits\u003C\u002Fh3>\n\u003Cp>This plugin is licensed under GPLv2 or later. Contributions from the WordPress community are appreciated.\u003C\u002Fp>\n\u003Ch3>Support\u003C\u002Fh3>\n\u003Cp>For support, visit MilesWeb Support or the WordPress support forums.\u003C\u002Fp>\n","MilesWeb Tools is a powerful WordPress plugin designed to enhance your site's functionality and security. It helps you manage security settings,  &hellip;",9000,18895,"2025-07-25T11:31:00.000Z","5.6","7.4",[116,117,118,119,120],"maintenance","plugin-info","security","storage-usage","user-logging","https:\u002F\u002Fmilesweb.com","https:\u002F\u002Fdownloads.wordpress.org\u002Fplugin\u002Fmilesweb-tools.1.0.2.zip",{"slug":124,"name":125,"version":126,"author":127,"author_profile":128,"description":129,"short_description":130,"active_installs":131,"downloaded":132,"rating":35,"num_ratings":133,"last_updated":134,"tested_up_to":69,"requires_at_least":113,"requires_php":135,"tags":136,"homepage":141,"download_link":142,"security_score":25,"vuln_count":11,"unpatched_count":11,"last_vuln_date":26,"fetched_at":27},"advanced-media-offloader","Advanced Media Offloader","4.4.1","Masoud Golchin","https:\u002F\u002Fprofiles.wordpress.org\u002Fmasoudin\u002F","\u003Cp>\u003Cstrong>Advanced Media Offloader\u003C\u002Fstrong> helps you optimize your WordPress media handling by automatically uploading your media files to S3-compatible cloud storage services.\u003C\u002Fp>\n\u003Cp>Struggling with server space limitations? Want to improve your site’s performance by serving media through a CDN? This plugin handles the technical work of migrating your media to the cloud, rewriting URLs, and maintaining compatibility with your existing content.\u003C\u002Fp>\n\u003Ch4>Key Benefits\u003C\u002Fh4>\n\u003Cul>\n\u003Cli>Reduce server storage requirements and costs\u003C\u002Fli>\n\u003Cli>Decrease server load when serving media files\u003C\u002Fli>\n\u003Cli>Improve global site loading speeds when combined with CDN services\u003C\u002Fli>\n\u003Cli>Maintain full compatibility with WordPress media functions\u003C\u002Fli>\n\u003Cli>No need to modify existing content – URLs are automatically rewritten\u003C\u002Fli>\n\u003C\u002Ful>\n\u003Ch4>Supported Cloud Providers\u003C\u002Fh4>\n\u003Cul>\n\u003Cli>\u003Cstrong>Amazon S3\u003C\u002Fstrong> – The industry standard object storage service\u003C\u002Fli>\n\u003Cli>\u003Cstrong>Cloudflare R2\u003C\u002Fstrong> – S3-compatible storage with zero egress fees\u003C\u002Fli>\n\u003Cli>\u003Cstrong>DigitalOcean Spaces\u003C\u002Fstrong> – Simple object storage from DigitalOcean\u003C\u002Fli>\n\u003Cli>\u003Cstrong>Backblaze B2\u003C\u002Fstrong> – Affordable S3-compatible storage with predictable pricing\u003C\u002Fli>\n\u003Cli>\u003Cstrong>Wasabi\u003C\u002Fstrong> – Hot cloud storage with predictable pricing\u003C\u002Fli>\n\u003Cli>\u003Cstrong>MinIO\u003C\u002Fstrong> – Any S3-compatible storage (MinIO, OVHcloud Object Storage, Scaleway, Linode, Vultr, IBM COS, and more)\u003C\u002Fli>\n\u003C\u002Ful>\n\u003Cp>Not sure which provider to choose? Check our \u003Ca href=\"https:\u002F\u002Fwpfitter.com\u002Fblog\u002Fbest-cloud-storage-for-wordpress-media-pricing-comparison\u002F?utm_source=wp-plugin&utm_medium=readme&utm_campaign=advanced-media-offloader&utm_content=pricing-comparison\" rel=\"nofollow ugc\">cloud storage pricing comparison\u003C\u002Fa> for real-world cost breakdowns.\u003C\u002Fp>\n\u003Ch3>Features\u003C\u002Fh3>\n\u003Cul>\n\u003Cli>\u003Cstrong>Automatic Offloading\u003C\u002Fstrong> – New media uploads are automatically sent to your cloud storage\u003C\u002Fli>\n\u003Cli>\u003Cstrong>Smart Policies\u003C\u002Fstrong> – Create advanced rules to control exactly which files are offloaded and when, giving you granular control over your storage. (\u003Ca href=\"https:\u002F\u002Fwpfitter.com\u002Fblog\u002Fimplementing-smart-retention-policies-with-advanced-media-offloader\u002F?utm_source=wp-plugin&utm_medium=readme&utm_campaign=advanced-media-offloader&utm_content=smart-policies\" rel=\"nofollow ugc\">Learn more\u003C\u002Fa>)\u003C\u002Fli>\n\u003Cli>\u003Cstrong>Bulk Migration & WP CLI\u003C\u002Fstrong> – Easily move existing media to the cloud with powerful command-line support for bulk operations and automation (\u003Ca href=\"https:\u002F\u002Fwpfitter.com\u002Fblog\u002Fadvmo-bulk-offload-with-wp-cli?utm_source=wp-plugin&utm_medium=readme&utm_campaign=advanced-media-offloader&utm_content=bulk-offload-cli\" rel=\"nofollow ugc\">Learn more\u003C\u002Fa>)\u003C\u002Fli>\n\u003Cli>\u003Cstrong>Thumbnail Regeneration Compatibility\u003C\u002Fstrong> – Compatible with WP-CLI \u003Ccode>wp media regenerate\u003C\u002Fcode> command and the Regenerate Thumbnails plugin. Regenerated thumbnails automatically offload to cloud storage. Note: Not compatible with Full Cloud Migration retention policy.\u003C\u002Fli>\n\u003Cli>\u003Cstrong>Smart URL Rewriting\u003C\u002Fstrong> – All media URLs are automatically rewritten to serve from cloud storage\u003C\u002Fli>\n\u003Cli>\u003Cstrong>File Versioning\u003C\u002Fstrong> – Add unique timestamps to media paths to prevent caching issues\u003C\u002Fli>\n\u003Cli>\u003Cstrong>Flexible Retention\u003C\u002Fstrong> – Choose to keep local copies or remove them after successful offloading\u003C\u002Fli>\n\u003Cli>\u003Cstrong>Mirror Deletion\u003C\u002Fstrong> – Optionally remove files from cloud storage when deleted from WordPress\u003C\u002Fli>\n\u003Cli>\u003Cstrong>Custom Paths\u003C\u002Fstrong> – Configure custom path prefixes in your cloud storage\u003C\u002Fli>\n\u003Cli>\u003Cstrong>Image Optimizer Compatibility\u003C\u002Fstrong> – Works with \u003Ca href=\"https:\u002F\u002Fwordpress.org\u002Fplugins\u002Fwebp-uploads\u002F\" rel=\"ugc\">Modern Image Formats\u003C\u002Fa> (recommended), Imagify, and EWWW Image Optimizer. Optimized WebP and AVIF files are automatically offloaded alongside originals. (\u003Ca href=\"https:\u002F\u002Fwpfitter.com\u002Fblog\u002Fewww-imagify-support-added-to-advanced-media-offloader\u002F?utm_source=wp-plugin&utm_medium=readme&utm_campaign=advanced-media-offloader&utm_content=image-optimizer-compatibility\" rel=\"nofollow ugc\">Learn more\u003C\u002Fa>)\u003C\u002Fli>\n\u003Cli>\u003Cstrong>Developer-Friendly\u003C\u002Fstrong> – Extensive action and filter hooks for extending functionality (\u003Ca href=\"https:\u002F\u002Fwpfitter.com\u002Fdocuments\u002Fadvanced-media-offloader\u002Fdevelopment-hooks\u002F?utm_source=wp-plugin&utm_medium=readme&utm_campaign=advanced-media-offloader&utm_content=developer-hooks\" rel=\"nofollow ugc\">View Documentation\u003C\u002Fa>)\u003C\u002Fli>\n\u003C\u002Ful>\n\u003Ch4>Developer Documentation\u003C\u002Fh4>\n\u003Cp>For developers looking to extend or customize the plugin behavior, we provide comprehensive documentation for all available hooks:\u003C\u002Fp>\n\u003Cp>\u003Cstrong>\u003Ca href=\"https:\u002F\u002Fwpfitter.com\u002Fdocuments\u002Fadvanced-media-offloader\u002Fdevelopment-hooks\u002F?utm_source=wp-plugin&utm_medium=readme&utm_campaign=advanced-media-offloader&utm_content=developer-hooks\" rel=\"nofollow ugc\">View Developer Hooks Documentation \u003Cspan aria-hidden=\"true\" class=\"wp-exclude-emoji\">→\u003C\u002Fspan>\u003C\u002Fa>\u003C\u002Fstrong>\u003C\u002Fp>\n\u003Cp>Quick example – skip offloading files larger than 5MB:\u003C\u002Fp>\n\u003Cpre>\u003Ccode>add_filter('advmo_should_offload_attachment', function($should_offload, $attachment_id) {\n    $file = get_attached_file($attachment_id);\n    if ($file && filesize($file) > 5 * 1024 * 1024) {\n        return false;\n    }\n    return $should_offload;\n}, 10, 2);\n\u003C\u002Fcode>\u003C\u002Fpre>\n\u003Ch3>Configuration\u003C\u002Fh3>\n\u003Cp>For security, cloud provider credentials are stored in your \u003Ccode>wp-config.php\u003C\u002Fcode> file rather than the database.\u003C\u002Fp>\n\u003Cp>\u003Cstrong>Note:\u003C\u002Fstrong> Domain and endpoint URLs will automatically be prefixed with \u003Ccode>https:\u002F\u002F\u003C\u002Fcode> if you don’t include it, but we recommend always including the full URL for clarity.\u003C\u002Fp>\n\u003Cp>\u003Cstrong>\u003Ca href=\"https:\u002F\u002Fdevelopers.cloudflare.com\u002Fr2\u002F\" rel=\"nofollow ugc\">Cloudflare R2\u003C\u002Fa> Configuration\u003C\u002Fstrong>\u003C\u002Fp>\n\u003Cpre>\u003Ccode>    define('ADVMO_CLOUDFLARE_R2_KEY', 'your-access-key');\n    define('ADVMO_CLOUDFLARE_R2_SECRET', 'your-secret-key');\n    define('ADVMO_CLOUDFLARE_R2_BUCKET', 'your-bucket-name');\n    define('ADVMO_CLOUDFLARE_R2_DOMAIN', 'your-domain-url');\n    define('ADVMO_CLOUDFLARE_R2_ENDPOINT', 'your-endpoint-url');\n\u003C\u002Fcode>\u003C\u002Fpre>\n\u003Cp>\u003Cstrong>\u003Ca href=\"https:\u002F\u002Fwww.digitalocean.com\u002Fproducts\u002Fspaces\" rel=\"nofollow ugc\">DigitalOcean Spaces\u003C\u002Fa> Configuration\u003C\u002Fstrong>\u003C\u002Fp>\n\u003Cpre>\u003Ccode>    define('ADVMO_DOS_KEY', 'your-access-key');\n    define('ADVMO_DOS_SECRET', 'your-secret-key');\n    define('ADVMO_DOS_BUCKET', 'your-bucket-name');\n    define('ADVMO_DOS_DOMAIN', 'your-domain-url');\n    define('ADVMO_DOS_ENDPOINT', 'your-endpoint-url');\n\u003C\u002Fcode>\u003C\u002Fpre>\n\u003Cp>\u003Cstrong>\u003Ca href=\"https:\u002F\u002Fmin.io\u002Fdocs\u002Fminio\u002Flinux\u002Fadministration\u002Fidentity-access-management\u002Fminio-user-management.html\" rel=\"nofollow ugc\">MinIO\u003C\u002Fa> Configuration\u003C\u002Fstrong>\u003C\u002Fp>\n\u003Cp>Use this for any storage that supports the S3 API via a custom endpoint (e.g., MinIO, OVHcloud Object Storage, Scaleway, Linode, Vultr, IBM COS). Select this if your provider isn’t listed separately.\u003C\u002Fp>\n\u003Cpre>\u003Ccode>    define('ADVMO_MINIO_KEY', 'your-access-key');\n    define('ADVMO_MINIO_SECRET', 'your-secret-key');\n    define('ADVMO_MINIO_BUCKET', 'your-bucket-name');\n    define('ADVMO_MINIO_DOMAIN', 'your-domain-url');\n    define('ADVMO_MINIO_ENDPOINT', 'your-endpoint-url');\n    define('ADVMO_MINIO_PATH_STYLE_ENDPOINT', false); \u002F\u002F Optional. Set to true if your MinIO server requires path-style URLs (most self-hosted MinIO setups). Default is false.\n    define('ADVMO_MINIO_REGION', 'your-bucket-region'); \u002F\u002F Optional. Set your MinIO bucket region if needed. Default is 'us-east-1'.\n\u003C\u002Fcode>\u003C\u002Fpre>\n\u003Cp>\u003Cstrong>\u003Ca href=\"https:\u002F\u002Faws.amazon.com\u002Fs3\u002F\" rel=\"nofollow ugc\">Amazon S3\u003C\u002Fa> Configuration\u003C\u002Fstrong>\u003C\u002Fp>\n\u003Cpre>\u003Ccode>    define('ADVMO_AWS_KEY', 'your-access-key');\n    define('ADVMO_AWS_SECRET', 'your-secret-key');\n    define('ADVMO_AWS_BUCKET', 'your-bucket-name');\n    define('ADVMO_AWS_REGION', 'your-bucket-region');\n    define('ADVMO_AWS_DOMAIN', 'your-domain-url');\n\u003C\u002Fcode>\u003C\u002Fpre>\n\u003Cp>\u003Cstrong>\u003Ca href=\"https:\u002F\u002Fwww.backblaze.com\u002Fapidocs\u002Fintroduction-to-the-s3-compatible-api\" rel=\"nofollow ugc\">Backblaze B2\u003C\u002Fa> Configuration\u003C\u002Fstrong>\u003C\u002Fp>\n\u003Cpre>\u003Ccode>    define('ADVMO_BACKBLAZE_B2_KEY', 'your-application-key-id');\n    define('ADVMO_BACKBLAZE_B2_SECRET', 'your-application-key');\n    define('ADVMO_BACKBLAZE_B2_BUCKET', 'your-bucket-name');\n    define('ADVMO_BACKBLAZE_B2_REGION', 'your-bucket-region');\n    define('ADVMO_BACKBLAZE_B2_DOMAIN', 'your-domain-url');\n    define('ADVMO_BACKBLAZE_B2_ENDPOINT', 'your-endpoint-url');\n\u003C\u002Fcode>\u003C\u002Fpre>\n\u003Cp>\u003Cstrong>\u003Ca href=\"https:\u002F\u002Fdocs.wasabi.com\u002Fdocs\u002Fcreating-a-new-access-key\" rel=\"nofollow ugc\">Wasabi\u003C\u002Fa> Configuration\u003C\u002Fstrong>\u003C\u002Fp>\n\u003Cpre>\u003Ccode>    define('ADVMO_WASABI_KEY', 'your-access-key');\n    define('ADVMO_WASABI_SECRET', 'your-secret-key');\n    define('ADVMO_WASABI_BUCKET', 'your-bucket-name');\n    define('ADVMO_WASABI_REGION', 'your-bucket-region');\n    define('ADVMO_WASABI_DOMAIN', 'your-domain-url');\n\u003C\u002Fcode>\u003C\u002Fpre>\n\u003Ch3>Using the S3 PHP SDK\u003C\u002Fh3>\n\u003Cp>The Advanced Media Offloader utilizes the AWS SDK for PHP to interact with S3-compatible cloud storage. This powerful SDK provides an easy-to-use API for managing your cloud storage operations, including file uploads, downloads, and more. The SDK is maintained by Amazon Web Services, ensuring high compatibility and performance with S3 services.\u003C\u002Fp>\n\u003Cp>For more information about the AWS SDK for PHP, visit:\u003Cbr \u002F>\n\u003Ca href=\"https:\u002F\u002Faws.amazon.com\u002Fsdk-for-php\u002F\" rel=\"nofollow ugc\">https:\u002F\u002Faws.amazon.com\u002Fsdk-for-php\u002F\u003C\u002Fa>\u003C\u002Fp>\n","Save server space & speed up your site by automatically offloading media to Amazon S3, Cloudflare R2 & more.",4000,39052,43,"2026-03-11T11:11:00.000Z","8.1",[137,138,139,140,20],"cloudflare","media-library","offload","s3","https:\u002F\u002Fwpfitter.com\u002Fplugins\u002Fadvanced-media-offloader\u002F","https:\u002F\u002Fdownloads.wordpress.org\u002Fplugin\u002Fadvanced-media-offloader.4.4.1.zip",{"attackSurface":144,"codeSignals":258,"taintFlows":281,"riskAssessment":301,"analyzedAt":306},{"hooks":145,"ajaxHandlers":240,"restRoutes":241,"shortcodes":255,"cronEvents":256,"entryPointCount":257,"unprotectedCount":48},[146,152,156,160,166,170,173,176,180,183,187,191,195,199,203,207,211,214,217,221,224,227,230,233,237],{"type":147,"name":148,"callback":149,"file":150,"line":151},"action","admin_init","init_settings","jg_wp_plugin_kit\u002FJGWPPlugin.php",75,{"type":147,"name":153,"callback":154,"file":150,"line":155},"admin_enqueue_scripts","register_admin_resources",78,{"type":147,"name":157,"callback":158,"file":150,"line":159},"wp_enqueue_scripts","register_front_end_resources",81,{"type":161,"name":162,"callback":163,"priority":33,"file":164,"line":165},"filter","script_loader_tag","defer_alpinejs","storagepress.php",87,{"type":147,"name":167,"callback":168,"file":164,"line":169},"admin_menu","storagepress_setup_menu",90,{"type":147,"name":171,"callback":172,"file":164,"line":35},"init","register_storage_units_post_type",{"type":147,"name":167,"callback":174,"file":164,"line":175},"remove_unit_meta_metabox",95,{"type":161,"name":177,"callback":178,"priority":33,"file":164,"line":179},"default_post_metadata","set_unit_default_thumbnail",96,{"type":147,"name":171,"callback":181,"file":164,"line":182},"create_unit_default_thumbnail",97,{"type":161,"name":184,"callback":185,"file":164,"line":186},"manage_posts_columns","storage_units_columns",105,{"type":147,"name":188,"callback":189,"priority":33,"file":164,"line":190},"manage_posts_custom_column","storage_units_custom_column",106,{"type":147,"name":192,"callback":193,"file":164,"line":194},"edit_form_after_editor","add_inputs_to_storage_unit_create_form",109,{"type":161,"name":196,"callback":197,"file":164,"line":198},"enter_title_here","change_title_label",110,{"type":147,"name":200,"callback":201,"file":164,"line":202},"save_post","save_storage_unit_custom_fields",113,{"type":161,"name":204,"callback":205,"file":164,"line":206},"single_template","register_single_template",116,{"type":161,"name":208,"callback":209,"file":164,"line":210},"archive_template","register_archive_template",117,{"type":147,"name":171,"callback":212,"file":164,"line":213},"register_custom_blocks",120,{"type":147,"name":171,"callback":215,"file":164,"line":216},"create_storage_unit_listing_page",123,{"type":147,"name":218,"callback":219,"file":164,"line":220},"rest_api_init","register_rest_routes",126,{"type":147,"name":218,"callback":222,"file":164,"line":223},"register_reserve_unit_route",129,{"type":147,"name":171,"callback":225,"file":164,"line":226},"allow_registration",132,{"type":147,"name":157,"callback":228,"file":164,"line":229},"enqueue_reserve_unit_scripts_on_listing_page",135,{"type":147,"name":167,"callback":231,"file":164,"line":232},"add_inquiries_list_page",138,{"type":147,"name":234,"callback":235,"file":164,"line":236},"admin_notices","show_reservation_notices",139,{"type":147,"name":157,"callback":238,"file":164,"line":239},"register_storagepress_window_object",142,[],[242,249],{"namespace":243,"route":244,"methods":245,"callback":247,"permissionCallback":247,"file":164,"line":248},"storagepress\u002Fv1","\u002Freserve-unit",[246],"POST","closure",210,{"namespace":243,"route":250,"methods":251,"callback":247,"permissionCallback":253,"file":164,"line":254},"\u002Fbusiness-details",[252],"GET","__return_true",263,[],[],2,{"dangerousFunctions":259,"sqlUsage":260,"outputEscaping":262,"fileOperations":257,"externalRequests":11,"nonceChecks":279,"capabilityChecks":257,"bundledLibraries":280},[],{"prepared":11,"raw":11,"locations":261},[],{"escaped":194,"rawEcho":263,"locations":264},6,[265,268,270,273,276,277],{"file":266,"line":66,"context":267},"blocks\u002Fstorage-unit-business-detail-block\u002Fsrc\u002Frender.php","raw output",{"file":266,"line":269,"context":267},53,{"file":271,"line":272,"context":267},"blocks\u002Fstorage-unit-meta-block\u002Fsrc\u002Frender.php",59,{"file":274,"line":275,"context":267},"blocks\u002Fstorage-unit-reserve-block\u002Fsrc\u002Frender.php",17,{"file":274,"line":34,"context":267},{"file":274,"line":278,"context":267},62,3,[],[282],{"entryPoint":283,"graph":284,"unsanitizedCount":11,"severity":300},"\u003Cstoragepress_reservation_inquiries_page> (elements\u002Fstoragepress_reservation_inquiries_page.php:0)",{"nodes":285,"edges":297},[286,291],{"id":287,"type":288,"label":289,"file":290,"line":66},"n0","source","$_POST (x2)","elements\u002Fstoragepress_reservation_inquiries_page.php",{"id":292,"type":293,"label":294,"file":290,"line":295,"wp_function":296},"n1","sink","echo() [XSS]",108,"echo",[298],{"from":287,"to":292,"sanitized":299},true,"low",{"summary":302,"deductions":303},"The storagepress-self-storage plugin exhibits a generally strong security posture, with a notable absence of critical vulnerabilities in its static analysis and historical data.  The plugin effectively utilizes prepared statements for SQL queries and boasts a high percentage of properly escaped output, significantly mitigating common attack vectors.  The lack of known CVEs and critical taint flows further reinforces this positive assessment.  However, a single REST API route that lacks a permission callback presents a potential entry point for unauthorized access or data manipulation.  While the total attack surface is small, this unprotected endpoint warrants attention as it bypasses standard WordPress authorization mechanisms.  Overall, the plugin demonstrates good security practices, but this single unprotected REST API route introduces a tangible, albeit localized, risk that should be addressed.",[304],{"reason":305,"points":33},"Unprotected REST API route","2026-04-16T13:47:46.817Z",{"wat":308,"direct":324},{"assetPaths":309,"generatorPatterns":316,"scriptPaths":317,"versionParams":318},[310,311,312,313,314,315],"\u002Fwp-content\u002Fplugins\u002Fstoragepress-self-storage\u002Fjg_wp_plugin_kit\u002FJGWPPlugin.php","\u002Fwp-content\u002Fplugins\u002Fstoragepress-self-storage\u002Falpine.min.js","\u002Fwp-content\u002Fplugins\u002Fstoragepress-self-storage\u002Fsettings.css","\u002Fwp-content\u002Fplugins\u002Fstoragepress-self-storage\u002Freservation_inquiries.css","\u002Fwp-content\u002Fplugins\u002Fstoragepress-self-storage\u002Ffeature_options_field.css","\u002Fwp-content\u002Fplugins\u002Fstoragepress-self-storage\u002Fstorage_unit_meta_inputs.css",[],[311],[319,320,321,322,323],"storagepress-self-storage\u002Falpine.min.js?ver=","storagepress-self-storage\u002Fsettings.css?ver=","storagepress-self-storage\u002Freservation_inquiries.css?ver=","storagepress-self-storage\u002Ffeature_options_field.css?ver=","storagepress-self-storage\u002Fstorage_unit_meta_inputs.css?ver=",{"cssClasses":325,"htmlComments":327,"htmlAttributes":332,"restEndpoints":334,"jsGlobals":337,"shortcodeOutput":338},[326],"storagepress-settings",[328,329,330,331],"NOTE: there may be an issue with getting 404 errors when registering the storage units post type, a quick fix is to visit the settings->permalinks page, and click save changes","NOTE: but I may need a better solution in the future.","NOTE: this is actually a more complex feature than I thought, because the quick edit form is created by cloning an element using js on the client side,","NOTE: so this leads to displaying incorrect default values in the quick edit form",[333],"data-storagepress-settings",[335,336],"\u002Fwp-json\u002Fstoragepress\u002Fv1\u002Fbusiness-details","\u002Fwp-json\u002Fstoragepress\u002Fv1\u002Freserve-unit",[],[],{"error":299,"url":340,"statusCode":341,"statusMessage":342,"message":342},"http:\u002F\u002Flocalhost\u002Fapi\u002Fplugins\u002Fstoragepress-self-storage\u002Fbundle",404,"no bundle for this plugin yet",{"slug":4,"current_version":6,"total_versions":257,"versions":344},[345,351],{"version":6,"download_url":24,"svn_tag_url":346,"released_at":26,"has_diff":347,"diff_files_changed":348,"diff_lines":26,"trac_diff_url":349,"vulnerabilities":350,"is_current":299},"https:\u002F\u002Fplugins.svn.wordpress.org\u002Fstoragepress-self-storage\u002Ftags\u002F1.0.1\u002F",false,[],"https:\u002F\u002Fplugins.trac.wordpress.org\u002Fchangeset?old_path=%2Fstoragepress-self-storage%2Ftags%2F1.0.0&new_path=%2Fstoragepress-self-storage%2Ftags%2F1.0.1",[],{"version":86,"download_url":352,"svn_tag_url":353,"released_at":26,"has_diff":347,"diff_files_changed":354,"diff_lines":26,"trac_diff_url":26,"vulnerabilities":355,"is_current":347},"https:\u002F\u002Fdownloads.wordpress.org\u002Fplugin\u002Fstoragepress-self-storage.1.0.0.zip","https:\u002F\u002Fplugins.svn.wordpress.org\u002Fstoragepress-self-storage\u002Ftags\u002F1.0.0\u002F",[],[]]