Docs · Guide

Build a hosted page and publish it

If the thing behind your code has no website yet · a menu, an event, a profile, a product story · taproute can host the page at the code's own address. The page and the code are made together in one step, because a page has no address of its own. What hosted pages are is on the concept page; this is how you build one.

Create the code and the page together

Both start on the links list, from New link. The modal asks What should this QR do? and says why it is asking: "Two of these you can repoint later without reprinting. The third is fixed on purpose."

  1. Choose Build a page for it. The middle answer, described as "No website needed. Pick a template and we host it: a menu, a link-in-bio, a business card, a review funnel." The modal moves to a second step rather than creating anything yet.
  2. Pick a template. This happens here, in the modal, not later in the editor. The step is titled Pick a starting point and tells you how little it commits you to: "You can change every block, colour and word after this. Nothing here is final". Search or filter by category, and use Preview this template to look before you commit.
  3. Match your brand, if you have a site. Paste your website address into the brand row and press Match my brand · every template in the picker previews in your colours, so you are choosing a layout rather than a palette. This is optional and reversible.
  4. Fill the link's own fields. A label, a folder, and the slug · the bit after the slash. If your workspace has a custom domain, the domain choice is here too, and it is permanent for this code, so pick the host you intend to print.
  5. Press Create link & page. The code is created as a draft · its address is reserved and does not yet resolve · and you land straight in the page editor.

An existing code can be converted too. Open it, switch its destination from URL to Hosted page, and confirm Create page: "The QR keeps its short link and keeps working; it just renders this page instead of redirecting."

What a template costs before you pick it

Most templates cost nothing beyond the code itself. Two families carry a one-time unlock, and both state their price on the card, before the pick, rather than at the till.

Prices

  • An ordinary template · no unlock. The page is part of the code, and scans bill 1 credit like any other.
  • An experience template · free to pick, free to draft, free to edit. The unlock is 800 credits, once, charged the first time that page goes live and never again for it. Its scans then bill 2 credits. The template card carries that whole sentence under its description, so you read the price before you pick, not after you publish.
  • Building your own from sections · 400 credits, once, charged when the page is created rather than at publish, with scans at 2 credits. An experience page includes this, so it is never charged twice.
  • Smart blocks · 200 credits, once per page, unlocked in the editor when you want blocks that switch by time, place or device. Scans then bill 2 credits, and a page that is both smart and composed bills 3.
  • A captured lead, if your page has a form · 5 credits. A lead is never refused, even on an empty balance.
  • Unlocks are per page and one-way. Ten experience pages are ten unlocks. Undoing the design later restores the content, never the credits.

Edit it

The editor is at /app/pages/<id>, reached from the code that serves it. There is no list of pages to browse · that is a deliberate absence, covered further down.

  1. Set the Page title. Top of the left rail. It is what the browser tab shows and what you will recognise the page by later.
  2. Work through the blocks that are already there. The template arrives filled with example content. Click a block on the canvas, or its row in the outline, and edit it in the inspector. Each row in the outline carries Move up, Move down, Duplicate and Remove.
  3. Add what is missing with Add block. Opening hours, a WhatsApp button, a menu section, a lead form, a gallery. The block catalogue lists what exists. A page holds up to 60 blocks and 256 KB, and the rail shows how much of both you have used.
  4. Open the Theme tab for the look. The first card there is Brand kit: "Paste your website and we pull your colors, font feel and logo onto this page." Press Match my brand, and if it finds your logo, take it or leave it. A toast reminds you that "Brand colors applied. Save to keep them."
  5. Check it on a phone. The canvas has Phone and Desktop views, and Open full preview opens the page in a new tab rendered by the same code that serves a real scan. Most people meet this page on a phone, in worse light than you are testing in.
  6. Press Save draft whenever you stop. The header chip tells you where you stand · Unsaved changes or Saved · and leaving with unsaved edits prompts before it lets you go. Every save keeps a snapshot, so Version history in the rail can put back a version you preferred.

Publish it

