Update SEO and meta tags in index.html, enhance robots.txt for better crawling control, and improve sitemap.xml priorities. Refactor blog routes to include SEO metadata and adjust blog view for canonical URLs. Implement blog URL generation in BlogListView and apply SEO dynamically in BlogView.

This commit is contained in:
Torsten Schulz (local)
2026-03-18 22:02:44 +01:00
parent 971e09a72a
commit 59869e077e
14 changed files with 759 additions and 81 deletions

View File

@@ -0,0 +1,100 @@
<template>
<section class="marketing-page">
<div class="hero">
<p class="eyebrow">Browser-Aufbauspiel</p>
<h1>Falukant verbindet Wirtschaft, Politik und Charakterentwicklung in einer mittelalterlichen Spielwelt.</h1>
<p class="lead">
Baue Besitz auf, verwalte Zweigstellen, pflege Beziehungen und triff politische Entscheidungen in einem
persistenten Browsergame innerhalb von YourPart.
</p>
<router-link class="cta" to="/">Jetzt entdecken</router-link>
</div>
<div class="grid">
<article>
<h2>Wirtschaft mit Tiefe</h2>
<p>Produktion, Lager, Handel und Finanzen greifen ineinander und erzeugen eine langfristige Aufbauspiel-Dynamik.</p>
</article>
<article>
<h2>Persoenliche Entwicklung</h2>
<p>Familie, Bildung, Gesundheit und gesellschaftlicher Status beeinflussen deinen Weg in Falukant.</p>
</article>
<article>
<h2>Politik und Unterwelt</h2>
<p>Zwischen Kirche, Reputation, Adel und dunklen Netzwerken entstehen Entscheidungen mit spuerbaren Folgen.</p>
</article>
</div>
</section>
</template>
<style scoped>
.marketing-page {
max-width: 1100px;
margin: 0 auto;
padding: 48px 20px 72px;
color: #40261a;
}
.hero {
padding: 32px;
border-radius: 20px;
background: linear-gradient(135deg, #f7e0bb 0%, #f6c27d 45%, #e8924d 100%);
box-shadow: 0 20px 60px rgba(106, 56, 20, 0.18);
}
.eyebrow {
margin: 0 0 12px;
font-size: 0.82rem;
font-weight: 700;
letter-spacing: 0.12em;
text-transform: uppercase;
}
.hero h1 {
margin: 0;
font-size: clamp(2rem, 4vw, 3.6rem);
line-height: 1.08;
}
.lead {
max-width: 760px;
margin: 20px 0 0;
font-size: 1.1rem;
line-height: 1.65;
}
.cta {
display: inline-block;
margin-top: 24px;
padding: 12px 20px;
border-radius: 999px;
background: #40261a;
color: #fff;
text-decoration: none;
font-weight: 700;
}
.grid {
display: grid;
grid-template-columns: repeat(auto-fit, minmax(240px, 1fr));
gap: 18px;
margin-top: 28px;
}
.grid article {
padding: 24px;
border-radius: 18px;
background: #fff7ef;
border: 1px solid rgba(64, 38, 26, 0.08);
}
.grid h2 {
margin-top: 0;
margin-bottom: 10px;
}
.grid p {
margin: 0;
line-height: 1.65;
}
</style>

View File

@@ -0,0 +1,98 @@
<template>
<section class="marketing-page">
<div class="hero">
<p class="eyebrow">Browser-Minispiele</p>
<h1>Kurze Spielrunden, klare Ziele und direkte Action mit Match 3 und Taxi.</h1>
<p class="lead">
Die Minispiele auf YourPart liefern schnelle Abwechslung direkt im Browser und erweitern die Plattform um
spielbare Casual-Formate.
</p>
<router-link class="cta" to="/">Zur Startseite</router-link>
</div>
<div class="cards">
<article>
<h2>Match 3</h2>
<p>Das klassische Puzzle-Prinzip mit Kampagnenstruktur fuer Spielerinnen und Spieler, die kurze Sessions lieben.</p>
</article>
<article>
<h2>Taxi</h2>
<p>Fahre Passagiere effizient ans Ziel und verbessere deine Kontrolle, Streckenwahl und Reaktionsfaehigkeit.</p>
</article>
</div>
</section>
</template>
<style scoped>
.marketing-page {
max-width: 1100px;
margin: 0 auto;
padding: 48px 20px 72px;
color: #17323a;
}
.hero {
padding: 32px;
border-radius: 20px;
background:
radial-gradient(circle at top left, rgba(255, 255, 255, 0.7), transparent 35%),
linear-gradient(135deg, #d4f0e6 0%, #7dd0be 40%, #2e8b83 100%);
box-shadow: 0 20px 60px rgba(13, 84, 93, 0.18);
}
.eyebrow {
margin: 0 0 12px;
font-size: 0.82rem;
font-weight: 700;
letter-spacing: 0.12em;
text-transform: uppercase;
}
.hero h1 {
margin: 0;
font-size: clamp(2rem, 4vw, 3.5rem);
line-height: 1.08;
}
.lead {
max-width: 760px;
margin: 20px 0 0;
font-size: 1.1rem;
line-height: 1.65;
}
.cta {
display: inline-block;
margin-top: 24px;
padding: 12px 20px;
border-radius: 999px;
background: #17323a;
color: #fff;
text-decoration: none;
font-weight: 700;
}
.cards {
display: grid;
grid-template-columns: repeat(auto-fit, minmax(260px, 1fr));
gap: 18px;
margin-top: 28px;
}
.cards article {
padding: 24px;
border-radius: 18px;
background: #effaf6;
border: 1px solid rgba(23, 50, 58, 0.08);
}
.cards h2 {
margin-top: 0;
margin-bottom: 10px;
}
.cards p {
margin: 0;
line-height: 1.65;
}
</style>

View File

@@ -0,0 +1,102 @@
<template>
<section class="marketing-page">
<div class="hero">
<p class="eyebrow">Sprachen online lernen</p>
<h1>Der Vokabeltrainer auf YourPart kombiniert Lernen, Kurse und Uebungen in einer Plattform.</h1>
<p class="lead">
Arbeite mit interaktiven Lektionen, erweitere deinen Wortschatz und nutze strukturierte Inhalte fuer einen
motivierenden Lernfluss direkt im Browser.
</p>
<router-link class="cta" to="/">Kostenlos starten</router-link>
</div>
<div class="features">
<article>
<h2>Interaktive Kurse</h2>
<p>Kurse, Lektionen und Uebungen helfen beim systematischen Aufbau neuer Sprachkenntnisse.</p>
</article>
<article>
<h2>Praxisorientiert</h2>
<p>Wortschatz, Grammatik und Wiederholung werden auf eine alltagstaugliche Lernroutine ausgerichtet.</p>
</article>
<article>
<h2>Teil einer Community</h2>
<p>Der Sprachbereich ist in eine groessere Community-Plattform mit Blogs, Forum und Chat eingebettet.</p>
</article>
</div>
</section>
</template>
<style scoped>
.marketing-page {
max-width: 1100px;
margin: 0 auto;
padding: 48px 20px 72px;
color: #1f2f1d;
}
.hero {
padding: 32px;
border-radius: 20px;
background:
radial-gradient(circle at right top, rgba(255, 255, 255, 0.78), transparent 30%),
linear-gradient(135deg, #eef6c8 0%, #bddd74 45%, #6b9d34 100%);
box-shadow: 0 20px 60px rgba(60, 87, 28, 0.18);
}
.eyebrow {
margin: 0 0 12px;
font-size: 0.82rem;
font-weight: 700;
letter-spacing: 0.12em;
text-transform: uppercase;
}
.hero h1 {
margin: 0;
font-size: clamp(2rem, 4vw, 3.5rem);
line-height: 1.08;
}
.lead {
max-width: 760px;
margin: 20px 0 0;
font-size: 1.1rem;
line-height: 1.65;
}
.cta {
display: inline-block;
margin-top: 24px;
padding: 12px 20px;
border-radius: 999px;
background: #1f2f1d;
color: #fff;
text-decoration: none;
font-weight: 700;
}
.features {
display: grid;
grid-template-columns: repeat(auto-fit, minmax(240px, 1fr));
gap: 18px;
margin-top: 28px;
}
.features article {
padding: 24px;
border-radius: 18px;
background: #f7fbe9;
border: 1px solid rgba(31, 47, 29, 0.08);
}
.features h2 {
margin-top: 0;
margin-bottom: 10px;
}
.features p {
margin: 0;
line-height: 1.65;
}
</style>