diff --git a/apps/docs/components/reference/RefSEO.tsx b/apps/docs/components/reference/RefSEO.tsx
new file mode 100644
index 00000000000..237ecec3f15
--- /dev/null
+++ b/apps/docs/components/reference/RefSEO.tsx
@@ -0,0 +1,25 @@
+import { NextSeo } from 'next-seo'
+import { useRouter } from 'next/router'
+
+function RefSEO({ title }) {
+ const router = useRouter()
+
+ const path = router.asPath.replace('crawlers/', '')
+
+ return (
+
+ )
+}
+
+export default RefSEO
diff --git a/apps/docs/layouts/ref/RefSubLayout.tsx b/apps/docs/layouts/ref/RefSubLayout.tsx
index 26e1c612515..3357e427ed1 100644
--- a/apps/docs/layouts/ref/RefSubLayout.tsx
+++ b/apps/docs/layouts/ref/RefSubLayout.tsx
@@ -4,6 +4,7 @@ import { highlightSelectedNavItem } from '~/components/CustomHTMLElements/Custom
import { useRouter } from 'next/router'
import { useNavigationMenuContext } from '~/components/Navigation/NavigationMenu/NavigationMenu.Context'
import { menuState } from '~/hooks/useMenuState'
+import Image from 'next/image'
interface ISectionContainer {
id: string
@@ -77,8 +78,13 @@ const Section: FC = (props) => {
const StickyHeader: FC = ({ icon, ...props }) => {
const router = useRouter()
+
const { setActiveRefItem } = useNavigationMenuContext()
+ // we're serving search bots a different file (/crawlers/[...slug])
+ // and need to modify content to suit that
+ const isCrawlerPage = router.route.includes('/crawlers/[...slug]')
+
const { ref } = useInView({
threshold: 1,
rootMargin: '30% 0% -35% 0px',
@@ -99,21 +105,25 @@ const StickyHeader: FC = ({ icon, ...props }) => {
{icon && (
-

+
)}
-
- {props.title && {props.title}}
-
+ {isCrawlerPage ? (
+
{props.title}
+ ) : (
+
+ {props.title && {props.title}}
+
+ )}
)
}
diff --git a/apps/docs/pages/reference/dart/crawlers/[...slug].tsx b/apps/docs/pages/reference/dart/crawlers/[...slug].tsx
index afdc202a05f..c12f3cabbf2 100644
--- a/apps/docs/pages/reference/dart/crawlers/[...slug].tsx
+++ b/apps/docs/pages/reference/dart/crawlers/[...slug].tsx
@@ -7,6 +7,7 @@ import { flattenSections } from '~/lib/helpers'
import handleRefGetStaticPaths from '~/lib/mdx/handleRefStaticPaths'
import handleRefStaticProps from '~/lib/mdx/handleRefStaticProps'
import { useRouter } from 'next/router'
+import RefSEO from '~/components/reference/RefSEO'
const sections = flattenSections(clientLibsCommonSections)
@@ -15,13 +16,21 @@ export default function JSReference(props) {
const slug = router.query.slug[0]
const filteredSection = sections.filter((section) => section.id === slug)
+ const pageTitle = filteredSection[0]?.title
+ ? `${filteredSection[0]?.title} | Supabase`
+ : 'Supabase'
+
return (
-
+ <>
+
+
+
+ >
)
}
diff --git a/apps/docs/pages/reference/dart/v0/crawlers/[...slug].tsx b/apps/docs/pages/reference/dart/v0/crawlers/[...slug].tsx
index 3ef20b302fe..2e67a5b5c8e 100644
--- a/apps/docs/pages/reference/dart/v0/crawlers/[...slug].tsx
+++ b/apps/docs/pages/reference/dart/v0/crawlers/[...slug].tsx
@@ -7,6 +7,7 @@ import { flattenSections } from '~/lib/helpers'
import handleRefGetStaticPaths from '~/lib/mdx/handleRefStaticPaths'
import handleRefStaticProps from '~/lib/mdx/handleRefStaticProps'
import { useRouter } from 'next/router'
+import RefSEO from '~/components/reference/RefSEO'
const sections = flattenSections(clientLibsCommonSections)
@@ -15,13 +16,20 @@ export default function JSReference(props) {
const slug = router.query.slug[0]
const filteredSection = sections.filter((section) => section.id === slug)
+ const pageTitle = filteredSection[0]?.title
+ ? `${filteredSection[0]?.title} | Supabase`
+ : 'Supabase'
return (
-
+ <>
+
+
+
+ >
)
}
diff --git a/apps/docs/pages/reference/javascript/crawlers/[...slug].tsx b/apps/docs/pages/reference/javascript/crawlers/[...slug].tsx
index bd631d0e07e..2e6e0b271a9 100644
--- a/apps/docs/pages/reference/javascript/crawlers/[...slug].tsx
+++ b/apps/docs/pages/reference/javascript/crawlers/[...slug].tsx
@@ -7,6 +7,7 @@ import { flattenSections } from '~/lib/helpers'
import handleRefGetStaticPaths from '~/lib/mdx/handleRefStaticPaths'
import handleRefStaticProps from '~/lib/mdx/handleRefStaticProps'
import { useRouter } from 'next/router'
+import RefSEO from '~/components/reference/RefSEO'
const sections = flattenSections(clientLibsCommonSections)
@@ -15,13 +16,21 @@ export default function JSReference(props) {
const slug = router.query.slug[0]
const filteredSection = sections.filter((section) => section.id === slug)
+ const pageTitle = filteredSection[0]?.title
+ ? `${filteredSection[0]?.title} | Supabase`
+ : 'Supabase'
+
return (
-
+ <>
+
+
+
+ >
)
}
diff --git a/apps/docs/pages/reference/javascript/v1/crawlers/[...slug].tsx b/apps/docs/pages/reference/javascript/v1/crawlers/[...slug].tsx
index d1aa3ec92ee..bbb38f4598a 100644
--- a/apps/docs/pages/reference/javascript/v1/crawlers/[...slug].tsx
+++ b/apps/docs/pages/reference/javascript/v1/crawlers/[...slug].tsx
@@ -7,7 +7,7 @@ import { flattenSections } from '~/lib/helpers'
import handleRefGetStaticPaths from '~/lib/mdx/handleRefStaticPaths'
import handleRefStaticProps from '~/lib/mdx/handleRefStaticProps'
import { useRouter } from 'next/router'
-
+import RefSEO from '~/components/reference/RefSEO'
const sections = flattenSections(clientLibsCommonSections)
export default function JSReference(props) {
@@ -15,13 +15,21 @@ export default function JSReference(props) {
const slug = router.query.slug[0]
const filteredSection = sections.filter((section) => section.id === slug)
+ const pageTitle = filteredSection[0]?.title
+ ? `${filteredSection[0]?.title} | Supabase`
+ : 'Supabase'
+
return (
-
+ <>
+
+
+
+ >
)
}