feat: initialize landing page with dynamic competitor comparison routes and structured SEO metadata

This commit is contained in:
Timo Knuth
2026-04-10 16:18:01 +02:00
parent 8a9533c520
commit e8d013d99a
14 changed files with 1277 additions and 58 deletions

View File

@@ -9,6 +9,38 @@ import FAQ from '@/components/FAQ'
import CTA from '@/components/CTA'
import Footer from '@/components/Footer'
const howToSchema = {
'@context': 'https://schema.org',
'@type': 'HowTo',
name: 'How to identify a plant with GreenLens',
step: [
{
'@type': 'HowToStep',
position: 1,
name: 'Photograph your plant',
text: 'Open the app, point the camera at your plant and tap Scan.',
},
{
'@type': 'HowToStep',
position: 2,
name: 'AI identifies instantly',
text: 'In under a second you get the exact name, species and all key details.',
},
{
'@type': 'HowToStep',
position: 3,
name: 'Receive care plan',
text: 'GreenLens automatically creates a personalized care plan for your plant and location.',
},
{
'@type': 'HowToStep',
position: 4,
name: 'Track growth',
text: 'Document photos, track watering and get reminded of important care dates.',
},
],
}
const faqSchema = {
'@context': 'https://schema.org',
'@type': 'FAQPage',
@@ -34,7 +66,7 @@ const faqSchema = {
name: 'Can I use GreenLens offline?',
acceptedAnswer: {
'@type': 'Answer',
text: 'Some experiences may require a connection, especially for scan-related features. Saved information inside the app can remain available afterward.',
text: 'Plant identification and health checks require an internet connection. Your saved collection, care notes, and watering reminders are available offline.',
},
},
{
@@ -42,7 +74,7 @@ const faqSchema = {
name: 'What kind of plants can I use GreenLens for?',
acceptedAnswer: {
'@type': 'Answer',
text: 'GreenLens is built for everyday plant owners who want help with houseplants, garden plants, and general care questions.',
text: 'GreenLens covers 450+ plant species including houseplants, garden plants, and succulents. It is built for everyday plant owners who want identification and care guidance in one place.',
},
},
{
@@ -59,6 +91,10 @@ const faqSchema = {
export default function Home() {
return (
<>
<script
type="application/ld+json"
dangerouslySetInnerHTML={{ __html: JSON.stringify(howToSchema) }}
/>
<script
type="application/ld+json"
dangerouslySetInnerHTML={{ __html: JSON.stringify(faqSchema) }}