Skip to content

Commit fb1e74d

Browse files
committed
Add keywords to all pages
1 parent 8b3fd1b commit fb1e74d

File tree

10 files changed

+61
-4
lines changed

10 files changed

+61
-4
lines changed

src/components/head/KeywordsMeta.tsx

Lines changed: 12 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -1,11 +1,20 @@
11
export interface KeywordTagsProps {
2-
tags: readonly string[];
2+
tags?: readonly string[];
33
}
44

5-
const KeywordsMeta = ({ tags }: KeywordTagsProps) => (
5+
const DEFAULT_TAGS = [
6+
"Git",
7+
"Commit Rocket",
8+
"Git Client",
9+
"Git Gui",
10+
"New Git Client"
11+
] as const;
12+
13+
const KeywordsMeta = ({ tags = [] }: KeywordTagsProps) => (
614
<meta
15+
key="meta:keywords"
716
name="keywords"
8-
content={tags.map((tag) => tag.replace(",", "")).join(", ")}
17+
content={[...DEFAULT_TAGS, ...tags].map((tag) => tag.replace(",", "")).join(", ")}
918
/>
1019
);
1120

src/pages/404.tsx

Lines changed: 5 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -10,6 +10,7 @@ import Heading from "@/components/layout/Heading";
1010

1111
import { makeOgMeta } from "@/utils/meta/opengraph";
1212
import { makeSitemapMeta } from "@/utils/meta/sitemap";
13+
import KeywordsMeta from "@/components/head/KeywordsMeta";
1314

1415
const NotFound: Page = ({ pathname }) => {
1516
const router = useRouter();
@@ -19,6 +20,10 @@ const NotFound: Page = ({ pathname }) => {
1920
<Head>
2021
{makeOgMeta({ title: "404", pathname })}
2122
{makeSitemapMeta({ priority: 0.1 })}
23+
<KeywordsMeta tags={[
24+
"Not Found",
25+
"404"
26+
]} />
2227
</Head>
2328
<main className="flex items-center justify-center flex-1 w-full pb-8" aria-labelledby="not-found">
2429
<div className="flex flex-col gap-2 p-8 text-center border-2 rounded-md border-primary">

src/pages/_app.tsx

Lines changed: 2 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -13,6 +13,7 @@ import BannerImage from "@/assets/images/brand/commit-rocket-logo.webp";
1313

1414
import { makeOgMeta } from "@/utils/meta/opengraph";
1515
import { makeSitemapMeta } from "@/utils/meta/sitemap";
16+
import KeywordsMeta from "@/components/head/KeywordsMeta";
1617

1718

1819
const pageTransition = {
@@ -75,6 +76,7 @@ export default function App({ Component, pageProps, router }: AppProps) {
7576
changeFreq: "monthly",
7677
priority: 0.5
7778
})}
79+
<KeywordsMeta />
7880
</Head>
7981
<GoogleAnalytics />
8082
<div className="flex flex-col font-sans">

src/pages/about.tsx

Lines changed: 6 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -7,13 +7,19 @@ import projects from "@/assets/state/projects";
77

88
import Heading from "@/components/layout/Heading";
99
import Project from "@/components/pages/about/Project";
10+
import KeywordsMeta from "@/components/head/KeywordsMeta";
11+
1012
import { makeOgMeta } from "@/utils/meta/opengraph";
1113

1214
const AboutPage: Page = ({ pathname }) => {
1315
return (
1416
<>
1517
<Head>
1618
{makeOgMeta({ title: "About", pathname })}
19+
<KeywordsMeta tags={[
20+
"About Us",
21+
"Team"
22+
]} />
1723
</Head>
1824
<main aria-labelledby="about" className="flex flex-col flex-1 w-full gap-8 pb-8 max-w-7xl">
1925
<Heading.H1 id="about" className="text-center text-secondary">

src/pages/blog/[pid]/[slug].tsx

Lines changed: 6 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -57,7 +57,12 @@ const BlogPostPage: Page<BlogPostPageProps> = ({ article: { author, tags, thumbn
5757
{makeSitemapMeta({
5858
lastMod: new Date(article.updated ? article.updated : article.created),
5959
})}
60-
<KeywordsMeta tags={tags} />
60+
<KeywordsMeta tags={[
61+
"Blog",
62+
"Post",
63+
"Article",
64+
...tags
65+
]} />
6166
</Head>
6267
<main>
6368
<article aria-describedby="article-title" className="flex flex-col gap-4 max-w-4xl w-full items-center">

src/pages/blog/index.tsx

Lines changed: 4 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -21,6 +21,7 @@ import Heading from "@/components/layout/Heading";
2121
import { makeOgMeta } from "@/utils/meta/opengraph";
2222
import Label from "@/components/controls/Label";
2323
import { makeSitemapMeta } from "@/utils/meta/sitemap";
24+
import KeywordsMeta from "@/components/head/KeywordsMeta";
2425

2526
interface BlogPageProps {
2627
articles: IArticleBrief[];
@@ -92,6 +93,9 @@ const BlogPage: Page<BlogPageProps> = ({ articles, pathname }) => {
9293
<Head>
9394
{makeOgMeta({ title: "Blog", pathname })}
9495
{makeSitemapMeta({ changeFreq: "weekly", priority: 0.8 })}
96+
<KeywordsMeta tags={[
97+
"Blog"
98+
]} />
9599
</Head>
96100
<main aria-labelledby="blog" className="flex flex-col flex-1 w-full gap-8 max-w-7xl">
97101
<Heading.H1 id="blog" className="text-center text-secondary">

src/pages/contact.tsx

Lines changed: 9 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -5,12 +5,21 @@ import contactMethods from "@/assets/state/contactMethods";
55
import Link, { style } from "@/components/navigation/Link";
66
import Heading from "@/components/layout/Heading";
77
import { makeOgMeta } from "@/utils/meta/opengraph";
8+
import KeywordsMeta from "@/components/head/KeywordsMeta";
9+
810

911
const ContactPage: Page = ({ pathname }) => {
1012
return (
1113
<>
1214
<Head>
1315
{makeOgMeta({ title: "Contact", pathname })}
16+
<KeywordsMeta tags={[
17+
"Contact Us",
18+
"Email",
19+
"Discord",
20+
"NewsLetter",
21+
"Feedback"
22+
]} />
1423
</Head>
1524
<main aria-labelledby="contact" className="flex flex-col flex-1 w-full gap-8 max-w-7xl">
1625
<Heading.H1 id="contact" className="text-center text-secondary">

src/pages/contribute.tsx

Lines changed: 6 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -6,13 +6,19 @@ import FeedbackSection from "@/components/pages/contribute/FeedbackSection";
66
import { Page } from "@/types/page";
77
import { makeOgMeta } from "@/utils/meta/opengraph";
88
import { makeSitemapMeta } from "@/utils/meta/sitemap";
9+
import KeywordsMeta from "@/components/head/KeywordsMeta";
10+
911

1012
const ContributePage: Page = ({ pathname }) => {
1113
return (
1214
<>
1315
<Head>
1416
{makeOgMeta({ title: "Contribute", pathname })}
1517
{makeSitemapMeta({ priority: 0.6 })}
18+
<KeywordsMeta tags={[
19+
"Contribute",
20+
"Feedback"
21+
]} />
1622
</Head>
1723
<main aria-labelledby="contribute" className="flex flex-col flex-1 w-full gap-8 max-w-7xl">
1824
<Heading.H1 id="contribute" className="text-center text-secondary">

src/pages/index.tsx

Lines changed: 7 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -18,6 +18,7 @@ import { makeSitemapMeta } from "@/utils/meta/sitemap";
1818

1919
import { sendCTAEvent } from "@/api/analytics";
2020
import { makeOgMeta } from "@/utils/meta/opengraph";
21+
import KeywordsMeta from "@/components/head/KeywordsMeta";
2122

2223
const logoAnim = {
2324
initial: {
@@ -39,6 +40,12 @@ const FrontPage: Page = ({ pathname }) => {
3940
<Head>
4041
{makeOgMeta({ title: "Building a Better Git", reverseTitle: true, pathname })}
4142
{makeSitemapMeta({ priority: 1 })}
43+
<KeywordsMeta tags={[
44+
"Introduction",
45+
"Roadmap",
46+
"Missions",
47+
"Newsletter Signup"
48+
]} />
4249
</Head>
4350
<main aria-labelledby="hero-title" className="flex flex-col flex-1 w-full gap-32 pb-8 max-w-7xl">
4451
<section aria-label="hero" className="flex flex-col-reverse items-center h-fit min-h-0 xl:flex-row xl:min-h-[30rem] xl:h-[75dvh] xl:h-[75vh] mx-auto">

src/pages/mail/unsubscribe.tsx

Lines changed: 4 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -18,6 +18,7 @@ import Form from "@/components/controls/Form";
1818
import Heading from "@/components/layout/Heading";
1919
import Button from "@/components/controls/Button";
2020
import Label from "@/components/controls/Label";
21+
import KeywordsMeta from "@/components/head/KeywordsMeta";
2122

2223

2324
const unsubscribeSchema = z.object({
@@ -47,6 +48,9 @@ const UnsubscribePage: Page = ({ pathname }) => {
4748
<Head>
4849
{makeOgMeta({ title: "Unsubscribe", pathname })}
4950
{makeSitemapMeta({ priority: 0.2 })}
51+
<KeywordsMeta tags={[
52+
"Unsubscribe"
53+
]} />
5054
</Head>
5155
<main className="flex items-center justify-center flex-1 w-full pb-8" aria-labelledby="unsubscribe">
5256
<Form

0 commit comments

Comments
 (0)