Skip to content

Commit 19999dd

Browse files
committed
chore: noindex for tiles
1 parent 8030d34 commit 19999dd

File tree

5 files changed

+67
-42
lines changed

5 files changed

+67
-42
lines changed

packages/backend/src/app.ts

Lines changed: 2 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -19,6 +19,7 @@ import csp from '@/helpers/csp'
1919
import errorHandler from '@/helpers/error-handler'
2020
import injectBullBoardHandler from '@/helpers/inject-bull-board-handler'
2121
import morgan from '@/helpers/morgan'
22+
import robotsHeaderMiddleware from '@/helpers/robots-header'
2223
import webUIHandler from '@/helpers/web-ui-handler'
2324
import router from '@/routes'
2425

@@ -50,7 +51,7 @@ app.use(
5051
}),
5152
)
5253
app.use(cors(corsOptions))
53-
54+
app.use(robotsHeaderMiddleware)
5455
injectBullBoardHandler(app, serverAdapter)
5556

5657
appAssetsHandler(app)
Lines changed: 15 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,15 @@
1+
import { NextFunction, Request, Response } from 'express'
2+
3+
const robotsHeaderMiddleware = (
4+
req: Request,
5+
res: Response,
6+
next: NextFunction,
7+
) => {
8+
// Add X-Robots-Tag header for all /tiles/* routes
9+
if (req.path.startsWith('/tiles/')) {
10+
res.setHeader('X-Robots-Tag', 'noindex, nofollow')
11+
}
12+
next()
13+
}
14+
15+
export default robotsHeaderMiddleware

packages/frontend/src/pages/Tile/index.tsx

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -99,6 +99,7 @@ export default function Tile(): JSX.Element | null {
9999
refetch={refetch}
100100
>
101101
<Helmet>
102+
<meta name="robots" content="noindex,nofollow" />
102103
<title>{name} | Tile</title>
103104
</Helmet>
104105
<Flex
Lines changed: 48 additions & 41 deletions
Original file line numberDiff line numberDiff line change
@@ -1,3 +1,4 @@
1+
import { Helmet } from 'react-helmet'
12
import { Image, Stack, Text, VStack } from '@chakra-ui/react'
23

34
import spreadsheetImg from '@/assets/spreadsheet.png'
@@ -6,48 +7,54 @@ import styles from './UnauthorizedTile.module.css'
67

78
export function InvalidTileLink(): JSX.Element {
89
return (
9-
<Stack
10-
direction={{ base: 'column', md: 'row' }}
11-
maxW="1000px"
12-
margin="auto"
13-
gap={8}
14-
px={8}
15-
alignItems="center"
16-
justifyContent="center"
17-
>
18-
<Image
19-
className={styles.flicker}
20-
src={spreadsheetImg}
21-
alt="Spreadsheet"
22-
w="400px"
23-
maxW="50%"
24-
/>
25-
<VStack alignItems={{ base: 'center', md: 'start' }} gap={2}>
26-
<Text
27-
textStyle="h4"
28-
textAlign={{ base: 'center', md: 'left' }}
29-
fontWeight="normal"
30-
>
31-
Your{' '}
10+
<>
11+
<Helmet>
12+
<meta name="robots" content="noindex,nofollow" />
13+
<title>you seem lost...</title>
14+
</Helmet>
15+
<Stack
16+
direction={{ base: 'column', md: 'row' }}
17+
maxW="1000px"
18+
margin="auto"
19+
gap={8}
20+
px={8}
21+
alignItems="center"
22+
justifyContent="center"
23+
>
24+
<Image
25+
className={styles.flicker}
26+
src={spreadsheetImg}
27+
alt="Spreadsheet"
28+
w="400px"
29+
maxW="50%"
30+
/>
31+
<VStack alignItems={{ base: 'center', md: 'start' }} gap={2}>
3232
<Text
33-
bgGradient="linear(to-r, primary.400, primary.500)"
34-
backgroundClip="text"
35-
as="span"
36-
className={styles.flicker}
37-
fontWeight="bold"
33+
textStyle="h4"
34+
textAlign={{ base: 'center', md: 'left' }}
35+
fontWeight="normal"
3836
>
39-
Tile
40-
</Text>{' '}
41-
link is invalid or has expired.
42-
</Text>
43-
<Text
44-
textStyle="h6"
45-
textAlign={{ base: 'center', md: 'left' }}
46-
fontWeight="normal"
47-
>
48-
Please request a new link from the tile owner.
49-
</Text>
50-
</VStack>
51-
</Stack>
37+
Your{' '}
38+
<Text
39+
bgGradient="linear(to-r, primary.400, primary.500)"
40+
backgroundClip="text"
41+
as="span"
42+
className={styles.flicker}
43+
fontWeight="bold"
44+
>
45+
Tile
46+
</Text>{' '}
47+
link is invalid or has expired.
48+
</Text>
49+
<Text
50+
textStyle="h6"
51+
textAlign={{ base: 'center', md: 'left' }}
52+
fontWeight="normal"
53+
>
54+
Please request a new link from the tile owner.
55+
</Text>
56+
</VStack>
57+
</Stack>
58+
</>
5259
)
5360
}

packages/frontend/src/pages/UnauthorizedTile/MissingTile.tsx

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -15,6 +15,7 @@ export function MissingTile({ title }: MissingTileProps): JSX.Element {
1515
return (
1616
<>
1717
<Helmet>
18+
<meta name="robots" content="noindex,nofollow" />
1819
<title>you seem lost...</title>
1920
</Helmet>
2021
<Stack

0 commit comments

Comments
 (0)