Turning it on
Enable it from workspace settings → Blog, with a title. Surfaced provisions a default hostname and the blog is live. Enabling is idempotent: doing it twice returns the site you already have. It has to be done before any article can be published.The hosted blog is not available on every workspace or every environment. If the Blog section is missing from settings, it has not been enabled for your workspace.
Your own domain
You can serve the blog from a subdomain of your own,blog.yourcompany.com, instead of the default hostname. Subdomains only; an apex domain is not supported.
That is worth doing for one reason beyond appearances: a citation only counts toward your citation rate if the domain is yours. Content on a Surfaced hostname is credited to a Surfaced hostname.
Add the domain under settings → Blog → Domains. You are given exactly two records to create: a CNAME, and a TXT verification record where one is needed. Never an A record. Surfaced then checks in the background, and you can also check on demand, once a minute. Verification gives up after 72 hours, so a typo sits there failing rather than silently retrying forever.
Up to five domains per workspace.
If you use a separate domain, add it to Owned domains in workspace settings as well, or the citations it earns will not be counted as yours. These are two different lists and both matter.
Serving the blog under a path on your main site, yourcompany.com/blog, is also supported, through your own proxy, with a verification file to prove the path is yours.
Styling
Settings cover the title, tagline, logo, accent colour, a choice of three themes, light or dark, the default language, and custom CSS. CSS is capped and sanitised on save, and anything removed is listed back to you rather than silently dropped. Removing the “powered by” badge and using custom CSS both require a plan that includes white-labelling. Without it the request is refused rather than quietly ignored.What is generated for you
Enabling the blog also produces, with no further action: a sitemap, an RSS feed,robots.txt, llms.txt, social preview images, structured data, language alternates, and Markdown versions of each post for AI agents to read.
The Markdown versions are there so the blog can be quoted by the assistants you are tracking, which is the reason to publish on it at all.
Publishing and unpublishing
Both are per article, from Articles, individually or in bulk. Publishing returns the live URL. Unpublishing removes the post and keeps the article. An article that has not passed its draft checks cannot be published, by anyone, and the check is re-evaluated continuously rather than once. See Articles for what that means for a live page. Three behaviours worth knowing:- The live post is a snapshot taken at publish time. Editing the article afterwards changes the draft only, until you use Update on blog.
- Changing a slug on a live post leaves a redirect from the old URL, so links already shared keep working.
- Archiving an article takes it off the blog automatically, and restoring it does not put it back.
What it does not do
No scheduling or editorial calendar. No per-post meta overrides, no author byline, nonoindex toggle. The blog’s own interface is English regardless of the language you publish in.