Title: Masetti Static Site Publisher
Author: riccardo.mas
Published: <strong>October 30, 2026</strong>
Last modified: October 31, 2026

---

Search plugins

![](https://ps.w.org/masetti-static-site-publisher/assets/banner-772x250.png?rev
=3775556)

![](https://ps.w.org/masetti-static-site-publisher/assets/icon-256x256.png?rev=3775556)

# Masetti Static Site Publisher

 By [riccardo.mas](https://profiles.wordpress.org/riccardomas/)

[Download](https://downloads.wordpress.org/plugin/masetti-static-site-publisher.0.10.0.zip)

 * [Details](https://wordpress.org/plugins/masetti-static-site-publisher/#description)
 * [Reviews](https://wordpress.org/plugins/masetti-static-site-publisher/#reviews)
 * [Development](https://wordpress.org/plugins/masetti-static-site-publisher/#developers)

 [Support](https://wordpress.org/support/plugin/masetti-static-site-publisher/)

## Description

**This is a public beta (0.10.0).** Masetti Static Site Publisher lets you keep 
WordPress as the place where you write, and serve the public site as plain static
files from a cloud provider. There is no PHP and no database in front of your visitors:
the site is fast, cheap to run and has almost nothing to attack.

**What it does**

 * **Exports the site** by reading your own pages the way a visitor does (from your
   server to itself), so what is published is exactly what you see. You choose which
   content goes in, and a report tells you what was left out and why (forms, passwords,
   external links, search).
 * **Creates the hosting for you** with a guided setup: an Amazon Web Services stack(
   private S3 bucket behind CloudFront), a Cloudflare Worker with static assets,
   or a Netlify site. Nothing is created before you confirm a summary of what will
   be made.
 * **Shows what it costs** before you create anything, and lets you read what AWS
   really charged for a site afterwards. The estimates come from price tables inside
   the plugin, which can be out of date: they are an estimate, not a bill.
 * **Publishes versions** and lets you put an earlier one back. A check compares
   the live site with the version you think is online and tells you if anything 
   differs.
 * **Connects your own domain** on Cloudflare and Netlify: the plugin links the 
   name for you. On AWS the site answers on the address AWS gives it; connecting
   a domain there is not part of the plugin yet.
 * **Removes what it made**: deleting a site deletes only the resources the plugin
   created, never anything else in your account.
 * **Speaks your language**: the interface is translated (Italian included) and 
   follows the language of your WordPress.
 * **Lets AI agents look, not touch** (optional, off by default): an administrator
   can allow tools such as Claude Code, Codex or Cursor to read the state of the
   sites over MCP. An agent can only ask for an export or a publication; an administrator
   approves it in WordPress.

**Your cloud account, your data**

You use your own account with each provider. The credentials are stored encrypted
in your database, are never written to the log and are sent only to that provider.
The plugin is free and complete; there is no paid feature locked inside it.

**Good to know**

 * Dynamic features cannot run on a static site. Forms, comments, search and anything
   that needs PHP at the moment of the visit are not part of the published site (
   the export report lists what it found).
 * Creating resources at a cloud provider can cost money on your account. The plugin
   shows an estimate, asks for your confirmation and never creates anything on its
   own.
 * A page cache in front of WordPress can stop the export from reading your pages;
   the plugin tells you when it happens.

### Source code

The administration interface is built from the human-readable sources in the `js/`
directory
 (React with @wordpress/scripts, Tailwind CSS 4 and Radix UI primitives).
To rebuild it: npm install && npm run build. The build configuration (`postcss.config.
js`, `webpack.config.js`) is included.

### Third-party libraries

The plugin ships these open source libraries, all licensed under terms compatible
with the GPL
 (the Apache License 2.0 is compatible with version 3 of the GPL, which
the “or later” of the plugin license allows):

PHP, in `vendor/` and `vendor-prefixed/`:

 * AWS SDK for PHP (`aws/aws-sdk-php`, the official SDK), Apache License 2.0: https://
   aws.amazon.com/sdk-for-php/
 * Guzzle (`guzzlehttp/guzzle`, `guzzlehttp/psr7`, `guzzlehttp/promises`), PSR interfaces,
   jmespath.php and the Symfony polyfills and filesystem component, MIT license
 * AWS Common Runtime for PHP (`aws/aws-crt-php`), Apache License 2.0
 * Action Scheduler (`woocommerce/action-scheduler`), GPL-3.0-or-later

The AWS SDK and its dependencies are included unmodified, except that their namespaces
are prefixed
 with `ASBuilder\Vendor` (done with PHP-Scoper) so they cannot collide
with other plugins. third-party/composer.json and `third-party/composer.lock` list
the exact versions.

JavaScript, in the compiled administration interface:

 * Radix UI primitives (`radix-ui` and its dependencies), MIT license: https://www.
   radix-ui.com/
 * Tailwind CSS (build-time, generates the stylesheet), MIT license: https://tailwindcss.
   com/
 * shadcn/ui component patterns, adapted in `js/ui/`, MIT license: https://ui.shadcn.
   com/
 * clsx and tailwind-merge, MIT license
 * Lucide icons (`lucide-react`), ISC license: https://lucide.dev/
 * tslib, 0BSD license

Typeface, in `fonts/` (loaded from your own site, never from another):

 * Public Sans, SIL Open Font License 1.1 (`fonts/OFL.txt`): https://github.com/
   uswds/public-sans

### External services

The plugin talks to a cloud provider only after you have chosen it and entered your
credentials for it, and only to set up, check, publish to or remove your own site.
It sends no data to the author of the plugin and has no tracking, advertising or
usage statistics.

**Amazon Web Services (AWS)** — to create, update, check and delete the hosting 
of a site (CloudFormation, S3, CloudFront, Certificate Manager, IAM and STS) and
to upload the files of the site to your S3 bucket. It sends your access credentials(
or the role you configured), the names and settings of the resources, and the files
of your exported site. It is used when you create, change, publish, check or delete
a site, and when you test the connection. Terms: https://aws.amazon.com/service-
terms/ — Privacy: https://aws.amazon.com/privacy/

**AWS Cost Explorer** — only when you press “Read the real cost” for a site. It 
sends the label of that one site (asbuilder:site) and the period, and returns what
AWS charged for it. AWS charges about 0.01 USD for each reading, so the plugin never
does it by itself. Same terms and privacy policy as AWS.

**Cloudflare** — to create, check, publish to and delete the Worker that serves 
a site, and to link your own domain to it (api.cloudflare.com). It sends your API
token and account ID, the name and settings of the Worker and the files of your 
exported site. It is used when you create, change, publish, check or delete a site,
and when you test the connection. Terms: https://www.cloudflare.com/terms/ — Privacy:
https://www.cloudflare.com/privacypolicy/

**Netlify** — to create, check, publish to and delete a Netlify site, and to link
your own domain to it (api.netlify.com). It sends your access token, the name and
settings of the site and the files of your exported site. It is used when you create,
change, publish, check or delete a site, and when you test the connection. Terms:
https://www.netlify.com/legal/terms-of-use/ — Privacy: https://www.netlify.com/privacy/

The plugin does not download code from anywhere: everything it runs is in the plugin.
Its own pages (dashboard, setup wizard) load nothing from other sites; the typeface
is served from your site. The credits box in the dashboard has links to the author’s
websites, which are opened only if you click them.

### Privacy

The plugin stores, in your own database, the sites you set up, the credentials you
enter (encrypted), the exports and publications, and a log with credentials and 
secrets removed. It sets no cookies on the visitors of your site. When you delete
the plugin, this data is removed (to keep it, set the option asbuilder_keep_data_on_uninstall
before deleting the plugin). Data held by the cloud providers is governed by their
own policies, linked above. If you publish a site to a provider, the published files
are public to whoever visits that site, as with any website.

## Screenshots

[⌊The dashboard: your sites, where each one is published and what to do next.⌉⌊The
dashboard: your sites, where each one is published and what to do next.⌉[

The dashboard: your sites, where each one is published and what to do next.

[⌊Creating a site: choose how many visitors you expect and see the estimated monthly
cost before anything is created.⌉⌊Creating a site: choose how many visitors you 
expect and see the estimated monthly cost before anything is created.⌉[

Creating a site: choose how many visitors you expect and see the estimated monthly
cost before anything is created.

[⌊The summary of the resources that will be created, with the confirmation box.⌉⌊
The summary of the resources that will be created, with the confirmation box.⌉[

The summary of the resources that will be created, with the confirmation box.

[⌊Publish: one button puts the changes online, and the versions of the site show
the one that is online.⌉⌊Publish: one button puts the changes online, and the versions
of the site show the one that is online.⌉[

Publish: one button puts the changes online, and the versions of the site show the
one that is online.

[⌊Content: every page, post and menu belongs to one site, and what another site 
publishes is marked.⌉⌊Content: every page, post and menu belongs to one site, and
what another site publishes is marked.⌉[

Content: every page, post and menu belongs to one site, and what another site publishes
is marked.

[⌊The report of a publication: what went out and which links lead nowhere.⌉⌊The 
report of a publication: what went out and which links lead nowhere.⌉[

The report of a publication: what went out and which links lead nowhere.

## FAQ

### Does it cost anything?

The plugin is free. The hosting is paid to the provider you choose, on your own 
account. A small static site usually costs cents a month on AWS and can fit inside
the free tiers of Cloudflare and Netlify, but check the current prices of your provider:
the plugin’s estimate comes from price tables that can be out of date.

### Which providers are supported?

Amazon Web Services, Cloudflare and Netlify. Google Cloud and Azure are planned.

### What happens to forms, comments and search?

A static site cannot run them. The export report lists what was found so you can
replace them with a service of your choice. The Forms page shows what each form 
needs. A separate add-on to receive the messages of the forms in your own cloud 
account is being prepared (see the next question).

### What is the Add-ons page?

A list, inside the plugin, of the separate add-ons for things that need their own
services; for now only the Forms add-on, marked as coming soon. The list is part
of the plugin: it does not contact any server, collects nothing and locks nothing.
The plugin works in full without add-ons.

### Do I lose WordPress?

No. WordPress stays where you write and manage the content, and can be on any hosting,
including a private one. Visitors never reach it.

### The export stops and talks about a page cache. What do I do?

A page cache or a proxy in front of WordPress (a caching plugin, the cache of your
host, a CDN) answered with a saved copy instead of the page WordPress makes for 
this site (its home page and menus), and the plugin does not publish a page that
is not the one you chose. Make the cache skip every request that carries the header
X-ASBuilder-Crawl: the plugin adds it only to the requests it makes to read your
own site. Visitors are not affected.

### Is anything created without my consent?

No. Before anything is created you see the list of resources, the estimated cost
and a confirmation box, and the server checks again that the plan has not changed.
Deleting a site removes only what the plugin created.

### Can I use it in my language?

The interface is in English and Italian, and follows the language of WordPress. 
Translations are welcome on translate.wordpress.org.

### How do I see what a site really costs?

The estimate of the month is always shown. For what AWS really charged, open the
site and press “Read the real cost”. It needs the label asbuilder:site to be activated
as a cost allocation tag in the AWS billing console, once for the whole account,
by whoever pays the bill:

 1. Sign in to the AWS console with the account that pays the bill. If the account 
    belongs to an AWS organization, only its management account can do this.
 2. Open Billing and Cost Management and choose “Cost allocation tags”.
 3. Select the key asbuilder:site and choose “Activate”. The key shows up there up 
    to a day after the first site is created.
 4. Wait: AWS can take up to a day to activate it, and the costs are refreshed once
    a day.
 5. For the costs from before the activation, choose “Backfill tags” on the same page,
    pick the month the site was made and confirm.

Until then the reading is empty. AWS charges about 0.01 USD for each reading, which
is why the plugin only reads when you ask, and not more than once every ten minutes
for the same site.

## Reviews

There are no reviews for this plugin.

## Contributors & Developers

“Masetti Static Site Publisher” is open source software. The following people have
contributed to this plugin.

Contributors

 *   [ riccardo.mas ](https://profiles.wordpress.org/riccardomas/)

[Translate “Masetti Static Site Publisher” into your language.](https://translate.wordpress.org/projects/wp-plugins/masetti-static-site-publisher)

### Interested in development?

[Browse the code](https://plugins.trac.wordpress.org/browser/masetti-static-site-publisher/),
check out the [SVN repository](https://plugins.svn.wordpress.org/masetti-static-site-publisher/),
or subscribe to the [development log](https://plugins.trac.wordpress.org/log/masetti-static-site-publisher/)
by [RSS](https://plugins.trac.wordpress.org/log/masetti-static-site-publisher/?limit=100&mode=stop_on_copy&format=rss).

## Changelog

#### 0.10.0

 * Fixes the package of 0.9.3, which had its job queue library (Action Scheduler)
   one folder too deep: on a site where no other plugin brings that library (WooCommerce
   does), an export could not start. The Plugins screen now says so when the job
   queue is missing.
 * New admin: a dashboard with every site, a guided creation of a new site, one 
   Publish button that exports and uploads in the background, and a page for each
   site.
 * Each piece of content belongs to one site. In Content you choose the pages, posts
   and menus of each site and the home page it serves; a site that would publish
   content of another site is stopped before it publishes, with a message that says
   why.
 * Sites made with 0.9.3 keep publishing what they published. A site that is online
   and had never chosen its content now has that choice written down for it (the
   types it exported and the home page WordPress shows) and, like every site with
   a choice, no longer adds pages only by following links (archives, author pages).
   A site that never published starts like a new one; if two online sites share 
   content, both are stopped until you choose in Content what each one publishes.
 * A page cache in front of WordPress that gets in the way of the export is now 
   named in the error, with what to do about it (see the FAQ).
 * The Forms page is grouped by site, the plugin proposes the address the site answers
   at as its public address, and the Add-ons page lists the separate add-ons (Forms,
   coming soon).

#### 0.9.3

 * The package no longer contains macOS metadata files (`._*`) inside the bundled
   libraries.

#### 0.9.2

 * AWS, Cloudflare and Netlify can be chosen when creating a site on any WordPress
   install: they were wrongly shown as “Coming soon” outside development sites.

#### 0.9.1

 * Renamed to Masetti Static Site Publisher (slug masetti-static-site-publisher).
 * Translations are no longer bundled: they come from translate.wordpress.org.
 * Every REST route spells out its capability check; the install error notices show
   only on the Plugins screen.

#### 0.9.0

 * First public beta: export of the site as static files, guided creation of the
   hosting on AWS, Cloudflare or Netlify, versions and restore, site check, own 
   domain on Cloudflare and Netlify, cost estimates and real cost on AWS, optional
   read access for AI agents.

## Meta

 *  Version **0.10.0**
 *  Last updated **13 hours ago**
 *  Active installations **Fewer than 10**
 *  WordPress version ** 7.1 or higher **
 *  Tested up to **7.1.4**
 *  PHP version ** 8.3 or higher **
 * Tags
 * [aws](https://wordpress.org/plugins/tags/aws/)[cloudflare](https://wordpress.org/plugins/tags/cloudflare/)
   [netlify](https://wordpress.org/plugins/tags/netlify/)[static site](https://wordpress.org/plugins/tags/static-site/)
 *  [Advanced View](https://wordpress.org/plugins/masetti-static-site-publisher/advanced/)

## Ratings

No reviews have been submitted yet.

[Your review](https://wordpress.org/support/plugin/masetti-static-site-publisher/reviews/#new-post)

[See all reviews](https://wordpress.org/support/plugin/masetti-static-site-publisher/reviews/)

## Contributors

 *   [ riccardo.mas ](https://profiles.wordpress.org/riccardomas/)

## Support

Got something to say? Need help?

 [View support forum](https://wordpress.org/support/plugin/masetti-static-site-publisher/)