mirror of
https://github.com/snapotter-hq/SnapOtter.git
synced 2026-08-03 07:46:42 +02:00
feat(landing): refocus hero on privacy-sensitive teams (#431)
Retitle the homepage hero to "File processing for privacy-sensitive teams", drop the redundant infrastructure subline, and trim the trust badges to the four foundational signals (self-hosted, open source, air-gap capable, compliance-friendly). Align the homepage title and meta description to the new positioning, overriding the site-wide defaults for the homepage only. Claude-Session: https://claude.ai/code/session_01EhgRGhvhNGJVQHcdFdcNMa
This commit is contained in:
@@ -7,12 +7,9 @@ import TrustSignals from "./TrustSignals.astro";
|
|||||||
|
|
||||||
const trustBadges = [
|
const trustBadges = [
|
||||||
"Self-hosted",
|
"Self-hosted",
|
||||||
"Privacy-sensitive",
|
|
||||||
"Compliance-friendly",
|
|
||||||
"Air-gap capable",
|
|
||||||
"SAML SSO",
|
|
||||||
"Audit logging",
|
|
||||||
"Open source",
|
"Open source",
|
||||||
|
"Air-gap capable",
|
||||||
|
"Compliance-friendly",
|
||||||
];
|
];
|
||||||
---
|
---
|
||||||
|
|
||||||
@@ -44,8 +41,7 @@ const trustBadges = [
|
|||||||
|
|
||||||
<!-- Headline: one precise promise for privacy-sensitive buyers -->
|
<!-- Headline: one precise promise for privacy-sensitive buyers -->
|
||||||
<h1 class="animate-fade-up mt-8 font-display text-4xl font-extrabold tracking-tight text-white sm:text-5xl md:text-6xl lg:text-7xl" style="animation-delay: 0.1s; text-shadow: 0 2px 30px rgba(90, 20, 0, 0.28);">
|
<h1 class="animate-fade-up mt-8 font-display text-4xl font-extrabold tracking-tight text-white sm:text-5xl md:text-6xl lg:text-7xl" style="animation-delay: 0.1s; text-shadow: 0 2px 30px rgba(90, 20, 0, 0.28);">
|
||||||
Private file processing, self-hosted.
|
File processing for privacy-sensitive teams.
|
||||||
<span class="mt-3 block text-2xl font-bold text-white/90 sm:text-3xl md:text-4xl">Inside your infrastructure.</span>
|
|
||||||
</h1>
|
</h1>
|
||||||
|
|
||||||
<!-- Subtitle: one calm supporting line -->
|
<!-- Subtitle: one calm supporting line -->
|
||||||
|
|||||||
@@ -15,6 +15,10 @@ import Base from "@/layouts/Base.astro";
|
|||||||
|
|
||||||
const toolCount = TOOLS.length;
|
const toolCount = TOOLS.length;
|
||||||
|
|
||||||
|
const pageTitle = "SnapOtter | Self-Hosted File Processing for Privacy-Sensitive Teams";
|
||||||
|
const pageDescription =
|
||||||
|
"Self-hosted file processing for privacy-sensitive teams. Image, video, audio, PDF, and file tools with local AI and enterprise controls, on infrastructure you own. The open-source alternative to Smallpdf, iLovePDF, and CloudConvert.";
|
||||||
|
|
||||||
const websiteSchema = {
|
const websiteSchema = {
|
||||||
"@context": "https://schema.org",
|
"@context": "https://schema.org",
|
||||||
"@type": "WebSite",
|
"@type": "WebSite",
|
||||||
@@ -100,7 +104,7 @@ const navSchema = {
|
|||||||
};
|
};
|
||||||
---
|
---
|
||||||
|
|
||||||
<Base canonical="https://snapotter.com">
|
<Base title={pageTitle} description={pageDescription} canonical="https://snapotter.com">
|
||||||
<Fragment slot="head">
|
<Fragment slot="head">
|
||||||
<JsonLd data={[websiteSchema, softwareSchema, navSchema]} />
|
<JsonLd data={[websiteSchema, softwareSchema, navSchema]} />
|
||||||
</Fragment>
|
</Fragment>
|
||||||
|
|||||||
Reference in New Issue
Block a user