From 4bd2aa1dfd1112e633d272bbe79b3a355716234f Mon Sep 17 00:00:00 2001 From: Steven Hall <steven@gitbook.io> Date: Tue, 21 Jan 2025 13:56:45 +0000 Subject: [PATCH] Remove some places where the GitBook space wasn't required, reducing some async deps. --- .../middleware/(site)/(content)/[[...pathname]]/page.tsx | 3 +-- .../gitbook/src/app/middleware/(site)/(content)/layout.tsx | 2 +- .../src/app/middleware/(site)/(core)/robots.txt/route.ts | 7 ++----- .../src/app/middleware/(space)/~gitbook/pdf/page.tsx | 3 ++- packages/gitbook/src/lib/seo.ts | 2 +- 5 files changed, 7 insertions(+), 10 deletions(-) diff --git a/packages/gitbook/src/app/middleware/(site)/(content)/[[...pathname]]/page.tsx b/packages/gitbook/src/app/middleware/(site)/(content)/[[...pathname]]/page.tsx index 786d5d6eb8..58dc681b50 100644 --- a/packages/gitbook/src/app/middleware/(site)/(content)/[[...pathname]]/page.tsx +++ b/packages/gitbook/src/app/middleware/(site)/(content)/[[...pathname]]/page.tsx @@ -169,8 +169,7 @@ export async function generateMetadata({ ], }, robots: - (await isSpaceIndexable({ space, site: site ?? null })) && - isPageIndexable(ancestors, page) + (await isSpaceIndexable(site ?? null)) && isPageIndexable(ancestors, page) ? 'index, follow' : 'noindex, nofollow', }; diff --git a/packages/gitbook/src/app/middleware/(site)/(content)/layout.tsx b/packages/gitbook/src/app/middleware/(site)/(content)/layout.tsx index 9c0d17476a..bc2ee62e6d 100644 --- a/packages/gitbook/src/app/middleware/(site)/(content)/layout.tsx +++ b/packages/gitbook/src/app/middleware/(site)/(content)/layout.tsx @@ -142,7 +142,7 @@ export async function generateMetadata(): Promise<Metadata> { }, ], }, - robots: (await isSpaceIndexable({ space, site })) ? 'index, follow' : 'noindex, nofollow', + robots: (await isSpaceIndexable(site)) ? 'index, follow' : 'noindex, nofollow', }; } diff --git a/packages/gitbook/src/app/middleware/(site)/(core)/robots.txt/route.ts b/packages/gitbook/src/app/middleware/(site)/(core)/robots.txt/route.ts index 8035d6fcb0..8ff1b20020 100644 --- a/packages/gitbook/src/app/middleware/(site)/(core)/robots.txt/route.ts +++ b/packages/gitbook/src/app/middleware/(site)/(core)/robots.txt/route.ts @@ -12,15 +12,12 @@ export const runtime = 'edge'; */ export async function GET(req: NextRequest) { const pointer = await getSiteContentPointer(); - const [site, space] = await Promise.all([ - getSite(pointer.organizationId, pointer.siteId), - getSpace(pointer.spaceId, pointer.siteShareKey), - ]); + const site = await getSite(pointer.organizationId, pointer.siteId); const lines = [ `User-agent: *`, 'Disallow: /~gitbook/', - ...((await isSpaceIndexable({ space, site })) + ...((await isSpaceIndexable(site)) ? [`Allow: /`, `Sitemap: ${await getAbsoluteHref(`/sitemap.xml`, true)}`] : [`Disallow: /`]), ]; diff --git a/packages/gitbook/src/app/middleware/(space)/~gitbook/pdf/page.tsx b/packages/gitbook/src/app/middleware/(space)/~gitbook/pdf/page.tsx index d13201d535..3f2acb2574 100644 --- a/packages/gitbook/src/app/middleware/(space)/~gitbook/pdf/page.tsx +++ b/packages/gitbook/src/app/middleware/(space)/~gitbook/pdf/page.tsx @@ -28,6 +28,7 @@ import { resolvePageId } from '@/lib/pages'; import { ContentRefContext, resolveContentRef } from '@/lib/references'; import { tcls } from '@/lib/tailwind'; import { PDFSearchParams, getPDFSearchParams } from '@/lib/urls'; +import { getContentTitle } from '@/lib/utils'; import './pdf.css'; import { PageControlButtons } from './PageControlButtons'; @@ -47,7 +48,7 @@ export async function generateMetadata(): Promise<Metadata> { ]); return { - title: customization.title ?? space.title, + title: getContentTitle(space, customization, null), robots: 'noindex, nofollow', }; } diff --git a/packages/gitbook/src/lib/seo.ts b/packages/gitbook/src/lib/seo.ts index a7db11b8f7..94aa4dd454 100644 --- a/packages/gitbook/src/lib/seo.ts +++ b/packages/gitbook/src/lib/seo.ts @@ -31,7 +31,7 @@ export function isPageIndexable( /** * Return true if a space should be indexed by search engines. */ -export async function isSpaceIndexable({ space, site }: { space: Space; site: Site | null }) { +export async function isSpaceIndexable(site: Site | null) { const headersList = await headers(); if (