From e80269591c09e08e184fcbdd021482e2c5962ec4 Mon Sep 17 00:00:00 2001 From: Dorian Niemiec Date: Mon, 25 Nov 2024 07:11:36 +0100 Subject: [PATCH] feat: add canonical URLs --- app/(root)/blog/page.tsx | 1 + app/(root)/blog/page/[id]/page.tsx | 3 +++ app/(root)/changelog/[slug]/layout.tsx | 3 +++ app/(root)/changelog/layout.tsx | 1 + app/(root)/contact/layout.tsx | 1 + app/(root)/contribute/page.tsx | 3 +++ app/(root)/downloads/layout.tsx | 1 + app/(root)/layout.tsx | 1 + app/(root)/mods/layout.tsx | 1 + app/(root)/newsletter/page.tsx | 3 +++ app/(root)/privacy/page.tsx | 1 + app/(root)/tos/page.tsx | 1 + app/(root)/vulnerabilities/layout.tsx | 3 +++ app/layout.tsx | 1 + 14 files changed, 24 insertions(+) diff --git a/app/(root)/blog/page.tsx b/app/(root)/blog/page.tsx index 7801942..0f63c4d 100644 --- a/app/(root)/blog/page.tsx +++ b/app/(root)/blog/page.tsx @@ -11,6 +11,7 @@ export const metadata: Metadata = { title: "Blog - SVR.JS", description: "Welcome to the SVR.JS Blog! Explore our latest blog posts featuring web development, web application security, and web server administration tips. Stay tuned for the latest SVR.JS updates.", + alternates: { canonical: `${process.env.NEXT_PUBLIC_WEBSITE_URL}/blog` }, openGraph: { title: "Blog - SVR.JS", description: diff --git a/app/(root)/blog/page/[id]/page.tsx b/app/(root)/blog/page/[id]/page.tsx index 47a4872..160b5dd 100644 --- a/app/(root)/blog/page/[id]/page.tsx +++ b/app/(root)/blog/page/[id]/page.tsx @@ -15,6 +15,9 @@ export async function generateMetadata(props: { title: "Blog - SVR.JS", description: "Welcome to the SVR.JS Blog! Explore our latest blog posts featuring web development, web application security, and web server administration tips. Stay tuned for the latest SVR.JS updates.", + alternates: { + canonical: `${process.env.NEXT_PUBLIC_WEBSITE_URL}/blog/page/${(await props.params).id}` + }, openGraph: { title: "Blog - SVR.JS", description: diff --git a/app/(root)/changelog/[slug]/layout.tsx b/app/(root)/changelog/[slug]/layout.tsx index f266ef3..9041114 100644 --- a/app/(root)/changelog/[slug]/layout.tsx +++ b/app/(root)/changelog/[slug]/layout.tsx @@ -46,6 +46,9 @@ export async function generateMetadata(props: { return { title: `${page.title} change log - SVR.JS`, description: `Keep track of the latest updates and improvements for ${page.title} with our comprehensive change log. Discover new features, bug fixes, and enhancements for each release of this SVR.JS mod.`, + alternates: { + canonical: `${process.env.NEXT_PUBLIC_WEBSITE_URL}/changelog/${params.slug}` + }, openGraph: { title: `${page.title} change log - SVR.JS`, description: `Keep track of the latest updates and improvements for ${page.title} with our comprehensive change log. Discover new features, bug fixes, and enhancements for each release of this SVR.JS mod.`, diff --git a/app/(root)/changelog/layout.tsx b/app/(root)/changelog/layout.tsx index c45caa0..993b9fc 100644 --- a/app/(root)/changelog/layout.tsx +++ b/app/(root)/changelog/layout.tsx @@ -5,6 +5,7 @@ export const metadata: Metadata = { title: "SVR.JS change log - SVR.JS", description: "Stay up-to-date with the latest improvements and updates to SVR.JS web server. Our change log page provides a comprehensive list of new features, bug fixes, and enhancements for each release.", + alternates: { canonical: `${process.env.NEXT_PUBLIC_WEBSITE_URL}/changelog` }, openGraph: { title: "SVR.JS change log - SVR.JS", description: diff --git a/app/(root)/contact/layout.tsx b/app/(root)/contact/layout.tsx index e954b5b..f5cddcf 100644 --- a/app/(root)/contact/layout.tsx +++ b/app/(root)/contact/layout.tsx @@ -5,6 +5,7 @@ export const metadata: Metadata = { title: "Contact Us - SVR.JS", description: "Have questions about SVR.JS? Need technical support? Visit our Contact Us page to find various ways to get in touch with our team, including email, forums, and our official support channel.", + alternates: { canonical: `${process.env.NEXT_PUBLIC_WEBSITE_URL}/contact` }, openGraph: { title: "Contact Us - SVR.JS", description: diff --git a/app/(root)/contribute/page.tsx b/app/(root)/contribute/page.tsx index 6322511..9213bdd 100644 --- a/app/(root)/contribute/page.tsx +++ b/app/(root)/contribute/page.tsx @@ -7,6 +7,9 @@ export const metadata: Metadata = { title: "Contribute - SVR.JS", description: "Contribute to SVR.JS and be part of an exciting open-source project. Follow the step-by-step guidelines to make your code contributions.", + alternates: { + canonical: `${process.env.NEXT_PUBLIC_WEBSITE_URL}/contribute` + }, openGraph: { title: "Contribute - SVR.JS", description: diff --git a/app/(root)/downloads/layout.tsx b/app/(root)/downloads/layout.tsx index aaa55b3..605f01f 100644 --- a/app/(root)/downloads/layout.tsx +++ b/app/(root)/downloads/layout.tsx @@ -5,6 +5,7 @@ export const metadata: Metadata = { title: "Downloads - SVR.JS", description: "Ready to get started with SVR.JS? Visit our downloads page to access the latest stable releases, nightly builds, and archived versions. Find the right fit for your needs today!", + alternates: { canonical: `${process.env.NEXT_PUBLIC_WEBSITE_URL}/downloads` }, openGraph: { title: "Downloads - SVR.JS", description: diff --git a/app/(root)/layout.tsx b/app/(root)/layout.tsx index 336604a..a328dad 100644 --- a/app/(root)/layout.tsx +++ b/app/(root)/layout.tsx @@ -10,6 +10,7 @@ export const metadata: Metadata = { title: "SVR.JS - a web server running on Node.JS", description: "Experience unparalleled flexibility with SVR.JS - the ultimate web server for Node.JS. Host web pages, run server-side JavaScript, utilize mods for extended functionality, and more. Integrated log viewer and user management tools included. Also supports Bun (experimental).", + alternates: { canonical: `${process.env.NEXT_PUBLIC_WEBSITE_URL}` }, openGraph: { title: "SVR.JS - a web server running on Node.JS", description: diff --git a/app/(root)/mods/layout.tsx b/app/(root)/mods/layout.tsx index 2c19d03..9935322 100644 --- a/app/(root)/mods/layout.tsx +++ b/app/(root)/mods/layout.tsx @@ -5,6 +5,7 @@ export const metadata: Metadata = { title: "Mods - SVR.JS", description: "Expand the functionality of SVR.JS with our collection of mods! Visit the mod downloads page to explore, download, and install a wide range of mods tailored to enhance your web server experience.", + alternates: { canonical: `${process.env.NEXT_PUBLIC_WEBSITE_URL}/mods` }, openGraph: { title: "Mods - SVR.JS", description: diff --git a/app/(root)/newsletter/page.tsx b/app/(root)/newsletter/page.tsx index 030a55a..47c73b3 100644 --- a/app/(root)/newsletter/page.tsx +++ b/app/(root)/newsletter/page.tsx @@ -6,6 +6,9 @@ export const metadata: Metadata = { title: "Newsletter - SVR.JS", description: "Subscribe to our newsletter for updates. We promise no spam emails will be sent.", + alternates: { + canonical: `${process.env.NEXT_PUBLIC_WEBSITE_URL}/newsletter` + }, openGraph: { title: "Newsletter - SVR.JS", description: diff --git a/app/(root)/privacy/page.tsx b/app/(root)/privacy/page.tsx index 5d65471..def6d4e 100644 --- a/app/(root)/privacy/page.tsx +++ b/app/(root)/privacy/page.tsx @@ -9,6 +9,7 @@ export const metadata: Metadata = { title: "Privacy Policy - SVR.JS", description: "Learn how we collect, use, and protect your data. Our Privacy Policy outlines our commitment to your privacy and the measures we take to safeguard your information when visiting our website.", + alternates: { canonical: `${process.env.NEXT_PUBLIC_WEBSITE_URL}/privacy` }, openGraph: { title: "Privacy Policy - SVR.JS", description: diff --git a/app/(root)/tos/page.tsx b/app/(root)/tos/page.tsx index 2a0fef4..aa38825 100644 --- a/app/(root)/tos/page.tsx +++ b/app/(root)/tos/page.tsx @@ -7,6 +7,7 @@ export const metadata: Metadata = { title: "Terms of Service - SVR.JS", description: "Understand your rights and responsibilities when using SVR.JS. Our Terms of Service page outlines the conditions for visiting our website, ensuring a transparent and fair experience for all users.", + alternates: { canonical: `${process.env.NEXT_PUBLIC_WEBSITE_URL}/tos` }, openGraph: { title: "Terms of Service - SVR.JS", description: diff --git a/app/(root)/vulnerabilities/layout.tsx b/app/(root)/vulnerabilities/layout.tsx index 6e43348..9bf0945 100644 --- a/app/(root)/vulnerabilities/layout.tsx +++ b/app/(root)/vulnerabilities/layout.tsx @@ -5,6 +5,9 @@ export const metadata: Metadata = { title: "Vulnerabilities - SVR.JS", description: "Learn about potential security risks associated with outdated SVR.JS web server versions. Stay informed and safeguard your web applications from potential threats with timely updates.", + alternates: { + canonical: `${process.env.NEXT_PUBLIC_WEBSITE_URL}/vulnerabilities` + }, openGraph: { title: "Vulnerabilities - SVR.JS", description: diff --git a/app/layout.tsx b/app/layout.tsx index f1e9c9a..95d28f9 100644 --- a/app/layout.tsx +++ b/app/layout.tsx @@ -14,6 +14,7 @@ export const metadata: Metadata = { title: "SVR.JS - a web server running on Node.JS", description: "Experience unparalleled flexibility with SVR.JS - the ultimate web server for Node.JS. Host web pages, run server-side JavaScript, utilize mods for extended functionality, and more. Integrated log viewer and user management tools included. Also supports Bun (experimental).", + alternates: { canonical: `${process.env.NEXT_PUBLIC_WEBSITE_URL}` }, openGraph: { title: "SVR.JS - a web server running on Node.JS", description: