From 1477408aac79c3d5fafec6a615cc3c1a31eb96b9 Mon Sep 17 00:00:00 2001 From: Christophe Jossart Date: Thu, 28 Nov 2024 19:46:05 +0100 Subject: [PATCH 1/4] chore(SLB-478): drupal noindex --- packages/drupal/custom/custom.services.yml | 5 +++ .../src/EventSubscriber/RobotsSubscriber.php | 36 +++++++++++++++++++ 2 files changed, 41 insertions(+) create mode 100644 packages/drupal/custom/src/EventSubscriber/RobotsSubscriber.php diff --git a/packages/drupal/custom/custom.services.yml b/packages/drupal/custom/custom.services.yml index 7424d6f1d..74980bc9f 100644 --- a/packages/drupal/custom/custom.services.yml +++ b/packages/drupal/custom/custom.services.yml @@ -16,3 +16,8 @@ services: arguments: ['@language_manager', '@current_route_match'] tags: - { name: event_subscriber } + + custom.event_subscriber: + class: Drupal\custom\EventSubscriber\RobotsSubscriber + tags: + - { name: event_subscriber } diff --git a/packages/drupal/custom/src/EventSubscriber/RobotsSubscriber.php b/packages/drupal/custom/src/EventSubscriber/RobotsSubscriber.php new file mode 100644 index 000000000..cc9550f3a --- /dev/null +++ b/packages/drupal/custom/src/EventSubscriber/RobotsSubscriber.php @@ -0,0 +1,36 @@ +getResponse(); + $response->headers->set('X-Robots-Tag', 'noindex, nofollow'); + } + + /** + * {@inheritdoc} + */ + public static function getSubscribedEvents(): array { + return [ + KernelEvents::RESPONSE => ['onKernelResponse'], + ]; + } + +} From c0741f2f165f3bfcee7d5ae7186df983fe0fe4be Mon Sep 17 00:00:00 2001 From: Christophe Jossart Date: Thu, 28 Nov 2024 20:08:52 +0100 Subject: [PATCH 2/4] chore(SLB-478): gatsby noindex --- apps/website/gatsby-config.mjs | 13 ++++++++++++- 1 file changed, 12 insertions(+), 1 deletion(-) diff --git a/apps/website/gatsby-config.mjs b/apps/website/gatsby-config.mjs index 81457209e..cd6f4c782 100644 --- a/apps/website/gatsby-config.mjs +++ b/apps/website/gatsby-config.mjs @@ -12,6 +12,8 @@ process.env.CLOUDINARY_API_KEY = process.env.CLOUDINARY_API_KEY || 'test'; process.env.CLOUDINARY_API_SECRET = process.env.CLOUDINARY_API_SECRET || 'test'; process.env.CLOUDINARY_CLOUDNAME = process.env.CLOUDINARY_CLOUDNAME || 'demo'; +process.env.NOINDEX = process.env.NOINDEX || 'false'; + /** * * @type {import('gatsby').GatsbyConfig['plugins']} @@ -42,6 +44,12 @@ const plugins = [ options: { // To avoid "X-Frame-Options: DENY" in Drupal iframes. mergeSecurityHeaders: false, + headers: + process.env.NOINDEX === 'true' + ? { + '/*': ['X-Robots-Tag: noindex, nofollow'], + } + : {}, }, }, { @@ -50,7 +58,10 @@ const plugins = [ { resolve: 'gatsby-plugin-robots-txt', options: { - policy: [{ userAgent: '*', allow: '/', disallow: [] }], + policy: + process.env.NOINDEX === 'true' + ? [{ userAgent: '*', disallow: '/' }] + : [{ userAgent: '*', allow: '/', disallow: [] }], }, }, { From 0b81b5829d6901bda3e86112911c75ae92d518b0 Mon Sep 17 00:00:00 2001 From: Christophe Jossart Date: Fri, 29 Nov 2024 15:47:31 +0100 Subject: [PATCH 3/4] chore(SLB-478): preview noindex --- apps/preview/server/index.ts | 6 ++++++ 1 file changed, 6 insertions(+) diff --git a/apps/preview/server/index.ts b/apps/preview/server/index.ts index 2b0bd880a..3e1109b2f 100644 --- a/apps/preview/server/index.ts +++ b/apps/preview/server/index.ts @@ -32,6 +32,12 @@ if (isSessionRequired()) { // Authentication middleware based on the configuration. const authMiddleware = getAuthenticationMiddleware(); +// Prevent indexing. +app.use((_, res, next) => { + res.setHeader('X-Robots-Tag', 'noindex, nofollow'); + next(); +}); + app.get('/endpoint.js', (_, res) => { res.send( `window.GRAPHQL_ENDPOINT = "${ From 48052f6142d27505654da2d6108c0cd1595bc917 Mon Sep 17 00:00:00 2001 From: Christophe Jossart Date: Thu, 30 Jan 2025 12:10:58 +0100 Subject: [PATCH 4/4] chore(SLB-478): bump publisher --- apps/publisher/package.json | 2 +- pnpm-lock.yaml | 8 ++++---- 2 files changed, 5 insertions(+), 5 deletions(-) diff --git a/apps/publisher/package.json b/apps/publisher/package.json index c677400b6..341d578c0 100644 --- a/apps/publisher/package.json +++ b/apps/publisher/package.json @@ -2,7 +2,7 @@ "name": "@custom/publisher", "private": true, "dependencies": { - "@amazeelabs/publisher": "^2.5.9", + "@amazeelabs/publisher": "^2.5.10", "typescript": "^5.7.3" }, "scripts": { diff --git a/pnpm-lock.yaml b/pnpm-lock.yaml index ff9a4d79c..41981eda7 100644 --- a/pnpm-lock.yaml +++ b/pnpm-lock.yaml @@ -244,8 +244,8 @@ importers: apps/publisher: dependencies: '@amazeelabs/publisher': - specifier: ^2.5.9 - version: 2.5.9(typescript@5.7.3) + specifier: ^2.5.10 + version: 2.5.10(typescript@5.7.3) typescript: specifier: ^5.7.3 version: 5.7.3 @@ -1072,8 +1072,8 @@ packages: resolution: {integrity: sha512-B4+2aBf1BBEruh5WP8Tccvt5FR45lCw6R905rUOccwEYPqALX1JE7Br8wrTaPl3TK3WB6oeMkUS2sEf3dyQfsA==} dev: false - /@amazeelabs/publisher@2.5.9(typescript@5.7.3): - resolution: {integrity: sha512-PPzBrag/7J385ImMp7aTjVxsx0QN1fJ9TMJ7o4jJ5GIAhQNWHaCOUkRYsc4Ftee+mfRQQu7GyGBN9Vfs2wAkLg==} + /@amazeelabs/publisher@2.5.10(typescript@5.7.3): + resolution: {integrity: sha512-DFqemvehlIJ096EAyD+9fZx4uXOftLKeL5SU4sO4w/4TUG4kLWLaVV4QknDpCX3l+Lqebwnqjjvrjv5h6C9Rrg==} engines: {node: '>=16'} hasBin: true dependencies: