diff --git a/components/Meta.tsx b/components/Meta.tsx
index 97c10f8..dd1a566 100644
--- a/components/Meta.tsx
+++ b/components/Meta.tsx
@@ -1,24 +1,60 @@
type Props = {
title?: string;
description?: string;
+ keywords?: string;
+ ogDescription?: string;
+ ogImg?: any;
+ pageUrl?: string;
+ type?: string;
+ twitterDescription?: string;
+ twitterCard?: string;
+ jsonLd?: any;
};
import Head from "next/head";
import ogImage from "../public/images/docs-og.webp";
-import { DEFAULT_META_TITLE, DEFAULT_META_DESCRIPTION, SITE_URL } from "../utils/text/seo";
+import {
+ DEFAULT_META_TITLE,
+ DEFAULT_META_DESCRIPTION,
+ SITE_URL,
+} from "../utils/text/seo";
const OG_IMAGE_URL = SITE_URL + ogImage.src;
-export function Meta({ title = DEFAULT_META_TITLE, description = DEFAULT_META_DESCRIPTION}: Props) {
-
+export function Meta({
+ title = DEFAULT_META_TITLE,
+ description = DEFAULT_META_DESCRIPTION,
+ keywords,
+ ogDescription,
+ ogImg = OG_IMAGE_URL,
+ pageUrl,
+ type = "website",
+ twitterDescription,
+ twitterCard,
+ jsonLd,
+}: Props) {
return (
{title}
+ {keywords && }
-
-
-
+
+ {pageUrl && }
+
+
+ {twitterCard && }
+
+
+ {jsonLd && (
+
+ )}
);
}
diff --git a/pages/solana-yellowstone-geyser-grpc.mdx b/pages/solana-yellowstone-geyser-grpc.mdx
index 25d95ea..45914f9 100644
--- a/pages/solana-yellowstone-geyser-grpc.mdx
+++ b/pages/solana-yellowstone-geyser-grpc.mdx
@@ -1,8 +1,35 @@
import { Meta } from "../components/Meta";
+import ogImage from "public/images/og-geyser-grpc.png";
+import { SITE_URL } from "../utils/text/seo";
# Solana Yellowstone Geyser gRPC
diff --git a/public/images/og-geyser-grpc.png b/public/images/og-geyser-grpc.png
new file mode 100644
index 0000000..23a1b7a
Binary files /dev/null and b/public/images/og-geyser-grpc.png differ
diff --git a/theme.config.tsx b/theme.config.tsx
index ce604b3..f474b88 100644
--- a/theme.config.tsx
+++ b/theme.config.tsx
@@ -39,13 +39,13 @@ const config: DocsThemeConfig = {
const { asPath } = router;
const extra = { canonical: `${DocsBaseURL}${asPath}` };
- if (asPath === '/') {
+ if (asPath === "/") {
return {
titleTemplate: DEFAULT_META_TITLE,
description: DEFAULT_META_DESCRIPTION,
- keywords: 'rpc documentation',
+ keywords: "rpc documentation",
...extra,
- }
+ };
}
const checkDocsInfoPage = isDocsInfoPage(asPath);