Skip to content
notionsolutions

A practical library for building,
organizing and working in Notion.

Workflow guides

Notion Website: Publish a Site, Add Your Domain, Know the Limits

Publish any Notion page as a free website on notion.site, then decide when your own domain is worth $8 a month on annual billing. Covers the publish steps, key settings, DNS records, privacy checks, costs, and mobile Lighthouse results for notion.site pages against Super, Feather and Simple.ink.

Published
A sheet of white paper on a graphite slab curving up into an upright frosted-glass page with blank layout bands, a small steel tag hanging from its corner on a blue cord
Publishing is one switch in the Share menu; the domain, the subpages and the speed are the decisions around it.

Notion can publish any page as a website: open the page, select Share, then Publish in the Publish tab, and the Site updates whenever you edit the page. It's free on a notion.site address, and search engine indexing is included. Your own domain needs a paid plan plus Notion's custom domain add-on, $8 a month per domain billed annually or $10 billed monthly. I'd build a portfolio or a help center this way, but not a site that needs password-protected pages or a fast load on a phone.

For a résumé, portfolio, job board or help center that changes every week, publish straight from Notion and stay on the free address until the site earns a domain. For a client-facing site on your own domain, a solo owner on Plus pays $18 a month billed yearly: $10 for the member plus $8 for the domain. When you need password-protected pages, a blog with more search settings, or a quick load for visitors on phones, I'd put a builder such as Super or Feather in front of Notion, or move the content to a CMS. Notion's help says pages can't be password protected, and the speed results below explain the rest.

Plan the site before you publish

A Notion Site is a page and everything under it. The page you publish becomes the front page, its subpages become the other pages, and Notion's publishing help warns that publishing a page publishes all of its subpages too. So I'd give the site its own top-level page in the sidebar rather than publishing a page that sits inside your client workspace.

Collections belong in a database. When a published page contains a database, visitors can switch between its views and open the pages inside, so a gallery view can serve as a portfolio grid and a list or table works for job openings, posts or help articles. Choosing a Notion database view for the question covers which layout answers which question.

Layout comes from ordinary page blocks. Notion's website guide points to H1, H2 and H3 headers, columns made by dragging a block to the side of another, a table of contents (type /toc), toggles for FAQs, callouts and quotes, and embedded images, video, audio and Typeform forms. Text alignment isn't in that toolkit: Notion has no center-align button, so a centered title on a published page takes one of the workarounds for centering text in Notion. The table of contents doubles as navigation: Notion's help says it creates anchor links to a page's headings.

The same guide offers templates for a job board, a help center, a blog post and a product roadmap. Notion's customer stories add a résumé shared as a link in job applications, a multi-disciplinary artist's portfolio where each project is a page in a gallery, and an agency whose public website runs entirely on Notion, with a page for each client and the company blog. A website template brings its own pages and databases into your workspace, so the checks in Notion templates for freelancers on dependencies and client access apply before you duplicate one.

Start with one page and one database, publish that, and add sections once the first version looks right on the live Site.

Publish the page

These are the steps from Notion's publishing help:

  1. Open the page you want to publish and select Share at the top.
  2. Open the Publish tab.
  3. Select Publish.
  4. Select View site to see the page live on the web.

From then on, every change you make to the page shows up on the Site automatically. Notion's website guide still calls the button Publish to Web; the current help says Publish. A published Site also isn't the same as setting a page's general access to Anyone on the web with link. Notion treats them as separate settings, and that matters when you take the site down later.

You can also show a published page inside another website. On the published page, select Embed this page, then Copy this code (Show page title is optional), and paste the code into the other site's HTML; in a website builder that's usually a code block. Notion lists forms, charts and databases among the published pages you can embed this way.

A contact form doesn't need a separate tool. A Notion form that anyone with the link can open works on a public site, and Notion forms for client intake shows how to share one without opening the database behind it. If you'd rather embed an outside form, such as the Typeform embed Notion's guide suggests for a contact portal, connecting a form to a Notion database shows how to send each response into a database as a new row.

Settings to check right after publishing

