feat: implement dynamic SEO metadata for static pages

This commit is contained in:
Shekhar 2026-04-10 22:58:27 +05:30
parent 089662d1f3
commit 1e63d3e5ff
3 changed files with 21 additions and 0 deletions

View file

@ -1,3 +1,4 @@
import { useEffect } from 'react'
import { motion } from 'motion/react'
function Section({ title, children }: { title: string; children: React.ReactNode }) {
@ -10,6 +11,12 @@ function Section({ title, children }: { title: string; children: React.ReactNode
}
export default function AboutPage() {
useEffect(() => {
document.title = "About MSDL | Windows ISO Downloader"
const metaDesc = document.querySelector('meta[name="description"]')
if (metaDesc) metaDesc.setAttribute('content', "Learn about MSDL, an open-source tool for fetching official Windows ISOs directly from Microsoft.")
}, [])
return (
<div className="max-w-2xl mx-auto px-4 pt-12 pb-10">
<motion.div

View file

@ -1,3 +1,4 @@
import { useEffect } from 'react'
import { motion } from 'motion/react'
function Section({ title, children }: { title: string; children: React.ReactNode }) {
@ -10,6 +11,12 @@ function Section({ title, children }: { title: string; children: React.ReactNode
}
export default function DisclaimerPage() {
useEffect(() => {
document.title = "Disclaimer | Windows ISO Downloader"
const metaDesc = document.querySelector('meta[name="description"]')
if (metaDesc) metaDesc.setAttribute('content', "Legal disclaimer for MSDL. Not affiliated with Microsoft Corporation.")
}, [])
return (
<div className="max-w-2xl mx-auto px-4 pt-12 pb-10">
<motion.div

View file

@ -1,3 +1,4 @@
import { useEffect } from 'react'
import { motion } from 'motion/react'
function Section({ title, children }: { title: string; children: React.ReactNode }) {
@ -10,6 +11,12 @@ function Section({ title, children }: { title: string; children: React.ReactNode
}
export default function PrivacyPolicyPage() {
useEffect(() => {
document.title = "Privacy Policy | Windows ISO Downloader"
const metaDesc = document.querySelector('meta[name="description"]')
if (metaDesc) metaDesc.setAttribute('content', "Privacy policy for MSDL. We log no data, use no trackers, and proxy no files.")
}, [])
return (
<div className="max-w-2xl mx-auto px-4 pt-12 pb-10">
<motion.div