Documentation / Administrator Guide / Configuration / Build Settings

Build Settings

The Build Settings determine what content is included or excluded in the static version of your WordPress site, as well as how that content is linked.

Destination URL

This should be the URL of your published site, for example https://www.mydomain.com/.

Considering that your WordPress installation runs on https://wordpress.mydomain.com/, Staatic will convert all instances of https://wordpress.mydomain.com/ into https://www.mydomain.com/.

Instead of using an absolute URL it is also possible to use a relative URL, for example //mydomain.com/ or /. This makes it possible to host your site on multiple schemes or domains. Including a path other than / will cause it to be prepended to all URLs, allowing your site to be placed in a subdirectory.

If you want to be able to browse your site locally, without hosting it on a webserver, or in other special cases you can select Offline URL. This will convert all URLs to be path relative.

Additional URLs

In order to generate the static version of your site, Staatic crawls all content of your WordPress site. It starts out by fetching the front page, and then follows the links on that page until all pages have been processed.

Pages or assets not referenced anywhere on your site will not be included in the final result, unless these are added to this list manually.

Optionally for any URL provided you can uncheck Follow or Save. Unchecking Follow causes links found on this page not to be followed while crawling your site. Unchecking Save causes the URL itself not to be included in the published site.

Here are some examples of common additional URLs:

  • /sitemap.xml
  • /robots.txt
  • /favicon.ico

Note: If you have an XML sitemap, it is recommended to include this in the list. Not only does it make sure all content is included on your static site, it also provides a better indication of the progress while publishing.

Additional Paths

Additional paths are very similar to additional URLs, with the difference that these are paths on the filesystem that will be resolved into additional URLs.

Note: In case the provided path is a directory, it will be scanned recursively.

It is recommended to include the path to your wp-uploads directory to ensure that all static assets are always included in your static site.

Optionally for any path provided you can uncheck Follow or Save. Unchecking Follow causes links found within this path not to be followed while crawling your site. Unchecking Save causes the path itself not to be included in the published site.

Excluded URLs

Just like additional URLs are added to your static site, excluded URLs are skipped and not added to your static site.

Staatic supports three types of exclude rules:

  • Simple rules, exactly matching a specific URL, e.g.: /some-page/;
  • Wildcard rules, matching a URL with support for wildcards, e.g.: /some-*/;
  • Regular expression rules, matching a URL based on a regular expression, e.g.: ~^/excluded-page-[1-3]/?$~.

All rules are evaluated case insensitive and are matched against the following (normalized) URL segments: path, query and fragment.

Note: In order to use regular expression rules, you must use ~ as the delimiter. Modifiers are currently not supported.

Additional Redirects

Staatic recognizes HTTP redirects during its crawling phase and will apply them to the static version of your site as well. Additional redirects not existing in the dynamic WordPress site can optionally be specified here.

The following HTTP status codes are supported:

HTTP Status Code HTTP version Type Cachable Request Method Subsequent Request
301 HTTP/1.0 Permanent Yes GET / POST may change
302 HTTP/1.0 Temporary Not by default GET / POST may change
307 HTTP/1.1 Temporary Not by default may not change
308 HTTP/1.1 Permanent By default may not change

There are cases where it is useful to configure additional redirects. For example, when the slug of a post is changed and the original URL is no longer referenced within the site. In that case you will want to make sure the original URL does not result in a 404, but is redirected to the new URL instead.