Once the page is live, open it in Notion and select Share, then Publish, to reach its settings. Everything under Site customization needs a paid plan: Notion's guide to customizing Sites opens with that note, and changes there go live when you select Publish changes at the top of the screen.

Notion Site settings, where to find them and which plan they need
SettingWherePlanWhat to know
Copy linkShare → PublishFree and paidThe public link begins with your workspace domain name. Share this one, not the link to the page inside your workspace.
Search engine indexingShare → Publish → Search engine indexing → Discoverable on the webFree and paid; title and description on paid plansTurn it on to make the site searchable on the web.
SlugShare → Publish → click the current slug → SavePaidLetters, numbers and hyphens, up to 60 characters. Set by hand for each page; home pages can't have one; no two pages in a workspace can share one.
Duplicate as templateShare → PublishNot marked as paidLets visitors copy the Site into their own workspace as a Notion page.
Share previewSite customization → Share preview → Upload imagePaidReplaces the preview built from the page's cover image and title.
ThemeSite customization → ThemePaidSystem, Light or Dark.
FaviconSite customization → FaviconPaidThe page icon or an uploaded image. Safari doesn't show custom favicons.
HeaderSite customization → HeaderPaidToggles for breadcrumbs, search and the Notion watermark. The watermark turns off only on a custom domain.
NavigationSite customization → Header → Navigation → Add pagePaidHeader links to other pages of the Site.
Google AnalyticsSite customization → Google AnalyticsPaidEnter your measurement ID.
HomepageSettings → Domains list → Homepage → Select a pagePaidOnly pages already published under that domain appear in the search.
All published sitesShare → PublishNot marked as paidOpens the list of every Site in the workspace.

On Free, the indexing switch is the setting that decides whether the site can be found, so turn it on deliberately. On a paid plan, I'd set the slug, the title and description, and the share preview before the link goes anywhere, because together they decide what the address, a search listing and a shared link look like.

notion.site address or your own domain

Every workspace publishes on a notion.site address. A custom domain replaces it with one you own, and it's the only way to switch off the Built with Notion watermark. Pick the notion.site name before you share the link anywhere, because switching to a new one breaks every link that starts with the old name.

Claim a notion.site domain

The Free plan can claim one notion.site domain and paid plans up to five. Notion's guide to managing Sites gives the steps:

  1. Go to Settings in your sidebar, then Public pages.
  2. Next to Domains, select New domain.
  3. Select Notion domain, then Continue.
  4. Enter the name you want and select Create domain.

The name appears at the start of every public URL from the workspace, such as acme.notion.site. The same page lists two catches. If you switch to a new notion.site domain, links that start with the old one no longer work and you have to share new ones. And Notion reserves the right to reclaim a notion.site domain at its sole discretion; you need to keep actively using the workspace to hold on to it.

Connect your own domain

A custom domain needs a paid plan, a workspace owner to buy the add-on, and a domain you've already registered. Notion's custom domain guide is explicit that Notion doesn't sell domains or replace your current domain provider. Each domain needs its own add-on, up to 25 custom domains.

  1. Go to Settings in your sidebar and find the Domains list. The domain guide calls this page Sites and the management guide calls it Public pages, so look for Domains rather than the page name.
  2. Next to Domains, select New domain.
  3. Select Custom domain, then Continue. Notion asks for a payment method for the add-on if none is on file.
  4. Enter the domain with a subdomain, usually www (www.your-domain.com), then Continue. Other subdomains work too, such as portfolio.your-domain.com.
  5. At your DNS provider, add a CNAME record for that subdomain with the target external.notion.site. including the period at the end.
  6. Add the TXT record Notion shows. You can copy its name and value from Notion.
  7. Back in Notion, select Verify. The domain and its status then appear in your list of domains.
DNS records for a Notion Site on www.your-domain.com
RecordHost or nameValuePurpose
CNAMEwwwexternal.notion.site. (with the final period)Points the subdomain at Notion Sites
TXT_notion-dcv.wwwThe unique code Notion shows during setupThe record Notion checks when you select Verify
Redirectyour-domain.comwww.your-domain.com, set up at your DNS providerSends visitors who type the bare domain to the Site

