diff --git a/app/(auth)/admin/email/layout.tsx b/app/(auth)/admin/email/layout.tsx new file mode 100644 index 0000000..ecde096 --- /dev/null +++ b/app/(auth)/admin/email/layout.tsx @@ -0,0 +1,9 @@ +import type { Metadata } from "next"; + +export const metadata: Metadata = { + title: "Admin // Emails" +}; + +export default function logPages({ children }: { children: React.ReactNode }) { + return <>{children}; +} diff --git a/app/(auth)/admin/layout.tsx b/app/(auth)/admin/layout.tsx index 0eb755f..961a7bf 100644 --- a/app/(auth)/admin/layout.tsx +++ b/app/(auth)/admin/layout.tsx @@ -1,5 +1,10 @@ import MobileNav from "../_components/Mobilenav"; import Sidebar from "../_components/Sidebar"; +import type { Metadata } from "next"; + +export const metadata: Metadata = { + title: "Admin" +}; export default function PageLayout({ children diff --git a/app/(auth)/email-editor/layout.tsx b/app/(auth)/email-editor/layout.tsx new file mode 100644 index 0000000..5b0ac02 --- /dev/null +++ b/app/(auth)/email-editor/layout.tsx @@ -0,0 +1,9 @@ +import type { Metadata } from "next"; + +export const metadata: Metadata = { + title: "Admin // Email editor" +}; + +export default function logPages({ children }: { children: React.ReactNode }) { + return <>{children}; +} diff --git a/app/(root)/blog/page.tsx b/app/(root)/blog/page.tsx index 0f63c4d..fbeb586 100644 --- a/app/(root)/blog/page.tsx +++ b/app/(root)/blog/page.tsx @@ -10,12 +10,12 @@ export const dynamic = "force-static"; 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.", + "Welcome to the SVR.JS Blog! Discover web development, security tips, and server admin insights. Stay updated with the latest SVR.JS news!", alternates: { canonical: `${process.env.NEXT_PUBLIC_WEBSITE_URL}/blog` }, openGraph: { 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.", + "Welcome to the SVR.JS Blog! Discover web development, security tips, and server admin insights. Stay updated with the latest SVR.JS news!", url: `${process.env.NEXT_PUBLIC_WEBSITE_URL}/blog`, type: "website", images: [ @@ -32,7 +32,7 @@ export const metadata: Metadata = { site: "@SVR_JS", 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.", + "Welcome to the SVR.JS Blog! Discover web development, security tips, and server admin insights. Stay updated with the latest SVR.JS news!", images: [`${process.env.NEXT_PUBLIC_WEBSITE_URL}/metadata/svrjs-cover.png`], creator: "@SVR_JS" } diff --git a/app/(root)/blog/page/[id]/page.tsx b/app/(root)/blog/page/[id]/page.tsx index 160b5dd..7b0c7b1 100644 --- a/app/(root)/blog/page/[id]/page.tsx +++ b/app/(root)/blog/page/[id]/page.tsx @@ -14,14 +14,14 @@ export async function generateMetadata(props: { return { 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.", + "Welcome to the SVR.JS Blog! Discover web development, security tips, and server admin insights. Stay updated with the latest SVR.JS news!", alternates: { canonical: `${process.env.NEXT_PUBLIC_WEBSITE_URL}/blog/page/${(await props.params).id}` }, openGraph: { 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.", + "Welcome to the SVR.JS Blog! Discover web development, security tips, and server admin insights. Stay updated with the latest SVR.JS news!", url: `${process.env.NEXT_PUBLIC_WEBSITE_URL}/blog/page/${(await props.params).id}`, type: "website", images: [ @@ -38,7 +38,7 @@ export async function generateMetadata(props: { site: "@SVR_JS", 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.", + "Welcome to the SVR.JS Blog! Discover web development, security tips, and server admin insights. Stay updated with the latest SVR.JS news!", images: [ `${process.env.NEXT_PUBLIC_WEBSITE_URL}/metadata/svrjs-cover.png` ], diff --git a/app/(root)/changelog/layout.tsx b/app/(root)/changelog/layout.tsx index 993b9fc..e7936e1 100644 --- a/app/(root)/changelog/layout.tsx +++ b/app/(root)/changelog/layout.tsx @@ -4,12 +4,12 @@ import { Metadata } from "next"; 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.", + "Stay updated on SVR.JS web server improvements with our change log, featuring 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: - "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.", + "Stay updated on SVR.JS web server improvements with our change log, featuring new features, bug fixes, and enhancements for each release.", url: `${process.env.NEXT_PUBLIC_WEBSITE_URL}/changelog`, type: "website", images: [ @@ -26,7 +26,7 @@ export const metadata: Metadata = { site: "@SVR_JS", 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.", + "Stay updated on SVR.JS web server improvements with our change log, featuring new features, bug fixes, and enhancements for each release.", images: [`${process.env.NEXT_PUBLIC_WEBSITE_URL}/metadata/svrjs-cover.png`], creator: "@SVR_JS" } diff --git a/app/(root)/contact/layout.tsx b/app/(root)/contact/layout.tsx index f5cddcf..9b6313f 100644 --- a/app/(root)/contact/layout.tsx +++ b/app/(root)/contact/layout.tsx @@ -4,12 +4,12 @@ import { Metadata } from "next"; 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.", + "Questions about SVR.JS? Visit our Contact Us page for email, forums, and support channel options to reach our team.", alternates: { canonical: `${process.env.NEXT_PUBLIC_WEBSITE_URL}/contact` }, openGraph: { 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.", + "Questions about SVR.JS? Visit our Contact Us page for email, forums, and support channel options to reach our team.", url: `${process.env.NEXT_PUBLIC_WEBSITE_URL}/contact`, type: "website", images: [ @@ -26,7 +26,7 @@ export const metadata: Metadata = { site: "@SVR_JS", 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.", + "Questions about SVR.JS? Visit our Contact Us page for email, forums, and support channel options to reach our team.", images: [`${process.env.NEXT_PUBLIC_WEBSITE_URL}/metadata/svrjs-cover.png`], creator: "@SVR_JS" } diff --git a/app/(root)/downloads/layout.tsx b/app/(root)/downloads/layout.tsx index 605f01f..e3adf48 100644 --- a/app/(root)/downloads/layout.tsx +++ b/app/(root)/downloads/layout.tsx @@ -4,12 +4,12 @@ import { Metadata } from "next"; 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!", + "Get started with SVR.JS! Visit our downloads page for the latest stable releases, nightly builds, and archived versions to find your perfect fit!", alternates: { canonical: `${process.env.NEXT_PUBLIC_WEBSITE_URL}/downloads` }, openGraph: { 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!", + "Get started with SVR.JS! Visit our downloads page for the latest stable releases, nightly builds, and archived versions to find your perfect fit!", url: `${process.env.NEXT_PUBLIC_WEBSITE_URL}/downloads`, type: "website", images: [ @@ -26,7 +26,7 @@ export const metadata: Metadata = { site: "@SVR_JS", 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!", + "Get started with SVR.JS! Visit our downloads page for the latest stable releases, nightly builds, and archived versions to find your perfect fit!", images: [`${process.env.NEXT_PUBLIC_WEBSITE_URL}/metadata/svrjs-cover.png`], creator: "@SVR_JS" } diff --git a/app/(root)/layout.tsx b/app/(root)/layout.tsx index a328dad..44c6891 100644 --- a/app/(root)/layout.tsx +++ b/app/(root)/layout.tsx @@ -3,39 +3,6 @@ import Navbar from "@/components/shared/Navbar"; import Banner from "@/components/widgets/Banner"; import NoScript from "@/components/shared/NoScript"; import { Rocket } from "lucide-react"; -import { Metadata } from "next"; - -// baseURL [ENV] -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: - "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).", - url: `${process.env.NEXT_PUBLIC_WEBSITE_URL}`, - type: "website", - images: [ - { - url: `${process.env.NEXT_PUBLIC_WEBSITE_URL}/metadata/svrjs-cover.png`, - width: 800, - height: 600, - alt: "SVR.JS - a web server running on Node.JS" - } - ] - }, - twitter: { - card: "summary_large_image", - site: "@SVR_JS", - 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).", - images: [`${process.env.NEXT_PUBLIC_WEBSITE_URL}/metadata/svrjs-cover.png`], - creator: "@SVR_JS" - } -}; export default function PageLayout({ children diff --git a/app/(root)/mods/layout.tsx b/app/(root)/mods/layout.tsx index 9935322..7912b69 100644 --- a/app/(root)/mods/layout.tsx +++ b/app/(root)/mods/layout.tsx @@ -4,12 +4,12 @@ import { Metadata } from "next"; 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.", + "Expand the functionality of SVR.JS with our mods! Visit the downloads page to explore and install a variety of mods for a better web server experience.", alternates: { canonical: `${process.env.NEXT_PUBLIC_WEBSITE_URL}/mods` }, openGraph: { 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.", + "Expand the functionality of SVR.JS with our mods! Visit the downloads page to explore and install a variety of mods for a better web server experience.", url: `${process.env.NEXT_PUBLIC_WEBSITE_URL}/mods`, type: "website", images: [ @@ -26,7 +26,7 @@ export const metadata: Metadata = { site: "@SVR_JS", 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.", + "Expand the functionality of SVR.JS with our mods! Visit the downloads page to explore and install a variety of mods for a better web server experience.", images: [`${process.env.NEXT_PUBLIC_WEBSITE_URL}/metadata/svrjs-cover.png`], creator: "@SVR_JS" } diff --git a/app/(root)/page.tsx b/app/(root)/page.tsx index cbaaf0d..f5fe0a7 100644 --- a/app/(root)/page.tsx +++ b/app/(root)/page.tsx @@ -1,11 +1,43 @@ import About from "@/components/shared/About"; -import DataTable from "@/components/shared/DataTable"; import Faq from "@/components/shared/FAQ"; import Hero from "@/components/shared/Hero"; import Features from "@/components/shared/Features"; import Newsletter from "@/components/shared/Newsletter"; import DemoVideo from "@/components/shared/DemoVideo"; import Testimonials from "@/components/shared/Testimonials"; +import { Metadata } from "next"; + +// baseURL [ENV] +export const metadata: Metadata = { + title: "SVR.JS - a web server running on Node.JS", + description: + "Host your websites with SVR.JS - a free, open-source, scalable, and secure web server built on Node.JS. Supports JavaScript and PHP applications.", + alternates: { canonical: `${process.env.NEXT_PUBLIC_WEBSITE_URL}` }, + openGraph: { + title: "SVR.JS - a web server running on Node.JS", + description: + "Host your websites with SVR.JS - a free, open-source, scalable, and secure web server built on Node.JS. Supports JavaScript and PHP applications.", + url: `${process.env.NEXT_PUBLIC_WEBSITE_URL}`, + type: "website", + images: [ + { + url: `${process.env.NEXT_PUBLIC_WEBSITE_URL}/metadata/svrjs-cover.png`, + width: 800, + height: 600, + alt: "SVR.JS - a web server running on Node.JS" + } + ] + }, + twitter: { + card: "summary_large_image", + site: "@SVR_JS", + title: "SVR.JS - a web server running on Node.JS", + description: + "Host your websites with SVR.JS - a free, open-source, scalable, and secure web server built on Node.JS. Supports JavaScript and PHP applications.", + images: [`${process.env.NEXT_PUBLIC_WEBSITE_URL}/metadata/svrjs-cover.png`], + creator: "@SVR_JS" + } +}; const RootPage = () => { return ( diff --git a/app/(root)/privacy/page.tsx b/app/(root)/privacy/page.tsx index def6d4e..b9771f5 100644 --- a/app/(root)/privacy/page.tsx +++ b/app/(root)/privacy/page.tsx @@ -8,12 +8,12 @@ import { Metadata } from "next"; 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.", + "Discover how we collect, use, and protect your data. Our Privacy Policy details our commitment to safeguarding your information on our website.", alternates: { canonical: `${process.env.NEXT_PUBLIC_WEBSITE_URL}/privacy` }, openGraph: { 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.", + "Discover how we collect, use, and protect your data. Our Privacy Policy details our commitment to safeguarding your information on our website.", url: `${process.env.NEXT_PUBLIC_WEBSITE_URL}/privacy`, type: "website", images: [ @@ -30,7 +30,7 @@ export const metadata: Metadata = { site: "@SVR_JS", 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.", + "Discover how we collect, use, and protect your data. Our Privacy Policy details our commitment to safeguarding your information on our website.", images: [`${process.env.NEXT_PUBLIC_WEBSITE_URL}/metadata/svrjs-cover.png`], creator: "@SVR_JS" } diff --git a/app/(root)/tos/page.tsx b/app/(root)/tos/page.tsx index aa38825..61cac16 100644 --- a/app/(root)/tos/page.tsx +++ b/app/(root)/tos/page.tsx @@ -6,12 +6,12 @@ import { Metadata } from "next"; 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.", + "Learn your rights and responsibilities with SVR.JS. Our Terms of Service ensure 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: - "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.", + "Learn your rights and responsibilities with SVR.JS. Our Terms of Service ensure a transparent and fair experience for all users.", url: `${process.env.NEXT_PUBLIC_WEBSITE_URL}/tos`, type: "website", images: [ @@ -28,7 +28,7 @@ export const metadata: Metadata = { site: "@SVR_JS", 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.", + "Learn your rights and responsibilities with SVR.JS. Our Terms of Service ensure a transparent and fair experience for all users.", images: [`${process.env.NEXT_PUBLIC_WEBSITE_URL}/metadata/svrjs-cover.png`], creator: "@SVR_JS" } diff --git a/app/(root)/vulnerabilities/layout.tsx b/app/(root)/vulnerabilities/layout.tsx index 9bf0945..f72e634 100644 --- a/app/(root)/vulnerabilities/layout.tsx +++ b/app/(root)/vulnerabilities/layout.tsx @@ -4,14 +4,14 @@ import { Metadata } from "next"; 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.", + "Discover security risks of outdated SVR.JS versions. Stay informed and protect your web applications with timely updates against potential threats.", alternates: { canonical: `${process.env.NEXT_PUBLIC_WEBSITE_URL}/vulnerabilities` }, openGraph: { 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.", + "Discover security risks of outdated SVR.JS versions. Stay informed and protect your web applications with timely updates against potential threats.", url: `${process.env.NEXT_PUBLIC_WEBSITE_URL}/vulnerabilities`, type: "website", images: [ @@ -28,7 +28,7 @@ export const metadata: Metadata = { site: "@SVR_JS", 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.", + "Discover security risks of outdated SVR.JS versions. Stay informed and protect your web applications with timely updates against potential threats.", images: [`${process.env.NEXT_PUBLIC_WEBSITE_URL}/metadata/svrjs-cover.png`], creator: "@SVR_JS" } diff --git a/app/layout.tsx b/app/layout.tsx index 95d28f9..c4c6bd1 100644 --- a/app/layout.tsx +++ b/app/layout.tsx @@ -11,34 +11,7 @@ const poppins = Poppins({ }); 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: - "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).", - url: `${process.env.NEXT_PUBLIC_WEBSITE_URL}`, - type: "website", - images: [ - { - url: `${process.env.NEXT_PUBLIC_WEBSITE_URL}/metadata/svrjs-cover.png`, - width: 800, - height: 600, - alt: "SVR.JS - a web server running on Node.JS" - } - ] - }, - twitter: { - card: "summary_large_image", - site: "@SVR_JS", - 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).", - images: [`${process.env.NEXT_PUBLIC_WEBSITE_URL}/metadata/svrjs-cover.png`], - creator: "@SVR_JS" - } + title: "SVR.JS - a web server running on Node.JS" }; export default function RootLayout({