Background
Follow-up to #19301 , which de-duplicated the Troubleshooting and Custom Instrumentation title families.
Sentry docs render the browser <title> as frontmatter.title + " | Sentry for {Platform}" for platform/guide pages (app/[[...path]]/page.tsx:366). Product/API pages get no suffix. So the ~200 raw frontmatter-title duplicates (e.g. "Configuration" across every SDK) are mostly already unique at the tag level and are not a problem.
Accounting for that suffix and excluding version-variant pairs (__v7.x, etc., which share a URL via the version switcher), 35 groups / 77 pages still render a genuinely duplicate <title>. This issue tracks fixing them.
Categories
Three buckets, in rough priority order:
Same-platform collisions (17) — different pages on the same platform render an identical title; the platform suffix can't disambiguate. Highest value. Many are legacy-sdk vs common pairs (Integrations, Usage, Context, Source Maps) and instrumentation-vs-trace-propagation pairs.
Product / non-platform collisions (15) — /product/ and /api/ pages get no suffix, so these are true duplicate <title> tags (e.g. 8× "Set Up", plus Authentication, Logs, Issues, Errors).
Cross-guide, shared framework name (3) — two guides that share a display name (e.g. a .NET and a JS "AWS Lambda" guide) render the same X | Sentry for X. Arguably acceptable; may not need a change.
Recommended approach
Prefer descriptive, unique title; add sidebar_title to keep the menu label short where the section already provides context (the pattern established in docs: De-duplicate Troubleshooting and Custom Instrumentation page titles #19301 ).
For legacy-sdk vs common pairs, consider whether the legacy page should be retitled ("Legacy …") or redirected, since some may be effectively superseded — worth an SME check.
Leave version-variant pairs alone (same URL).
Full list
Same-platform collisions (17)
Configuration | Sentry for PHP — 3 pages
docs/platforms/php/common/configuration/index.mdx
docs/platforms/php/common/user-feedback/configuration/index.mdx
docs/platforms/php/legacy-sdk/config.mdx
Breadcrumbs | Sentry for JavaScript — 2 pages
docs/platforms/javascript/common/configuration/integrations/breadcrumbs.mdx
docs/platforms/javascript/common/enriching-events/breadcrumbs/index.mdx
Capturing Errors | Sentry for Java — 2 pages
docs/platforms/java/common/usage/index.mdx
docs/platforms/java/usage.mdx
Configuration | Sentry for Elixir — 2 pages
docs/platforms/elixir/configuration/index.mdx
docs/platforms/elixir/user-feedback/configuration/index.mdx
Context | Sentry for Go — 2 pages
docs/platforms/go/common/enriching-events/context/index.mdx
docs/platforms/go/legacy-sdk/context.mdx
Expo | Sentry for Expo — 2 pages
docs/platforms/react-native/guides/expo/index.mdx
docs/platforms/react-native/guides/expo/sourcemaps/uploading/expo.mdx
Hermes | Sentry for React Native — 2 pages
docs/platforms/react-native/common/manual-setup/hermes.mdx
docs/platforms/react-native/common/sourcemaps/uploading/hermes.mdx
Integrations | Sentry for Go — 2 pages
docs/platforms/go/common/integrations/index.mdx
docs/platforms/go/legacy-sdk/integrations.mdx
Integrations | Sentry for JavaScript — 2 pages
docs/platforms/javascript/common/configuration/integrations/index.mdx
docs/platforms/javascript/legacy-sdk/integrations.mdx
Integrations | Sentry for PHP — 2 pages
docs/platforms/php/common/integrations/index.mdx
docs/platforms/php/legacy-sdk/integrations.mdx
Integrations | Sentry for Python — 2 pages
docs/platforms/python/integrations/index.mdx
docs/platforms/python/legacy-sdk/integrations.mdx
OpenTelemetry Support | Sentry for Java — 2 pages
docs/platforms/java/common/opentelemetry/index.mdx
docs/platforms/java/common/tracing/instrumentation/opentelemetry.mdx
OpenTelemetry Support | Sentry for JavaScript — 2 pages
docs/platforms/javascript/common/migration/v7-to-v8/v8-opentelemetry.mdx
docs/platforms/javascript/common/opentelemetry/index.mdx
Source Context | Sentry for Android — 2 pages
docs/platforms/android/data-management/debug-files/source-context/index.mdx
docs/platforms/android/enhance-errors/source-context.mdx
Source Context | Sentry for Apple — 2 pages
docs/platforms/apple/common/data-management/debug-files/source-context/index.mdx
docs/platforms/apple/common/sourcecontext/index.mdx
Source Maps | Sentry for JavaScript — 2 pages
docs/platforms/javascript/common/sourcemaps/index.mdx
docs/platforms/javascript/legacy-sdk/sourcemaps.mdx
Usage | Sentry for PHP — 2 pages
docs/platforms/php/common/usage/index.mdx
docs/platforms/php/legacy-sdk/usage.mdx
Product / non-platform collisions (15)
Set Up — 8 pages
docs/product/agents/getting-started.mdx
docs/product/logs/getting-started/index.mdx
docs/product/mcp-servers/getting-started.mdx
docs/product/metrics/getting-started/index.mdx
docs/product/monitors-and-alerts/monitors/crons/getting-started/index.mdx
docs/product/profiling/getting-started.mdx
docs/product/releases/setup/index.mdx
docs/product/user-feedback/setup.mdx
Agents Dashboards — 2 pages
docs/product/agents/dashboards.mdx
docs/product/dashboards/sentry-dashboards/ai/agents.mdx
Authentication — 2 pages
docs/api/auth.mdx
docs/organization/authentication/index.mdx
Errors — 2 pages
docs/integrations/integration-platform/webhooks/errors.mdx
docs/product/errors/index.mdx
Feature Flags — 2 pages
docs/integrations/feature-flag/index.mdx
docs/product/issues/issue-details/feature-flags/index.mdx
Installation — 2 pages
docs/cli/installation.mdx
docs/integrations/integration-platform/webhooks/installation.mdx
Integrating Into CI — 2 pages
docs/product/size-analysis/integrating-into-ci.mdx
docs/product/snapshots/integrating-into-ci.mdx
Issues — 2 pages
docs/integrations/integration-platform/webhooks/issues.mdx
docs/product/issues/index.mdx
Logs — 2 pages
docs/cli/logs.mdx
docs/product/logs/index.mdx
MCP Dashboards — 2 pages
docs/product/dashboards/sentry-dashboards/ai/mcp.mdx
docs/product/mcp-servers/dashboard.mdx
Replay Performance Overhead — 2 pages
docs/product/session-replay/mobile/performance-overhead.mdx
docs/product/session-replay/web/performance-overhead.mdx
Search — 2 pages
docs/concepts/search/index.mdx
docs/contributing/pages/search.mdx
Seer — 2 pages
docs/integrations/integration-platform/webhooks/seer.mdx
docs/product/ai-in-sentry/seer/index.mdx
Session Health — 2 pages
docs/product/dashboards/sentry-dashboards/frontend/session-health.mdx
docs/product/dashboards/sentry-dashboards/mobile/session-health.mdx
Web Vitals — 2 pages
docs/product/dashboards/sentry-dashboards/frontend/web-vitals/index.mdx
docs/product/issues/issue-details/performance-issues/web-vitals/index.mdx
Cross-guide (shared framework name) (3)
AWS Lambda | Sentry for AWS Lambda — 2 pages
docs/platforms/dotnet/guides/aws-lambda/index.mdx
docs/platforms/javascript/guides/aws-lambda/index.mdx
Azure Functions | Sentry for Azure Functions — 2 pages
docs/platforms/dotnet/guides/azure-functions-worker/index.mdx
docs/platforms/javascript/guides/azure-functions/index.mdx
Google Cloud Functions | Sentry for Google Cloud Functions — 2 pages
docs/platforms/dotnet/guides/google-cloud-functions/index.mdx
docs/platforms/javascript/guides/gcp-functions/index.mdx
Background
Follow-up to #19301, which de-duplicated the Troubleshooting and Custom Instrumentation title families.
Sentry docs render the browser
<title>asfrontmatter.title + " | Sentry for {Platform}"for platform/guide pages (app/[[...path]]/page.tsx:366). Product/API pages get no suffix. So the ~200 raw frontmatter-title duplicates (e.g. "Configuration" across every SDK) are mostly already unique at the tag level and are not a problem.Accounting for that suffix and excluding version-variant pairs (
__v7.x, etc., which share a URL via the version switcher), 35 groups / 77 pages still render a genuinely duplicate<title>. This issue tracks fixing them.Categories
Three buckets, in rough priority order:
legacy-sdkvscommonpairs (Integrations, Usage, Context, Source Maps) and instrumentation-vs-trace-propagation pairs./product/and/api/pages get no suffix, so these are true duplicate<title>tags (e.g. 8× "Set Up", plus Authentication, Logs, Issues, Errors).X | Sentry for X. Arguably acceptable; may not need a change.Recommended approach
title; addsidebar_titleto keep the menu label short where the section already provides context (the pattern established in docs: De-duplicate Troubleshooting and Custom Instrumentation page titles #19301).legacy-sdkvscommonpairs, consider whether the legacy page should be retitled ("Legacy …") or redirected, since some may be effectively superseded — worth an SME check.Full list
Same-platform collisions (17)
Configuration | Sentry for PHP— 3 pagesdocs/platforms/php/common/configuration/index.mdxdocs/platforms/php/common/user-feedback/configuration/index.mdxdocs/platforms/php/legacy-sdk/config.mdxBreadcrumbs | Sentry for JavaScript— 2 pagesdocs/platforms/javascript/common/configuration/integrations/breadcrumbs.mdxdocs/platforms/javascript/common/enriching-events/breadcrumbs/index.mdxCapturing Errors | Sentry for Java— 2 pagesdocs/platforms/java/common/usage/index.mdxdocs/platforms/java/usage.mdxConfiguration | Sentry for Elixir— 2 pagesdocs/platforms/elixir/configuration/index.mdxdocs/platforms/elixir/user-feedback/configuration/index.mdxContext | Sentry for Go— 2 pagesdocs/platforms/go/common/enriching-events/context/index.mdxdocs/platforms/go/legacy-sdk/context.mdxExpo | Sentry for Expo— 2 pagesdocs/platforms/react-native/guides/expo/index.mdxdocs/platforms/react-native/guides/expo/sourcemaps/uploading/expo.mdxHermes | Sentry for React Native— 2 pagesdocs/platforms/react-native/common/manual-setup/hermes.mdxdocs/platforms/react-native/common/sourcemaps/uploading/hermes.mdxIntegrations | Sentry for Go— 2 pagesdocs/platforms/go/common/integrations/index.mdxdocs/platforms/go/legacy-sdk/integrations.mdxIntegrations | Sentry for JavaScript— 2 pagesdocs/platforms/javascript/common/configuration/integrations/index.mdxdocs/platforms/javascript/legacy-sdk/integrations.mdxIntegrations | Sentry for PHP— 2 pagesdocs/platforms/php/common/integrations/index.mdxdocs/platforms/php/legacy-sdk/integrations.mdxIntegrations | Sentry for Python— 2 pagesdocs/platforms/python/integrations/index.mdxdocs/platforms/python/legacy-sdk/integrations.mdxOpenTelemetry Support | Sentry for Java— 2 pagesdocs/platforms/java/common/opentelemetry/index.mdxdocs/platforms/java/common/tracing/instrumentation/opentelemetry.mdxOpenTelemetry Support | Sentry for JavaScript— 2 pagesdocs/platforms/javascript/common/migration/v7-to-v8/v8-opentelemetry.mdxdocs/platforms/javascript/common/opentelemetry/index.mdxSource Context | Sentry for Android— 2 pagesdocs/platforms/android/data-management/debug-files/source-context/index.mdxdocs/platforms/android/enhance-errors/source-context.mdxSource Context | Sentry for Apple— 2 pagesdocs/platforms/apple/common/data-management/debug-files/source-context/index.mdxdocs/platforms/apple/common/sourcecontext/index.mdxSource Maps | Sentry for JavaScript— 2 pagesdocs/platforms/javascript/common/sourcemaps/index.mdxdocs/platforms/javascript/legacy-sdk/sourcemaps.mdxUsage | Sentry for PHP— 2 pagesdocs/platforms/php/common/usage/index.mdxdocs/platforms/php/legacy-sdk/usage.mdxProduct / non-platform collisions (15)
Set Up— 8 pagesdocs/product/agents/getting-started.mdxdocs/product/logs/getting-started/index.mdxdocs/product/mcp-servers/getting-started.mdxdocs/product/metrics/getting-started/index.mdxdocs/product/monitors-and-alerts/monitors/crons/getting-started/index.mdxdocs/product/profiling/getting-started.mdxdocs/product/releases/setup/index.mdxdocs/product/user-feedback/setup.mdxAgents Dashboards— 2 pagesdocs/product/agents/dashboards.mdxdocs/product/dashboards/sentry-dashboards/ai/agents.mdxAuthentication— 2 pagesdocs/api/auth.mdxdocs/organization/authentication/index.mdxErrors— 2 pagesdocs/integrations/integration-platform/webhooks/errors.mdxdocs/product/errors/index.mdxFeature Flags— 2 pagesdocs/integrations/feature-flag/index.mdxdocs/product/issues/issue-details/feature-flags/index.mdxInstallation— 2 pagesdocs/cli/installation.mdxdocs/integrations/integration-platform/webhooks/installation.mdxIntegrating Into CI— 2 pagesdocs/product/size-analysis/integrating-into-ci.mdxdocs/product/snapshots/integrating-into-ci.mdxIssues— 2 pagesdocs/integrations/integration-platform/webhooks/issues.mdxdocs/product/issues/index.mdxLogs— 2 pagesdocs/cli/logs.mdxdocs/product/logs/index.mdxMCP Dashboards— 2 pagesdocs/product/dashboards/sentry-dashboards/ai/mcp.mdxdocs/product/mcp-servers/dashboard.mdxReplay Performance Overhead— 2 pagesdocs/product/session-replay/mobile/performance-overhead.mdxdocs/product/session-replay/web/performance-overhead.mdxSearch— 2 pagesdocs/concepts/search/index.mdxdocs/contributing/pages/search.mdxSeer— 2 pagesdocs/integrations/integration-platform/webhooks/seer.mdxdocs/product/ai-in-sentry/seer/index.mdxSession Health— 2 pagesdocs/product/dashboards/sentry-dashboards/frontend/session-health.mdxdocs/product/dashboards/sentry-dashboards/mobile/session-health.mdxWeb Vitals— 2 pagesdocs/product/dashboards/sentry-dashboards/frontend/web-vitals/index.mdxdocs/product/issues/issue-details/performance-issues/web-vitals/index.mdxCross-guide (shared framework name) (3)
AWS Lambda | Sentry for AWS Lambda— 2 pagesdocs/platforms/dotnet/guides/aws-lambda/index.mdxdocs/platforms/javascript/guides/aws-lambda/index.mdxAzure Functions | Sentry for Azure Functions— 2 pagesdocs/platforms/dotnet/guides/azure-functions-worker/index.mdxdocs/platforms/javascript/guides/azure-functions/index.mdxGoogle Cloud Functions | Sentry for Google Cloud Functions— 2 pagesdocs/platforms/dotnet/guides/google-cloud-functions/index.mdxdocs/platforms/javascript/guides/gcp-functions/index.mdx