Notion's examples of broken setups show two mistakes: a TXT record named after the subdomain alone instead of _notion-dcv. plus the subdomain, and a CNAME whose host is external.notion.site instead of your subdomain. On Cloudflare, make sure Proxy status is toggled off. At GoDaddy, the CNAME for www.your-domain.com is set to just www. If you want the bare domain to reach the Site, Notion recommends www as the subdomain plus a redirect set up with your DNS provider.

DNS map: www.your-domain.com points by CNAME to external.notion.site, a TXT record named _notion-dcv.www holds the code from Notion, and your-domain.com redirects to www
The CNAME points www at Notion, Notion checks the TXT record when you select Verify, and the redirect sends the bare domain to www.

The add-on bills on the same cycle as your Notion plan: annually if you pay for Notion yearly, monthly if you pay monthly. Add it mid-cycle and you pay a prorated amount for the time left. Two rules matter for cleanup later. You can't rename a custom domain, so a typo means deleting it and adding it again. And before you delete one, you have to unpublish the Sites on it; it keeps working with Notion Sites until the end of the current billing cycle.

I'd pay for the add-on once the address goes on proposals, invoices or a business card. That's when a notion.site URL and a Built with Notion watermark start to look like a draft.

Getting a Notion site into Google

Indexing is a switch you turn on yourself. In Share → Publish, open Search engine indexing and toggle on Discoverable on the web; the Free plan includes it. Paid plans also let you edit the link title and description, which Notion uses for search and for share previews. Notion's pricing table calls the Free version of search engine indexing Basic and the paid one Advanced, and the help pages describe the extra as that title and description. I wouldn't count on more than that.

Then give each page something to work with. Keep the page title short and write it the way you'd want it to read in a search result, use one clear H1 per page with descriptive headings under it so the table of contents has sections to link to, and set slugs before you share links, since each slug is set by hand and doesn't carry over to subpages. Keep the whole site on one domain, too, because links that start with an old domain stop working when you switch.

Then wait. Notion says Sites can take up to four weeks to be indexed and appear in search results, so a page missing from Google after a few days isn't a fault. The help pages describe no search settings beyond the indexing switch, the title and description, slugs and the share preview. Builders sell more control: Feather's pricing page lists meta tags, canonical links, schema markup, an automatic sitemap and an RSS feed, and Super says you manage your site's SEO settings in Super.

Privacy checks before you share the link

Notion publishes whatever sits under the page; deciding what belongs there is your job. Run these checks before the link goes out:

Settings → Public pages is where to audit all of this. It lists published Sites, public forms and pages anyone with a link can open, with who published each one and when. On an Enterprise plan, a workspace owner can stop members from publishing under Settings → Security with Disable publishing sites, forms, and public links; turning it on takes down Sites that are already live and stops members from sharing forms to the web.

A public website is the wrong place for work that only one client should see. For that, a Notion client portal with one page per client fits better, and Notion client portal permissions explains how general access and the Publish tab differ when you share with clients.

What a Notion website costs

Publishing is free. You pay when you want your own domain or the Site customization settings, and the bill has two parts: a paid Notion plan, charged per member, and the custom domain add-on, charged per domain.

Notion Sites costs by plan and add-on
OptionPriceBillingWhat it adds for a website
Free$0NonePublish Sites, one notion.site domain, search engine indexing
Plus$10 per member a monthBilled yearlyUp to five notion.site domains, a Homepage per domain, Site customization, Google Analytics, and access to the custom domain add-on
Custom domain add-on$8 a month per domainBilled annually; $10 a month if you pay monthlyYour own domain and the option to remove Notion branding on it; up to 25 domains
Diagram of three steps for a Notion website: Free publishes Sites on one notion.site domain with search indexing, a paid plan adds up to five notion.site domains, Site customization and Google Analytics, and the domain add-on brings your own domain and removes Notion branding
Publishing and indexing are free; a paid plan adds customization, and the add-on brings your own domain without the watermark.

