Sites and Settings
Every site has a Settings section with six pages: General, Generation, Databases, Email, Languages, and Versions. This page tells you what each does at build time and at run time, and where the account level settings that used to live here have moved.
Creating a site
New Site on the sites list asks how you want to start, with three choices:
- Start blank, a clean site ready for your first page. You need a Site Name; the slug follows it. Advanced options holds the Database (leave it on Internal Built-in for the managed SQLite database) and an optional Domain.
- Build with Baxter, describe your idea and build it together. See Baxter AI.
- Bring a site over, rebuild a site you own from a preview link. Also on Baxter AI.
General
The basics of the site record itself.
- Site Name is editable at any time.
- Slug is shown read only. It is fixed at creation.
- Database shows where content lives right now, with a Migrate… button that opens the migration page. See Databases.
- Domain is the custom hostname. If you have Cloudflare Pages connected, the domain you set here is added to the Pages project on your next deploy.
Below the form sit three cards.
Preview link
A stable link to the last build, so you can show the site to someone before it is deployed. Anyone who has it can look, and no login is needed. The address has the form /preview/{slug}/{key}/, where the key is a secret path segment made for your site. Because it is a path and not a cookie, pages inside the preview link to each other normally.
- Copy and Open use your link. Rotate replaces the key after a confirmation, and the old link stops working for everyone who has it.
- Shares are extra links you hand out and can revoke one by one. Choose Public link or Email (with the reviewer’s address), an expiry of 1 day, 7 days, 30 days, 90 days, or Never, and press Create. An email share is mailed to the address at once, and can be mailed again with Send. Copy and Revoke are on every share.
The Preview site button in the site sidebar builds the saved content first and then opens a preview, so it always shows what you last saved, including a newly added page.
Comments
Lets readers discuss your posts, with no account needed. Every submission requires a Cloudflare CAPTCHA, so the switch Allow comments on selected posts stays off until the server has one configured. Comments are included with Basic and Pro.
Comments are opt in per post. Choose posts lists your posts with a switch each; other posts stay closed, and draft and members only posts stay private. Review comments opens moderation, where each comment can be hidden, restored, pinned, unpinned, or permanently deleted. Comments appear immediately on the live discussion; rebuild to update the static copy. In a forked or custom theme the discussion only renders where templates/post.html includes partials/comments.html.
Fediverse and ActivityPub
Danger Zone
The Danger Zone deletes the site. That removes its content permanently, posts, pages, and media included.
Generation
This is the static site generator’s configuration, and the page you build and deploy from.
| Field | What it drives |
|---|---|
| Site Title | page titles and feed metadata |
| Site Description | SEO meta tags and feed metadata |
| Site URL | canonical links, sitemap entries, and the Sitemap: line in robots.txt |
| Language | the site language code, default en |
| Author | author metadata |
| Theme | which bundled theme the build renders with |
| Homepage | a page to serve as /, or the default post listing |
| Favicon | uploaded through the media library and copied to the output root |
| Nav Button Text / URL | the call to action button in the theme’s navigation |
| Output Directory | where the build is written, default ./dist/{slug} |
| Include draft posts | when on, drafts are rendered into the build |
Build Site runs a full production build (clean output, minified HTML). Afterwards the page shows the last build time and a Download button that hands you the output as a zip.
The Deploy to Cloudflare Pages card is greyed out with a link to Platforms until you connect Cloudflare. Once connected it gives you a custom domain field and a Build & Deploy button. See Publishing and Custom Domains.
Databases
Three things live here.
Saved connections are stored on the account, so a connection you add once can be picked when creating any site. A connection is one of:
- a Supabase project
- a plain PostgreSQL or MySQL connection string
- a connection string reached over an SSH tunnel
You can test a connection before saving it, and test a saved one at any time. Credentials are encrypted at rest and only ever read back as a masked preview.
Content Database tells you where this site’s content is right now: SQLite database on the hosting server (the default), an External PostgreSQL or External MySQL database, or Detached after an export.
Migrating to your own database
A site starts on the managed SQLite database. Migrate… on the General page (or Migrate Database) moves its content to your own PostgreSQL or MySQL server, and a site that is already on an external database can move back to SQLite on the hosting server.
Choose the target
Pick a saved connection under Target Database, or + Add a database… to create one on the spot. Test Connection checks it.
Read the impact review
Review database impact shows what will be copied, what is excluded, any queued work you have to account for, and every check that blocks or allows the move. Refresh impact review re-runs it. A move that fails a check cannot start.
Acknowledge and migrate
Tick that editing and submission intake may be unavailable during maintenance and, when the review asks for it, that you have paused external writers to the source and destination. Then press Migrate and confirm. A verified recovery snapshot is taken before the switch.
Watch it finish
Progress shows the current table, rows migrated, and tables completed. Cancel Migration stops a job that has not finished. Leaving the page does not cancel an accepted job; Refresh migration status shows where it is.
Detach and Export
Detach and Export downloads a SQLite copy of the site’s content and disables hosted serving and editing. It does not turn on offline editing, and media files and theme assets are not included. Tick that hosted editing and submissions will stop, then press Detach and download SQLite. In the desktop app the export is saved to the app data folder. Afterwards the card reads Download the export again, which makes a new file each time without overwriting earlier downloads.
To also retire the live services (form submissions and member login stop), use Review retiring live services and detaching and type the site’s slug to confirm.
SMTP settings for the mail this site sends: form notifications, confirmations, and newsletter sends.
Pick a provider (Postmark, SendGrid, Mailchimp/Mandrill, Brevo) to prefill host and port, or choose Custom and type your own. Then fill in username, password, from address, from name, and reply-to.
Languages
A site can publish in more than one language. Extra languages need Basic or Pro on the site’s billing owner; on Free the page explains this, and any translations you already made are kept. After checkout, Refresh plan status confirms the plan.
- Website languages lists the enabled languages, with counts of translations that need review, whose source changed, and that are ready. Type a locale such as
svorpt-BRunder Add a language and press Add language. Archive removes a language from the public site but keeps its translations, and Restore brings it back. Your default language keeps its URLs at the root. - Visitor language switcher puts the switcher in the header, the footer, both, or hides it.
- Pages without a ready translation either hides the page in that language (404) or shows the default text without search indexing.
- Change the default language swaps the canonical text with a reviewed translation while keeping root URLs. It is a reviewed, resumable operation: Review default change, then Confirm default change.
Translations is where you write and review. Choose the content and the language, then Write translation or Edit translation, and save a draft or Mark ready. Machine translations always start as drafts that need your review. Ready translations reach the public site on your next build.
Translate your website runs machine translation as a job. Pick a Target language and a Model, optionally list Names and terms to keep unchanged, and press Review translation estimate. The estimate shows the sources, text segments, and token bounds before you confirm with Confirm and translate with API key. The provider bills your own or a shared API key; use Manage API keys to add one. Recent jobs shows progress, and each job can be cancelled, and failed ones retried where that is safe. See Baxter AI for keys.
Versions
Every successful build saves a version of the site’s editable inputs. The Versions page lists them newest first, numbered, with counts of what each holds.
- Open a version for its build details, or View files to read the saved source of any file.
- Tick two versions and press Compare selected versions for a list of added, changed, and deleted files, with a before and after view of each.
- Version retention shows how many versions are kept. On the hosted service the limit comes from the plan, and older versions are removed after the next successful build. Where you can edit it, Review retention change shows exactly which versions would be permanently removed before you confirm.
Restoring a version
Restore on a version walks through a review before anything changes.
Review
The review lists the changes to editable inputs. Newer pages and posts are kept as drafts. Shared theme sources stay unchanged, and a new site owned blueprint is created for the restored theme. Operational settings and credentials are preserved.
Confirm
Tick that you have reviewed the changes. If the site database is shared with outside writers you must also confirm they are stopped. Then press Restore reviewed inputs.
Rebuild
A restore does not build or publish. Build and deploy separately when you are happy with the result.
An interrupted restore is picked up where it left off, with Resume this restore, or you can Review discard to abandon it without applying any content.
Account level settings
Some settings apply to you or your account rather than to one site:
- Account, API Keys holds keys for the REST API and MCP. Keys are per user and grant full access to your account, not to one site. A new key is displayed once, in full. After that only a masked preview (
lo-abcd...wxyz) is shown, along with the created and last used dates. Revoke deactivates a key and keeps the row. Delete removes it entirely. The page prints two ready to copy snippets: an MCP server config block, and the two step curl flow that exchanges an API key for a JWT. Both are covered in API and MCP. - Account, AI Provider Keys holds the keys Baxter and machine translation use. See Baxter AI.
- Account, Connections & sharing owns the platform connections that sites then choose from. See Bark and Distribution.
- User settings, Appearance is stored in your browser. Theme is Light, System, or Dark. Under Motion, Ignore reduce motion plays animations even when your system asks to reduce motion. It is off by default, so a system that requests reduced motion gets less animation until you turn it on.
Open these from Account at the bottom of the site sidebar, which holds Account settings, Team, Billing, Notifications, About WordPuppi, your other accounts, User settings, and Appearance.
Search Console
Not under Settings, but worth knowing about: the site’s Search page connects Google Search Console with OAuth and then shows clicks, impressions, CTR, and average position for your pages. It is env-gated. If the server has no Google OAuth client configured, the page reports “not configured” rather than failing.