Until you publish, the code's address is reserved but dead. The editor says so on the canvas rather than offering a link that goes nowhere: Not live yet, with the address as plain text and a note reading "The address is reserved, but scans and visits will not work until you publish."

  1. Press Save & publish. It saves first and then publishes, in that order, because the edge serves what was last saved. On an experience page that has not been unlocked yet, the button carries the unlock price in its own label, so the charge is disclosed on the button that incurs it rather than in a receipt afterwards.
  2. Check the live card. The canvas card swaps to the published state: a QR thumbnail, Live at with the real address, Copy, and View live. Open it once on your own phone before anything goes to print.
  3. Print from the code, not from the page. The page has no address of its own · the code's short link is the address · so the artwork comes from the code's design studio. Printing a code that survives covers size, contrast and paper.

After it is live, Save is publishing

This is the one thing about hosted pages that surprises people, so it is worth stating plainly. A published page has no separate draft copy. The Save draft and Save & publish pair collapses into a single Save, and every save goes to the edge immediately.

  • Half-finished edits go live. If you are reworking a page people are actively scanning, do the work in one sitting and save at the end, rather than saving as you go.
  • Version history is the safety net, not an undo of a publish. A snapshot is kept every time you save, and restoring one is itself a save · which means it is itself a publish.
  • There is no unpublish. Taking a code down means pausing it, which keeps the address yours and shows scanners a notice. Publishing is one-way because from that moment the code can be printed, and print cannot be recalled.

Things you cannot take back

  • Deleting the page deletes its leads. Permanently, with the page. The confirmation names it: "and any leads it collected will be permanently deleted". Export first.
  • Switching the code back to a URL deletes the page too. The button is labelled Delete page & redirect for that reason, and the warning names the page and its leads. The short link and the QR keep working.
  • The unlocks are one-way. Experience, sections and smart are per page and paid once each. Reverting the design puts the content back and leaves the unlock paid.
  • The domain choice on the code is permanent. Decide it when you create the code, not when you print it.
  • A page shared by several codes cannot be deleted out from under them. The delete is refused and names how many codes still point at it, so you repoint those first · see repointing many codes at once.

Why there is no list of pages

/app/pages redirects to the links list, and that is the design rather than a missing screen. A hosted page is a code's destination: it has no URL except that code's, so a page-centric list would be a list of things that might have nowhere to live, with a "new page" button that made content no visitor could reach.

  • Open a page from the code that serves it, on the links list. That is the only route, and it is one click.
  • Pages also appear in the Repository, with an Edit page button, because one page can serve several codes. That list exists precisely because those pages do have somewhere to live.
  • If a page did lose its link, the links list offers it back with Give it a link rather than leaving it stranded.

Questions

Can I make a QR code without having a website?

Yes. When you create a link, choose "Build a page for it" and pick a template. taproute hosts the page at the code's own address, so the code and the page go live together and there is nothing to host or configure yourself.

Where is the list of my hosted pages?

There is not one, deliberately. A page is a link's destination and has no address except its link's, so pages are opened from the code that serves them, on the links list. The Repository also lists pages, because a page can serve more than one code.

Do experience templates cost money to try?

No. Picking one and drafting on it are free, and you can edit it for as long as you like. The unlock is 800 credits, once, charged the first time that page goes live, and never again for that page. Its scans then bill 2 credits. Ordinary templates have no unlock at all.

Can I edit a hosted page after the code is printed?

Yes, and that is the point of it. The printed symbol encodes the code's own address, never the content, so editing the page changes what a scan finds without touching anything already printed. Once the page is live, though, saving is publishing · there is no separate draft to work in.

Can I unpublish a page?

No. Taking a code down means pausing it, which keeps the address yours and shows scanners a notice instead. Publishing is a one-way door because the moment it happens the code can be printed, and a printed code cannot be recalled.

What happens to my form submissions if I delete the page?

They are deleted with it, permanently. The same is true if you switch the code back to redirecting to a URL, which deletes the page it was serving. Export anything you need first.