Add multilingual SEO metadata and enhance content descriptions

- Introduced localized SEO metadata for multiple languages in routes-seo.js, improving search engine visibility.
- Updated descriptions and keywords across various views (Home, Partners, Feedback, FAQ, Rules, Safety) to better reflect the platform's focus on private and anonymous chatting.
- Enhanced user guidance in FAQ, Partners, Rules, and Safety views with additional context on privacy and chat functionality.

These changes collectively improve the site's SEO performance and user experience by providing clearer, localized content.
This commit is contained in:
Torsten Schulz (local)
2026-04-09 09:49:30 +02:00
parent 43a5e595d7
commit 0fcc6878bd
6 changed files with 283 additions and 107 deletions

View File

@@ -9,13 +9,61 @@ import SafetyView from '../views/SafetyView.vue';
const SITE_URL = 'https://www.ypchat.net';
const DEFAULT_IMAGE = `${SITE_URL}/static/favicon.png`;
const SUPPORTED_LOCALES = ['de', 'en', 'fr', 'es', 'it', 'ja', 'zh', 'th', 'tl'];
const LOCALIZED_HOME_META = {
de: {
title: 'SingleChat: Kostenloser Single Chat, privat & anonym',
description: 'Kostenloser Single Chat für private und anonyme Gespräche. Lerne neue Kontakte kennen und teile Bilder sicher online.',
keywords: 'single chat, kostenloser chat, privat chatten, anonym chat, free chat, private chat, anonymous chat, online chat'
},
en: {
title: 'SingleChat: Free Private & Anonymous Single Chat',
description: 'Free single chat for private and anonymous conversations. Meet new people and share images safely online.',
keywords: 'single chat, free chat, private chat, anonymous chat, online chat, meet singles'
},
fr: {
title: 'SingleChat: Chat célibataire gratuit, privé et anonyme',
description: 'Chat célibataire gratuit pour des conversations privées et anonymes. Rencontrez de nouvelles personnes en toute sécurité.',
keywords: 'chat célibataire, chat gratuit, chat privé, chat anonyme, rencontre en ligne'
},
es: {
title: 'SingleChat: Chat gratis, privado y anónimo',
description: 'Chat gratis para solteros con conversaciones privadas y anónimas. Conoce gente nueva y comparte imágenes de forma segura.',
keywords: 'chat gratis, chat privado, chat anónimo, chat para solteros, conocer gente'
},
it: {
title: 'SingleChat: Chat single gratis, privata e anonima',
description: 'Chat single gratis per conversazioni private e anonime. Conosci nuove persone e condividi immagini in sicurezza.',
keywords: 'chat single, chat gratis, chat privata, chat anonima, incontri online'
},
ja: {
title: 'SingleChat: 無料・匿名・プライベートのシングルチャット',
description: '無料で使えるシングルチャット。匿名かつプライベートに会話でき、画像共有も安全です。',
keywords: 'シングルチャット, 無料チャット, 匿名チャット, プライベートチャット, オンラインチャット'
},
zh: {
title: 'SingleChat免费、私密、匿名的单身聊天',
description: '免费单身聊天,支持私密和匿名交流,安全分享图片并结识新朋友。',
keywords: '单身聊天, 免费聊天, 私密聊天, 匿名聊天, 在线聊天'
},
th: {
title: 'SingleChat: แชตคนโสดฟรี แบบส่วนตัวและไม่ระบุตัวตน',
description: 'แชตคนโสดฟรี สำหรับการสนทนาแบบส่วนตัวและไม่ระบุตัวตน พบผู้คนใหม่ ๆ และแชร์รูปได้อย่างปลอดภัย',
keywords: 'แชตคนโสด, แชตฟรี, แชตส่วนตัว, แชตไม่ระบุตัวตน, แชตออนไลน์'
},
tl: {
title: 'SingleChat: Libreng private at anonymous na single chat',
description: 'Libreng single chat para sa private at anonymous na usapan. Kumilala ng bagong tao at magbahagi ng larawan nang ligtas.',
keywords: 'single chat, libreng chat, private chat, anonymous chat, online chat'
}
};
const homeSchema = {
'@context': 'https://schema.org',
'@type': 'WebSite',
name: 'SingleChat',
url: `${SITE_URL}/`,
description: 'Willkommen auf SingleChat - deine erste Adresse für Chat, Single-Chat und Bildaustausch.',
description: 'Kostenloser Single Chat für private und anonyme Gespräche. Lerne neue Kontakte kennen und tausche Bilder sicher aus.',
inLanguage: 'de-DE'
};
@@ -24,7 +72,7 @@ const partnersSchema = {
'@type': 'CollectionPage',
name: 'Partner - SingleChat',
url: `${SITE_URL}/partners`,
description: 'Unsere Partner und befreundete Seiten. Entdecke weitere interessante Angebote und Communities.',
description: 'Partnerseiten rund um Single Chat, Community und Online-Kontakte. Entdecke weitere Angebote und hilfreiche Ressourcen.',
isPartOf: {
'@type': 'WebSite',
name: 'SingleChat',
@@ -38,7 +86,7 @@ const feedbackSchema = {
'@type': 'CollectionPage',
name: 'Feedback - SingleChat',
url: `${SITE_URL}/feedback`,
description: 'Oeffentliche Rueckmeldungen, Meinungen und Verbesserungsvorschlaege zu SingleChat.',
description: 'Öffentliches Feedback zu SingleChat: Meinungen, Vorschläge und Erfahrungsberichte für einen besseren privaten Chat.',
isPartOf: {
'@type': 'WebSite',
name: 'SingleChat',
@@ -52,7 +100,7 @@ const faqSchema = {
'@type': 'FAQPage',
name: 'FAQ - SingleChat',
url: `${SITE_URL}/faq`,
description: 'Häufige Fragen zu SingleChat: Einstieg, Privatsphäre, Bildaustausch, Blockieren und mehr.',
description: 'FAQ zum kostenlosen Single Chat: anonym chatten, Privatsphäre schützen, Bilder sicher teilen und Nutzer blockieren.',
isPartOf: {
'@type': 'WebSite',
name: 'SingleChat',
@@ -66,7 +114,7 @@ const rulesSchema = {
'@type': 'WebPage',
name: 'Regeln - SingleChat',
url: `${SITE_URL}/regeln`,
description: 'Chat-Regeln für ein respektvolles und sicheres Miteinander auf SingleChat.',
description: 'Regeln für respektvollen, privaten und sicheren Single Chat. Hinweise zu Verhalten, Spam und verbotenen Inhalten.',
isPartOf: {
'@type': 'WebSite',
name: 'SingleChat',
@@ -80,7 +128,7 @@ const safetySchema = {
'@type': 'WebPage',
name: 'Sicherheit - SingleChat',
url: `${SITE_URL}/sicherheit`,
description: 'Hinweise zu Privatsphäre, Blockieren/Melden und sicherer Nutzung von SingleChat.',
description: 'Sicherheitsseite für privaten und anonymen Chat: Privatsphäre, Schutz vor Spam, Blockieren und Melden.',
isPartOf: {
'@type': 'WebSite',
name: 'SingleChat',
@@ -95,11 +143,11 @@ const routes = [
name: 'chat',
component: ChatView,
meta: {
title: 'SingleChat - Chat, Single-Chat und Bildaustausch',
description: 'Willkommen auf SingleChat - deine erste Adresse für Chat, Single-Chat und Bildaustausch. Chatte mit Menschen aus aller Welt, finde neue Kontakte und teile Erinnerungen sicher und komfortabel.',
keywords: 'Chat, Single-Chat, Bildaustausch, Online-Chat, Singles, Kontakte, Community',
ogTitle: 'SingleChat - Chat, Single-Chat und Bildaustausch',
ogDescription: 'Willkommen auf SingleChat - deine erste Adresse für Chat, Single-Chat und Bildaustausch.',
title: 'SingleChat: Kostenloser Single Chat, privat & anonym',
description: 'Kostenloser Single Chat für private und anonyme Gespräche. Lerne neue Kontakte kennen und teile Bilder sicher online.',
keywords: 'single chat, kostenloser chat, privat chatten, anonym chat, free chat, private chat, anonymous chat, online chat',
ogTitle: 'SingleChat: Kostenloser Single Chat, privat & anonym',
ogDescription: 'Kostenlos chatten, privat bleiben und neue Kontakte kennenlernen - mit sicherem Bildaustausch.',
ogType: 'website',
image: DEFAULT_IMAGE,
robots: 'index, follow, max-image-preview:large, max-snippet:-1, max-video-preview:-1',
@@ -111,11 +159,11 @@ const routes = [
name: 'partners',
component: PartnersView,
meta: {
title: 'Partner - SingleChat',
description: 'Unsere Partner und befreundete Seiten. Entdecke weitere interessante Angebote und Communities.',
keywords: 'Partner, Links, befreundete Seiten, Community',
ogTitle: 'Partner - SingleChat',
ogDescription: 'Unsere Partner und befreundete Seiten.',
title: 'Partner für Single Chat & Community - SingleChat',
description: 'Partnerseiten rund um Single Chat, Community und Online-Kontakte. Entdecke weitere Angebote und hilfreiche Ressourcen.',
keywords: 'single chat partner, chat community, kontaktseiten, single-chat links, online dating chat',
ogTitle: 'Partner für Single Chat & Community - SingleChat',
ogDescription: 'Befreundete Seiten und Ressourcen rund um Chat, Kontakte und Community.',
ogType: 'website',
image: DEFAULT_IMAGE,
robots: 'index, follow, max-image-preview:large, max-snippet:-1, max-video-preview:-1',
@@ -127,11 +175,11 @@ const routes = [
name: 'feedback',
component: FeedbackView,
meta: {
title: 'Feedback - SingleChat',
description: 'Oeffentliche Rueckmeldungen, Meinungen und Verbesserungsvorschlaege zu SingleChat.',
keywords: 'SingleChat Feedback, Kommentare, Rueckmeldungen, Verbesserungsvorschlaege',
ogTitle: 'Feedback - SingleChat',
ogDescription: 'Oeffentliche Rueckmeldungen, Meinungen und Verbesserungsvorschlaege zu SingleChat.',
title: 'Feedback zur Chat-Plattform - SingleChat',
description: 'Öffentliches Feedback zu SingleChat: Meinungen, Vorschläge und Erfahrungsberichte für einen besseren privaten Chat.',
keywords: 'chat feedback, single chat erfahrungen, rückmeldung chat, verbesserungsvorschläge',
ogTitle: 'Feedback zur Chat-Plattform - SingleChat',
ogDescription: 'Teile deine Erfahrungen und Verbesserungsvorschläge für SingleChat.',
ogType: 'website',
image: DEFAULT_IMAGE,
robots: 'index, follow, max-image-preview:large, max-snippet:-1, max-video-preview:-1',
@@ -143,11 +191,11 @@ const routes = [
name: 'faq',
component: FaqView,
meta: {
title: 'FAQ - SingleChat',
description: 'Häufige Fragen zu SingleChat: Einstieg, Privatsphäre, Bildaustausch, Blockieren und mehr.',
keywords: 'SingleChat FAQ, Hilfe, Privatsphäre, Blockieren, Bilder, Chat',
ogTitle: 'FAQ - SingleChat',
ogDescription: 'Antworten auf häufige Fragen rund um SingleChat.',
title: 'FAQ: Kostenlos, privat und anonym chatten - SingleChat',
description: 'FAQ zum kostenlosen Single Chat: anonym chatten, Privatsphäre schützen, Bilder sicher teilen und Nutzer blockieren.',
keywords: 'single chat faq, kostenlos chatten, anonym chatten, privater chat, safe chat',
ogTitle: 'FAQ: Kostenlos, privat und anonym chatten - SingleChat',
ogDescription: 'Antworten auf Fragen zu Sicherheit, Privatsphäre und Funktionen im Single Chat.',
ogType: 'website',
image: DEFAULT_IMAGE,
robots: 'index, follow, max-image-preview:large, max-snippet:-1, max-video-preview:-1',
@@ -159,11 +207,11 @@ const routes = [
name: 'regeln',
component: RulesView,
meta: {
title: 'Regeln - SingleChat',
description: 'Chat-Regeln für ein respektvolles und sicheres Miteinander auf SingleChat.',
keywords: 'SingleChat Regeln, Chat Regeln, Community, Sicherheit',
ogTitle: 'Regeln - SingleChat',
ogDescription: 'Chat-Regeln für ein respektvolles und sicheres Miteinander.',
title: 'Chat-Regeln für sicheren Single Chat - SingleChat',
description: 'Regeln für respektvollen, privaten und sicheren Single Chat. Hinweise zu Verhalten, Spam und verbotenen Inhalten.',
keywords: 'chat regeln, single chat regeln, sicher chatten, spam vermeiden, community richtlinien',
ogTitle: 'Chat-Regeln für sicheren Single Chat - SingleChat',
ogDescription: 'Unsere Richtlinien für respektvolle und sichere Gespräche im Chat.',
ogType: 'website',
image: DEFAULT_IMAGE,
robots: 'index, follow, max-image-preview:large, max-snippet:-1, max-video-preview:-1',
@@ -175,11 +223,11 @@ const routes = [
name: 'sicherheit',
component: SafetyView,
meta: {
title: 'Sicherheit & Privatsphäre - SingleChat',
description: 'Hinweise zu Privatsphäre, Blockieren/Melden und sicherer Nutzung von SingleChat.',
keywords: 'SingleChat Sicherheit, Privatsphäre, Blockieren, Melden',
ogTitle: 'Sicherheit & Privatsphäre - SingleChat',
ogDescription: 'Hinweise zu Privatsphäre, Blockieren/Melden und sicherer Nutzung.',
title: 'Sicherheit & Privatsphäre im privaten Chat - SingleChat',
description: 'Sicherheitsseite für privaten und anonymen Chat: Privatsphäre, Schutz vor Spam, Blockieren und Melden.',
keywords: 'privatsphäre chat, anonym chat sicherheit, blockieren melden, private chat safety',
ogTitle: 'Sicherheit & Privatsphäre im privaten Chat - SingleChat',
ogDescription: 'So schützt du deine Daten und chattest sicher und anonym.',
ogType: 'website',
image: DEFAULT_IMAGE,
robots: 'index, follow, max-image-preview:large, max-snippet:-1, max-video-preview:-1',
@@ -204,6 +252,33 @@ const routes = [
}
];
for (const locale of SUPPORTED_LOCALES) {
const localized = LOCALIZED_HOME_META[locale] || LOCALIZED_HOME_META.de;
routes.push({
path: `/${locale}`,
name: `chat-${locale}`,
component: ChatView,
meta: {
title: localized.title,
description: localized.description,
keywords: localized.keywords,
ogTitle: localized.title,
ogDescription: localized.description,
ogType: 'website',
image: DEFAULT_IMAGE,
robots: 'index, follow, max-image-preview:large, max-snippet:-1, max-video-preview:-1',
schema: {
'@context': 'https://schema.org',
'@type': 'WebSite',
name: 'SingleChat',
url: `${SITE_URL}/${locale}`,
description: localized.description,
inLanguage: locale
}
}
});
}
const router = createRouter({
history: createWebHistory(),
routes
@@ -254,8 +329,12 @@ router.beforeEach((to, from, next) => {
const ogType = meta.ogType || 'website';
const image = meta.image || DEFAULT_IMAGE;
const robots = meta.robots || 'index, follow';
const localeFromPath = SUPPORTED_LOCALES.includes((to.path || '').replace('/', ''))
? (to.path || '').replace('/', '')
: 'de';
document.title = title;
document.documentElement.setAttribute('lang', localeFromPath);
updateMetaTag('description', description);
updateMetaTag('keywords', keywords);

View File

@@ -14,13 +14,17 @@
<main class="content-page">
<h2>Häufige Fragen (FAQ)</h2>
<p>
Hier beantworten wir die häufigsten Fragen zu SingleChat. Wenn dir etwas fehlt, nutze bitte die
Hier beantworten wir die häufigsten Fragen zum kostenlosen Single Chat. Wenn dir etwas fehlt, nutze bitte die
<router-link to="/feedback">Feedback-Seite</router-link>.
</p>
<p>
Unser Fokus liegt auf privatem und anonymem Chatten mit klaren Regeln. Mehr dazu findest du auch unter
<router-link to="/sicherheit">Sicherheit</router-link> und <router-link to="/regeln">Regeln</router-link>.
</p>
<h3>Wie starte ich?</h3>
<p>
Wähle einen Nicknamen, gib Alter, Geschlecht und Land an und starte den Chat. Du kannst danach Benutzer suchen
Wähle einen Nicknamen, gib Alter, Geschlecht und Land an und starte den Chat kostenlos. Du kannst danach Benutzer suchen
und Unterhaltungen beginnen.
</p>

View File

@@ -28,6 +28,11 @@
Hinweis: Externe Links öffnen sich in einem neuen Tab. Wenn du Partner werden möchtest, schreib uns bitte
über die Feedback-Seite.
</p>
<p class="partners-intro">
Wenn du zuerst wissen möchtest, wie privater und anonymer Chat bei uns funktioniert, schau in unsere
<router-link to="/faq">FAQ</router-link> oder auf die Seite
<router-link to="/sicherheit">Sicherheit &amp; Privatsphäre</router-link>.
</p>
<div v-if="!chatStore.isLoggedIn" class="back-link">
<router-link to="/">Zurück zur Hauptseite</router-link>
</div>

View File

@@ -14,9 +14,13 @@
<main class="content-page">
<h2>Chat-Regeln</h2>
<p>
Damit SingleChat freundlich und sicher bleibt, gelten ein paar einfache Regeln. Wer wiederholt dagegen
Damit der private Single Chat freundlich und sicher bleibt, gelten ein paar einfache Regeln. Wer wiederholt dagegen
verstößt, kann blockiert oder vom Chat ausgeschlossen werden.
</p>
<p>
Ergänzende Hinweise zum anonymen Chatten findest du unter
<router-link to="/sicherheit">Sicherheit &amp; Privatsphäre</router-link>.
</p>
<h3>1) Respekt</h3>
<p>

View File

@@ -14,8 +14,8 @@
<main class="content-page">
<h2>Sicherheit &amp; Privatsphäre</h2>
<p>
SingleChat ist auf schnellen Einstieg ausgelegt trotzdem ist uns Sicherheit wichtig. Diese Hinweise helfen dir
dabei, deine Privatsphäre zu schützen und gute Entscheidungen im Chat zu treffen.
SingleChat ist auf schnellen Einstieg ausgelegt trotzdem ist uns Sicherheit wichtig. Diese Hinweise helfen dir,
im privaten und anonymen Chat deine Privatsphäre zu schützen und gute Entscheidungen zu treffen.
</p>
<h3>Empfehlungen für sichere Nutzung</h3>
@@ -36,7 +36,8 @@
<h3>Datenschutz</h3>
<p>
Details findest du im Impressum/Datenschutz-Hinweis unten auf der Seite. Wenn du Fragen hast, kontaktiere uns
gern über Feedback.
gern über Feedback. Für den respektvollen Umgang im Chat beachte zusätzlich unsere
<router-link to="/regeln">Chat-Regeln</router-link>.
</p>
</main>