From a52f6e98b5e42abae23f308e757509ddd5a05a30 Mon Sep 17 00:00:00 2001 From: Karolina Kosiorowska Date: Fri, 1 Dec 2023 11:08:00 +0100 Subject: [PATCH 1/2] Basic SEO set up for the landing page --- pnpm-lock.yaml | 47 ++++++++++++++++++++++++++++ website/gatsby-config.ts | 1 + website/package.json | 5 ++- website/src/components/SEO/index.tsx | 14 +++++++++ website/src/pages/index.tsx | 14 ++++++--- 5 files changed, 75 insertions(+), 6 deletions(-) create mode 100644 website/src/components/SEO/index.tsx diff --git a/pnpm-lock.yaml b/pnpm-lock.yaml index bf4690578..371dfb09f 100644 --- a/pnpm-lock.yaml +++ b/pnpm-lock.yaml @@ -168,12 +168,18 @@ importers: gatsby-plugin-manifest: specifier: ^5.12.3 version: 5.12.3(gatsby@5.12.11)(graphql@16.8.1) + gatsby-plugin-react-helmet: + specifier: ^6.12.0 + version: 6.12.0(gatsby@5.12.11)(react-helmet@6.1.0) react: specifier: ^18.2.0 version: 18.2.0 react-dom: specifier: ^18.2.0 version: 18.2.0(react@18.2.0) + react-helmet: + specifier: ^6.1.0 + version: 6.1.0(react@18.2.0) devDependencies: '@thesis-co/eslint-config': specifier: ^0.6.1 @@ -187,6 +193,9 @@ importers: '@types/react-dom': specifier: ^18.2.17 version: 18.2.17 + '@types/react-helmet': + specifier: ^6.1.9 + version: 6.1.9 '@typescript-eslint/eslint-plugin': specifier: ^6.12.0 version: 6.12.0(@typescript-eslint/parser@6.12.0)(eslint@8.54.0)(typescript@5.3.2) @@ -5593,6 +5602,12 @@ packages: '@types/react': 18.2.38 dev: true + /@types/react-helmet@6.1.9: + resolution: {integrity: sha512-nuOeTefP4yPTWHvjGksCBKb/4hsgJxSX7aSTjTIDFXJIkZ6Wo2Y4/cmE1FO9OlYBrHjKOer/0zLwY7s4qiQBtw==} + dependencies: + '@types/react': 18.2.38 + dev: true + /@types/react@18.2.38: resolution: {integrity: sha512-cBBXHzuPtQK6wNthuVMV6IjHAFkdl/FOPFIlkd81/Cd1+IqkHu/A+w4g43kaQQoYHik/ruaQBDL72HyCy1vuMw==} dependencies: @@ -9651,6 +9666,18 @@ packages: lodash.uniq: 4.5.0 dev: true + /gatsby-plugin-react-helmet@6.12.0(gatsby@5.12.11)(react-helmet@6.1.0): + resolution: {integrity: sha512-agcBCT9H8nlpkAU3D1fUeJbjh7IMPjGO/njoa7avIYLGsQ2nyGlHwcrEmS2zBHxYKaxPkztvr47OpCdnuEIvEw==} + engines: {node: '>=18.0.0'} + peerDependencies: + gatsby: ^5.0.0-next + react-helmet: ^5.1.3 || ^6.0.0 + dependencies: + '@babel/runtime': 7.23.4 + gatsby: 5.12.11(babel-eslint@10.1.0)(react-dom@18.2.0)(react@18.2.0)(typescript@5.3.2) + react-helmet: 6.1.0(react@18.2.0) + dev: false + /gatsby-plugin-typescript@5.12.1(gatsby@5.12.11): resolution: {integrity: sha512-NIigc9TnhjLam/WAQxvVLKpRgjOXzDDgetOt2F2qtO+1KjMuUgLxHdd613Z0JoSPGpi5ug0KG8U99gh9zge7jA==} engines: {node: '>=18.0.0'} @@ -13019,6 +13046,18 @@ packages: use-sidecar: 1.1.2(@types/react@18.2.38)(react@18.2.0) dev: false + /react-helmet@6.1.0(react@18.2.0): + resolution: {integrity: sha512-4uMzEY9nlDlgxr61NL3XbKRy1hEkXmKNXhjbAIOVw5vcFrsdYbH2FEwcNyWvWinl103nXgzYNlns9ca+8kFiWw==} + peerDependencies: + react: '>=16.3.0' + dependencies: + object-assign: 4.1.1 + prop-types: 15.8.1 + react: 18.2.0 + react-fast-compare: 3.2.2 + react-side-effect: 2.1.2(react@18.2.0) + dev: false + /react-is@16.13.1: resolution: {integrity: sha512-24e6ynE2H+OKt4kqsOvNd8kBpV65zoxbA4BVsEOB3ARVWQki/DHzaUoC5KuON/BiccDaCCTZBuOcfZs70kR8bQ==} @@ -13074,6 +13113,14 @@ packages: react: 18.2.0 webpack: 5.89.0 + /react-side-effect@2.1.2(react@18.2.0): + resolution: {integrity: sha512-PVjOcvVOyIILrYoyGEpDN3vmYNLdy1CajSFNt4TDsVQC5KpTijDvWVoR+/7Rz2xT978D8/ZtFceXxzsPwZEDvw==} + peerDependencies: + react: ^16.3.0 || ^17.0.0 || ^18.0.0 + dependencies: + react: 18.2.0 + dev: false + /react-style-singleton@2.2.1(@types/react@18.2.38)(react@18.2.0): resolution: {integrity: sha512-ZWj0fHEMyWkHzKYUr2Bs/4zU6XLmq9HsgBURm7g5pAVfyn49DgUiNgY2d4lXRlYSiCif9YBGpQleewkcqddc7g==} engines: {node: '>=10'} diff --git a/website/gatsby-config.ts b/website/gatsby-config.ts index fb8e0dddb..01a0d10f1 100644 --- a/website/gatsby-config.ts +++ b/website/gatsby-config.ts @@ -8,6 +8,7 @@ const config: GatsbyConfig = { graphqlTypegen: true, plugins: [ "gatsby-plugin-pnpm", + "gatsby-plugin-react-helmet", { resolve: "gatsby-plugin-manifest", options: { diff --git a/website/package.json b/website/package.json index 250f7b430..23f6fdb53 100644 --- a/website/package.json +++ b/website/package.json @@ -22,14 +22,17 @@ "dependencies": { "gatsby": "^5.12.11", "gatsby-plugin-manifest": "^5.12.3", + "gatsby-plugin-react-helmet": "^6.12.0", "react": "^18.2.0", - "react-dom": "^18.2.0" + "react-dom": "^18.2.0", + "react-helmet": "^6.1.0" }, "devDependencies": { "@thesis-co/eslint-config": "^0.6.1", "@types/node": "^20.9.4", "@types/react": "^18.2.38", "@types/react-dom": "^18.2.17", + "@types/react-helmet": "^6.1.9", "@typescript-eslint/eslint-plugin": "^6.12.0", "@typescript-eslint/parser": "^6.12.0", "eslint": "^8.54.0", diff --git a/website/src/components/SEO/index.tsx b/website/src/components/SEO/index.tsx new file mode 100644 index 000000000..98065d036 --- /dev/null +++ b/website/src/components/SEO/index.tsx @@ -0,0 +1,14 @@ +import React from "react" +import { Helmet } from "react-helmet" + +function SEO() { + return ( + + + Acre + + + ) +} + +export default SEO diff --git a/website/src/pages/index.tsx b/website/src/pages/index.tsx index d8fa2abd0..6b594ada3 100644 --- a/website/src/pages/index.tsx +++ b/website/src/pages/index.tsx @@ -1,12 +1,16 @@ import * as React from "react" +import SEO from "../components/SEO" function IndexPage() { return ( -
-
-
-
-
+ <> + +
+
+
+
+
+ ) } From c393762cdb94088eeac7fbaabe410b11a8aa600f Mon Sep 17 00:00:00 2001 From: Karolina Kosiorowska Date: Fri, 1 Dec 2023 11:13:37 +0100 Subject: [PATCH 2/2] Add a `SEO` component to 404 page --- website/src/pages/404.tsx | 10 +++++++--- 1 file changed, 7 insertions(+), 3 deletions(-) diff --git a/website/src/pages/404.tsx b/website/src/pages/404.tsx index a537ff411..9a959c1dc 100644 --- a/website/src/pages/404.tsx +++ b/website/src/pages/404.tsx @@ -1,10 +1,14 @@ import * as React from "react" +import SEO from "../components/SEO" function NotFoundPage() { return ( -
-

Page not found

-
+ <> + +
+

Page not found

+
+ ) }