From 8bbc49ff228191276d72b35b137a96e8938b1e1a Mon Sep 17 00:00:00 2001 From: Nathan Cummins Date: Mon, 11 Aug 2025 13:51:33 +0930 Subject: [PATCH] Some better SEO --- package-lock.json | 18 +++++++++++++++ package.json | 2 ++ src/components/SEO.astro | 50 ++++++++++++++++++++++++++++++++++++++++ src/data/person.ts | 4 +++- src/data/site.ts | 2 +- 5 files changed, 74 insertions(+), 2 deletions(-) diff --git a/package-lock.json b/package-lock.json index 71f5415..106d98d 100644 --- a/package-lock.json +++ b/package-lock.json @@ -18,7 +18,9 @@ "@tailwindcss/vite": "^4.1.11", "astro": "^5.12.8", "astro-icon": "^1.1.5", + "astro-seo-schema": "^5.1.0", "get-audio-duration": "^4.0.1", + "schema-dts": "^1.1.5", "tailwindcss": "^4.1.11" }, "devDependencies": { @@ -3113,6 +3115,16 @@ "@iconify/utils": "^2.1.30" } }, + "node_modules/astro-seo-schema": { + "version": "5.1.0", + "resolved": "https://registry.npmjs.org/astro-seo-schema/-/astro-seo-schema-5.1.0.tgz", + "integrity": "sha512-6qN6H7KlzSXNQ9Q+5eUMCYsHuzz+SRDEqQLjRlNaFG+0XE4UdOBSTVorRWHjd5I1LaTc5Btgz26V6RmWEXFfrA==", + "license": "MIT", + "peerDependencies": { + "astro": "^5.0.0", + "schema-dts": "^1.1.0" + } + }, "node_modules/astro/node_modules/vite": { "version": "6.3.5", "resolved": "https://registry.npmjs.org/vite/-/vite-6.3.5.tgz", @@ -8478,6 +8490,12 @@ "integrity": "sha512-+aWOz7yVScEGoKNd4PA10LZ8sk0A/z5+nXQG5giUO5rprX9jgYsTdov9qCchZiPIZezbZH+jRut8nPodFAX4Jg==", "license": "ISC" }, + "node_modules/schema-dts": { + "version": "1.1.5", + "resolved": "https://registry.npmjs.org/schema-dts/-/schema-dts-1.1.5.tgz", + "integrity": "sha512-RJr9EaCmsLzBX2NDiO5Z3ux2BVosNZN5jo0gWgsyKvxKIUL5R3swNvoorulAeL9kLB0iTSX7V6aokhla2m7xbg==", + "license": "Apache-2.0" + }, "node_modules/semver": { "version": "7.7.2", "resolved": "https://registry.npmjs.org/semver/-/semver-7.7.2.tgz", diff --git a/package.json b/package.json index da50427..4f945fd 100644 --- a/package.json +++ b/package.json @@ -19,7 +19,9 @@ "@tailwindcss/vite": "^4.1.11", "astro": "^5.12.8", "astro-icon": "^1.1.5", + "astro-seo-schema": "^5.1.0", "get-audio-duration": "^4.0.1", + "schema-dts": "^1.1.5", "tailwindcss": "^4.1.11" }, "devDependencies": { diff --git a/src/components/SEO.astro b/src/components/SEO.astro index 8d3d2cf..5ee7b33 100644 --- a/src/components/SEO.astro +++ b/src/components/SEO.astro @@ -8,11 +8,58 @@ interface Props { const { title, description, url = Astro.url, image } = Astro.props; +import person from "@/data/person"; import site from "@data/site"; + +import { Schema } from "astro-seo-schema"; --- + + @@ -55,3 +102,6 @@ import site from "@data/site"; /> + + + diff --git a/src/data/person.ts b/src/data/person.ts index 514ac58..327a71e 100644 --- a/src/data/person.ts +++ b/src/data/person.ts @@ -3,5 +3,7 @@ export default { first: "Nathan", last: "Cummins" }, - title: "Dr" + title: "Dr", + jobTitle: "Composer, Orchestrator, Conductor, Sound Designer, Performer", + email: "nathan@nathancummins.com.au" }; diff --git a/src/data/site.ts b/src/data/site.ts index dd888b2..f7b8ad6 100644 --- a/src/data/site.ts +++ b/src/data/site.ts @@ -3,7 +3,7 @@ import person from "@data/person"; export default { title: `${person.names.first} ${person.names.last} - Adelaide Composer, Orchestrator, Conductor, and Performer`, description: - "Nathan Cummins is an award-winning composer, orchestrator, sound designer, and conductor known for his vibrant music across video games, film, and live performance. Based in Adelaide, he brings classical craft, bold creativity, and technical innovation to every project", + "Nathan Cummins is an award-winning composer, orchestrator, sound designer, and conductor known for his vibrant music across video games, film, and live performance. Based in Adelaide, he brings classical craft, bold creativity, and technical innovation to every project.", tagline: "Composer, Orchestrator, Conductor, Performer", image: { externalURL: `${import.meta.env.SITE}/nathan-cummins-composer-orchestrator-conductor.png`,