Add FAQ, Rules, and Safety pages with corresponding routes and SEO metadata
- Introduced new links in ImprintContainer.vue for FAQ, Rules, and Safety pages. - Added FaqView, RulesView, and SafetyView components to handle the new routes. - Implemented SEO metadata for the new pages in routes-seo.js and router/index.js. - Updated server routes to include the new paths for proper handling in production. These changes enhance the site's informational resources and improve SEO visibility for user inquiries.
This commit is contained in:
@@ -136,12 +136,12 @@ setupBroadcast(io, __dirname);
|
||||
// SPA-Fallback muss nach allen anderen Routen stehen
|
||||
if (IS_PRODUCTION) {
|
||||
const distPath = join(__dirname, '../docroot/dist');
|
||||
const KNOWN_SPA_ROUTES = new Set(['/', '/partners', '/feedback', '/mockup-redesign']);
|
||||
const KNOWN_SPA_ROUTES = new Set(['/', '/partners', '/feedback', '/faq', '/regeln', '/sicherheit', '/mockup-redesign']);
|
||||
app.use(express.static(distPath));
|
||||
// Fallback für Vue Router (SPA) - muss am Ende stehen
|
||||
app.get('*', (req, res) => {
|
||||
// Überspringe SEO-Routes in Production (werden bereits von setupSEORoutes behandelt)
|
||||
if (IS_PRODUCTION && (req.path === '/' || req.path === '/partners')) {
|
||||
if (IS_PRODUCTION && (req.path === '/' || req.path === '/partners' || req.path === '/feedback' || req.path === '/faq' || req.path === '/regeln' || req.path === '/sicherheit')) {
|
||||
return; // Route wurde bereits behandelt
|
||||
}
|
||||
// In Production: /src/ Pfade sollten nicht existieren (404)
|
||||
|
||||
@@ -72,6 +72,78 @@ const seoData = {
|
||||
},
|
||||
inLanguage: 'de-DE'
|
||||
}
|
||||
},
|
||||
'/faq': {
|
||||
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.',
|
||||
ogType: 'website',
|
||||
ogUrl: `${SITE_URL}/faq`,
|
||||
ogImage: DEFAULT_IMAGE,
|
||||
robots: 'index, follow, max-image-preview:large, max-snippet:-1, max-video-preview:-1',
|
||||
schema: {
|
||||
'@context': 'https://schema.org',
|
||||
'@type': 'FAQPage',
|
||||
name: 'FAQ - SingleChat',
|
||||
url: `${SITE_URL}/faq`,
|
||||
description: 'Häufige Fragen zu SingleChat: Einstieg, Privatsphäre, Bildaustausch, Blockieren und mehr.',
|
||||
isPartOf: {
|
||||
'@type': 'WebSite',
|
||||
name: 'SingleChat',
|
||||
url: `${SITE_URL}/`
|
||||
},
|
||||
inLanguage: 'de-DE'
|
||||
}
|
||||
},
|
||||
'/regeln': {
|
||||
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.',
|
||||
ogType: 'website',
|
||||
ogUrl: `${SITE_URL}/regeln`,
|
||||
ogImage: DEFAULT_IMAGE,
|
||||
robots: 'index, follow, max-image-preview:large, max-snippet:-1, max-video-preview:-1',
|
||||
schema: {
|
||||
'@context': 'https://schema.org',
|
||||
'@type': 'WebPage',
|
||||
name: 'Regeln - SingleChat',
|
||||
url: `${SITE_URL}/regeln`,
|
||||
description: 'Chat-Regeln für ein respektvolles und sicheres Miteinander auf SingleChat.',
|
||||
isPartOf: {
|
||||
'@type': 'WebSite',
|
||||
name: 'SingleChat',
|
||||
url: `${SITE_URL}/`
|
||||
},
|
||||
inLanguage: 'de-DE'
|
||||
}
|
||||
},
|
||||
'/sicherheit': {
|
||||
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.',
|
||||
ogType: 'website',
|
||||
ogUrl: `${SITE_URL}/sicherheit`,
|
||||
ogImage: DEFAULT_IMAGE,
|
||||
robots: 'index, follow, max-image-preview:large, max-snippet:-1, max-video-preview:-1',
|
||||
schema: {
|
||||
'@context': 'https://schema.org',
|
||||
'@type': 'WebPage',
|
||||
name: 'Sicherheit & Privatsphäre - SingleChat',
|
||||
url: `${SITE_URL}/sicherheit`,
|
||||
description: 'Hinweise zu Privatsphäre, Blockieren/Melden und sicherer Nutzung von SingleChat.',
|
||||
isPartOf: {
|
||||
'@type': 'WebSite',
|
||||
name: 'SingleChat',
|
||||
url: `${SITE_URL}/`
|
||||
},
|
||||
inLanguage: 'de-DE'
|
||||
}
|
||||
}
|
||||
};
|
||||
|
||||
@@ -231,6 +303,9 @@ export function setupSEORoutes(app, __dirname) {
|
||||
Allow: /
|
||||
Allow: /partners
|
||||
Allow: /feedback
|
||||
Allow: /faq
|
||||
Allow: /regeln
|
||||
Allow: /sicherheit
|
||||
Disallow: /api/
|
||||
Disallow: /static/logs/
|
||||
Disallow: /mockup-redesign
|
||||
|
||||
Reference in New Issue
Block a user