The Plus figure comes from Notion's pricing page on yearly billing, and the feature split from Notion's Sites availability and pricing page. For a solo freelancer on Plus with one custom domain, billed yearly, that's $10 + $8 = $18 a month, or $216 a year. Because Notion charges per member, a three-person team on Plus with one domain pays $30 + $8 = $38 a month on the same billing. The add-on follows your plan's cycle, so if you pay for Notion monthly, the domain costs $10 a month.

Builders price per site. Super's pricing page lists a Free site on super.site with a "Made with Super" badge, a Personal site at $16 a month ($144 a year per site on the annual plan) that adds your own domain, custom code and password-protected pages, and a Pro site at $28 a month. Feather's pricing page starts at $39 a month, billed monthly, for up to 10K page views a month, and Feather describes its product as a way to turn Notion pages into a blog. Feather's FAQ says a free Notion plan is enough, and Simple.ink's pricing page says it works with Notion's free plan.

If you already pay for Plus to run client work, your own domain costs $8 a month more on annual billing, and I'd take that route. If you'd upgrade only for the website, compare $216 a year for Plus and a domain with $144 a year for Super's Personal plan, which also lists password-protected pages.

How fast is a Notion site? Lighthouse results

To see what a visitor's phone has to load, I ran Lighthouse on seven public notion.site pages I found through Google and on five sites that use Notion as the editor behind a builder: three on Super, one on Feather and one on Simple.ink. Every run used Lighthouse 13.1.0 in its mobile profile with simulated throttling, the same lab settings PageSpeed Insights uses, in a visible Chrome window over one night.

Most automated visits to notion.site got a Cloudflare bot check instead of the page, so I threw out every run that loaded the check. That left one valid run for each of the seven notion.site pages; an eighth page never got past the check and isn't counted. An earlier batch in a headless browser was discarded entirely, because the check page weighs about 1 MB and paints in about a second, a false fast result. Each builder site kept three valid runs. The table shows the median per page, then the median and range for each group.

Mobile Lighthouse results: notion.site pages and builder sites (median, range in brackets)
Metricnotion.site pages (7)Builder sites (5)
Performance score (of 100)36 (24 to 43)62 (59 to 69)
Largest Contentful Paint23.6 s (13.7 to 43.5)10.1 s (6.9 to 11.0)
First Contentful Paint11.0 s (10.8 to 12.5)4.3 s (3.2 to 5.4)
Total Blocking Time760 ms (488 to 1,681)35 ms (0 to 64)
Cumulative Layout Shift0.011 (0 to 0.215)0 (0 to 0.002)
Speed Index12.8 s (10.8 to 15.5)5.9 s (3.8 to 7.2)
JavaScript6.1 MB (4.6 to 9.1)0.6 MB (0 to 0.8)
Images0.9 MB (0.01 to 1.0)1.2 MB (0.2 to 8.0)
Total transferred7.7 MB (5.4 to 10.2)1.8 MB (1.2 to 8.8)
Network requests1,501 (722 to 6,578)45 (16 to 52)

Images aren't what separates the two groups. No notion.site page in the sample carried more than about 1 MB of images, while the best-scoring builder page carried 8 MB and still scored 69. The clearest difference is script. Every notion.site page loaded between 4.6 and 9.1 MB of JavaScript, and all seven scored under 50, including pages with almost no images. The builder group's median script weight was about a tenth of the notion.site median, 0.6 MB against 6.1 MB, and its median Largest Contentful Paint was 10.1 seconds against 23.6. The builders weren't fast either: the best of them scored 69 out of 100.

The sample is small: twelve pages, one night, one connection, and lab data rather than measurements from real visitors. The pages carry different content, so the groups aren't matched pairs, and each notion.site page has a single valid run. Scores also move between runs; the same builder page moved by up to 11 points. Read the gap as a direction, not as the score your own site will get.

For a résumé or a help page people open from a link you sent them, a slow first load is a nuisance you can live with. For a site where most visitors arrive on a phone without knowing you, I'd put a builder or a CMS in front of the content: in these runs, the median builder page showed its main content in less than half the time of the median notion.site page.

Notion Sites, a builder or a CMS

