Skip to content

Commit 3914d2e

Browse files
authored
improvement(landing): keyword-forward SEO copy on the home and enterprise pages (#5887)
* improvement(landing): keyword-forward SEO copy on the home and enterprise pages * fix(landing): sync homepage JSON-LD title and restore visible open-source claim
1 parent 0199508 commit 3914d2e

17 files changed

Lines changed: 79 additions & 30 deletions

File tree

apps/sim/app/(landing)/components/hero/components/hero-header/hero-header.tsx

Lines changed: 13 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -6,6 +6,12 @@ import { LANDING_HERO_CTA_GAP } from '@/app/(landing)/components/landing-layout'
66

77
interface LandingHeroHeaderProps {
88
description: string
9+
/**
10+
* Optional second paragraph beneath the description - a self-contained
11+
* definition of the page's subject, kept quotable for answer engines (GEO).
12+
* Omitted by the homepage, so its hero renders unchanged.
13+
*/
14+
definition?: string
915
eyebrow?: ReactNode
1016
heading: ReactNode
1117
headingId: string
@@ -17,6 +23,7 @@ interface LandingHeroHeaderProps {
1723
*/
1824
export function LandingHeroHeader({
1925
description,
26+
definition,
2027
eyebrow,
2128
heading,
2229
headingId,
@@ -37,6 +44,12 @@ export function LandingHeroHeader({
3744
{description}
3845
</p>
3946

47+
{definition ? (
48+
<p className='w-full min-w-0 max-w-[58ch] text-pretty text-[var(--text-muted)] text-base leading-[1.5]'>
49+
{definition}
50+
</p>
51+
) : null}
52+
4053
<div className={cn('max-sm:w-full', LANDING_HERO_CTA_GAP)}>
4154
<HeroCta />
4255
</div>

apps/sim/app/(landing)/components/hero/hero.tsx

Lines changed: 4 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -86,11 +86,12 @@ export function Hero() {
8686
headingId='hero-heading'
8787
heading={
8888
<>
89-
Sim is the AI workspace <br />
90-
for building AI agents.
89+
Sim is the AI workspace for <br />
90+
building and managing AI agents.
9191
</>
9292
}
93-
description='Open source, with 1,000+ integrations and every major LLM. Build, deploy, and manage agents visually, conversationally, or with code.'
93+
description='Sim is an AI agent and workflow builder for teams creating agents that automate real work. Design workflows visually, describe what you need in natural language, or use code for complete control.'
94+
definition='Connect your agents to 1,000+ integrations and every major LLM, then deploy, monitor, and improve them from one collaborative, open-source workspace.'
9495
/>
9596

9697
<div

apps/sim/app/(landing)/components/home-structured-data/home-structured-data.tsx

Lines changed: 8 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -24,14 +24,21 @@ import { JsonLd } from '@/app/(landing)/components/json-ld'
2424
export const HOME_PAGE_DESCRIPTION =
2525
'Sim is the open-source AI workspace where teams build, deploy, and manage AI agents across 1,000+ integrations and every major LLM, visually or with code.'
2626

27+
/**
28+
* The home page's canonical title - the single string shared by the
29+
* `<title>`, OG/Twitter titles (`page.tsx`), and the JSON-LD `WebPage.name`
30+
* below, so the title surfaces never drift.
31+
*/
32+
export const HOME_PAGE_TITLE = 'The AI Workspace | Build, Deploy & Manage AI Agents | Sim'
33+
2734
const HOME_JSON_LD = {
2835
'@context': 'https://schema.org',
2936
'@graph': [
3037
{
3138
'@type': 'WebPage',
3239
'@id': `${SITE_URL}#webpage`,
3340
url: SITE_URL,
34-
name: 'Sim, The AI Workspace | Build, Deploy & Manage AI Agents',
41+
name: HOME_PAGE_TITLE,
3542
isPartOf: { '@id': `${SITE_URL}#website` },
3643
about: { '@id': `${SITE_URL}#software` },
3744
datePublished: '2024-01-01T00:00:00+00:00',
Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1 +1 @@
1-
export { HOME_PAGE_DESCRIPTION, HomeStructuredData } from './home-structured-data'
1+
export { HOME_PAGE_DESCRIPTION, HOME_PAGE_TITLE, HomeStructuredData } from './home-structured-data'

apps/sim/app/(landing)/components/mothership/mothership.tsx

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -83,7 +83,7 @@ export function Mothership() {
8383
className='max-w-[1200px] text-balance text-[28px] leading-[1.2] max-sm:text-[22px]'
8484
>
8585
<span className='block text-[var(--text-primary)]'>
86-
Everything your agents need, in one workspace.
86+
Everything your AI agents need, in one workspace.
8787
</span>
8888
<span className='block text-[var(--text-body)]'>Build, run, and watch every agent.</span>
8989
</h2>

apps/sim/app/(landing)/components/product-demo/product-demo.tsx

Lines changed: 3 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -45,8 +45,9 @@ export function ProductDemo() {
4545
Describe it. Sim builds it.
4646
</h2>
4747
<p className='mt-3 text-pretty text-[15px] text-[var(--text-muted)] leading-[1.6]'>
48-
Tell Sim what you need in plain English and it wires blocks, models, and integrations
49-
into a working agent.
48+
Describe what you want to automate in plain English. Sim acts as an AI agent builder,
49+
connecting the right blocks, models, tools, and data into a working workflow that you
50+
can review, customize, test, and deploy.
5051
</p>
5152
</div>
5253
</div>

apps/sim/app/(landing)/components/solutions-page/components/solutions-card-row/components/solutions-card-row-header/solutions-card-row-header.tsx

Lines changed: 8 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -3,8 +3,9 @@ import { SOLUTIONS_SPACING } from '@/app/(landing)/components/solutions-page/con
33
import type { SolutionsCardRowConfig } from '@/app/(landing)/components/solutions-page/types'
44

55
/**
6-
* The header block of a card row - an `<h2>` title, a body-color subtitle, and
7-
* a single pill CTA, stacked with named spacing constants. Extracted from
6+
* The header block of a card row - an `<h2>` title, a body-color subtitle, an
7+
* optional second subtitle paragraph, and a single pill CTA, stacked with named
8+
* spacing constants. Extracted from
89
* {@link SolutionsCardRow} so layouts that place row headers inside a shared
910
* grid (the enterprise feature grid) render the exact same header chrome.
1011
*/
@@ -27,6 +28,11 @@ export function SolutionsCardRowHeader({ row, headingId }: SolutionsCardRowHeade
2728
<p className='w-full min-w-0 max-w-[48ch] text-pretty text-[15px] text-[var(--text-muted)] leading-[1.6]'>
2829
{row.subtitle}
2930
</p>
31+
{row.note ? (
32+
<p className='w-full min-w-0 max-w-[48ch] text-pretty text-[15px] text-[var(--text-muted)] leading-[1.6]'>
33+
{row.note}
34+
</p>
35+
) : null}
3036
<div className={SOLUTIONS_SPACING.cardRowHeaderCtaGapFeature}>
3137
<SolutionsPillCta cta={row.cta} />
3238
</div>

apps/sim/app/(landing)/components/solutions-page/components/solutions-hero/solutions-hero.tsx

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -67,6 +67,7 @@ export function SolutionsHero({ hero, align = 'left', variant = 'solutions' }: S
6767
heading={hero.heading}
6868
headingId='solutions-hero-heading'
6969
description={hero.description}
70+
definition={hero.definition}
7071
/>
7172

7273
<div

apps/sim/app/(landing)/components/solutions-page/types.ts

Lines changed: 12 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -29,6 +29,13 @@ export interface SolutionsHeroConfig {
2929
heading: string
3030
/** Supporting description beneath the heading, in the body color. */
3131
description: string
32+
/**
33+
* Optional visible definition of the page's subject, rendered as a second
34+
* paragraph beneath {@link description}. Self-contained and answer-first so
35+
* answer engines can quote it whole ("What is an enterprise AI agent?").
36+
* Currently honored by the `home` hero variant.
37+
*/
38+
definition?: string
3239
/**
3340
* ~50-word sr-only atomic summary for AI citation (GEO). Names "Sim" explicitly
3441
* and states what the module is, who it's for, and what it does.
@@ -89,6 +96,11 @@ export interface SolutionsCardRowConfig {
8996
title: string
9097
/** Supporting subtitle beneath the title, in the body color, naming "Sim". */
9198
subtitle: string
99+
/**
100+
* Optional second subtitle paragraph - a self-contained follow-on point that
101+
* would overload {@link subtitle} if merged into it (e.g. self-hosting).
102+
*/
103+
note?: string
92104
/** The row's single pill CTA. */
93105
cta: SolutionsPillCta
94106
/** The cards in this row - 3 or 4. The grid derives its columns from this length. */

apps/sim/app/(landing)/enterprise/enterprise.tsx

Lines changed: 14 additions & 9 deletions
Original file line numberDiff line numberDiff line change
@@ -50,17 +50,19 @@ import {
5050
* `WebPage.description` via {@link SolutionsPageConfig.seoDescription}.
5151
*/
5252
export const ENTERPRISE_SEO_DESCRIPTION =
53-
'Sim is the AI workspace where teams build, deploy, and govern enterprise AI agents with SOC2, role-based access, audit trails, and 1,000+ integrations.'
53+
'Build and govern enterprise AI agents in Sim with SSO, approvals, audit trails, versioning, and 1,000+ integrations.'
5454

5555
const ENTERPRISE_CONFIG: SolutionsPageConfig = {
5656
module: 'Enterprise',
5757
path: '/enterprise',
5858
seoDescription: ENTERPRISE_SEO_DESCRIPTION,
5959
offersFreeTier: false,
6060
hero: {
61-
heading: 'Sim is the AI workspace for enterprise AI agents.',
61+
heading: 'Sim is the enterprise AI agent platform for governed workflows.',
6262
description:
63-
'IT, operations, and technical teams build, deploy, and govern agents in Sim, with SOC2, role-based access, approvals, and full audit trails.',
63+
'Build, deploy, and govern enterprise AI agents in one AI workspace. Connect every major LLM and 1,000+ integrations with role-based access, approval paths, versioning, monitoring, and complete audit trails.',
64+
definition:
65+
'An enterprise AI agent uses AI models, business data, and connected tools to complete multi-step work within the permissions, approval policies, and human oversight your organization defines.',
6466
summary:
6567
'Sim is the open-source AI workspace where IT, operations, and technical teams build, deploy, and govern enterprise AI agents. Connect 1,000+ integrations and every major LLM, with role-based access, approvals, versioning, and full audit trails.',
6668
/**
@@ -80,14 +82,15 @@ const ENTERPRISE_CONFIG: SolutionsPageConfig = {
8082
rows: [
8183
{
8284
id: 'build',
83-
title: 'Build, Deploy, and Manage AI Agents in One Workspace',
85+
title: 'Build, Deploy, and Manage Enterprise AI Agents',
8486
subtitle:
85-
'Sim carries agents from first draft to production, with versioning and monitoring built in.',
87+
'Sim takes enterprise AI agents from initial design to production in one workspace. Build visually or with code, validate changes, deploy approved versions, and monitor every run without connecting separate development and operations tools.',
8688
cta: { label: 'Start building', href: SIGNUP_HREF },
8789
cards: [
8890
{
8991
title: 'Build visually or with code',
90-
description: "Create agents in Sim's visual builder, through chat, or directly in code.",
92+
description:
93+
"Create enterprise AI agents in Sim's visual builder, describe the workflow in plain English, or write custom logic directly in code.",
9194
visual: <BuildMethodsGraphic />,
9295
},
9396
{
@@ -100,7 +103,8 @@ const ENTERPRISE_CONFIG: SolutionsPageConfig = {
100103
},
101104
{
102105
title: 'Manage the full lifecycle',
103-
description: 'Version, monitor, and edit every agent in Sim as your workflows evolve.',
106+
description:
107+
'Version, monitor, and update every enterprise AI agent in Sim as your business requirements, integrations, and governance policies evolve.',
104108
visual: <LifecycleGraphic />,
105109
},
106110
],
@@ -109,7 +113,7 @@ const ENTERPRISE_CONFIG: SolutionsPageConfig = {
109113
id: 'governance',
110114
title: 'Governance and Security for Enterprise AI Agents',
111115
subtitle:
112-
'Sim gives security teams role-based access, approval paths, and a complete audit trail for every deployment.',
116+
'Control how enterprise AI agents access data, use tools, and take action. Sim provides SSO, permission groups, approval paths, configurable data retention, and append-only audit logs for every security-relevant change.',
113117
cta: { label: 'See security', href: DEMO_HREF },
114118
cards: [
115119
{
@@ -137,7 +141,8 @@ const ENTERPRISE_CONFIG: SolutionsPageConfig = {
137141
id: 'deploy',
138142
title: 'Deploy Enterprise Workflow Agents with Confidence',
139143
subtitle:
140-
'Test in staging, watch live runs, and roll back in seconds. Sim versions every deployment.',
144+
'Enterprise workflow agents need controlled release processes. Test changes in staging, observe production runs, version every deployment, and restore a stable version if updates cause an issue.',
145+
note: 'Deploy Sim on your own infrastructure with Docker or Kubernetes when your organization requires greater control over its environment and data.',
141146
cta: { label: 'Explore deployment', href: SIGNUP_HREF },
142147
cards: [
143148
{

0 commit comments

Comments
 (0)