fix branding, copy, SEO, and broken links across site

- update site title and meta to Precision Engineering for Everyone
- footer and about: full-service software provider → software studio
- schema.org structured data aligned with new meta description
- clarify revenue-share model in services preview
- remove placeholder App Store links for Wownero Moon Launch
- add OpenGraph tags to all product, blog, and support pages
- fix About page OG description to match meta description
This commit is contained in:
jwinterm
2026-03-26 12:36:39 -04:00
parent 725723ed8b
commit 6e89c956ee
13 changed files with 54 additions and 16 deletions
+1 -1
View File
@@ -14,7 +14,7 @@ export const metadata: Metadata = {
},
openGraph: {
title: "About | Such Software",
description: "Software studio in Kennett Square, PA. Founded by John Winter Murphy.",
description: "Software studio in Kennett Square, PA. Founded by John Winter Murphy, specializing in accessible web engineering and WCAG 2.2 compliance.",
type: "website",
},
};
+5
View File
@@ -9,6 +9,11 @@ export const metadata: Metadata = {
title: "Blog | Such Software",
description: "News, updates, and technical articles from Such Software.",
alternates: { canonical: "/blog" },
openGraph: {
title: "Blog | Such Software",
description: "News, updates, and technical articles from Such Software.",
type: "website",
},
};
export default function BlogPage() {
+3 -3
View File
@@ -9,8 +9,8 @@ const inter = Inter({ subsets: ["latin"] });
export const metadata: Metadata = {
metadataBase: new URL("https://such.software"),
title: "Such Software | Digital Craftsmanship",
description: "Next-generation web applications engineered for scale, compliance, and performance.",
title: "Such Software | Precision Engineering for Everyone",
description: "E-commerce infrastructure, custom app development, and accessible web applications. Engineered for scale, compliance, and performance.",
alternates: {
canonical: "/",
},
@@ -36,7 +36,7 @@ const structuredData = {
name: "Such Software LLC",
url: "https://such.software",
logo: "https://such.software/images/branding/clean_dark_w_text.svg",
description: "Next-generation web applications engineered for scale, compliance, and performance.",
description: "E-commerce infrastructure, custom app development, and accessible web applications. Engineered for scale, compliance, and performance.",
address: {
"@type": "PostalAddress",
streetAddress: "110 E State St, Suite 300",
@@ -9,6 +9,11 @@ export const metadata: Metadata = {
title: "Bauhaus Echo | Such Software",
description: "Visual memory puzzle game inspired by Bauhaus design. Memorize, shuffle, reconstruct. Android, iOS, Web, Desktop.",
alternates: { canonical: "/products/bauhaus-echo" },
openGraph: {
title: "Bauhaus Echo | Such Software",
description: "Visual memory puzzle game inspired by Bauhaus design. Memorize, shuffle, reconstruct. Android, iOS, Web, Desktop.",
type: "website",
},
};
const gameModes = [
@@ -9,6 +9,11 @@ export const metadata: Metadata = {
title: "Custom Websites | Such Software",
description: "Real-time platforms and interactive web experiences. See our work on rcryptocurrency.com and moonplace.io.",
alternates: { canonical: "/products/custom-websites" },
openGraph: {
title: "Custom Websites | Such Software",
description: "Real-time platforms and interactive web experiences. See our work on rcryptocurrency.com and moonplace.io.",
type: "website",
},
};
export default function CustomWebsitesPage() {
@@ -9,6 +9,11 @@ export const metadata: Metadata = {
title: "Smirk Wallet | Such Software",
description: "Non-custodial browser wallet for social tipping. Send BTC, LTC, XMR, WOW, and GRIN by Telegram or Discord username.",
alternates: { canonical: "/products/smirk-wallet" },
openGraph: {
title: "Smirk Wallet | Such Software",
description: "Non-custodial browser wallet for social tipping. Send BTC, LTC, XMR, WOW, and GRIN by Telegram or Discord username.",
type: "website",
},
};
const currencies = [
@@ -9,6 +9,11 @@ export const metadata: Metadata = {
title: "Suchoice | Such Software",
description: "Can't decide? Snap a photo, let AI read your options, and pick for you. Decision tools for when you're stuck. Android and iOS.",
alternates: { canonical: "/products/suchoice" },
openGraph: {
title: "Suchoice | Such Software",
description: "Can't decide? Snap a photo, let AI read your options, and pick for you. Decision tools for when you're stuck. Android and iOS.",
type: "website",
},
};
const features = [
@@ -9,6 +9,11 @@ export const metadata: Metadata = {
title: "Webshops | Such Software",
description: "Headless Medusa commerce engines with revenue-share pricing. No upfront costs, aligned incentives.",
alternates: { canonical: "/products/webshops" },
openGraph: {
title: "Webshops | Such Software",
description: "Headless Medusa commerce engines with revenue-share pricing. No upfront costs, aligned incentives.",
type: "website",
},
};
export default function WebshopsPage() {
@@ -9,6 +9,11 @@ export const metadata: Metadata = {
title: "Wownero Moon Launch | Such Software",
description: "Crypto-themed space landing game. Fly your rocket across the solar system, dodge hazards, collect crypto, upgrade your ship. Android, iOS, Web, Desktop.",
alternates: { canonical: "/products/wownero-moon-launch" },
openGraph: {
title: "Wownero Moon Launch | Such Software",
description: "Crypto-themed space landing game. Fly your rocket across the solar system, dodge hazards, collect crypto, upgrade your ship. Android, iOS, Web, Desktop.",
type: "website",
},
};
const levels = [
@@ -55,19 +60,17 @@ export default function WowneroMoonLaunchPage() {
</div>
<div className="flex flex-wrap gap-4 mb-12">
<a href="https://play.google.com/store/apps/details?id=com.suchsoftware.wowneromoonlaunch" target="_blank" rel="noopener noreferrer">
<Button size="lg">Get it on Google Play</Button>
</a>
<a href="https://apps.apple.com/app/wownero-moon-launch/id_PLACEHOLDER" target="_blank" rel="noopener noreferrer">
<Button variant="outline" size="lg">
Download on App Store
</Button>
<a href="https://moonlaunch.such.software" target="_blank" rel="noopener noreferrer">
<Button size="lg">Play on Web</Button>
</a>
<a href="https://suchsoftware.itch.io/wownero-moon-launch" target="_blank" rel="noopener noreferrer">
<Button variant="outline" size="lg">
Play on itch.io
</Button>
</a>
<p className="flex items-center text-sm text-muted-foreground">
Google Play &amp; App Store — Coming Soon
</p>
</div>
<h2 className="text-2xl font-bold mb-6">How It Works</h2>
+5
View File
@@ -8,6 +8,11 @@ export const metadata: Metadata = {
title: "Support | Such Software",
description: "Get help with Bauhaus Echo or any Such Software product. Report bugs, request features, or send feedback.",
alternates: { canonical: "/support" },
openGraph: {
title: "Support | Such Software",
description: "Get help with Bauhaus Echo or any Such Software product. Report bugs, request features, or send feedback.",
type: "website",
},
};
export default function SupportPage() {
@@ -22,8 +22,8 @@ export function ServicesPreview() {
<Card className="glass-card hover:border-indigo-500/40 text-left">
<h3 className="text-xl font-bold mb-3">Zero Capital Upfront</h3>
<p className="text-base text-muted-foreground leading-relaxed">
We operate on a "Toast" style partnership model. No massive setup fees or
stiff monthly subscriptions—we only win when you're making sales.
We operate on a revenue-share model, similar to Toast. No upfront costs
and no fixed monthly fees. We only earn when you're making sales.
</p>
</Card>
<Card className="glass-card hover:border-indigo-500/40 text-left">
+1 -1
View File
@@ -12,7 +12,7 @@ export function Footer() {
<div className="space-y-4">
<SiteLogo />
<p className="text-sm text-muted-foreground">
Full-service software provider in the heart of Mushroom Country.
Software studio in the heart of Mushroom Country.
</p>
</div>