Files
property-management-network/app/robots.ts
T
Leon SerfatyandClaude Opus 4.8 5495b94924 Deploy on DigitalOcean App Platform (GitHub-source build) + consolidate audit-fixes
Deploy config:
- .do/app.yaml: build the Dockerfile directly from GitHub (deploy_on_push) instead
  of a pre-built DOCR image; NEXT_PUBLIC_* set RUN_AND_BUILD_TIME with the
  propertymanagement.network domain so they bake into the client bundle; add
  custom domains block (apex + www); wire Sentry DSN (server + browser).

Included pending work from the audit-fixes branch:
- AI provider abstraction (OpenAI/Anthropic, admin-selectable; Anthropic default)
- Per-landlord e-signature (DocuSign OAuth + Dropbox Sign) + migration 0010
- Outbound webhooks / Zapier integration
- PayPal removal (Stripe-only billing)
- Storage hardening (fail-loud when Spaces unconfigured), security fixes

Verified: full production Docker build (same build-args as DO) passes clean.

Co-Authored-By: Claude Opus 4.8 <noreply@anthropic.com>
2026-07-03 04:45:24 -04:00

45 lines
1.1 KiB
TypeScript

import type { MetadataRoute } from "next"
export default function robots(): MetadataRoute.Robots {
const base = process.env.NEXT_PUBLIC_APP_URL ?? "https://propertymanagement.network"
return {
rules: {
userAgent: "*",
allow: "/",
// Private/app areas. Mirrors PROTECTED_PATHS in proxy.ts, plus the API
// surface and the token-gated tenant portal (both private but enforced
// outside the cookie proxy). `/tenant-portal/` keeps the trailing slash so
// it doesn't also block the indexable `/tenant-portal-info` marketing page.
disallow: [
"/dashboard",
"/admin",
"/api/",
"/settings",
"/onboarding",
"/team",
"/tenant-portal/",
"/calendar",
"/inspections",
"/vendors",
"/reports",
"/activity",
"/ai",
"/ai-dashboard",
"/predictions",
"/recommendations",
"/impact",
"/follow-ups",
"/properties",
"/tenants",
"/rent",
"/maintenance",
"/leases",
"/expenses",
],
},
sitemap: `${base}/sitemap.xml`,
host: base,
}
}