Global Settings (CMS-driven)
Favicon, sitemap, robots, responsive images, forms, error page
Global Settings (CMS-driven)
Several site behaviours are controlled by dedicated backoffice settings nodes rather than appsettings.json.
Site Settings — favicon, logo, title suffix
| Field | Purpose |
|---|---|
| Favicon.ico | Site favicon (falls back to /favicon-default.ico) |
| Logo | Site logo media |
| Title Suffix | Appended to every page title as "Page Title | Suffix" |

Sitemap & Robots Settings
- Content: Raw robots.txt body (when empty, a default is generated)
- Ignored Document Types: Doc-type aliases to exclude from sitemap.xml
- Max Sitemap Depth: Limit how deep the sitemap crawls

Responsive Image Settings
- Turn Off Responsive Image: Master toggle (OFF = responsive ON)
- Extend Sizes SrcSet: Extra widths (defaults: 1200/1024/768)

Contact Form & Cloudflare Turnstile
The Contact Form component renders a form from Simple Form Builder. Turnstile key resolution: field-level → appsettings fallback → not rendered.

Hidden Container URLs
Organisational nodes don't expose a public URL. HiddenUrlProvider suppresses URLs for built-in containers. Add custom ones via uTPro:HiddenUrls:DocumentTypeAliases.
Error Page
The Page Error node provides 404/500 content with proper HTTP status codes.