Super and Feather read your content from Notion, so you keep writing in the editor you know. A CMS means writing somewhere else.

Where to publish Notion content
OptionOwn domainPassword pagesMobile Lighthouse score (my runs)Search settingsCost a monthBest for
Notion Sites, FreeNo, notion.site onlyNoMedian 36 across 7 notion.site pagesIndexing on or off$0A résumé, a link-in-bio page, a first version of a site
Notion Sites, Plus and a domainYes, through the add-onNoNot measured on a custom domainIndexing, title and description, slugs$18 for one member, billed yearlyA portfolio or help center you update often
SuperPersonal plan and upPersonal plan and up61 to 69 across 3 sitesSEO settings managed in Super$0, $16 or $28 per siteA Notion-written site that needs a domain, passwords or custom code
FeatherYesNot listed on its pricing page59 on 1 siteMeta tags, canonical links, schema, sitemap, per FeatherFrom $39, billed monthlyA blog written in Notion
A CMS (WordPress, Ghost, Webflow)YesNot compared hereNot measuredSet in the CMS for each pageSet by your host and planA site you'd rather not write in Notion at all

For a freelancer whose work already lives in Notion, I'd start on Notion Sites Free and publish the portfolio or service page first. Move to Super when you need password-protected pages or a faster mobile load without leaving the Notion editor, and move a blog to Feather when its posts are meant to bring in readers from search. A CMS is the step when you want to stop writing the site in Notion. The one Simple.ink site in the runs scored 62, and Simple.ink's guide to Notion Sites lists password protection among the features basic Notion Sites lack.

Common problems and fixes

Notion Site problems, causes and fixes
SymptomLikely causeFix
Visitors see "Continue to external site by following the link below"You shared the link to the page inside your workspaceOpen the published page, select Share → Publish, then select the link icon next to the URL at the top to copy it. The right link begins with your workspace domain name.
Links people saved stopped workingThe workspace domain or notion.site domain changedShare the new links from Share → Publish. Links with the old domain no longer work.
Custom domain won't verifyWrong TXT name or value, a CNAME host set to external.notion.site, or Cloudflare's proxy onName the TXT record _notion-dcv. plus your subdomain with Notion's code as the value, set the CNAME host to your subdomain, turn Proxy status off, then select ••• next to the domain and Validate.
Still failing after thatYour DNS provider shows a period at the end of the subdomainNotion suggests removing that period if the connection keeps failing.
Can't remove the Built with Notion watermarkThe Site is on a notion.site addressConnect a custom domain; the toggle is under Site customization → Header.
The site isn't on GoogleDiscoverable on the web is off, or indexing hasn't happened yetTurn it on under Search engine indexing. Notion says indexing can take up to four weeks.
A private subpage is publicSubpages publish with their parent by defaultRestrict that subpage's permissions, then check Settings → Public pages.
The page still opens after UnpublishGeneral access is still Anyone on the web with linkOpen Share, open the dropdown next to Anyone on the web with link and select Remove.
Custom favicon doesn't showYou're viewing the Site in SafariNotion doesn't support custom favicons in Safari; check in another browser.
Typo in the custom domainCustom domain names can't be editedDelete the domain and add it again with the correct name.
Slug won't saveSpecial characters, more than 60 characters, a slug another page uses, or one from a permanently deleted pageUse letters, numbers and hyphens only, and pick a slug no other page in the workspace has used.

My verdict and the first step

Build the site in Notion when it's public, small and changes often; publishing from the page you already edit saves the most work there. Add your own domain when the address starts showing up on proposals and invoices, at $18 a month for a solo Plus workspace billed yearly. Put a builder or a CMS in front when you need password-protected pages, a faster mobile load or a blog with more search settings than a title and description. Notion handles the hosting and the updates. Which pages go public, and whose names ride along in the metadata, stays your call. If Notion isn't yet where your client work lives, Notion for freelancers covers when it fits before you build a site on it.

The first step: open the page you'd publish, expand every subpage under it and confirm each one can be public, then select Share → Publish on the free notion.site address and open the Site on your phone before you send the link to anyone.

Share the right pages