/opt/canhelp/apps/web/src/app
NameSizeModeActions
(auth)/-0755rm
admin/-0755rm
become-specialist/-0755rm
chat/-0755rm
dashboard/-0755rm
delete-account/-0755rm
favorites/-0755rm
maintenance/-0755rm
notifications/-0755rm
payment/-0755rm
pricing/-0755rm
privacy/-0755rm
profile/-0755rm
schedule/-0755rm
site/-0755rm
specialist-setup/-0755rm
specialist-tasks/-0755rm
specialists/-0755rm
support/-0755rm
tasks/-0755rm
users/-0755rm
apple-icon.png626050644editdlrm
globals.css95430644editdlrm
icon.png626050644editdlrm
icon.svg48820644editdlrm
layout.tsx43450644editdlrm
not-found.tsx5500644editdlrm
page.tsx243370644editdlrm
robots.ts7890644editdlrm
sitemap.ts36640644editdlrm
Edit: /opt/canhelp/apps/web/src/app/robots.ts (789B)
import type { MetadataRoute } from 'next' function normalizeAppUrl(raw?: string): string { const fallback = 'http://localhost:3000' const base = (raw && raw.trim()) || fallback try { const url = new URL(base) if (url.hostname !== 'localhost' && url.protocol !== 'https:') { url.protocol = 'https:' } return url.toString().replace(/\/$/, '') } catch { return fallback } } const APP_URL = normalizeAppUrl(process.env.NEXT_PUBLIC_APP_URL) export default function robots(): MetadataRoute.Robots { return { rules: { userAgent: '*', allow: ['/', '/site/'], disallow: ['/admin/', '/dashboard/', '/profile/', '/chat/', '/notifications/', '/favorites/', '/schedule/', '/payment/'], }, sitemap: `${APP_URL}/sitemap.xml`, } }