Skip to content
opportunora.
  • The loop
  • Product
  • Pricing
  • FAQ
  • Docs
  • Blog
Sign in Start free trial

Documentation · The loop

Publish a website

One approval puts a site on the internet at its own address under your domain. What the publish does step by step, how to republish or take a site offline, and the ZIP handover.

Updated 17 September 2026

All pages
  1. Start here

    1. What it is
    2. Create your workspace
    3. Your first hour
    4. The dashboard
  2. The loop

    1. Find leads
    2. Companies and deals
    3. Generate a website
    4. Edit a website
    5. Publish a website
      1. Approve & publish
      2. What happens after you confirm
      3. The address is permanent
      4. Republishing
      5. If a publish fails
      6. Taking a site offline
      7. Handing the site over
      8. Next
    6. Sites that need a server
    7. Invoices
    8. Track time
    9. Get paid
  3. Connections

    1. Connect Cloudflare
    2. Connect your own domain
    3. Connect Stripe
    4. Connect PayPal
  4. Your workspace

    1. Settings
    2. AI credits and plans
    3. People and roles
    4. Prompt Studio
  5. Reference

    1. API and webhooks
    2. Run your own deployment
    3. Troubleshooting

Nothing goes live until you say so. Approve & publish is that decision, and it publishes the static site stored in Opportunora to your Cloudflare account.

For a site that needs a custom backend, see Build a website that needs a server. That workflow starts with a download and launches the extended site on separate hosting.

Before the first publish, two things must be in place under Settings → Deployment: a connected Cloudflare account and a publishing domain with its project created. See Connect Cloudflare and Connect your own domain.

Approve & publish

The button is on the website's card on the Websites screen and in the editor's toolbar. Both open the same dialog, and the dialog checks where the site will go before it lets you confirm:

Publish Harbor Dental Care? This puts the website on the public internet. Anyone with the address can open it, and search engines can find it. https://harbor-dental-care.sites.youragency.com

If something is missing, the dialog names it instead and Publish stays disabled:

  • No Cloudflare account is connected. Open Settings → Deployment.
  • No publishing domain is set. Open Settings → Deployment.
  • The Cloudflare project has not been created yet. Open Settings → Deployment.

Approving needs the Admin or PM role.

What happens after you confirm

The publish goes into a queue and a worker runs it. The card or the toolbar shows each step as it happens:

  1. Collecting the site files — every live site in the workspace, rebuilt from the database. See why in Connect Cloudflare.
  2. Preparing the Cloudflare project
  3. Checking which files Cloudflare already has — unchanged files are not uploaded again.
  4. Uploading files
  5. Creating the deployment
  6. Pointing harbor-dental-care.sites.youragency.com at the site
  7. Waiting for the certificate — up to two minutes, usually seconds.

Publishes in one workspace run one at a time. If another site is publishing, the card reads Queued and starts when that one finishes.

When it is done:

  • The website's status is Deployed, and the card offers View live.
  • The deal moves to Sent.
  • You get a notification: Harbor Dental Care is live at …

If the certificate is still pending after two minutes, the publish still completes and tells you so. The site is live; its recorded link points at the Cloudflare address until you publish again. See HTTPS.

The address is permanent

A site's address is taken from its name at the first publish and fixed from then on. Renaming the website does not move it, because a client already has the link. Taking it offline and publishing again later gives it back the same address.

Republishing

After an edit, Approve & publish again. The dialog says Republish and warns that the new version replaces what is live. Only the current version is ever published.

If a publish fails

The card reads Publish failed — open and the editor shows the error. A failed publish is retried once automatically. The common causes:

Message Fix
The token was rejected for this account. The Cloudflare token lost its Pages permission or was rolled. Reconnect under Settings → Deployment.
Cloudflare could not activate … Check that the wildcard CNAME for this domain is in place. The DNS record is missing or points elsewhere. Check DNS on the Deployment tab.
This Cloudflare account has reached its 100 Pages projects. Delete a project you no longer use in Cloudflare, or publish into another account.
A site may hold 20000 files / a file over 25 MB Cloudflare's limits. A generated site is nowhere near them; an attachment you added might be.

A publish waits in the queue until a worker picks it up. If it sits at Queued for good, no worker is running — that is a deployment problem, not something in the site. See Troubleshooting.

Taking a site offline

The trash button on a live site's card asks what to remove:

  • Take it offline only — removes the site from Cloudflare and frees its place on the project. The website and the deal stay, so you can publish it again later at the same address.
  • Delete it completely — takes it offline and deletes the website with every version and its chat history. The deal moves to Discarded. This cannot be undone.

Neither can happen while the site is publishing or generating.

Handing the site over

Download files in the editor, or Download all files in the studio, gives you the current version as a ZIP:

  • Every page, with clean URLs — about/index.html rather than about.html.
  • Every image as a real file under assets/.
  • Relative links throughout, so the folder works on any static host and owes nobody a request.

That is also how a client moves to their own hosting when an engagement ends. Because of the clean URLs, open it through a local web server rather than by double-clicking index.html.

Next

For the next step with a published site, see Invoices.

Previous Edit a website Next Sites that need a server

Did this leave something out?

Write to info@opportunora.com and say which page you were on. The documentation is part of the product, so a gap in it is a bug.

opportunora.

Find local businesses. Build their website. Publish. Invoice. Repeat.

The page

  • The loop
  • Product
  • Docs
  • Blog

Get started

  • Pricing
  • FAQ
  • Start free trial
  • Sign in

Legal

  • Privacy
  • Terms
© 2026 opportunora

Allow analytics cookies?

Google Analytics shows us how people use this page. Choose Only essentials and it never loads; the page then stores nothing but your choice.