All guides
User

Build and publish a link-in-bio page

Create a public page of links and content blocks, style it, save it as a draft and publish it only after testing the public result.

Step-by-step guide

Before you start

  • Prepare your page title, a unique slug, the links you want to share and any images you are allowed to publish.
  • Decide whether the page should stay a draft while you work. The live preview is not the same as a saved public page.
Open this feature
  1. Open /portal/link-bio on your site.

How to use it

Create a draft page with a first link

  1. Open /portal/link-bio/create. In Page, enter the title and a unique slug. Add a headline/description if useful.
  2. Leave Publish this page off while preparing. Add the intended profile/cover images using the offered image controls.
  3. Open Blocks. Add a link-based block, select it in the editor and fill its Label and URL. For example, use the label Book a table with your real booking URL.
  4. Use Add/the item controls to include additional links in the selected block. Review each destination rather than copying the same URL into every item.
  5. Choose a template/appearance in Style, inspect the preview, then select Create page.

Reorder blocks and publish

  1. Open /portal/link-bio, choose the intended page and open Edit.
  2. Select each block to edit its content. Use drag/reorder or the displayed move controls to arrange it; duplicate/remove only the intended block.
  3. In Style, check colors, alignment, avatar/button style and background with the real content length.
  4. Select Publish this page when the content is ready, then select Save changes. The header should indicate Public after saving before you save the published state.
  5. Open the page’s public link in a separate session. Test every link, contact action and image on a phone-sized screen before sharing the URL.

Return a page to draft

  1. Open Edit for the intended page and clear Publish this page.
  2. Select Save changes, then test the public address from a separate session.
  3. Review any QR codes or campaigns pointing to the page before leaving it unpublished.

Fields and examples

Field or choiceHow to use it
Title / SlugTitle and slug are required, maximum 160 characters. The slug must be unique and use allowed letters/numbers/dashes/underscores.
Headline / DescriptionHeadline allows up to 190 characters; description up to 4,000 in this version. Use plain reader-facing text.
Blocks and link itemsA block is a content section; an item is a link/product/etc. inside it. Select the intended block before editing its item fields.
Publish this pageControls saved public visibility. Save after changing it.
Brand assets / Share settingsReview the selected domain, UTM, pixels, directory/share options and branding availability when those controls are offered.

Check your finished result

  • Reload the editor to confirm saved content and visibility.
  • Open the public link in a separate session and test every visible action.

Problems and fixes

What you seeWhat to do next
Slug is rejectedChoose an unused slug with the allowed characters; do not reuse another page’s address.
Changes only appear in the editorSave the page and reload the public link.
Public page cannot be openedCheck its saved published state, URL and any selected custom-domain routing.
The wrong block changedSelect the intended block/item in the canvas before editing, then verify the preview and save.

Technical reference

Role-scoped source references

Pinned commit: ca125291cce57358ac4842e50928bc31fc6eab07

Source-only route information
MethodSource-default route
GET/portal/link-bio
GET/portal/link-bio/create
GET/portal/link-bio/templates
GET/portal/link-bio/{page}/edit
GET/l/{code}
GET/b/{slug}/click/{block}/{item}
GET/b/{slug}
Unmapped fields — not user instructions

These fields belong to this role’s source handler, but their screen labels were not confirmed.

Source keyHandler
aiBioBriefmodules/AppLinkBio/Livewire/LinkBioForm.php
aiBioTonemodules/AppLinkBio/Livewire/LinkBioForm.php
aiBioLanguagemodules/AppLinkBio/Livewire/LinkBioForm.php
titlemodules/AppLinkBio/Livewire/LinkBioForm.php
slugmodules/AppLinkBio/Livewire/LinkBioForm.php
headlinemodules/AppLinkBio/Livewire/LinkBioForm.php
descriptionmodules/AppLinkBio/Livewire/LinkBioForm.php
accentColormodules/AppLinkBio/Livewire/LinkBioForm.php
avatarUrlmodules/AppLinkBio/Livewire/LinkBioForm.php
coverUrlmodules/AppLinkBio/Livewire/LinkBioForm.php
backgroundUrlmodules/AppLinkBio/Livewire/LinkBioForm.php
backgroundOverlaymodules/AppLinkBio/Livewire/LinkBioForm.php
backgroundPositionmodules/AppLinkBio/Livewire/LinkBioForm.php
backgroundFitmodules/AppLinkBio/Livewire/LinkBioForm.php
templateKeymodules/AppLinkBio/Livewire/LinkBioForm.php
brandingTextmodules/AppLinkBio/Livewire/LinkBioForm.php
avatarStylemodules/AppLinkBio/Livewire/LinkBioForm.php
buttonStylemodules/AppLinkBio/Livewire/LinkBioForm.php
contentAlignmodules/AppLinkBio/Livewire/LinkBioForm.php
directoryCategorymodules/AppLinkBio/Livewire/LinkBioForm.php
brandKitIdmodules/AppLinkBio/Livewire/LinkBioForm.php
customDomainIdmodules/AppLinkBio/Livewire/LinkBioForm.php
utmPresetIdmodules/AppLinkBio/Livewire/LinkBioForm.php
aiBioLanguagemodules/AppLinkBio/Livewire/LinkBioIndex.php