Skip to content
Open
Show file tree
Hide file tree
Changes from all commits
Commits
Show all changes
21 commits
Select commit Hold shift + click to select a range
a5855d4
chore: disable trailing slash in Docusaurus config
jaygiang Sep 22, 2025
2f51a62
chore: remove Ory Elements reference and update links in migration an…
jaygiang Sep 22, 2025
a098604
chore: update Docusaurus config for troubleshooting redirects and rem…
jaygiang Sep 26, 2025
f779321
docs: fix formatting in migrate-to-ory page
jaygiang Sep 26, 2025
d61f31a
docs: fix formatting in oauth2-oidc
jaygiang Sep 26, 2025
346fc73
Merge branch 'master' into chore/canonical-forward-slash
jaygiang Sep 26, 2025
f6f533a
docs: add Ory Identities introduction and CanonicalUrl component
jaygiang Sep 30, 2025
d2d89d2
docs: add Ory OAuth2 introduction and Polis
jaygiang Sep 30, 2025
77e922c
docs: integrate CanonicalUrl component across multiple documentation …
jaygiang Sep 30, 2025
b32c509
Merge branch 'chore/canonical-forward-slash' of github.com:ory/docs i…
jaygiang Sep 30, 2025
04e47d9
docs: add CanonicalUrl component to element pages
jaygiang Sep 30, 2025
bcbd318
docs: fix formatting by using double quotes
jaygiang Sep 30, 2025
7f486ff
docs: remove trailing semicolons from CanonicalUrl imports
jaygiang Sep 30, 2025
235fda1
fix: add missing newline at end of CanonicalUrl component file
jaygiang Sep 30, 2025
56effd4
Merge branch 'master' into chore/canonical-forward-slash
jaygiang Sep 30, 2025
63ce18f
refactor: remove troubleshooting index and update sidebar link by rem…
jaygiang Sep 30, 2025
812f80c
docs: add SEO components section with CanonicalURL usage guidelines
jaygiang Oct 1, 2025
f9290e9
docs: improve formatting and readability of CanonicalURL section in R…
jaygiang Oct 1, 2025
f848aad
docs: remove unnecessary comment lines
jaygiang Oct 6, 2025
8f1cccc
docs: add mdx-code-block to all docs using CanonicalUrl
jaygiang Oct 6, 2025
187997d
Merge branch 'master' into chore/canonical-forward-slash
jaygiang Oct 6, 2025
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
74 changes: 74 additions & 0 deletions README.md
Original file line number Diff line number Diff line change
Expand Up @@ -32,10 +32,17 @@
- [Screenshots and videos](#screenshots-and-videos)
- [Compressing images](#compressing-images)
- [Recording and compressing videos](#recording-and-compressing-videos)
- [Ory Console](#ory-console)
- [Navigate to Ory Console Pages](#navigate-to-ory-console-pages)
- [Testing](#testing)
- [Formatting documentation](#formatting-documentation)
- [Adding content to "Examples" page](#adding-content-to-examples-page)
- [CLI and API reference - auto-generated content](#cli-and-api-reference---auto-generated-content)
- [SEO components](#seo-components)
- [CanonicalURL](#canonicalurl)
- [When to use CanonicalURL](#when-to-use-canonicalurl)
- [How to use CanonicalURL](#how-to-use-canonicalurl)
- [How to verify CanonicalURL is working](#how-to-verify-canonicalurl-is-working)

<!-- END doctoc generated TOC please keep comment here to allow auto update -->

Expand Down Expand Up @@ -540,3 +547,70 @@ The `cmd/clidoc/main.go` is the general path for all Ory projects.

The command to generate the CLI docs can be found here:
https://github.com/ory/x/blob/master/clidoc/generate.go#L96

## SEO components

### CanonicalURL

The `CanonicalURL` component ensures search engines know the authoritative URL
for a page, even though Vercel already handles trailing slash redirects. This is
important for SEO consistency.

#### When to use CanonicalURL

Use this component on:

- **Any `index.mdx` file**: These files serve content at their parent path
(e.g., `/api/index.mdx`)
- **Files matching parent directory names**: When a file shares its parent
directory's name (e.g., `docs/kratos/organizations/organizations.mdx`)

Common examples include:

- Index Path (`/api/index.mdx`, `/elements/index.mdx`, `/identities/index.mdx`)
- Matching parent directory names
(`docs/kratos/organizations/organizations.mdx`,
`docs/self-hosted/oel/monitoring/monitoring.mdx`)

#### How to use CanonicalURL

Add the component at the beginning of your MDX file after the front matter:

```mdx
---
id: your-page-id
title: Your Page Title
---

import CanonicalURL from "@site/src/components/CanonicalUrl"

<CanonicalURL path="your/canonical/path" />

Your content here...
```

The component automatically:

- Generates the full canonical URL using the site's base URL
- Removes trailing slashes to ensure URL consistency
- Adds the appropriate `<link rel="canonical">` tag to the page's HTML head

This ensures search engines understand which version of the URL should be
indexed and helps consolidate page authority for better SEO performance.

#### How to verify CanonicalURL is working

1. Open the page in your browser
2. Right-click and select "View Page Source" (not "Inspect")
3. Search for `<link rel="canonical"` in the HTML
4. Confirm the canonical URL exists and points to the correct path without
trailing slash

Example:

```html
<link rel="canonical" href="https://www.ory.sh/docs/kratos/organizations" />
```

If you see a trailing slash in the canonical URL or if there's no canonical tag
at all, the component may not be properly implemented.
6 changes: 6 additions & 0 deletions docs/account-experience/index.mdx
Original file line number Diff line number Diff line change
Expand Up @@ -4,6 +4,12 @@ title: Account Experience Overview
sidebar_label: Account Experience
---

```mdx-code-block
import CanonicalUrl from "@site/src/components/CanonicalUrl"

<CanonicalUrl path="/account-experience" />
Comment on lines +8 to +10
Copy link
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

```

The Ory Account Experience is the default user interface for all self-service screens like login, registration, or consent. It can
be accessed under `https://your-slug.projects.oryapis.com/ui`. New Ory Network projects are automatically configured to use the
Account Experience. You can find various customizations and settings in the Ory Console under `Account Experience`.
Expand Down
6 changes: 6 additions & 0 deletions docs/api/index.mdx
Original file line number Diff line number Diff line change
Expand Up @@ -4,6 +4,12 @@ title: gRPC + REST API Overview
sidebar_label: APIs
---

```mdx-code-block
import CanonicalUrl from "@site/src/components/CanonicalUrl"

<CanonicalUrl path="/api" />
```

```mdx-code-block
import ApiTypes from './_common/api-types.mdx'

Expand Down
6 changes: 6 additions & 0 deletions docs/elements/index.mdx
Original file line number Diff line number Diff line change
Expand Up @@ -3,6 +3,12 @@ id: index
title: Ory Elements Introduction
---

```mdx-code-block
import CanonicalUrl from "@site/src/components/CanonicalUrl"

<CanonicalUrl path="/elements" />
```

import WelcomePageSection from "@site/src/components/Welcome/welcome"
import { elements } from "@site/src/pages/_assets/welcome-content"
import { elementsArchitectureGraph } from "@site/src/pages/_assets/ui-graphs"
Expand Down
Original file line number Diff line number Diff line change
@@ -1,3 +1,15 @@
---
id: index
title: "@ory/elements-react"
sidebar_label: "@ory/elements-react"
---

```mdx-code-block
import CanonicalUrl from "@site/src/components/CanonicalUrl"

<CanonicalUrl path="/elements/reference/@ory/elements-react" />
```

# @ory/elements-react

This package provides the core functionality for Ory Elements in React.
Expand Down
Original file line number Diff line number Diff line change
@@ -1,3 +1,15 @@
---
id: index
title: "@ory/elements-react/theme"
sidebar_label: "theme"
---

```mdx-code-block
import CanonicalUrl from "@site/src/components/CanonicalUrl"

<CanonicalUrl path="/elements/reference/@ory/elements-react/theme" />
```

# @ory/elements-react/theme

This package provides the default theme for Ory Elements React.
Expand Down
Original file line number Diff line number Diff line change
@@ -1,3 +1,15 @@
---
id: index
title: "@ory/nextjs/app"
sidebar_label: "app"
---

```mdx-code-block
import CanonicalUrl from "@site/src/components/CanonicalUrl"

<CanonicalUrl path="/elements/reference/@ory/nextjs/app" />
```

# @ory/nextjs/app

## Interfaces
Expand Down
5 changes: 0 additions & 5 deletions docs/elements/reference/@ory/nextjs/middleware/index.md

This file was deleted.

17 changes: 17 additions & 0 deletions docs/elements/reference/@ory/nextjs/middleware/index.mdx
Original file line number Diff line number Diff line change
@@ -0,0 +1,17 @@
---
id: index
title: "@ory/nextjs/middleware"
sidebar_label: "middleware"
---

```mdx-code-block
import CanonicalUrl from "@site/src/components/CanonicalUrl"

<CanonicalUrl path="/elements/reference/@ory/nextjs/middleware" />
```

# @ory/nextjs/middleware

## Functions

- [createOryMiddleware](functions/createOryMiddleware.md)
Original file line number Diff line number Diff line change
@@ -1,3 +1,15 @@
---
id: index
title: "@ory/nextjs/pages"
sidebar_label: "pages"
---

```mdx-code-block
import CanonicalUrl from "@site/src/components/CanonicalUrl"

<CanonicalUrl path="/elements/reference/@ory/nextjs/pages" />
```

# @ory/nextjs/pages

## Hooks
Expand Down
9 changes: 0 additions & 9 deletions docs/elements/reference/index.md

This file was deleted.

21 changes: 21 additions & 0 deletions docs/elements/reference/index.mdx
Original file line number Diff line number Diff line change
@@ -0,0 +1,21 @@
---
id: index
title: Ory Elements Reference
sidebar_label: Reference
---

```mdx-code-block
import CanonicalUrl from "@site/src/components/CanonicalUrl"

<CanonicalUrl path="/elements/reference" />
```

# Ory Elements Reference

## Modules

- [@ory/elements-react](@ory/elements-react/index.mdx)
- [@ory/elements-react/theme](@ory/elements-react/theme/index.mdx)
- [@ory/nextjs/app](@ory/nextjs/app/index.mdx)
- [@ory/nextjs/middleware](@ory/nextjs/middleware/index.mdx)
- [@ory/nextjs/pages](@ory/nextjs/pages/index.mdx)
2 changes: 1 addition & 1 deletion docs/hydra/self-hosted/deploy-hydra-example.mdx
Original file line number Diff line number Diff line change
Expand Up @@ -477,4 +477,4 @@ server {
- Read the [Prepare for production](./production).
- Fork the [Ory Hydra Node.js UI Reference](https://github.com/ory/hydra-login-consent-node) or
[build a custom UI in the language of your choice](../sdk/01_overview.md).
- [Add Identity and Account Management](../../identities/index.md)
- [Add Identity and Account Management](../../identities/index.mdx)
6 changes: 6 additions & 0 deletions docs/identities/get-started/index.mdx
Original file line number Diff line number Diff line change
Expand Up @@ -4,6 +4,12 @@ title: Identity management guide - Day 1 essentials
sidebar_label: Overview
---

```mdx-code-block
import CanonicalUrl from "@site/src/components/CanonicalUrl"

<CanonicalUrl path="/identities/get-started" />
```

# Identity management guide

This guide shows how to implement basic authentication flows with Ory. It covers the essential setup and implementation details
Expand Down
6 changes: 6 additions & 0 deletions docs/identities/index.md → docs/identities/index.mdx
Original file line number Diff line number Diff line change
Expand Up @@ -4,6 +4,12 @@ title: Introduction to Ory Kratos Identities
sidebar_label: Introduction
---

```mdx-code-block
import CanonicalUrl from "@site/src/components/CanonicalUrl"

<CanonicalUrl path="/identities" />
```

Ory Kratos Identities is an API-first identity and user management system built on top of the widely deployed open-source
[Ory Kratos](https://github.com/ory/kratos) following
[cloud architecture best practices](ecosystem/software-architecture-philosophy.mdx). It implements mechanisms that allow handling
Expand Down
6 changes: 6 additions & 0 deletions docs/keto/index.md → docs/keto/index.mdx
Original file line number Diff line number Diff line change
Expand Up @@ -4,6 +4,12 @@ title: Introduction to Ory Keto Permissions
sidebar_label: Introduction
---

```mdx-code-block
import CanonicalUrl from "@site/src/components/CanonicalUrl"

<CanonicalUrl path="/keto" />
```

Ory Permissions is a modern permission system you can use to create a complete authorization system for your application or
website, no matter the size or the complexity of the ACLs (access-control lists) your use case requires. Ory Permissions, based on
the open-source Ory Keto Permission Server, is the first open-source implementation of the design principles and specifications
Expand Down
6 changes: 6 additions & 0 deletions docs/kratos/organizations/organizations.mdx
Original file line number Diff line number Diff line change
Expand Up @@ -3,6 +3,12 @@ id: organizations
title: B2B SSO & SAML
---

```mdx-code-block
import CanonicalUrl from "@site/src/components/CanonicalUrl"

<CanonicalUrl path="/kratos/organizations" />
```

# B2B Single Sign-On & SAML

```mdx-code-block
Expand Down
2 changes: 1 addition & 1 deletion docs/kratos/social-signin/09_ory.mdx
Original file line number Diff line number Diff line change
Expand Up @@ -6,7 +6,7 @@ sidebar_label: Ory

# Ory

This document explains how to add [Ory OAuth2](../../oauth2-oidc/index.md) as an OIDC provider to your Ory Network project.
This document explains how to add [Ory OAuth2](../../oauth2-oidc/index.mdx) as an OIDC provider to your Ory Network project.

The setup we will describe here is as follows:

Expand Down
6 changes: 6 additions & 0 deletions docs/migrate-to-ory/index.mdx
Original file line number Diff line number Diff line change
Expand Up @@ -5,6 +5,12 @@ sidebar_label: Migrate to Ory
sidebar_position: 1
---

```mdx-code-block
import CanonicalUrl from "@site/src/components/CanonicalUrl"

<CanonicalUrl path="/migrate-to-ory" />
```

This tutorial will guide you through the process of migrating your existing authentication system to Ory Identities, creating Ory
Network projects, setting up identity schemas, and customizing the user interface to match your current interface.

Expand Down
6 changes: 6 additions & 0 deletions docs/oathkeeper/index.mdx
Original file line number Diff line number Diff line change
Expand Up @@ -3,6 +3,12 @@ id: index
title: Introduction to Ory Oathkeeper Zero Trust Proxy
---

```mdx-code-block
import CanonicalUrl from "@site/src/components/CanonicalUrl"

<CanonicalUrl path="/oathkeeper" />
```

```mdx-code-block
import Help from '@site/docs/_common/need-selfhosted-support.mdx'

Expand Down
6 changes: 6 additions & 0 deletions docs/oauth2-oidc/index.md → docs/oauth2-oidc/index.mdx
Original file line number Diff line number Diff line change
Expand Up @@ -4,6 +4,12 @@ title: Introduction to Ory Hydra OAuth2
sidebar_label: Introduction
---

```mdx-code-block
import CanonicalUrl from "@site/src/components/CanonicalUrl"

<CanonicalUrl path="/oauth2-oidc" />
```

OAuth2 is the industry-standard protocol that enables secure machine-to-machine communication and grants limited access to data
and services on behalf of users. OpenID Connect, built on top of OAuth2, is required to become a social sign-in provider.

Expand Down
6 changes: 6 additions & 0 deletions docs/polis/admin-portal/index.mdx
Original file line number Diff line number Diff line change
Expand Up @@ -3,6 +3,12 @@ id: index
title: Get started with Admin Portal
---

```mdx-code-block
import CanonicalUrl from "@site/src/components/CanonicalUrl"

<CanonicalUrl path="/polis/admin-portal" />
```

Ory Polis comes with an Admin Portal that allows you to manage **Enterprise SSO**, **Directory Sync** and **Setup Links** products
via an easy to use web interface.

Expand Down
6 changes: 6 additions & 0 deletions docs/polis/directory-sync/index.mdx
Original file line number Diff line number Diff line change
Expand Up @@ -3,6 +3,12 @@ id: index
title: Directory Sync
---

```mdx-code-block
import CanonicalUrl from "@site/src/components/CanonicalUrl"

<CanonicalUrl path="/polis/directory-sync" />
```

Directory sync helps organizations automate the provisioning and de-provisioning of their users. It is based on the System for
Cross-domain Identity Management (SCIM) protocol.

Expand Down
6 changes: 6 additions & 0 deletions docs/polis/index.mdx
Original file line number Diff line number Diff line change
Expand Up @@ -4,6 +4,12 @@ title: Introduction to Ory Polis
sidebar_label: Introduction
---

```mdx-code-block
import CanonicalUrl from "@site/src/components/CanonicalUrl"

<CanonicalUrl path="/polis" />
```

# Introduction to Ory Polis

Ory Polis - formerly known as BoxyHQ Jackson - is an Enterprise Single Sign-On (SSO) service for SAML and OIDC identity providers.
Expand Down
Loading
Loading