From 2763e93a61dac046d1fa09b9e57d5ed4ec8c3d86 Mon Sep 17 00:00:00 2001 From: Florian Forster Date: Wed, 4 Mar 2026 03:14:11 -0800 Subject: [PATCH] docs: shorten page titles for SEO (#11750) MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit ## What Shorten the `title` frontmatter on 20 docs pages so that the rendered `` tag stays within the 70-character SEO limit. The root layout appends ` | ZITADEL Docs` (15 chars) to every page title, meaning the raw frontmatter `title` must be ≤ 55 characters. A site scan flagged all 20 pages for the "Title too long" warning (titles ranged from 71 to 92 characters in the final rendered tag). ## Why Search engines may truncate or ignore `<title>` tags longer than 70 characters, hurting click-through rates and keyword relevance in search results. ## How Each title was rewritten to: - Fit within 55 characters (leaving room for ` | ZITADEL Docs`) - Front-load the primary search keyword (product name, protocol, or feature) - Include "ZITADEL" where users realistically search for `{feature} ZITADEL` - Avoid generic filler words ("Configure", "Set up", "Support for") All 20 files already have a `sidebar_label` field that preserves the original descriptive title for sidebar navigation — no navigation changes result from this PR. ## Pages updated | Page | Before (chars) | After (chars) | |---|---|---| | concepts/features/passkeys | 82 | 64 | | guides/integrate/identity-providers/openldap | 72 | 58 | | guides/solution-scenarios/b2b | 78 | 59 | | guides/integrate/services/cloudflare-oidc | 86 | 54 | | guides/integrate/login/hosted-login | 71 | 55 | | guides/integrate/service-accounts/private-key-jwt | 76 | 56 | | guides/integrate/service-accounts/client-credentials | 78 | 60 | | guides/integrate/services/google-cloud | 92 | 57 | | guides/solution-scenarios/saas | 88 | 65 | | guides/migrate/sources/auth0 | 73 | 65 | | guides/integrate/login-ui/oidc-standard | 81 | 55 | | guides/integrate/login-ui/username-password | 73 | 59 | | guides/integrate/login-ui/device-auth | 78 | 60 | | guides/integrate/identity-providers/linkedin_oauth | 72 | 58 | | guides/integrate/identity-providers/pingfederate-saml | 74 | 61 | | guides/integrate/service-accounts/personal-access-token | 82 | 62 | | legal/service-description/cloud-service-description | 76 | 61 | | guides/integrate/login/login-users | 83 | 55 | | guides/integrate/identity-providers/migrate | 74 | 65 | | guides/manage/console/projects-overview | 71 | 62 | All final `<title>` values are between 54 and 66 characters (well under the 70-char limit). --- apps/docs/content/concepts/features/passkeys.mdx | 2 +- .../guides/integrate/identity-providers/linkedin_oauth.mdx | 2 +- .../content/guides/integrate/identity-providers/migrate.mdx | 2 +- .../content/guides/integrate/identity-providers/openldap.mdx | 2 +- .../guides/integrate/identity-providers/pingfederate-saml.mdx | 2 +- apps/docs/content/guides/integrate/login-ui/device-auth.mdx | 2 +- apps/docs/content/guides/integrate/login-ui/oidc-standard.mdx | 2 +- .../content/guides/integrate/login-ui/username-password.mdx | 2 +- apps/docs/content/guides/integrate/login/hosted-login.mdx | 2 +- apps/docs/content/guides/integrate/login/login-users.mdx | 2 +- .../guides/integrate/service-accounts/client-credentials.mdx | 2 +- .../guides/integrate/service-accounts/personal-access-token.mdx | 2 +- .../guides/integrate/service-accounts/private-key-jwt.mdx | 2 +- apps/docs/content/guides/integrate/services/cloudflare-oidc.mdx | 2 +- apps/docs/content/guides/integrate/services/google-cloud.mdx | 2 +- apps/docs/content/guides/manage/console/projects-overview.mdx | 2 +- apps/docs/content/guides/migrate/sources/auth0.mdx | 2 +- apps/docs/content/guides/solution-scenarios/b2b.mdx | 2 +- apps/docs/content/guides/solution-scenarios/saas.mdx | 2 +- .../legal/service-description/cloud-service-description.mdx | 2 +- 20 files changed, 20 insertions(+), 20 deletions(-) diff --git a/apps/docs/content/concepts/features/passkeys.mdx b/apps/docs/content/concepts/features/passkeys.mdx index 281485bdb..8a95dd0d2 100644 --- a/apps/docs/content/concepts/features/passkeys.mdx +++ b/apps/docs/content/concepts/features/passkeys.mdx @@ -1,5 +1,5 @@ --- -title: "Passkeys in ZITADEL: Passwordless phishing-resistant authentication" +title: "Passkeys & Passwordless Authentication in ZITADEL" description: "Implement modern phishing-resistant passwordless authentication with FIDO2 passkeys." sidebar_label: Passkeys --- diff --git a/apps/docs/content/guides/integrate/identity-providers/linkedin_oauth.mdx b/apps/docs/content/guides/integrate/identity-providers/linkedin_oauth.mdx index e0c7a566e..9a8f93c5b 100644 --- a/apps/docs/content/guides/integrate/identity-providers/linkedin_oauth.mdx +++ b/apps/docs/content/guides/integrate/identity-providers/linkedin_oauth.mdx @@ -1,5 +1,5 @@ --- -title: Set up LinkedIn as an OAuth Identity Provider in ZITADEL +title: LinkedIn OAuth Identity Provider in ZITADEL description: "Configure LinkedIn as an OAuth Identity Provider in ZITADEL to enable secure login with LinkedIn credentials" sidebar_label: LinkedIn generic OAuth id: linkedin-oauth diff --git a/apps/docs/content/guides/integrate/identity-providers/migrate.mdx b/apps/docs/content/guides/integrate/identity-providers/migrate.mdx index e9d93d293..ac5a226d3 100644 --- a/apps/docs/content/guides/integrate/identity-providers/migrate.mdx +++ b/apps/docs/content/guides/integrate/identity-providers/migrate.mdx @@ -1,5 +1,5 @@ --- -title: Migrate from Generic Provider to specific Identity Provider +title: Migrate from Generic to Specific Identity Provider description: "Migrate from generic OIDC provider to Entra ID or Google using API requests or Terraform for user connectivity" sidebar_label: Migrate IdP --- diff --git a/apps/docs/content/guides/integrate/identity-providers/openldap.mdx b/apps/docs/content/guides/integrate/identity-providers/openldap.mdx index 7cf5ced74..167f00bf0 100644 --- a/apps/docs/content/guides/integrate/identity-providers/openldap.mdx +++ b/apps/docs/content/guides/integrate/identity-providers/openldap.mdx @@ -1,5 +1,5 @@ --- -title: Set up Local OpenLDAP as an Identity Provider in ZITADEL +title: OpenLDAP Identity Provider Setup in ZITADEL description: "Configure a local OpenLDAP server as an Identity Provider in ZITADEL to authenticate users with custom credentials" sidebar_label: Local OpenLDAP --- diff --git a/apps/docs/content/guides/integrate/identity-providers/pingfederate-saml.mdx b/apps/docs/content/guides/integrate/identity-providers/pingfederate-saml.mdx index a46ad3c83..2e18aca6f 100644 --- a/apps/docs/content/guides/integrate/identity-providers/pingfederate-saml.mdx +++ b/apps/docs/content/guides/integrate/identity-providers/pingfederate-saml.mdx @@ -1,5 +1,5 @@ --- -title: Set up PingFederate as a SAML Identity Provider in ZITADEL +title: PingFederate SAML Identity Provider in ZITADEL description: "Configure PingFederate as a SAML Identity Provider in ZITADEL to enable secure authentication and single sign-on" sidebar_label: PingFederate SAML id: pingfederate-saml diff --git a/apps/docs/content/guides/integrate/login-ui/device-auth.mdx b/apps/docs/content/guides/integrate/login-ui/device-auth.mdx index 4af663984..575da7489 100644 --- a/apps/docs/content/guides/integrate/login-ui/device-auth.mdx +++ b/apps/docs/content/guides/integrate/login-ui/device-auth.mdx @@ -1,5 +1,5 @@ --- -title: Support for the Device Authorization Grant in a Custom Login UI +title: Device Authorization Grant in Custom Login UI description: "Implement the OAuth 2.0 Device Authorization Grant in your custom login UI for browserless devices." sidebar_label: Device Authorization --- diff --git a/apps/docs/content/guides/integrate/login-ui/oidc-standard.mdx b/apps/docs/content/guides/integrate/login-ui/oidc-standard.mdx index 0852190ce..d1e869fd0 100644 --- a/apps/docs/content/guides/integrate/login-ui/oidc-standard.mdx +++ b/apps/docs/content/guides/integrate/login-ui/oidc-standard.mdx @@ -1,5 +1,5 @@ --- -title: Support for the OpenID Connect(OIDC) Standard in a Custom Login UI +title: OpenID Connect (OIDC) in Custom Login UI description: "Support for the full OpenID Connect (OIDC) standard when building a custom login UI with ZITADEL." sidebar_label: OIDC Standard --- diff --git a/apps/docs/content/guides/integrate/login-ui/username-password.mdx b/apps/docs/content/guides/integrate/login-ui/username-password.mdx index ccd772861..dcd82d562 100644 --- a/apps/docs/content/guides/integrate/login-ui/username-password.mdx +++ b/apps/docs/content/guides/integrate/login-ui/username-password.mdx @@ -1,5 +1,5 @@ --- -title: Register and Login User with Password in a Custom Login UI +title: Username & Password Login in Custom Login UI description: "Create a new user with profile data and verify their email address using ZITADEL's registration flow" sidebar_label: Username and Password --- diff --git a/apps/docs/content/guides/integrate/login/hosted-login.mdx b/apps/docs/content/guides/integrate/login/hosted-login.mdx index 46e818855..b87b4e62e 100644 --- a/apps/docs/content/guides/integrate/login/hosted-login.mdx +++ b/apps/docs/content/guides/integrate/login/hosted-login.mdx @@ -1,5 +1,5 @@ --- -title: Login users into your application with a hosted login UI +title: "Hosted Login UI: Authenticate Your Users" description: "Securely authenticate users via ZITADEL's hosted Single Sign-On (SSO) login page, supporting OIDC and SAML protocols." sidebar_label: Hosted Login UI --- diff --git a/apps/docs/content/guides/integrate/login/login-users.mdx b/apps/docs/content/guides/integrate/login/login-users.mdx index 56442377d..074dea9cd 100644 --- a/apps/docs/content/guides/integrate/login/login-users.mdx +++ b/apps/docs/content/guides/integrate/login/login-users.mdx @@ -1,5 +1,5 @@ --- -title: Log users into your application with different authentication options +title: User Authentication Options with ZITADEL description: "Overview of authentication protocols supported by ZITADEL, including OpenID Connect and SAML, for unified user login." sidebar_label: Authentication Options --- diff --git a/apps/docs/content/guides/integrate/service-accounts/client-credentials.mdx b/apps/docs/content/guides/integrate/service-accounts/client-credentials.mdx index 759353529..39740b1e7 100644 --- a/apps/docs/content/guides/integrate/service-accounts/client-credentials.mdx +++ b/apps/docs/content/guides/integrate/service-accounts/client-credentials.mdx @@ -1,5 +1,5 @@ --- -title: Configure client credential authentication for service accounts +title: OAuth Client Credentials for Service Accounts description: "Authenticate service accounts using the industry-standard OAuth 2.0 Client Credentials flow." sidebar_label: Client credential authentication --- diff --git a/apps/docs/content/guides/integrate/service-accounts/personal-access-token.mdx b/apps/docs/content/guides/integrate/service-accounts/personal-access-token.mdx index 73cab93e1..40040e46b 100644 --- a/apps/docs/content/guides/integrate/service-accounts/personal-access-token.mdx +++ b/apps/docs/content/guides/integrate/service-accounts/personal-access-token.mdx @@ -1,5 +1,5 @@ --- -title: Configure personal access token authentication for service accounts +title: Personal Access Token Auth for Service Accounts description: "Generate and manage Personal Access Tokens (PAT) for service accounts to enable non-interactive API access to ZITADEL." sidebar_label: Personal access token authentication --- diff --git a/apps/docs/content/guides/integrate/service-accounts/private-key-jwt.mdx b/apps/docs/content/guides/integrate/service-accounts/private-key-jwt.mdx index cc77928a4..c96245481 100644 --- a/apps/docs/content/guides/integrate/service-accounts/private-key-jwt.mdx +++ b/apps/docs/content/guides/integrate/service-accounts/private-key-jwt.mdx @@ -1,5 +1,5 @@ --- -title: Configure private key JWT authentication for service accounts +title: Private Key JWT Auth for Service Accounts description: "Use RFC 7523 Private Key JWT authentication for secure, certificate-based service account login in ZITADEL." sidebar_label: Private key JWT authentication --- diff --git a/apps/docs/content/guides/integrate/services/cloudflare-oidc.mdx b/apps/docs/content/guides/integrate/services/cloudflare-oidc.mdx index 291e59fd5..a9b112580 100644 --- a/apps/docs/content/guides/integrate/services/cloudflare-oidc.mdx +++ b/apps/docs/content/guides/integrate/services/cloudflare-oidc.mdx @@ -1,5 +1,5 @@ --- -title: Configure ZITADEL as an OIDC Identity Provider on Cloudflare Zero Trust +title: Cloudflare Zero Trust OIDC with ZITADEL description: "Configure ZITADEL as an OIDC Identity Provider on Cloudflare Zero Trust with custom user info and authentication flows" sidebar_label: Cloudflare Zero Trust --- diff --git a/apps/docs/content/guides/integrate/services/google-cloud.mdx b/apps/docs/content/guides/integrate/services/google-cloud.mdx index 36bd75e5d..e62d531d9 100644 --- a/apps/docs/content/guides/integrate/services/google-cloud.mdx +++ b/apps/docs/content/guides/integrate/services/google-cloud.mdx @@ -1,5 +1,5 @@ --- -title: Log in with ZITADEL on Google Cloud with Workforce Identity Federation (OIDC) +title: ZITADEL on Google Cloud Workforce Identity description: "Configure Workforce Identity Federation with ZITADEL to log in users and assign roles on Google Cloud using OIDC claims" sidebar_label: Google Cloud --- diff --git a/apps/docs/content/guides/manage/console/projects-overview.mdx b/apps/docs/content/guides/manage/console/projects-overview.mdx index ea9294b81..0cd71934f 100644 --- a/apps/docs/content/guides/manage/console/projects-overview.mdx +++ b/apps/docs/content/guides/manage/console/projects-overview.mdx @@ -1,5 +1,5 @@ --- -title: Organize applications, services, and roles with projects +title: "ZITADEL Projects: Manage Apps, Services & Roles" description: "Use projects to group applications and manage roles and authorizations across multiple clients." sidebar_label: Projects sidebar_position: 4 diff --git a/apps/docs/content/guides/migrate/sources/auth0.mdx b/apps/docs/content/guides/migrate/sources/auth0.mdx index 93d28c0ef..77ec059bb 100644 --- a/apps/docs/content/guides/migrate/sources/auth0.mdx +++ b/apps/docs/content/guides/migrate/sources/auth0.mdx @@ -1,5 +1,5 @@ --- -title: Migrate from Auth0 to ZITADEL (Including Password Hashes) +title: Migrate from Auth0 to ZITADEL with Password Hashes description: "Migrate users, metadata, and password hashes from Auth0 to ZITADEL." sidebar_label: From Auth0 --- diff --git a/apps/docs/content/guides/solution-scenarios/b2b.mdx b/apps/docs/content/guides/solution-scenarios/b2b.mdx index 8e34d55dc..a990aaf06 100644 --- a/apps/docs/content/guides/solution-scenarios/b2b.mdx +++ b/apps/docs/content/guides/solution-scenarios/b2b.mdx @@ -1,5 +1,5 @@ --- -title: Authentication and authorization in multi-tenancy B2B scenarios +title: B2B Multi-Tenant Authentication with ZITADEL description: "Implement multi-tenancy authentication and authorization for B2B applications using ZITADEL." sidebar_label: B2B --- diff --git a/apps/docs/content/guides/solution-scenarios/saas.mdx b/apps/docs/content/guides/solution-scenarios/saas.mdx index c57f944c6..8f9992df0 100644 --- a/apps/docs/content/guides/solution-scenarios/saas.mdx +++ b/apps/docs/content/guides/solution-scenarios/saas.mdx @@ -1,5 +1,5 @@ --- -title: Set up a SaaS Product with Authentication and Authorization using ZITADEL +title: SaaS Authentication and Authorization with ZITADEL description: "Multi-tenancy authentication for a SaaS product using ZITADEL." sidebar_label: Software-as-a-Service --- diff --git a/apps/docs/content/legal/service-description/cloud-service-description.mdx b/apps/docs/content/legal/service-description/cloud-service-description.mdx index 5bf93148a..2519cdd41 100644 --- a/apps/docs/content/legal/service-description/cloud-service-description.mdx +++ b/apps/docs/content/legal/service-description/cloud-service-description.mdx @@ -1,5 +1,5 @@ --- -title: Service description for ZITADEL Cloud and ZITADEL Enterprise +title: ZITADEL Cloud & Enterprise Service Description description: "Description of services and service levels for ZITADEL Cloud and Enterprise subscriptions." sidebar_label: Service description custom_edit_url: null