Your site’s identity is six fields on one screen: Settings → General → General Details, plus the four social handles below it. They autosave as you type, and they reach your live site only when the Settings (General) item is published. Everything on this page is free on every plan.
The one thing to keep straight is scope. These fields set who the site is — its name, its one-line description, its mark. They set nothing about how it looks: colors, fonts, spacing and layout are CSS in your repository, which How Styling Works covers.
The identity fields
| Field | Editable | What it is |
|---|---|---|
| Site Title | yes | Your site’s name — one or two words, not a tagline. It is the most widely reused value on this page. |
| Description | yes | One or two sentences describing the site. It is the fallback description on any page that has no summary of its own, and the channel description in all three feeds. |
| Domain | no | Your live domain, with the Domain Connect button beside it. Set through DNS setup, not here. |
| Preview Domain | no | Derived, always staging. plus your live domain. |
| Logo | upload | Your primary mark. Create if you have none, Update to replace it. |
| Favicon | upload | The browser-tab icon. Same Create / Update flow. |
The section heading carries an amber must-publish indicator whenever it holds unpublished edits. The same Settings → General screen also holds your domains, the documentation appearance block and the publish reminder.
Where your site title and description surface
These two values fan out further than anything else you set in the CMS.
| Field | Stored as | Appears in |
|---|---|---|
| Site Title | siteTitle | og:site_name on every page · the RSS <title> · the Atom <title> · the JSON Feed title · the JSON-LD publisher.name · the # heading of llms.txt and llms-full.txt · the A2A AgentCard name · the title attribute on the sitemap and feed discovery links · and whatever your own master template does with it |
| Description | siteDescription | the <meta name="description"> fallback when a page has no summary · the RSS <description> · the Atom <subtitle> · the JSON Feed description · the JSON-LD publisher.description · the blockquote line under the heading in llms.txt |
| Logo | logo | the RSS <image> · the Atom <logo> · the JSON Feed icon · the JSON-LD publisher.logo · the last resort for twitter:image on a page with no feature image |
| Favicon | favicon | <link rel="icon"> in every page head · a /favicon.ico redirect in _redirects |
| Social Title | ogCard.title | og:title and twitter:title, on pages with no title of their own |
| Social Description | ogCard.description | og:description, on pages with no summary of their own |
| Site locale | siteLocale | og:locale · the RSS <language> · the JSON Feed language |
Your title and description are the channel metadata for all three feeds, which is the largest single consumer of them.
One honest caveat about browser tabs. Leed emits <meta name="title"> but never a <title> element — that belongs to your own master template, and the conventional form combines the two values:
<title>{{ title }} | {{ siteTitle }}</title>If your tab text looks wrong, the fix is in your template, not on this screen. How Templates Work covers where that line goes.
Logo and favicon
Click Create (or Update if one is already set), pick a file, and confirm. SVG and PNG both work.
The upload is committed to your site repository’s main branch immediately — before any publish, and without a build. The file is timestamp-named so a re-upload never collides with a cached copy:
src/static/images/logo-2026-07-11T15-12-07-709Z.png
src/static/images/favicon-2026-07-13T18-17-42-980Z.svgIf the filename changed, the previous file is deleted in its own commit. The new path is stored on your company record, the company configuration file is re-committed, and your organization’s favicon URL is updated. What the upload does not do is trigger a build — the new mark appears on your live site at your next deployment.
The favicon is used in two places, and the second one surprises people: as well as the <link rel="icon"> tag in every page head, the build writes a 302 from /favicon.ico to the timestamped file into _redirects, so clients that ask for the legacy root path still get the right icon.
Documentation pages do not use this logo. They use their own light and dark pair, set separately in the documentation configuration and covered on Documentation Header, Footer and Logos.
Social handles
Four handles have CMS fields. They drive exactly two things: the social icon row in the default documentation footer, and the twitter:site meta tag on every page of your site.
| Network | CMS field label | Stored key | URL it builds | Also used for |
|---|---|---|---|---|
| Linkedin ID | linkedinId | https://www.linkedin.com/company/<value> | — | |
| X / Twitter | Twitter ID | twitterId | https://x.com/<value> | twitter:site on every page |
| Facebook ID | facebookId | https://www.facebook.com/<value> | — | |
| Bluesky | Bluesky ID | blueskyId | https://bsky.app/profile/<value> | — |
The handles the CMS does not expose
Nine more networks are stored but have no field on this screen
The company record carries thirteen social keys, and the shipped documentation footer renders twelve of them. Only the four above have a control in the CMS. The rest are settable through the API only — a real limitation, not a hidden feature.
| Network | Stored key | URL it builds | Status |
|---|---|---|---|
| Discord | discordInviteId | https://discord.gg/<value> | no CMS control |
| Mastodon | mastodonId | https://<value> — the whole host and path, not a handle | no CMS control |
instagramId | https://www.instagram.com/<value> | no CMS control | |
| TikTok | tiktokId | https://www.tiktok.com/<value> | no CMS control |
| Twitch | twitchId | https://www.twitch.tv/<value> | no CMS control |
redditId | https://www.reddit.com/user/<value> | no CMS control | |
| GitHub | githubId | https://github.com/<value> | no CMS control |
| GitLab | gitlabId | https://gitlab.com/<value> | no CMS control |
| YouTube | youtubeChannelId | — | cannot render — the footer template reads a youtubeId key that the data model does not define, so a YouTube link never appears no matter what you store. Tracked on Known Limitations. |
Default social title and description
Two more company-level fields feed the sharing card: Social Title (up to 70 characters) and Social Description (up to 240). They are set as company defaults and can be overridden per page type.
There is one asymmetry worth knowing: og:description falls back to Social Description, but twitter:description does not — it is emitted from the page summary alone and omitted entirely when there is none. Social Cards and Structured Data works through the whole card, tag by tag.
What identity does not cover
Four things a reader reasonably expects to find here and will not.
- Site locale. It is stored, it drives
og:locale, the RSS<language>element and the JSON Feedlanguage— and it has no control anywhere in the CMS. It is set when your site is provisioned. - The social card image and card type.
ogCard.image,ogCard.cardType,ogCard.imageWidthandogCard.imageHeightare read by the card templates but have no CMS field; they come from repository data. - All CSS. Colors, fonts, spacing, the accent — none of it is on this screen.
- The documentation logo pair. Separate fields, separate files, separate page.
Everything these settings do reach is delivered to your templates through the site data cascade, as ordinary values in src/src.11tydata.json. Here is the identity half of a real one:
{
"siteTitle": "Leed",
"siteDescription": "Leed brings together your marketing workflows, website, and customer journey into a seamless, accelerated experience informed by AI.",
"siteLocale": "en-us",
"logo": "/static/images/logo-2026-07-11T15-12-07-709Z.png",
"favicon": "/static/images/favicon-2026-07-13T18-17-42-980Z.svg",
"ogCard": {
"title": "Leed",
"description": "Docs as a Service"
},
"externalAccounts": {
"linkedinId": "leed-ai",
"twitterId": "Leed_AI",
"blueskyId": "leed.ai"
}
}That file is written wholesale by the CMS on every settings publish, which is why it is on the read-only list — a hand edit survives exactly until the next publish. Global Site Data and the Data Cascade explains how a template reaches these values.
A person’s own name, photo and social handles are a different record entirely — see Your Profile, which is also what decides whether an author is credited in your feeds.
Publishing a branding change
Branding edits reach the site the same way every other setting does:
- Make your changes in Settings → General. They autosave — there is no Save button.
- Open Deploy and find Settings (General) under Pending Changes.
- Select it and click Publish Selected.
A build runs and the new identity is live a couple of minutes later. A logo or favicon file is already in your repository at that point; the publish is what makes your site reference it.
One last note for Free workspaces: the default documentation footer shows a Powered by Leed badge in place of your own copyright line until you reach Starter. That gate, and everything else about the docs footer, lives on Documentation Header, Footer and Logos.