{"id":291388,"date":"2026-03-30T13:25:31","date_gmt":"2026-03-30T13:25:31","guid":{"rendered":"https:\/\/wordpress.org\/plugins\/wpstatic\/"},"modified":"2026-05-16T16:05:03","modified_gmt":"2026-05-16T16:05:03","slug":"statixly","status":"publish","type":"plugin","link":"https:\/\/ceb.wordpress.org\/plugins\/statixly\/","author":16824352,"comment_status":"closed","ping_status":"closed","template":"","meta":{"_crdt_document":"","version":"1.1.0","stable_tag":"1.1.0","tested":"6.9.4","requires":"6.2","requires_php":"7.4","requires_plugins":null,"header_name":"Statixly","header_author":"Anindya Sundar Mandal","header_description":"Generate a fast, secure, static HTML version of your WordPress website. Export to ZIP.","assets_banners_color":"","last_updated":"2026-05-16 16:05:03","external_support_url":"","external_repository_url":"","donate_link":"","header_plugin_uri":"","header_author_uri":"https:\/\/profiles.wordpress.org\/speedify","rating":0,"author_block_rating":0,"active_installs":10,"downloads":187,"num_ratings":0,"support_threads":0,"support_threads_resolved":0,"author_block_count":0,"sections":["description","installation","faq","changelog"],"tags":{"1.0.1":{"tag":"1.0.1","author":"speedify","date":"2026-03-30 13:25:06"},"1.0.2":{"tag":"1.0.2","author":"speedify","date":"2026-03-30 18:01:30"},"1.1.0":{"tag":"1.1.0","author":"speedify","date":"2026-05-16 16:05:03"}},"upgrade_notice":{"1.1.0":"<p>Recommended update. Improves release packaging checks and finalizes GPLv2-or-later licensing metadata.<\/p>"},"ratings":[],"assets_icons":[],"assets_banners":[],"assets_blueprints":{},"all_blocks":[],"tagged_versions":["1.0.1","1.0.2","1.1.0"],"block_files":[],"assets_screenshots":{"screenshot-1.png":{"filename":"screenshot-1.png","revision":3533894,"resolution":"1","location":"assets","locale":"","width":1696,"height":1058},"screenshot-2.png":{"filename":"screenshot-2.png","revision":3533894,"resolution":"2","location":"assets","locale":"","width":1246,"height":546},"screenshot-3.png":{"filename":"screenshot-3.png","revision":3533894,"resolution":"3","location":"assets","locale":"","width":1246,"height":356},"screenshot-4.png":{"filename":"screenshot-4.png","revision":3533894,"resolution":"4","location":"assets","locale":"","width":1246,"height":636},"screenshot-5.png":{"filename":"screenshot-5.png","revision":3533894,"resolution":"5","location":"assets","locale":"","width":1246,"height":636}},"screenshots":{"1":"'Make Static Site' screen","2":"Track the export progress in real-time with Export Status Log.","3":"Export, Download, and Delete buttons.","4":"General Settings","5":"Security Settings \u2192 HTTP Basic Auth"},"jetpack_post_was_ever_published":false},"plugin_section":[],"plugin_tags":[146,169165,247,600,57011],"plugin_category":[52,54],"plugin_contributors":[167418],"plugin_business_model":[],"class_list":["post-291388","plugin","type-plugin","status-publish","hentry","plugin_tags-cache","plugin_tags-jamstack","plugin_tags-performance","plugin_tags-security","plugin_tags-static-site-generator","plugin_category-performance","plugin_category-security-and-spam-protection","plugin_contributors-speedify","plugin_committers-speedify"],"banners":[],"icons":{"svg":false,"icon":"https:\/\/s.w.org\/plugins\/geopattern-icon\/statixly.svg","icon_2x":false,"generated":true},"screenshots":[{"src":"https:\/\/ps.w.org\/statixly\/assets\/screenshot-1.png?rev=3533894","caption":"'Make Static Site' screen"},{"src":"https:\/\/ps.w.org\/statixly\/assets\/screenshot-2.png?rev=3533894","caption":"Track the export progress in real-time with Export Status Log."},{"src":"https:\/\/ps.w.org\/statixly\/assets\/screenshot-3.png?rev=3533894","caption":"Export, Download, and Delete buttons."},{"src":"https:\/\/ps.w.org\/statixly\/assets\/screenshot-4.png?rev=3533894","caption":"General Settings"},{"src":"https:\/\/ps.w.org\/statixly\/assets\/screenshot-5.png?rev=3533894","caption":"Security Settings \u2192 HTTP Basic Auth"}],"raw_content":"<!--section=description-->\n<p>Statixly converts your WordPress site into a fully static HTML website \u2014 eliminating PHP, databases, and server-side dependencies from your production host. The result: faster load times, a reduced attack surface, and the freedom to deploy on any web server or CDN.<\/p>\n\n<p>\u26a1 Benefits: Why Statixly?<\/p>\n\n<ul>\n<li>\ud83d\ude80 <strong>Faster page loads:<\/strong> Static websites load 3 to 5 times faster than WordPress sites by serving pre-rendered HTML without PHP execution or database queries.<\/li>\n<li>\ud83d\udd12 <strong>Reduced attack surface:<\/strong> Static sites have no login page, database connection, or server-side code on your production host. This eliminates primary attack vectors such as SQL injection and brute-force attacks.<\/li>\n<li>\ud83c\udf0d <strong>Deploy anywhere:<\/strong> Host on Cloudflare Pages, GitHub Pages, AWS S3, or any standard web server. No PHP, MySQL, or WordPress dependency is required in production.<\/li>\n<li>\ud83d\udcb0 <strong>Lower hosting costs:<\/strong> Static files can be served from free or low-cost CDN-based hosts instead of a PHP-capable server. Managed WordPress hosting typically costs $25 to $100 or more per month, while static hosting is often free or very affordable on platforms like Cloudflare Pages or Netlify, which offer unmetered bandwidth on their free tiers.<\/li>\n<li>\ud83d\udee0\ufe0f <strong>Zero production maintenance:<\/strong> Your live site is pure HTML. With no WordPress running in production, there are no security patches, plugin updates, or server-side dependencies to manage on your public host.<\/li>\n<li>\ud83c\udf9b\ufe0f <strong>Live export control:<\/strong> Start, pause, resume, or abort the export from the admin screen and monitor progress in real time.<\/li>\n<li>\ud83d\udce6 <strong>One-click download:<\/strong> The entire static site is packaged as a ZIP file, ready for extraction and upload.<\/li>\n<li>\ud83d\udd04 <strong>Auto-resume on interruption:<\/strong> If internet connectivity drops during export, the job resumes automatically once the connection is restored.<\/li>\n<\/ul>\n\n<p>\ud83d\udd0d SEO Benefits<\/p>\n\n<ul>\n<li>\ud83d\udcca <strong>Better Core Web Vitals scores:<\/strong> Static HTML loads faster, directly improving Time to First Byte (TTFB) and Largest Contentful Paint (LCP), which are metrics Google uses as ranking signals.<\/li>\n<li>\ud83e\udd16 <strong>Improved crawl efficiency:<\/strong> Search engine bots fetch plain HTML instantly, with no server-side rendering delay. This signals high crawl health and allows engines to index content more effectively.<\/li>\n<li>\u23f1\ufe0f <strong>Higher uptime reliability:<\/strong> Static files served from a CDN experience near-zero downtime, helping avoid Google ranking penalties for frequently unreachable URLs.<\/li>\n<li>\ud83e\uddf9 <strong>No WordPress footprint in production:<\/strong> Common WordPress paths such as \/wp-admin and \/wp-login.php are removed from the live site, reducing spam crawling and preserving crawl budget.<\/li>\n<\/ul>\n\n<p>The admin screen provides the following capabilities:<\/p>\n\n<ul>\n<li>Start a static export job<\/li>\n<li>Monitor live export status in real time<\/li>\n<li>Pause, resume, or abort the export<\/li>\n<li>Download the generated static site as a ZIP file<\/li>\n<li>Download or delete export logs<\/li>\n<li>Delete temporary export directories<\/li>\n<\/ul>\n\n<p>Statixly systematically crawls website URLs, renders content, rewrites links for static output, and packages the results for deployment.<\/p>\n\n<h4>Typical workflow<\/h4>\n\n<ol>\n<li>First, build and set up your site as you normally do in WordPress. Make sure all content and settings are finalized before exporting.<\/li>\n<li>Next, open the Statixly admin screen and select the <strong>Generate\/Export Static Site<\/strong> button to start the export process.<\/li>\n<li>After the export finishes, download the generated ZIP file containing your static website.<\/li>\n<li>Extract the files from the ZIP archive. Upload the extracted files to your chosen static hosting provider. For example, use your website's document root on a web hosting server, Cloudflare Pages,  GitHub Pages, AWS S3, etc.<\/li>\n<\/ol>\n\n<h4>Important Requirements<\/h4>\n\n<ul>\n<li>If the current WordPress website is on example.com and you want to make the static website available on example.com as well, move the WordPress website to a subdomain and protect it with HTTP Basic Auth, or move it to your localhost computer using a backup and migration plugin such as Duplicator.<\/li>\n<li>Permalink structure must not be set to <strong>Plain<\/strong>.<\/li>\n<li>Keep the Statixly export tab open while export is running.<\/li>\n<\/ul>\n\n<h4>Not for e-commerce, etc.<\/h4>\n\n<p>Statixly will not work on any WordPress website that generates content dynamically based on user interaction, e.g., an e-commerce or subscription-based website.<\/p>\n\n<p>Contact forms will not work. The contact form requires immediate backend processing upon submission by the user. However, this is on our roadmap.<\/p>\n\n<h4>HTTP Basic Authentication<\/h4>\n\n<p>If your WordPress install is protected with HTTP Basic Auth (for example, a staging or subdomain install), enter your credentials under <strong>Statixly \u2192 Settings \u2192 Security<\/strong> so Statixly can authenticate during export.<\/p>\n\n<p>Credentials are encrypted before storage and never exposed in logs or diagnostics output.<\/p>\n\n<h4>Advanced Opt-In Options<\/h4>\n\n<p>Statixly includes two optional safety\/compatibility flags, both disabled by default and configurable from the <strong>Statixly \u2192 Settings \u2192 General<\/strong> screen.<\/p>\n\n<ul>\n<li><p><strong>Allow insecure local HTTP fetch<\/strong>\nEnable this only for expired, invalid, or self-signed certificate environments where same-site HTTPS fetches fail TLS verification. This turns off SSL verification only for local same-site fetches.<\/p><\/li>\n<li><p><strong>Prefer temporary storage above document root<\/strong>\nEnable this only if you explicitly want Statixly working directories outside <code>wp_upload_dir()<\/code>. By default, Statixly uses WordPress uploads paths. Please note that this option works only if the intended directory is readable and writable by the web server user.<\/p><\/li>\n<\/ul>\n\n<p>Both flags can also be set directly in the options table if preferred.<\/p>\n\n<h4>Need Help?<\/h4>\n\n<p>If you face any issues after installing the Statixly plugin, please open a support ticket with detailed information, and we will be happy to fix the issue.<\/p>\n\n<!--section=installation-->\n<ol>\n<li>Download the 'Statixly' plugin zip file by clicking the 'Download' button at the top-right of this page. Upload the plugin to the plugins folder (<code>wp-content\/plugins\/<\/code>).<\/li>\n<li>Or install it via <strong>WordPress Admin \u2192 Plugins \u2192 Add Plugin \u2192 In the 'Search Plugins' field search for \"Statixly\" \u2192 Once you find the \"Statixly\" plugin, click the \u2018Install Now\u2019 button.<\/strong><\/li>\n<li>Click the 'Activate' button, or activate the plugin from the <strong>Installed Plugins<\/strong> screen.<\/li>\n<li>Open <strong>Statixly<\/strong> from the WordPress admin menu.<\/li>\n<li>Click the <strong>Generate\/Export Static Site<\/strong> button and wait for completion.<\/li>\n<li>Download the ZIP and deploy the exported files to your chosen host.<\/li>\n<\/ol>\n\n<!--section=faq-->\n<dl>\n<dt id=\"does%20this%20plugin%20replace%20my%20live%20wordpress%20site%20automatically%3F\"><h3>Does this plugin replace my live WordPress site automatically?<\/h3><\/dt>\n<dd><p>No. Statixly creates a static export for you to deploy manually.<\/p><\/dd>\n<dt id=\"why%20can%20i%20not%20start%20an%20export%3F\"><h3>Why can I not start an export?<\/h3><\/dt>\n<dd><p>Common reasons:\n* Your permalink structure is set to <strong>Plain<\/strong>.\n* File permissions prevent writing inside the uploads\/temp directories.\n* Another export job is currently active.<\/p><\/dd>\n<dt id=\"can%20i%20pause%20and%20continue%20later%3F\"><h3>Can I pause and continue later?<\/h3><\/dt>\n<dd><p>Yes. Export jobs can be paused and resumed from the export screen.<\/p><\/dd>\n<dt id=\"can%20i%20download%20export%20diagnostics%2Flogs%3F\"><h3>Can I download export diagnostics\/logs?<\/h3><\/dt>\n<dd><p>Yes. Logs can be downloaded using the <strong>Download Export Log<\/strong> button, and you can include system information using the 'Include\/Append system information' checkbox.<\/p><\/dd>\n\n<\/dl>\n\n<!--section=changelog-->\n<h4>1.1.0<\/h4>\n\n<ul>\n<li>Feature: Added HTTP Basic Authentication support \u2014 Statixly now forwards Basic Auth headers during export, enabling crawling of password-protected WordPress installs.<\/li>\n<li>Feature: Introduced a Settings page in the admin interface with General and Security tabs.<\/li>\n<li>Feature: Advanced opt-in flags (statixly_allow_insecure_local_http_fetch and statixly_prefer_temp_storage_above_document_root) are now configurable directly from the admin Settings page, without requiring manual database edits.<\/li>\n<li>Security: HTTP Basic Auth credentials are encrypted before storage and decrypted only at runtime.<\/li>\n<li>Security: HTTP Basic Auth credentials are redacted from diagnostics output and export logs.<\/li>\n<li>Improvement: Settings query now excludes transient options, improving performance and ensuring cleaner data retrieval.<\/li>\n<li>Fix: Logger now returns accurate content-length headers and preserves log content correctly in plain text responses.<\/li>\n<li>Maintenance: Relicensed plugin metadata and license text to GPLv2 or later.<\/li>\n<\/ul>\n\n<h4>1.0.2<\/h4>\n\n<ul>\n<li>Fix: Uninstall flow now reliably loads required helper functions before cleanup.<\/li>\n<li>Improvement: Kept uninstall cleanup logic centralized by reusing existing helper APIs instead of duplicating cleanup behavior.<\/li>\n<\/ul>\n\n<h4>1.0.1<\/h4>\n\n<ul>\n<li>Renamed plugin to Statixly.<\/li>\n<li>Security: Added path traversal detection to reject unsafe URLs during export.<\/li>\n<li>Security: Blocked export of PHP and other server-side executable files.<\/li>\n<li>Security: Added symlink escape prevention during log file and directory deletion.<\/li>\n<li>Security: Refactored SSL verification handling for local HTTP fetches \u2014 insecure fetches are now only permitted when statixly_allow_insecure_local_http_fetch is explicitly and correctly set.<\/li>\n<li>Feature: Export job now enqueues allowed static files from the site document root, excluding PHP files.<\/li>\n<li>Feature: Implemented auto-resume functionality when connectivity is restored during an export, with configurable retry attempts and delays.<\/li>\n<li>Feature: Added support for two advanced opt-in flags \u2014 statixly_prefer_temp_storage_above_document_root and statixly_allow_insecure_local_http_fetch.<\/li>\n<li>Improvement: Introduced statixly_get_option_bool helper for consistent boolean option retrieval across the codebase.<\/li>\n<li>Improvement: Minimum required PHP and WordPress versions are now defined as plugin constants for more maintainable version checks.<\/li>\n<li>Improvement: Upload directory handling now supports explicit opt-in for above-webroot temporary storage with clearer error logging.<\/li>\n<li>Improvement: Uninstaller now removes directories based on the configured upload path for thorough cleanup.<\/li>\n<li>Improvement: Installation timestamp now uses WordPress current_time() for consistency.<\/li>\n<li>Improvement: Few export log messages in the admin UI are now translatable.<\/li>\n<li>Fix: Moved admin.css to assets\/css\/ and updated the enqueue reference accordingly.<\/li>\n<\/ul>\n\n<h4>1.0.0<\/h4>\n\n<ul>\n<li>Initial stable release.<\/li>\n<li>Added admin export interface with live status updates.<\/li>\n<li>Added start, pause, resume, and abort export controls.<\/li>\n<li>Added static ZIP download and export log download.<\/li>\n<li>Added tools to delete logs and temporary export directories.<\/li>\n<\/ul>","raw_excerpt":"Convert your WordPress site into a blazing-fast, static HTML site and deploy anywhere \u2014 no PHP, no database, reduced attack surface in production.","jetpack_sharing_enabled":true,"_links":{"self":[{"href":"https:\/\/ceb.wordpress.org\/plugins\/wp-json\/wp\/v2\/plugin\/291388","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/ceb.wordpress.org\/plugins\/wp-json\/wp\/v2\/plugin"}],"about":[{"href":"https:\/\/ceb.wordpress.org\/plugins\/wp-json\/wp\/v2\/types\/plugin"}],"replies":[{"embeddable":true,"href":"https:\/\/ceb.wordpress.org\/plugins\/wp-json\/wp\/v2\/comments?post=291388"}],"author":[{"embeddable":true,"href":"https:\/\/ceb.wordpress.org\/plugins\/wp-json\/wporg\/v1\/users\/speedify"}],"wp:attachment":[{"href":"https:\/\/ceb.wordpress.org\/plugins\/wp-json\/wp\/v2\/media?parent=291388"}],"wp:term":[{"taxonomy":"plugin_section","embeddable":true,"href":"https:\/\/ceb.wordpress.org\/plugins\/wp-json\/wp\/v2\/plugin_section?post=291388"},{"taxonomy":"plugin_tags","embeddable":true,"href":"https:\/\/ceb.wordpress.org\/plugins\/wp-json\/wp\/v2\/plugin_tags?post=291388"},{"taxonomy":"plugin_category","embeddable":true,"href":"https:\/\/ceb.wordpress.org\/plugins\/wp-json\/wp\/v2\/plugin_category?post=291388"},{"taxonomy":"plugin_contributors","embeddable":true,"href":"https:\/\/ceb.wordpress.org\/plugins\/wp-json\/wp\/v2\/plugin_contributors?post=291388"},{"taxonomy":"plugin_business_model","embeddable":true,"href":"https:\/\/ceb.wordpress.org\/plugins\/wp-json\/wp\/v2\/plugin_business_model?post=291388"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}