From 3484624bb6e7ccc75c44cd846a071a027eb91c9c Mon Sep 17 00:00:00 2001
From: tudor <7089284+tudddorrr@users.noreply.github.com>
Date: Sat, 3 Oct 2026 21:10:53 +0100
Subject: [PATCH] add seo title overrides for docs pages
---
app/lib/seo.ts | 11 +++++++++++
app/lib/source.ts | 5 +++++
app/routes/docs.tsx | 8 +++++---
content/docs/1.x/admin/authentication.mdx | 1 +
content/docs/1.x/admin/bruno-collection.mdx | 1 +
content/docs/1.x/admin/common-errors.mdx | 1 +
content/docs/1.x/admin/dev-data.mdx | 1 +
content/docs/1.x/admin/game-stat-api.mdx | 1 +
content/docs/1.x/godot/channels.mdx | 1 +
content/docs/1.x/godot/continuity.mdx | 1 +
content/docs/1.x/godot/events.mdx | 1 +
content/docs/1.x/godot/exporting.mdx | 1 +
content/docs/1.x/godot/feedback.mdx | 1 +
content/docs/1.x/godot/groups.mdx | 1 +
content/docs/1.x/godot/identifying.mdx | 1 +
content/docs/1.x/godot/install.mdx | 1 +
content/docs/1.x/godot/leaderboards.mdx | 1 +
content/docs/1.x/godot/live-config.mdx | 1 +
content/docs/1.x/godot/player-authentication.mdx | 1 +
content/docs/1.x/godot/player-presence.mdx | 1 +
content/docs/1.x/godot/player-props.mdx | 1 +
content/docs/1.x/godot/player-relationships.mdx | 1 +
content/docs/1.x/godot/request-verification.mdx | 1 +
content/docs/1.x/godot/saves.mdx | 1 +
content/docs/1.x/godot/settings-reference.mdx | 1 +
content/docs/1.x/godot/socket.mdx | 1 +
content/docs/1.x/godot/stats.mdx | 1 +
content/docs/1.x/godot/upgrading-to-1.0.mdx | 1 +
content/docs/1.x/http/authentication.mdx | 1 +
content/docs/1.x/http/common-errors.mdx | 1 +
content/docs/1.x/http/event-api.mdx | 1 +
content/docs/1.x/http/game-stat-api.mdx | 1 +
content/docs/1.x/http/request-verification.mdx | 1 +
content/docs/1.x/integrations/apple-game-center.mdx | 1 +
content/docs/1.x/integrations/google-play-games.mdx | 1 +
content/docs/1.x/integrations/steamworks.mdx | 1 +
content/docs/1.x/selfhosting/configuration.mdx | 1 +
content/docs/1.x/sockets/common-errors.mdx | 2 ++
content/docs/1.x/sockets/custom-ping-pongs.mdx | 1 +
content/docs/1.x/sockets/request-verification.mdx | 1 +
content/docs/1.x/sockets/requests.mdx | 1 +
content/docs/1.x/sockets/responses.mdx | 1 +
content/docs/1.x/unity/channels.mdx | 1 +
content/docs/1.x/unity/continuity.mdx | 1 +
content/docs/1.x/unity/dev-data.mdx | 1 +
content/docs/1.x/unity/events.mdx | 1 +
content/docs/1.x/unity/feedback.mdx | 1 +
content/docs/1.x/unity/groups.mdx | 1 +
content/docs/1.x/unity/identifying.mdx | 1 +
content/docs/1.x/unity/install.mdx | 1 +
content/docs/1.x/unity/leaderboards.mdx | 1 +
content/docs/1.x/unity/live-config.mdx | 1 +
content/docs/1.x/unity/player-authentication.mdx | 1 +
content/docs/1.x/unity/player-presence.mdx | 1 +
content/docs/1.x/unity/player-props.mdx | 1 +
content/docs/1.x/unity/player-relationships.mdx | 1 +
content/docs/1.x/unity/request-verification.mdx | 1 +
content/docs/1.x/unity/saves.mdx | 1 +
content/docs/1.x/unity/settings-reference.mdx | 1 +
content/docs/1.x/unity/socket.mdx | 1 +
content/docs/1.x/unity/stats.mdx | 1 +
content/docs/1.x/unity/upgrading-to-1.0.mdx | 1 +
content/docs/pre-1.0/godot/channels.mdx | 1 +
content/docs/pre-1.0/godot/continuity.mdx | 1 +
content/docs/pre-1.0/godot/events.mdx | 1 +
content/docs/pre-1.0/godot/exporting.mdx | 1 +
content/docs/pre-1.0/godot/feedback.mdx | 1 +
content/docs/pre-1.0/godot/groups.mdx | 1 +
content/docs/pre-1.0/godot/identifying.mdx | 1 +
content/docs/pre-1.0/godot/install.mdx | 1 +
content/docs/pre-1.0/godot/leaderboards.mdx | 1 +
content/docs/pre-1.0/godot/live-config.mdx | 1 +
content/docs/pre-1.0/godot/player-authentication.mdx | 1 +
content/docs/pre-1.0/godot/player-presence.mdx | 1 +
content/docs/pre-1.0/godot/player-props.mdx | 1 +
content/docs/pre-1.0/godot/player-relationships.mdx | 1 +
content/docs/pre-1.0/godot/request-verification.mdx | 1 +
content/docs/pre-1.0/godot/saves.mdx | 1 +
content/docs/pre-1.0/godot/settings-reference.mdx | 1 +
content/docs/pre-1.0/godot/socket.mdx | 1 +
content/docs/pre-1.0/godot/stats.mdx | 1 +
content/docs/pre-1.0/http/authentication.mdx | 1 +
content/docs/pre-1.0/http/common-errors.mdx | 1 +
content/docs/pre-1.0/http/event-api.mdx | 1 +
content/docs/pre-1.0/http/game-stat-api.mdx | 1 +
content/docs/pre-1.0/http/request-verification.mdx | 1 +
.../docs/pre-1.0/integrations/apple-game-center.mdx | 1 +
.../docs/pre-1.0/integrations/google-play-games.mdx | 1 +
content/docs/pre-1.0/integrations/steamworks.mdx | 1 +
content/docs/pre-1.0/selfhosting/configuration.mdx | 1 +
content/docs/pre-1.0/sockets/common-errors.mdx | 2 ++
content/docs/pre-1.0/sockets/custom-ping-pongs.mdx | 1 +
content/docs/pre-1.0/sockets/request-verification.mdx | 1 +
content/docs/pre-1.0/sockets/requests.mdx | 1 +
content/docs/pre-1.0/sockets/responses.mdx | 1 +
content/docs/pre-1.0/unity/channels.mdx | 1 +
content/docs/pre-1.0/unity/continuity.mdx | 1 +
content/docs/pre-1.0/unity/dev-data.mdx | 1 +
content/docs/pre-1.0/unity/events.mdx | 1 +
content/docs/pre-1.0/unity/feedback.mdx | 1 +
content/docs/pre-1.0/unity/groups.mdx | 1 +
content/docs/pre-1.0/unity/identifying.mdx | 1 +
content/docs/pre-1.0/unity/install.mdx | 1 +
content/docs/pre-1.0/unity/leaderboards.mdx | 1 +
content/docs/pre-1.0/unity/live-config.mdx | 1 +
content/docs/pre-1.0/unity/player-authentication.mdx | 1 +
content/docs/pre-1.0/unity/player-presence.mdx | 1 +
content/docs/pre-1.0/unity/player-props.mdx | 1 +
content/docs/pre-1.0/unity/player-relationships.mdx | 1 +
content/docs/pre-1.0/unity/request-verification.mdx | 1 +
content/docs/pre-1.0/unity/saves.mdx | 1 +
content/docs/pre-1.0/unity/settings-reference.mdx | 1 +
content/docs/pre-1.0/unity/socket.mdx | 1 +
content/docs/pre-1.0/unity/stats.mdx | 1 +
114 files changed, 134 insertions(+), 3 deletions(-)
create mode 100644 app/lib/seo.ts
diff --git a/app/lib/seo.ts b/app/lib/seo.ts
new file mode 100644
index 0000000..79e6ca2
--- /dev/null
+++ b/app/lib/seo.ts
@@ -0,0 +1,11 @@
+const homepageTitle = 'Talo - open source, self-hostable game backend'
+
+type PageTitles = { title: string; seoTitle?: string }
+
+export function docTitle(page: PageTitles, isIndex: boolean): string {
+ if (isIndex) {
+ return homepageTitle
+ }
+
+ return `${page.seoTitle ?? page.title} | Talo docs`
+}
diff --git a/app/lib/source.ts b/app/lib/source.ts
index 535ebe4..d455e69 100644
--- a/app/lib/source.ts
+++ b/app/lib/source.ts
@@ -1,5 +1,7 @@
import { loader } from 'fumadocs-core/source'
+import { pageSchema } from 'fumadocs-core/source/schema'
import { defineDocs } from 'fumadocs-mdx/macro'
+import { z } from 'zod'
import { docsRoute } from './shared'
import { resolveIcon } from './sidebar-icons'
@@ -7,6 +9,9 @@ export const docs = defineDocs({
dir: 'content/docs',
docs: {
async: true,
+ // `seoTitle` overrides only the SERP
; `title` stays the page name
+ // used by the sidebar, H1 and search.
+ schema: pageSchema.extend({ seoTitle: z.string().optional() }),
postprocess: {
includeProcessedMarkdown: true,
},
diff --git a/app/routes/docs.tsx b/app/routes/docs.tsx
index 1a76e90..b9f2867 100644
--- a/app/routes/docs.tsx
+++ b/app/routes/docs.tsx
@@ -8,6 +8,7 @@ import { Feedback } from '@/components/feedback/client'
import { useMDXComponents } from '@/components/mdx'
import { onPageFeedback } from '@/lib/feedback'
import { baseOptions } from '@/lib/layout.shared'
+import { docTitle } from '@/lib/seo'
import { docs, source } from '@/lib/source'
import type { Route } from './+types/docs'
@@ -27,6 +28,9 @@ export async function loader({ params }: Route.LoaderArgs) {
}
}
+// The 1.x root is the docs landing page, so it keeps the marketing title.
+const INDEX_PATH = '1.x/index.mdx'
+
function Content({ path }: { path: string }) {
const page = docs.getPage(path)
if (!page) {
@@ -45,9 +49,7 @@ function Content({ path }: { path: string }) {
footer={path === 'index.mdx' ? { className: 'mt-8' } : {}}
slots={{ breadcrumb: Breadcrumb }}
>
-
- {path === 'index.mdx' ? 'Talo - open source, self-hostable game backend' : page.title}
-
+ {docTitle(page, path === INDEX_PATH)}
{page.title}
{page.description}
diff --git a/content/docs/1.x/admin/authentication.mdx b/content/docs/1.x/admin/authentication.mdx
index 0768c2a..519ce97 100644
--- a/content/docs/1.x/admin/authentication.mdx
+++ b/content/docs/1.x/admin/authentication.mdx
@@ -1,6 +1,7 @@
---
description: Learn how to authenticate your Admin API requests.
title: Authentication
+seoTitle: Admin API authentication
---
## What is the Admin API?
diff --git a/content/docs/1.x/admin/bruno-collection.mdx b/content/docs/1.x/admin/bruno-collection.mdx
index 70bb788..32a48dc 100644
--- a/content/docs/1.x/admin/bruno-collection.mdx
+++ b/content/docs/1.x/admin/bruno-collection.mdx
@@ -1,6 +1,7 @@
---
description: Interactive API explorer for the Admin API
title: Bruno request collection
+seoTitle: Admin API Bruno collection
---
[Bruno](https://www.usebruno.com) is an open-source API client (a Postman alternative) for exploring and testing REST APIs. A pre-built Talo collection is available so you can try every endpoint, including the Admin API.
diff --git a/content/docs/1.x/admin/common-errors.mdx b/content/docs/1.x/admin/common-errors.mdx
index bafbbdf..63fc412 100644
--- a/content/docs/1.x/admin/common-errors.mdx
+++ b/content/docs/1.x/admin/common-errors.mdx
@@ -1,6 +1,7 @@
---
description: Debug common issues with Admin API requests.
title: Common errors
+seoTitle: Common admin API errors
---
## Missing authentication
diff --git a/content/docs/1.x/admin/dev-data.mdx b/content/docs/1.x/admin/dev-data.mdx
index 1344312..53d8fc4 100644
--- a/content/docs/1.x/admin/dev-data.mdx
+++ b/content/docs/1.x/admin/dev-data.mdx
@@ -1,6 +1,7 @@
---
description: Separate development data from live data when using the Admin API.
title: Separating development data
+seoTitle: Admin API development data
---
## Dev build headers
diff --git a/content/docs/1.x/admin/game-stat-api.mdx b/content/docs/1.x/admin/game-stat-api.mdx
index 1df0b7e..a2b6750 100644
--- a/content/docs/1.x/admin/game-stat-api.mdx
+++ b/content/docs/1.x/admin/game-stat-api.mdx
@@ -1,6 +1,7 @@
---
description: Manage game stats via the admin API. Create stats, find them and view their metrics.
title: Game stat admin API
+seoTitle: Admin game stats API
---
import { ServiceDocumentation } from '@/components/documentation/ServiceDocumentation'
diff --git a/content/docs/1.x/godot/channels.mdx b/content/docs/1.x/godot/channels.mdx
index 13a1720..6a55e1d 100644
--- a/content/docs/1.x/godot/channels.mdx
+++ b/content/docs/1.x/godot/channels.mdx
@@ -1,6 +1,7 @@
---
description: Talo Channels can be used for player chats, sending data to specific groups, pushing game updates and storing shared game state.
title: Channels and storage
+seoTitle: Godot channels and storage
---
import { ScopeBadges } from '@/components/documentation/ScopeBadges'
diff --git a/content/docs/1.x/godot/continuity.mdx b/content/docs/1.x/godot/continuity.mdx
index a9658e9..445f763 100644
--- a/content/docs/1.x/godot/continuity.mdx
+++ b/content/docs/1.x/godot/continuity.mdx
@@ -1,6 +1,7 @@
---
description: Talo is designed to work online and offline. Talo will automatically keep data in sync for offline players.
title: Continuity and offline mode
+seoTitle: Godot continuity and offline mode
---
import { ScopeBadges } from '@/components/documentation/ScopeBadges'
diff --git a/content/docs/1.x/godot/events.mdx b/content/docs/1.x/godot/events.mdx
index b6f5138..68140c7 100644
--- a/content/docs/1.x/godot/events.mdx
+++ b/content/docs/1.x/godot/events.mdx
@@ -1,6 +1,7 @@
---
description: Event tracking allows you to understand what players are doing inside your game.
title: Events
+seoTitle: Godot event tracking
---
import { ScopeBadges } from '@/components/documentation/ScopeBadges'
diff --git a/content/docs/1.x/godot/exporting.mdx b/content/docs/1.x/godot/exporting.mdx
index 713f0c6..58db836 100644
--- a/content/docs/1.x/godot/exporting.mdx
+++ b/content/docs/1.x/godot/exporting.mdx
@@ -1,6 +1,7 @@
---
description: Talo can separate development data from live data based on debug builds and feature tags.
title: Exporting your project
+seoTitle: Exporting a Godot project
---
## Android export permissions
diff --git a/content/docs/1.x/godot/feedback.mdx b/content/docs/1.x/godot/feedback.mdx
index 9806ddf..34bc699 100644
--- a/content/docs/1.x/godot/feedback.mdx
+++ b/content/docs/1.x/godot/feedback.mdx
@@ -1,6 +1,7 @@
---
description: Talo Feedback allows you to receive feedback directly from players. Feedback can be categorised, analysed and filtered to improve your game.
title: Feedback
+seoTitle: Godot player feedback
---
import { ScopeBadges } from '@/components/documentation/ScopeBadges'
diff --git a/content/docs/1.x/godot/groups.mdx b/content/docs/1.x/godot/groups.mdx
index 8985565..f3f7f00 100644
--- a/content/docs/1.x/godot/groups.mdx
+++ b/content/docs/1.x/godot/groups.mdx
@@ -1,6 +1,7 @@
---
description: Talo groups allow you to apply filters on your player-base to create distinct segments between players. You can have groups for beta testers, players who completed your game or players with specific props.
title: Player groups
+seoTitle: Godot player groups
---
import { ScopeBadges } from '@/components/documentation/ScopeBadges'
diff --git a/content/docs/1.x/godot/identifying.mdx b/content/docs/1.x/godot/identifying.mdx
index 635eb02..bc03926 100644
--- a/content/docs/1.x/godot/identifying.mdx
+++ b/content/docs/1.x/godot/identifying.mdx
@@ -1,6 +1,7 @@
---
description: The Talo Godot plugin allows you to authenticate players, create player aliases and sync identities with external identity providers.
title: Identifying a player
+seoTitle: Identifying players in Godot
---
import { ScopeBadges } from '@/components/documentation/ScopeBadges'
diff --git a/content/docs/1.x/godot/install.mdx b/content/docs/1.x/godot/install.mdx
index 414b3cc..6a4e567 100644
--- a/content/docs/1.x/godot/install.mdx
+++ b/content/docs/1.x/godot/install.mdx
@@ -1,6 +1,7 @@
---
description: Learn how to add Talo's Godot plugin to your game.
title: Installation
+seoTitle: Installing the Talo Godot plugin
---
## Import into Godot
diff --git a/content/docs/1.x/godot/leaderboards.mdx b/content/docs/1.x/godot/leaderboards.mdx
index 9c4e580..8d7aafb 100644
--- a/content/docs/1.x/godot/leaderboards.mdx
+++ b/content/docs/1.x/godot/leaderboards.mdx
@@ -1,6 +1,7 @@
---
description: Talo leaderboards are highly customisable - sort modes, entry uniqueness and refresh intervals can all be easily configured per-leaderboard.
title: Leaderboards
+seoTitle: Godot leaderboards
---
import { ScopeBadges } from '@/components/documentation/ScopeBadges'
diff --git a/content/docs/1.x/godot/live-config.mdx b/content/docs/1.x/godot/live-config.mdx
index 0fd2a57..16ac40e 100644
--- a/content/docs/1.x/godot/live-config.mdx
+++ b/content/docs/1.x/godot/live-config.mdx
@@ -1,6 +1,7 @@
---
description: Live config lets you push data to your game from the Talo dashboard without releasing a new update.
title: Live config
+seoTitle: Godot live config
---
import { ScopeBadges } from '@/components/documentation/ScopeBadges'
diff --git a/content/docs/1.x/godot/player-authentication.mdx b/content/docs/1.x/godot/player-authentication.mdx
index 8450957..1405f60 100644
--- a/content/docs/1.x/godot/player-authentication.mdx
+++ b/content/docs/1.x/godot/player-authentication.mdx
@@ -1,6 +1,7 @@
---
description: Talo player authentication fully manages player login credentials, registrations and email verifications.
title: Player authentication
+seoTitle: Godot player login and authentication
---
import { ScopeBadges } from '@/components/documentation/ScopeBadges'
diff --git a/content/docs/1.x/godot/player-presence.mdx b/content/docs/1.x/godot/player-presence.mdx
index 558f584..605b376 100644
--- a/content/docs/1.x/godot/player-presence.mdx
+++ b/content/docs/1.x/godot/player-presence.mdx
@@ -1,6 +1,7 @@
---
description: With Talo's presence API, you can track whether a player is online, allowing you to easily build social features like friends lists.
title: Player presence
+seoTitle: Godot player presence and online status
---
import { ScopeBadges } from '@/components/documentation/ScopeBadges'
diff --git a/content/docs/1.x/godot/player-props.mdx b/content/docs/1.x/godot/player-props.mdx
index 5c5eb0d..21ec3ae 100644
--- a/content/docs/1.x/godot/player-props.mdx
+++ b/content/docs/1.x/godot/player-props.mdx
@@ -1,6 +1,7 @@
---
description: Players can have properties that are persisted across all of their aliases and across sessions. Props can be viewed and modified from the dashboard.
title: Players and props
+seoTitle: Godot player properties
---
import { ScopeBadges } from '@/components/documentation/ScopeBadges'
diff --git a/content/docs/1.x/godot/player-relationships.mdx b/content/docs/1.x/godot/player-relationships.mdx
index d2e39af..8649239 100644
--- a/content/docs/1.x/godot/player-relationships.mdx
+++ b/content/docs/1.x/godot/player-relationships.mdx
@@ -1,6 +1,7 @@
---
description: Player relationships link players together for social features like friends lists, parties and guilds.
title: Player relationships
+seoTitle: Godot player relationships
---
import { ScopeBadges } from '@/components/documentation/ScopeBadges'
diff --git a/content/docs/1.x/godot/request-verification.mdx b/content/docs/1.x/godot/request-verification.mdx
index 3ab567b..8aa79ae 100644
--- a/content/docs/1.x/godot/request-verification.mdx
+++ b/content/docs/1.x/godot/request-verification.mdx
@@ -1,6 +1,7 @@
---
description: Enable request verification in the Godot plugin to cryptographically sign network requests and socket messages, preventing replay attacks and tampering.
title: Request verification
+seoTitle: Godot request verification
---
## How it works
diff --git a/content/docs/1.x/godot/saves.mdx b/content/docs/1.x/godot/saves.mdx
index f9b36ce..8e25ff2 100644
--- a/content/docs/1.x/godot/saves.mdx
+++ b/content/docs/1.x/godot/saves.mdx
@@ -1,6 +1,7 @@
---
description: Talo Saves allow you to persist your game's state across multiple sessions. Each object in your scene can be saved and restored from one of your player's saves.
title: Saves
+seoTitle: Godot save system
---
import { ScopeBadges } from '@/components/documentation/ScopeBadges'
diff --git a/content/docs/1.x/godot/settings-reference.mdx b/content/docs/1.x/godot/settings-reference.mdx
index 969d01f..94ec941 100644
--- a/content/docs/1.x/godot/settings-reference.mdx
+++ b/content/docs/1.x/godot/settings-reference.mdx
@@ -1,6 +1,7 @@
---
description: Customise Talo using the settings.cfg file.
title: Settings reference
+seoTitle: Godot settings reference
---
## Default settings
diff --git a/content/docs/1.x/godot/socket.mdx b/content/docs/1.x/godot/socket.mdx
index be5efd7..6baae63 100644
--- a/content/docs/1.x/godot/socket.mdx
+++ b/content/docs/1.x/godot/socket.mdx
@@ -1,6 +1,7 @@
---
description: The Talo Socket automatically handles connections, messages and events.
title: Talo Socket
+seoTitle: Godot sockets
---
import { ScopeBadges } from '@/components/documentation/ScopeBadges'
diff --git a/content/docs/1.x/godot/stats.mdx b/content/docs/1.x/godot/stats.mdx
index 51856a3..e6e2ded 100644
--- a/content/docs/1.x/godot/stats.mdx
+++ b/content/docs/1.x/godot/stats.mdx
@@ -1,6 +1,7 @@
---
description: Talo stats let you track individual player data as well as aggregated global data - like how many items have been crafted or how many deaths a player has.
title: Stats
+seoTitle: Godot stats
---
import { ScopeBadges } from '@/components/documentation/ScopeBadges'
diff --git a/content/docs/1.x/godot/upgrading-to-1.0.mdx b/content/docs/1.x/godot/upgrading-to-1.0.mdx
index 851e813..2b1c0f0 100644
--- a/content/docs/1.x/godot/upgrading-to-1.0.mdx
+++ b/content/docs/1.x/godot/upgrading-to-1.0.mdx
@@ -1,6 +1,7 @@
---
description: Upgrade the Talo Godot plugin to 1.0 and migrate code from v0.49.1 and earlier.
title: Upgrading to 1.0
+seoTitle: Upgrading the Talo Godot plugin to 1.0
---
## How to upgrade
diff --git a/content/docs/1.x/http/authentication.mdx b/content/docs/1.x/http/authentication.mdx
index a868bdb..083dad4 100644
--- a/content/docs/1.x/http/authentication.mdx
+++ b/content/docs/1.x/http/authentication.mdx
@@ -1,6 +1,7 @@
---
description: Learn how to authenticate your API requests.
title: Authentication
+seoTitle: HTTP API authentication
---
## Creating and using an API key
diff --git a/content/docs/1.x/http/common-errors.mdx b/content/docs/1.x/http/common-errors.mdx
index 6562773..b551197 100644
--- a/content/docs/1.x/http/common-errors.mdx
+++ b/content/docs/1.x/http/common-errors.mdx
@@ -1,6 +1,7 @@
---
description: Debug common issues with API requests.
title: Common errors
+seoTitle: Common API errors
---
## Missing authentication
diff --git a/content/docs/1.x/http/event-api.mdx b/content/docs/1.x/http/event-api.mdx
index ec42636..f662977 100644
--- a/content/docs/1.x/http/event-api.mdx
+++ b/content/docs/1.x/http/event-api.mdx
@@ -1,6 +1,7 @@
---
description: Event tracking allows you to understand what players are doing inside your game.
title: Event API
+seoTitle: Event tracking API
---
import { ServiceDocumentation } from '@/components/documentation/ServiceDocumentation'
diff --git a/content/docs/1.x/http/game-stat-api.mdx b/content/docs/1.x/http/game-stat-api.mdx
index 63a153b..55a56c3 100644
--- a/content/docs/1.x/http/game-stat-api.mdx
+++ b/content/docs/1.x/http/game-stat-api.mdx
@@ -1,6 +1,7 @@
---
description: Talo stats let you track individual player data as well as aggregated global data - like how many items have been crafted or how many deaths a player has.
title: Game stat API
+seoTitle: Game stats API
---
import { ServiceDocumentation } from '@/components/documentation/ServiceDocumentation'
diff --git a/content/docs/1.x/http/request-verification.mdx b/content/docs/1.x/http/request-verification.mdx
index d0b81eb..c5bd09f 100644
--- a/content/docs/1.x/http/request-verification.mdx
+++ b/content/docs/1.x/http/request-verification.mdx
@@ -1,6 +1,7 @@
---
description: Talo's request verification system prevents replay attacks and tampering by validating signatures on HTTP API requests and socket messages.
title: Request verification
+seoTitle: API request verification
---
## How it works
diff --git a/content/docs/1.x/integrations/apple-game-center.mdx b/content/docs/1.x/integrations/apple-game-center.mdx
index 85708cb..3dc9f14 100644
--- a/content/docs/1.x/integrations/apple-game-center.mdx
+++ b/content/docs/1.x/integrations/apple-game-center.mdx
@@ -1,6 +1,7 @@
---
description: Use Talo's Apple Game Center integration to automatically identify players signed in to Game Center.
title: Apple Game Center
+seoTitle: Apple Game Center integration
---
## How it works
diff --git a/content/docs/1.x/integrations/google-play-games.mdx b/content/docs/1.x/integrations/google-play-games.mdx
index 3b5792b..0a0e871 100644
--- a/content/docs/1.x/integrations/google-play-games.mdx
+++ b/content/docs/1.x/integrations/google-play-games.mdx
@@ -1,6 +1,7 @@
---
description: Use Talo's Google Play Games integration to automatically identify players signed in to Google.
title: Google Play Games
+seoTitle: Google Play Games integration
---
## How it works
diff --git a/content/docs/1.x/integrations/steamworks.mdx b/content/docs/1.x/integrations/steamworks.mdx
index b811c26..de886e4 100644
--- a/content/docs/1.x/integrations/steamworks.mdx
+++ b/content/docs/1.x/integrations/steamworks.mdx
@@ -1,6 +1,7 @@
---
description: Talo's Steamworks integration can sync your players, stats and leaderboards. You can authenticate players and verify their ownership of your game.
title: Steamworks
+seoTitle: Steamworks integration
---
## How it works
diff --git a/content/docs/1.x/selfhosting/configuration.mdx b/content/docs/1.x/selfhosting/configuration.mdx
index d8aee85..91ca3e6 100644
--- a/content/docs/1.x/selfhosting/configuration.mdx
+++ b/content/docs/1.x/selfhosting/configuration.mdx
@@ -1,6 +1,7 @@
---
description: Learn how to configure your self-hosted Talo.
title: Configuration
+seoTitle: Self-hosting configuration
---
## Backend environment variables
diff --git a/content/docs/1.x/sockets/common-errors.mdx b/content/docs/1.x/sockets/common-errors.mdx
index 55e262a..618c949 100644
--- a/content/docs/1.x/sockets/common-errors.mdx
+++ b/content/docs/1.x/sockets/common-errors.mdx
@@ -1,5 +1,7 @@
---
+description: Fix common Talo Socket errors, from invalid messages to expired tickets.
title: Common errors
+seoTitle: Common socket errors
---
## Missing authentication
diff --git a/content/docs/1.x/sockets/custom-ping-pongs.mdx b/content/docs/1.x/sockets/custom-ping-pongs.mdx
index cd599d8..2d85fc8 100644
--- a/content/docs/1.x/sockets/custom-ping-pongs.mdx
+++ b/content/docs/1.x/sockets/custom-ping-pongs.mdx
@@ -1,6 +1,7 @@
---
description: If your clientside websocket framework doesn't support ping-pong control frames, you can use Talo's custom heartbeat message to keep connections alive.
title: Custom ping-pongs
+seoTitle: Custom socket ping-pongs
---
## Browser support
diff --git a/content/docs/1.x/sockets/request-verification.mdx b/content/docs/1.x/sockets/request-verification.mdx
index 1d5a1c0..99127ad 100644
--- a/content/docs/1.x/sockets/request-verification.mdx
+++ b/content/docs/1.x/sockets/request-verification.mdx
@@ -1,6 +1,7 @@
---
description: Socket message verification uses cryptographic signatures to prevent replay attacks and tampering on WebSocket messages.
title: Request verification
+seoTitle: Socket request verification
---
## How it works
diff --git a/content/docs/1.x/sockets/requests.mdx b/content/docs/1.x/sockets/requests.mdx
index 8ef7dcb..bfbde56 100644
--- a/content/docs/1.x/sockets/requests.mdx
+++ b/content/docs/1.x/sockets/requests.mdx
@@ -1,6 +1,7 @@
---
description: Requests are socket messages you send to Talo and other players
title: Requests
+seoTitle: Socket requests
---
## Players
diff --git a/content/docs/1.x/sockets/responses.mdx b/content/docs/1.x/sockets/responses.mdx
index 14c9531..25f55d1 100644
--- a/content/docs/1.x/sockets/responses.mdx
+++ b/content/docs/1.x/sockets/responses.mdx
@@ -1,6 +1,7 @@
---
description: Responses are socket messages sent from Talo and other players
title: Responses
+seoTitle: Socket responses
---
## Players
diff --git a/content/docs/1.x/unity/channels.mdx b/content/docs/1.x/unity/channels.mdx
index 5f02999..ef98cbf 100644
--- a/content/docs/1.x/unity/channels.mdx
+++ b/content/docs/1.x/unity/channels.mdx
@@ -1,6 +1,7 @@
---
description: Talo Channels can be used for player chats, sending data to specific groups, pushing game updates and storing shared game state.
title: Channels and storage
+seoTitle: Unity channels and storage
---
import { ScopeBadges } from '@/components/documentation/ScopeBadges'
diff --git a/content/docs/1.x/unity/continuity.mdx b/content/docs/1.x/unity/continuity.mdx
index 7e15c5b..f4695d7 100644
--- a/content/docs/1.x/unity/continuity.mdx
+++ b/content/docs/1.x/unity/continuity.mdx
@@ -1,6 +1,7 @@
---
description: Talo is designed to work online and offline. Talo will automatically keep data in sync for offline players.
title: Continuity and offline mode
+seoTitle: Unity continuity and offline mode
---
import { ScopeBadges } from '@/components/documentation/ScopeBadges'
diff --git a/content/docs/1.x/unity/dev-data.mdx b/content/docs/1.x/unity/dev-data.mdx
index 5e169a2..e019334 100644
--- a/content/docs/1.x/unity/dev-data.mdx
+++ b/content/docs/1.x/unity/dev-data.mdx
@@ -1,6 +1,7 @@
---
description: Separate your development data from live data inside the Talo dashboard.
title: Separating development data
+seoTitle: Unity development data
---
## Debug builds
diff --git a/content/docs/1.x/unity/events.mdx b/content/docs/1.x/unity/events.mdx
index 8ec69ba..858e351 100644
--- a/content/docs/1.x/unity/events.mdx
+++ b/content/docs/1.x/unity/events.mdx
@@ -1,6 +1,7 @@
---
description: Event tracking allows you to understand what players are doing inside your game.
title: Events
+seoTitle: Unity event tracking
---
import { ScopeBadges } from '@/components/documentation/ScopeBadges'
diff --git a/content/docs/1.x/unity/feedback.mdx b/content/docs/1.x/unity/feedback.mdx
index 0f37ab9..545daa9 100644
--- a/content/docs/1.x/unity/feedback.mdx
+++ b/content/docs/1.x/unity/feedback.mdx
@@ -1,6 +1,7 @@
---
description: Talo Feedback allows you to receive feedback directly from players. Feedback can be categorised, analysed and filtered to improve your game.
title: Feedback
+seoTitle: Unity player feedback
---
import { ScopeBadges } from '@/components/documentation/ScopeBadges'
diff --git a/content/docs/1.x/unity/groups.mdx b/content/docs/1.x/unity/groups.mdx
index 05c6417..c742e72 100644
--- a/content/docs/1.x/unity/groups.mdx
+++ b/content/docs/1.x/unity/groups.mdx
@@ -1,6 +1,7 @@
---
description: Talo groups allow you to apply filters on your player-base to create distinct segments between players. You can have groups for beta testers, players who completed your game or players with specific props.
title: Player groups
+seoTitle: Unity player groups
---
import { ScopeBadges } from '@/components/documentation/ScopeBadges'
diff --git a/content/docs/1.x/unity/identifying.mdx b/content/docs/1.x/unity/identifying.mdx
index f0e6bd8..9742778 100644
--- a/content/docs/1.x/unity/identifying.mdx
+++ b/content/docs/1.x/unity/identifying.mdx
@@ -1,6 +1,7 @@
---
description: The Talo Unity package allows you to authenticate players, create player aliases and sync identities with external identity providers.
title: Identifying a player
+seoTitle: Identifying players in Unity
---
import { ScopeBadges } from '@/components/documentation/ScopeBadges'
diff --git a/content/docs/1.x/unity/install.mdx b/content/docs/1.x/unity/install.mdx
index 67e897d..f569b78 100644
--- a/content/docs/1.x/unity/install.mdx
+++ b/content/docs/1.x/unity/install.mdx
@@ -1,6 +1,7 @@
---
description: Learn how to add Talo's Unity package to your game.
title: Installation
+seoTitle: Installing the Talo Unity package
---
## Required Unity version
diff --git a/content/docs/1.x/unity/leaderboards.mdx b/content/docs/1.x/unity/leaderboards.mdx
index 9955705..b2802f9 100644
--- a/content/docs/1.x/unity/leaderboards.mdx
+++ b/content/docs/1.x/unity/leaderboards.mdx
@@ -1,6 +1,7 @@
---
description: Talo leaderboards are highly customisable - sort modes, entry uniqueness and refresh intervals can all be easily configured per-leaderboard.
title: Leaderboards
+seoTitle: Unity leaderboards
---
import { ScopeBadges } from '@/components/documentation/ScopeBadges'
diff --git a/content/docs/1.x/unity/live-config.mdx b/content/docs/1.x/unity/live-config.mdx
index e9288ed..b7ac32a 100644
--- a/content/docs/1.x/unity/live-config.mdx
+++ b/content/docs/1.x/unity/live-config.mdx
@@ -1,6 +1,7 @@
---
description: Live config lets you push data to your game from the Talo dashboard without releasing a new update.
title: Live config
+seoTitle: Unity live config
---
import { ScopeBadges } from '@/components/documentation/ScopeBadges'
diff --git a/content/docs/1.x/unity/player-authentication.mdx b/content/docs/1.x/unity/player-authentication.mdx
index 951d26e..a3fc25f 100644
--- a/content/docs/1.x/unity/player-authentication.mdx
+++ b/content/docs/1.x/unity/player-authentication.mdx
@@ -1,6 +1,7 @@
---
description: Talo player authentication fully manages player login credentials, registrations and email verifications.
title: Player authentication
+seoTitle: Unity player login and authentication
---
import { ScopeBadges } from '@/components/documentation/ScopeBadges'
diff --git a/content/docs/1.x/unity/player-presence.mdx b/content/docs/1.x/unity/player-presence.mdx
index bc0b922..c8ccf3d 100644
--- a/content/docs/1.x/unity/player-presence.mdx
+++ b/content/docs/1.x/unity/player-presence.mdx
@@ -1,6 +1,7 @@
---
description: With Talo's presence API, you can track whether a player is online, allowing you to easily build social features like friends lists.
title: Player presence
+seoTitle: Unity player presence and online status
---
import { ScopeBadges } from '@/components/documentation/ScopeBadges'
diff --git a/content/docs/1.x/unity/player-props.mdx b/content/docs/1.x/unity/player-props.mdx
index a3903b8..ec01aac 100644
--- a/content/docs/1.x/unity/player-props.mdx
+++ b/content/docs/1.x/unity/player-props.mdx
@@ -1,6 +1,7 @@
---
description: Players can have properties that are persisted across all of their aliases and across sessions. Props can be viewed and modified from the dashboard.
title: Players and props
+seoTitle: Unity player properties
---
import { ScopeBadges } from '@/components/documentation/ScopeBadges'
diff --git a/content/docs/1.x/unity/player-relationships.mdx b/content/docs/1.x/unity/player-relationships.mdx
index 69f9a86..7a4ae4a 100644
--- a/content/docs/1.x/unity/player-relationships.mdx
+++ b/content/docs/1.x/unity/player-relationships.mdx
@@ -1,6 +1,7 @@
---
description: Player relationships link players together for social features like friends lists, parties and guilds.
title: Player relationships
+seoTitle: Unity player relationships
---
import { ScopeBadges } from '@/components/documentation/ScopeBadges'
diff --git a/content/docs/1.x/unity/request-verification.mdx b/content/docs/1.x/unity/request-verification.mdx
index a75f7d2..51a3896 100644
--- a/content/docs/1.x/unity/request-verification.mdx
+++ b/content/docs/1.x/unity/request-verification.mdx
@@ -1,6 +1,7 @@
---
description: Enable request verification in the Unity package to cryptographically sign network requests and socket messages, preventing replay attacks and tampering.
title: Request verification
+seoTitle: Unity request verification
---
## How it works
diff --git a/content/docs/1.x/unity/saves.mdx b/content/docs/1.x/unity/saves.mdx
index d2ff1bd..87beb21 100644
--- a/content/docs/1.x/unity/saves.mdx
+++ b/content/docs/1.x/unity/saves.mdx
@@ -1,6 +1,7 @@
---
description: Talo Saves allow you to persist your game's state across multiple sessions. Each object in your scene can be saved and restored from one of your player's saves.
title: Saves
+seoTitle: Unity save system
---
import { ScopeBadges } from '@/components/documentation/ScopeBadges'
diff --git a/content/docs/1.x/unity/settings-reference.mdx b/content/docs/1.x/unity/settings-reference.mdx
index ac2a7f9..20e3480 100644
--- a/content/docs/1.x/unity/settings-reference.mdx
+++ b/content/docs/1.x/unity/settings-reference.mdx
@@ -1,6 +1,7 @@
---
description: Customise Talo using the Talo Settings Asset.
title: Settings reference
+seoTitle: Unity settings reference
---
## Accessing settings
diff --git a/content/docs/1.x/unity/socket.mdx b/content/docs/1.x/unity/socket.mdx
index 538cdc1..36652ef 100644
--- a/content/docs/1.x/unity/socket.mdx
+++ b/content/docs/1.x/unity/socket.mdx
@@ -1,6 +1,7 @@
---
description: The Talo Socket automatically handles connections, messages and events.
title: Talo Socket
+seoTitle: Unity sockets
---
import { ScopeBadges } from '@/components/documentation/ScopeBadges'
diff --git a/content/docs/1.x/unity/stats.mdx b/content/docs/1.x/unity/stats.mdx
index 3823ea8..2d7e61d 100644
--- a/content/docs/1.x/unity/stats.mdx
+++ b/content/docs/1.x/unity/stats.mdx
@@ -1,6 +1,7 @@
---
description: Talo stats let you track individual player data as well as aggregated global data - like how many items have been crafted or how many deaths a player has.
title: Stats
+seoTitle: Unity stats
---
import { ScopeBadges } from '@/components/documentation/ScopeBadges'
diff --git a/content/docs/1.x/unity/upgrading-to-1.0.mdx b/content/docs/1.x/unity/upgrading-to-1.0.mdx
index dad93a9..b02220b 100644
--- a/content/docs/1.x/unity/upgrading-to-1.0.mdx
+++ b/content/docs/1.x/unity/upgrading-to-1.0.mdx
@@ -1,6 +1,7 @@
---
description: Upgrade the Talo Unity package to 1.0 and migrate code from v0.60.0 and earlier.
title: Upgrading to 1.0
+seoTitle: Upgrading the Talo Unity package to 1.0
---
## How to upgrade
diff --git a/content/docs/pre-1.0/godot/channels.mdx b/content/docs/pre-1.0/godot/channels.mdx
index a619c23..2f76aad 100644
--- a/content/docs/pre-1.0/godot/channels.mdx
+++ b/content/docs/pre-1.0/godot/channels.mdx
@@ -1,6 +1,7 @@
---
description: Talo Channels can be used for player chats, sending data to specific groups, pushing game updates and storing shared game state.
title: Channels and storage
+seoTitle: Godot channels and storage
---
import { ScopeBadges } from '@/components/documentation/ScopeBadges'
diff --git a/content/docs/pre-1.0/godot/continuity.mdx b/content/docs/pre-1.0/godot/continuity.mdx
index 9599959..2752fe7 100644
--- a/content/docs/pre-1.0/godot/continuity.mdx
+++ b/content/docs/pre-1.0/godot/continuity.mdx
@@ -1,6 +1,7 @@
---
description: Talo is designed to work online and offline. Talo will automatically keep data in sync for offline players.
title: Continuity and offline mode
+seoTitle: Godot continuity and offline mode
---
import { ScopeBadges } from '@/components/documentation/ScopeBadges'
diff --git a/content/docs/pre-1.0/godot/events.mdx b/content/docs/pre-1.0/godot/events.mdx
index b6f5138..68140c7 100644
--- a/content/docs/pre-1.0/godot/events.mdx
+++ b/content/docs/pre-1.0/godot/events.mdx
@@ -1,6 +1,7 @@
---
description: Event tracking allows you to understand what players are doing inside your game.
title: Events
+seoTitle: Godot event tracking
---
import { ScopeBadges } from '@/components/documentation/ScopeBadges'
diff --git a/content/docs/pre-1.0/godot/exporting.mdx b/content/docs/pre-1.0/godot/exporting.mdx
index 713f0c6..58db836 100644
--- a/content/docs/pre-1.0/godot/exporting.mdx
+++ b/content/docs/pre-1.0/godot/exporting.mdx
@@ -1,6 +1,7 @@
---
description: Talo can separate development data from live data based on debug builds and feature tags.
title: Exporting your project
+seoTitle: Exporting a Godot project
---
## Android export permissions
diff --git a/content/docs/pre-1.0/godot/feedback.mdx b/content/docs/pre-1.0/godot/feedback.mdx
index 076f1c5..7ae1d45 100644
--- a/content/docs/pre-1.0/godot/feedback.mdx
+++ b/content/docs/pre-1.0/godot/feedback.mdx
@@ -1,6 +1,7 @@
---
description: Talo Feedback allows you to receive feedback directly from players. Feedback can be categorised, analysed and filtered to improve your game.
title: Feedback
+seoTitle: Godot player feedback
---
import { ScopeBadges } from '@/components/documentation/ScopeBadges'
diff --git a/content/docs/pre-1.0/godot/groups.mdx b/content/docs/pre-1.0/godot/groups.mdx
index 8985565..f3f7f00 100644
--- a/content/docs/pre-1.0/godot/groups.mdx
+++ b/content/docs/pre-1.0/godot/groups.mdx
@@ -1,6 +1,7 @@
---
description: Talo groups allow you to apply filters on your player-base to create distinct segments between players. You can have groups for beta testers, players who completed your game or players with specific props.
title: Player groups
+seoTitle: Godot player groups
---
import { ScopeBadges } from '@/components/documentation/ScopeBadges'
diff --git a/content/docs/pre-1.0/godot/identifying.mdx b/content/docs/pre-1.0/godot/identifying.mdx
index e887a9b..5033320 100644
--- a/content/docs/pre-1.0/godot/identifying.mdx
+++ b/content/docs/pre-1.0/godot/identifying.mdx
@@ -1,6 +1,7 @@
---
description: The Talo Godot plugin allows you to authenticate players, create player aliases and sync identities with external identity providers.
title: Identifying a player
+seoTitle: Identifying players in Godot
---
import { ScopeBadges } from '@/components/documentation/ScopeBadges'
diff --git a/content/docs/pre-1.0/godot/install.mdx b/content/docs/pre-1.0/godot/install.mdx
index eca5aad..5459e42 100644
--- a/content/docs/pre-1.0/godot/install.mdx
+++ b/content/docs/pre-1.0/godot/install.mdx
@@ -1,6 +1,7 @@
---
description: Learn how to add Talo's Godot plugin to your game.
title: Installation
+seoTitle: Installing the Talo Godot plugin
---
## Import into Godot
diff --git a/content/docs/pre-1.0/godot/leaderboards.mdx b/content/docs/pre-1.0/godot/leaderboards.mdx
index acc14f7..798e780 100644
--- a/content/docs/pre-1.0/godot/leaderboards.mdx
+++ b/content/docs/pre-1.0/godot/leaderboards.mdx
@@ -1,6 +1,7 @@
---
description: Talo leaderboards are highly customisable - sort modes, entry uniqueness and refresh intervals can all be easily configured per-leaderboard.
title: Leaderboards
+seoTitle: Godot leaderboards
---
import { ScopeBadges } from '@/components/documentation/ScopeBadges'
diff --git a/content/docs/pre-1.0/godot/live-config.mdx b/content/docs/pre-1.0/godot/live-config.mdx
index 88fc443..2dbeb87 100644
--- a/content/docs/pre-1.0/godot/live-config.mdx
+++ b/content/docs/pre-1.0/godot/live-config.mdx
@@ -1,6 +1,7 @@
---
description: Live config lets you push data to your game from the Talo dashboard without releasing a new update.
title: Live config
+seoTitle: Godot live config
---
import { ScopeBadges } from '@/components/documentation/ScopeBadges'
diff --git a/content/docs/pre-1.0/godot/player-authentication.mdx b/content/docs/pre-1.0/godot/player-authentication.mdx
index 5deca72..83f082a 100644
--- a/content/docs/pre-1.0/godot/player-authentication.mdx
+++ b/content/docs/pre-1.0/godot/player-authentication.mdx
@@ -1,6 +1,7 @@
---
description: Talo player authentication fully manages player login credentials, registrations and email verifications.
title: Player authentication
+seoTitle: Godot player login and authentication
---
import { ScopeBadges } from '@/components/documentation/ScopeBadges'
diff --git a/content/docs/pre-1.0/godot/player-presence.mdx b/content/docs/pre-1.0/godot/player-presence.mdx
index 558f584..605b376 100644
--- a/content/docs/pre-1.0/godot/player-presence.mdx
+++ b/content/docs/pre-1.0/godot/player-presence.mdx
@@ -1,6 +1,7 @@
---
description: With Talo's presence API, you can track whether a player is online, allowing you to easily build social features like friends lists.
title: Player presence
+seoTitle: Godot player presence and online status
---
import { ScopeBadges } from '@/components/documentation/ScopeBadges'
diff --git a/content/docs/pre-1.0/godot/player-props.mdx b/content/docs/pre-1.0/godot/player-props.mdx
index 0b5e58b..4018671 100644
--- a/content/docs/pre-1.0/godot/player-props.mdx
+++ b/content/docs/pre-1.0/godot/player-props.mdx
@@ -1,6 +1,7 @@
---
description: Players can have properties that are persisted across all of their aliases and across sessions. Props can be viewed and modified from the dashboard.
title: Players and props
+seoTitle: Godot player properties
---
import { ScopeBadges } from '@/components/documentation/ScopeBadges'
diff --git a/content/docs/pre-1.0/godot/player-relationships.mdx b/content/docs/pre-1.0/godot/player-relationships.mdx
index f4bd5f0..a60c57a 100644
--- a/content/docs/pre-1.0/godot/player-relationships.mdx
+++ b/content/docs/pre-1.0/godot/player-relationships.mdx
@@ -1,6 +1,7 @@
---
description: Player relationships link players together for social features like friends lists, parties and guilds.
title: Player relationships
+seoTitle: Godot player relationships
---
import { ScopeBadges } from '@/components/documentation/ScopeBadges'
diff --git a/content/docs/pre-1.0/godot/request-verification.mdx b/content/docs/pre-1.0/godot/request-verification.mdx
index 3ab567b..8aa79ae 100644
--- a/content/docs/pre-1.0/godot/request-verification.mdx
+++ b/content/docs/pre-1.0/godot/request-verification.mdx
@@ -1,6 +1,7 @@
---
description: Enable request verification in the Godot plugin to cryptographically sign network requests and socket messages, preventing replay attacks and tampering.
title: Request verification
+seoTitle: Godot request verification
---
## How it works
diff --git a/content/docs/pre-1.0/godot/saves.mdx b/content/docs/pre-1.0/godot/saves.mdx
index e0b515e..aeba3a7 100644
--- a/content/docs/pre-1.0/godot/saves.mdx
+++ b/content/docs/pre-1.0/godot/saves.mdx
@@ -1,6 +1,7 @@
---
description: Talo Saves allow you to persist your game's state across multiple sessions. Each object in your scene can be saved and restored from one of your player's saves.
title: Saves
+seoTitle: Godot save system
---
import { ScopeBadges } from '@/components/documentation/ScopeBadges'
diff --git a/content/docs/pre-1.0/godot/settings-reference.mdx b/content/docs/pre-1.0/godot/settings-reference.mdx
index dc8f899..720bb9e 100644
--- a/content/docs/pre-1.0/godot/settings-reference.mdx
+++ b/content/docs/pre-1.0/godot/settings-reference.mdx
@@ -1,6 +1,7 @@
---
description: Customise Talo using the settings.cfg file.
title: Settings reference
+seoTitle: Godot settings reference
---
## Default settings
diff --git a/content/docs/pre-1.0/godot/socket.mdx b/content/docs/pre-1.0/godot/socket.mdx
index 3593fb9..121682d 100644
--- a/content/docs/pre-1.0/godot/socket.mdx
+++ b/content/docs/pre-1.0/godot/socket.mdx
@@ -1,6 +1,7 @@
---
description: The Talo Socket automatically handles connections, messages and events.
title: Talo Socket
+seoTitle: Godot sockets
---
import { ScopeBadges } from '@/components/documentation/ScopeBadges'
diff --git a/content/docs/pre-1.0/godot/stats.mdx b/content/docs/pre-1.0/godot/stats.mdx
index 51856a3..e6e2ded 100644
--- a/content/docs/pre-1.0/godot/stats.mdx
+++ b/content/docs/pre-1.0/godot/stats.mdx
@@ -1,6 +1,7 @@
---
description: Talo stats let you track individual player data as well as aggregated global data - like how many items have been crafted or how many deaths a player has.
title: Stats
+seoTitle: Godot stats
---
import { ScopeBadges } from '@/components/documentation/ScopeBadges'
diff --git a/content/docs/pre-1.0/http/authentication.mdx b/content/docs/pre-1.0/http/authentication.mdx
index afb35ee..f78eaab 100644
--- a/content/docs/pre-1.0/http/authentication.mdx
+++ b/content/docs/pre-1.0/http/authentication.mdx
@@ -1,6 +1,7 @@
---
description: Learn how to authenticate your API requests.
title: Authentication
+seoTitle: HTTP API authentication
---
## Creating and using an API key
diff --git a/content/docs/pre-1.0/http/common-errors.mdx b/content/docs/pre-1.0/http/common-errors.mdx
index aa2a9b2..e15cfb2 100644
--- a/content/docs/pre-1.0/http/common-errors.mdx
+++ b/content/docs/pre-1.0/http/common-errors.mdx
@@ -1,6 +1,7 @@
---
description: Debug common issues with API requests.
title: Common errors
+seoTitle: Common API errors
---
## Missing authentication
diff --git a/content/docs/pre-1.0/http/event-api.mdx b/content/docs/pre-1.0/http/event-api.mdx
index ec42636..f662977 100644
--- a/content/docs/pre-1.0/http/event-api.mdx
+++ b/content/docs/pre-1.0/http/event-api.mdx
@@ -1,6 +1,7 @@
---
description: Event tracking allows you to understand what players are doing inside your game.
title: Event API
+seoTitle: Event tracking API
---
import { ServiceDocumentation } from '@/components/documentation/ServiceDocumentation'
diff --git a/content/docs/pre-1.0/http/game-stat-api.mdx b/content/docs/pre-1.0/http/game-stat-api.mdx
index 63a153b..55a56c3 100644
--- a/content/docs/pre-1.0/http/game-stat-api.mdx
+++ b/content/docs/pre-1.0/http/game-stat-api.mdx
@@ -1,6 +1,7 @@
---
description: Talo stats let you track individual player data as well as aggregated global data - like how many items have been crafted or how many deaths a player has.
title: Game stat API
+seoTitle: Game stats API
---
import { ServiceDocumentation } from '@/components/documentation/ServiceDocumentation'
diff --git a/content/docs/pre-1.0/http/request-verification.mdx b/content/docs/pre-1.0/http/request-verification.mdx
index 68313db..c526eac 100644
--- a/content/docs/pre-1.0/http/request-verification.mdx
+++ b/content/docs/pre-1.0/http/request-verification.mdx
@@ -1,6 +1,7 @@
---
description: Talo's request verification system prevents replay attacks and tampering by validating signatures on HTTP API requests and socket messages.
title: Request verification
+seoTitle: API request verification
---
## How it works
diff --git a/content/docs/pre-1.0/integrations/apple-game-center.mdx b/content/docs/pre-1.0/integrations/apple-game-center.mdx
index 06e299f..84ca8d4 100644
--- a/content/docs/pre-1.0/integrations/apple-game-center.mdx
+++ b/content/docs/pre-1.0/integrations/apple-game-center.mdx
@@ -1,6 +1,7 @@
---
description: Use Talo's Apple Game Center integration to automatically identify players signed in to Game Center.
title: Apple Game Center
+seoTitle: Apple Game Center integration
---
## How it works
diff --git a/content/docs/pre-1.0/integrations/google-play-games.mdx b/content/docs/pre-1.0/integrations/google-play-games.mdx
index 7963680..aeab907 100644
--- a/content/docs/pre-1.0/integrations/google-play-games.mdx
+++ b/content/docs/pre-1.0/integrations/google-play-games.mdx
@@ -1,6 +1,7 @@
---
description: Use Talo's Google Play Games integration to automatically identify players signed in to Google.
title: Google Play Games
+seoTitle: Google Play Games integration
---
## How it works
diff --git a/content/docs/pre-1.0/integrations/steamworks.mdx b/content/docs/pre-1.0/integrations/steamworks.mdx
index d0fba7d..b28f995 100644
--- a/content/docs/pre-1.0/integrations/steamworks.mdx
+++ b/content/docs/pre-1.0/integrations/steamworks.mdx
@@ -1,6 +1,7 @@
---
description: Talo's Steamworks integration can sync your players, stats and leaderboards. You can authenticate players and verify their ownership of your game.
title: Steamworks
+seoTitle: Steamworks integration
---
## How it works
diff --git a/content/docs/pre-1.0/selfhosting/configuration.mdx b/content/docs/pre-1.0/selfhosting/configuration.mdx
index d8aee85..91ca3e6 100644
--- a/content/docs/pre-1.0/selfhosting/configuration.mdx
+++ b/content/docs/pre-1.0/selfhosting/configuration.mdx
@@ -1,6 +1,7 @@
---
description: Learn how to configure your self-hosted Talo.
title: Configuration
+seoTitle: Self-hosting configuration
---
## Backend environment variables
diff --git a/content/docs/pre-1.0/sockets/common-errors.mdx b/content/docs/pre-1.0/sockets/common-errors.mdx
index e7cca16..7c4ccec 100644
--- a/content/docs/pre-1.0/sockets/common-errors.mdx
+++ b/content/docs/pre-1.0/sockets/common-errors.mdx
@@ -1,5 +1,7 @@
---
+description: Fix common Talo Socket errors, from invalid messages to expired tickets.
title: Common errors
+seoTitle: Common socket errors
---
## Missing authentication
diff --git a/content/docs/pre-1.0/sockets/custom-ping-pongs.mdx b/content/docs/pre-1.0/sockets/custom-ping-pongs.mdx
index cd599d8..2d85fc8 100644
--- a/content/docs/pre-1.0/sockets/custom-ping-pongs.mdx
+++ b/content/docs/pre-1.0/sockets/custom-ping-pongs.mdx
@@ -1,6 +1,7 @@
---
description: If your clientside websocket framework doesn't support ping-pong control frames, you can use Talo's custom heartbeat message to keep connections alive.
title: Custom ping-pongs
+seoTitle: Custom socket ping-pongs
---
## Browser support
diff --git a/content/docs/pre-1.0/sockets/request-verification.mdx b/content/docs/pre-1.0/sockets/request-verification.mdx
index 1d5a1c0..99127ad 100644
--- a/content/docs/pre-1.0/sockets/request-verification.mdx
+++ b/content/docs/pre-1.0/sockets/request-verification.mdx
@@ -1,6 +1,7 @@
---
description: Socket message verification uses cryptographic signatures to prevent replay attacks and tampering on WebSocket messages.
title: Request verification
+seoTitle: Socket request verification
---
## How it works
diff --git a/content/docs/pre-1.0/sockets/requests.mdx b/content/docs/pre-1.0/sockets/requests.mdx
index 8ef7dcb..bfbde56 100644
--- a/content/docs/pre-1.0/sockets/requests.mdx
+++ b/content/docs/pre-1.0/sockets/requests.mdx
@@ -1,6 +1,7 @@
---
description: Requests are socket messages you send to Talo and other players
title: Requests
+seoTitle: Socket requests
---
## Players
diff --git a/content/docs/pre-1.0/sockets/responses.mdx b/content/docs/pre-1.0/sockets/responses.mdx
index 14c9531..25f55d1 100644
--- a/content/docs/pre-1.0/sockets/responses.mdx
+++ b/content/docs/pre-1.0/sockets/responses.mdx
@@ -1,6 +1,7 @@
---
description: Responses are socket messages sent from Talo and other players
title: Responses
+seoTitle: Socket responses
---
## Players
diff --git a/content/docs/pre-1.0/unity/channels.mdx b/content/docs/pre-1.0/unity/channels.mdx
index fbb7646..e37252f 100644
--- a/content/docs/pre-1.0/unity/channels.mdx
+++ b/content/docs/pre-1.0/unity/channels.mdx
@@ -1,6 +1,7 @@
---
description: Talo Channels can be used for player chats, sending data to specific groups, pushing game updates and storing shared game state.
title: Channels and storage
+seoTitle: Unity channels and storage
---
import { ScopeBadges } from '@/components/documentation/ScopeBadges'
diff --git a/content/docs/pre-1.0/unity/continuity.mdx b/content/docs/pre-1.0/unity/continuity.mdx
index a139fb2..09a4aa3 100644
--- a/content/docs/pre-1.0/unity/continuity.mdx
+++ b/content/docs/pre-1.0/unity/continuity.mdx
@@ -1,6 +1,7 @@
---
description: Talo is designed to work online and offline. Talo will automatically keep data in sync for offline players.
title: Continuity and offline mode
+seoTitle: Unity continuity and offline mode
---
import { ScopeBadges } from '@/components/documentation/ScopeBadges'
diff --git a/content/docs/pre-1.0/unity/dev-data.mdx b/content/docs/pre-1.0/unity/dev-data.mdx
index 5e169a2..e019334 100644
--- a/content/docs/pre-1.0/unity/dev-data.mdx
+++ b/content/docs/pre-1.0/unity/dev-data.mdx
@@ -1,6 +1,7 @@
---
description: Separate your development data from live data inside the Talo dashboard.
title: Separating development data
+seoTitle: Unity development data
---
## Debug builds
diff --git a/content/docs/pre-1.0/unity/events.mdx b/content/docs/pre-1.0/unity/events.mdx
index 8ec69ba..858e351 100644
--- a/content/docs/pre-1.0/unity/events.mdx
+++ b/content/docs/pre-1.0/unity/events.mdx
@@ -1,6 +1,7 @@
---
description: Event tracking allows you to understand what players are doing inside your game.
title: Events
+seoTitle: Unity event tracking
---
import { ScopeBadges } from '@/components/documentation/ScopeBadges'
diff --git a/content/docs/pre-1.0/unity/feedback.mdx b/content/docs/pre-1.0/unity/feedback.mdx
index 919da1a..f6035af 100644
--- a/content/docs/pre-1.0/unity/feedback.mdx
+++ b/content/docs/pre-1.0/unity/feedback.mdx
@@ -1,6 +1,7 @@
---
description: Talo Feedback allows you to receive feedback directly from players. Feedback can be categorised, analysed and filtered to improve your game.
title: Feedback
+seoTitle: Unity player feedback
---
import { ScopeBadges } from '@/components/documentation/ScopeBadges'
diff --git a/content/docs/pre-1.0/unity/groups.mdx b/content/docs/pre-1.0/unity/groups.mdx
index 885e131..c9557fe 100644
--- a/content/docs/pre-1.0/unity/groups.mdx
+++ b/content/docs/pre-1.0/unity/groups.mdx
@@ -1,6 +1,7 @@
---
description: Talo groups allow you to apply filters on your player-base to create distinct segments between players. You can have groups for beta testers, players who completed your game or players with specific props.
title: Player groups
+seoTitle: Unity player groups
---
import { ScopeBadges } from '@/components/documentation/ScopeBadges'
diff --git a/content/docs/pre-1.0/unity/identifying.mdx b/content/docs/pre-1.0/unity/identifying.mdx
index bfb4d95..7fa2342 100644
--- a/content/docs/pre-1.0/unity/identifying.mdx
+++ b/content/docs/pre-1.0/unity/identifying.mdx
@@ -1,6 +1,7 @@
---
description: The Talo Unity package allows you to authenticate players, create player aliases and sync identities with external identity providers.
title: Identifying a player
+seoTitle: Identifying players in Unity
---
import { ScopeBadges } from '@/components/documentation/ScopeBadges'
diff --git a/content/docs/pre-1.0/unity/install.mdx b/content/docs/pre-1.0/unity/install.mdx
index 98a534c..70ac0b3 100644
--- a/content/docs/pre-1.0/unity/install.mdx
+++ b/content/docs/pre-1.0/unity/install.mdx
@@ -1,6 +1,7 @@
---
description: Learn how to add Talo's Unity package to your game.
title: Installation
+seoTitle: Installing the Talo Unity package
---
## Required Unity version
diff --git a/content/docs/pre-1.0/unity/leaderboards.mdx b/content/docs/pre-1.0/unity/leaderboards.mdx
index fecd1f2..3205c12 100644
--- a/content/docs/pre-1.0/unity/leaderboards.mdx
+++ b/content/docs/pre-1.0/unity/leaderboards.mdx
@@ -1,6 +1,7 @@
---
description: Talo leaderboards are highly customisable - sort modes, entry uniqueness and refresh intervals can all be easily configured per-leaderboard.
title: Leaderboards
+seoTitle: Unity leaderboards
---
import { ScopeBadges } from '@/components/documentation/ScopeBadges'
diff --git a/content/docs/pre-1.0/unity/live-config.mdx b/content/docs/pre-1.0/unity/live-config.mdx
index c8477f8..18d2ca1 100644
--- a/content/docs/pre-1.0/unity/live-config.mdx
+++ b/content/docs/pre-1.0/unity/live-config.mdx
@@ -1,6 +1,7 @@
---
description: Live config lets you push data to your game from the Talo dashboard without releasing a new update.
title: Live config
+seoTitle: Unity live config
---
import { ScopeBadges } from '@/components/documentation/ScopeBadges'
diff --git a/content/docs/pre-1.0/unity/player-authentication.mdx b/content/docs/pre-1.0/unity/player-authentication.mdx
index 4789586..4d1954e 100644
--- a/content/docs/pre-1.0/unity/player-authentication.mdx
+++ b/content/docs/pre-1.0/unity/player-authentication.mdx
@@ -1,6 +1,7 @@
---
description: Talo player authentication fully manages player login credentials, registrations and email verifications.
title: Player authentication
+seoTitle: Unity player login and authentication
---
import { ScopeBadges } from '@/components/documentation/ScopeBadges'
diff --git a/content/docs/pre-1.0/unity/player-presence.mdx b/content/docs/pre-1.0/unity/player-presence.mdx
index bc0b922..c8ccf3d 100644
--- a/content/docs/pre-1.0/unity/player-presence.mdx
+++ b/content/docs/pre-1.0/unity/player-presence.mdx
@@ -1,6 +1,7 @@
---
description: With Talo's presence API, you can track whether a player is online, allowing you to easily build social features like friends lists.
title: Player presence
+seoTitle: Unity player presence and online status
---
import { ScopeBadges } from '@/components/documentation/ScopeBadges'
diff --git a/content/docs/pre-1.0/unity/player-props.mdx b/content/docs/pre-1.0/unity/player-props.mdx
index 32eaa3f..d33b41a 100644
--- a/content/docs/pre-1.0/unity/player-props.mdx
+++ b/content/docs/pre-1.0/unity/player-props.mdx
@@ -1,6 +1,7 @@
---
description: Players can have properties that are persisted across all of their aliases and across sessions. Props can be viewed and modified from the dashboard.
title: Players and props
+seoTitle: Unity player properties
---
import { ScopeBadges } from '@/components/documentation/ScopeBadges'
diff --git a/content/docs/pre-1.0/unity/player-relationships.mdx b/content/docs/pre-1.0/unity/player-relationships.mdx
index 16e74fc..1f251df 100644
--- a/content/docs/pre-1.0/unity/player-relationships.mdx
+++ b/content/docs/pre-1.0/unity/player-relationships.mdx
@@ -1,6 +1,7 @@
---
description: Player relationships link players together for social features like friends lists, parties and guilds.
title: Player relationships
+seoTitle: Unity player relationships
---
import { ScopeBadges } from '@/components/documentation/ScopeBadges'
diff --git a/content/docs/pre-1.0/unity/request-verification.mdx b/content/docs/pre-1.0/unity/request-verification.mdx
index a75f7d2..51a3896 100644
--- a/content/docs/pre-1.0/unity/request-verification.mdx
+++ b/content/docs/pre-1.0/unity/request-verification.mdx
@@ -1,6 +1,7 @@
---
description: Enable request verification in the Unity package to cryptographically sign network requests and socket messages, preventing replay attacks and tampering.
title: Request verification
+seoTitle: Unity request verification
---
## How it works
diff --git a/content/docs/pre-1.0/unity/saves.mdx b/content/docs/pre-1.0/unity/saves.mdx
index 6f3b729..f8c5804 100644
--- a/content/docs/pre-1.0/unity/saves.mdx
+++ b/content/docs/pre-1.0/unity/saves.mdx
@@ -1,6 +1,7 @@
---
description: Talo Saves allow you to persist your game's state across multiple sessions. Each object in your scene can be saved and restored from one of your player's saves.
title: Saves
+seoTitle: Unity save system
---
import { ScopeBadges } from '@/components/documentation/ScopeBadges'
diff --git a/content/docs/pre-1.0/unity/settings-reference.mdx b/content/docs/pre-1.0/unity/settings-reference.mdx
index 846cb40..63c84a7 100644
--- a/content/docs/pre-1.0/unity/settings-reference.mdx
+++ b/content/docs/pre-1.0/unity/settings-reference.mdx
@@ -1,6 +1,7 @@
---
description: Customise Talo using the Talo Settings Asset.
title: Settings reference
+seoTitle: Unity settings reference
---
## Accessing settings
diff --git a/content/docs/pre-1.0/unity/socket.mdx b/content/docs/pre-1.0/unity/socket.mdx
index 68f0649..315bec6 100644
--- a/content/docs/pre-1.0/unity/socket.mdx
+++ b/content/docs/pre-1.0/unity/socket.mdx
@@ -1,6 +1,7 @@
---
description: The Talo Socket automatically handles connections, messages and events.
title: Talo Socket
+seoTitle: Unity sockets
---
import { ScopeBadges } from '@/components/documentation/ScopeBadges'
diff --git a/content/docs/pre-1.0/unity/stats.mdx b/content/docs/pre-1.0/unity/stats.mdx
index c7d303f..00f2bf8 100644
--- a/content/docs/pre-1.0/unity/stats.mdx
+++ b/content/docs/pre-1.0/unity/stats.mdx
@@ -1,6 +1,7 @@
---
description: Talo stats let you track individual player data as well as aggregated global data - like how many items have been crafted or how many deaths a player has.
title: Stats
+seoTitle: Unity stats
---
import { ScopeBadges } from '@/components/documentation/ScopeBadges'