From bbddf606f147a99ac7be9bbe66420a20eb2801b5 Mon Sep 17 00:00:00 2001 From: mmeigs Date: Tue, 8 Oct 2024 16:40:21 -0400 Subject: [PATCH] =?UTF-8?q?Rough=20draft:=20quick,=20easy=20solution=20for?= =?UTF-8?q?=20noindexing=20entire=20branches=20from=E2=80=A6=20(#1273)?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- src/components/DocumentBody.js | 2 ++ src/components/SEO.js | 4 +++- 2 files changed, 5 insertions(+), 1 deletion(-) diff --git a/src/components/DocumentBody.js b/src/components/DocumentBody.js index 0cb326406..335c006d5 100644 --- a/src/components/DocumentBody.js +++ b/src/components/DocumentBody.js @@ -211,6 +211,7 @@ export const Head = ({ pageContext, data }) => { // Retrieves the canonical URL based on certain situations // i.e. eol'd, non-eol'd, snooty.toml or ..metadata:: directive (highest priority) const canonical = useCanonicalUrl(meta, metadata, slug, repoBranches); + const noIndexing = repoBranches.branches.find((br) => br.gitBranchName === metadata.branch)?.noIndexing; // construct Structured Data const techArticleSd = useMemo(() => { @@ -229,6 +230,7 @@ export const Head = ({ pageContext, data }) => { siteTitle={siteTitle} showDocsLandingTitle={isDocsLandingHomepage && slug === '/'} slug={slug} + noIndexing={noIndexing} /> {meta.length > 0 && meta.map((c, i) => )} {twitter.length > 0 && twitter.map((c) => )} diff --git a/src/components/SEO.js b/src/components/SEO.js index 6bf438100..f854ceed8 100644 --- a/src/components/SEO.js +++ b/src/components/SEO.js @@ -6,7 +6,7 @@ import { useSiteMetadata } from '../hooks/use-site-metadata'; const DEFAULT_TWITTER_SITE = '@mongodb'; const metaUrl = `https://www.mongodb.com/docs/assets/meta_generic.png`; -const SEO = ({ pageTitle, siteTitle, showDocsLandingTitle, canonical, slug }) => { +const SEO = ({ pageTitle, siteTitle, showDocsLandingTitle, canonical, slug, noIndexing }) => { // Using static siteUrl instead of location.origin due to origin being undefined at build time const { siteUrl } = useSiteMetadata(); const localeHrefMap = getLocaleMapping(siteUrl, slug); @@ -32,6 +32,7 @@ const SEO = ({ pageTitle, siteTitle, showDocsLandingTitle, canonical, slug }) => + {noIndexing && } {canonical && } ); @@ -42,6 +43,7 @@ SEO.propTypes = { siteTitle: PropTypes.string.isRequired, showDocsLandingTitle: PropTypes.bool, canonical: PropTypes.string, + noIndexing: PropTypes.bool, }; export default SEO;