fix(seo): correct canonical domain to www.mnqeventos.es

mnqcatering.com was never actually registered (WHOIS: no match, no DNS
records) -- it was an intended rename that never happened. The real,
live, registered production domain is www.mnqeventos.es. Every
canonical/OG/schema/sitemap/robots reference and the host-redirect
middleware pointed at the wrong, non-resolving domain; left as-is, the
middleware would have 301'd every real visitor away to a dead host.

Also fixes two schema.org validity issues found during audit:
- '@type': 'CateringService' is not a real schema.org type -- corrected
  to 'CateringBusiness' (LocalBusiness/FoodEstablishment subtype)
- 'serviceType' is a Service property, not valid on LocalBusiness --
  restructured as makesOffer -> Offer -> itemOffered Service entities
- telephone normalized to E.164 in the schema block
This commit is contained in:
2026-09-15 10:07:24 +02:00
parent 0e242a6116
commit a6692b7540
8 changed files with 36 additions and 17 deletions
+7 -6
View File
@@ -1,13 +1,14 @@
import { defineMiddleware } from 'astro:middleware';
const CANONICAL_HOST = 'www.mnqcatering.com';
const CANONICAL_HOST = 'www.mnqeventos.es';
/**
* SEO: this site is undesirably mirrored at mnqeventos.es (same content, no
* redirect at the DNS/hosting level). This middleware enforces the canonical
* host at the application layer for any host that isn't exactly
* www.mnqcatering.com (covers mnqeventos.es, www.mnqeventos.es, and the bare
* mnqcatering.com apex).
* SEO: enforce the canonical host at the application layer. www.mnqeventos.es
* is the real, registered, live production domain. mnqcatering.com was an
* intended rename that was never actually registered (confirmed via WHOIS —
* no match) — do NOT set CANONICAL_HOST back to it unless that domain is
* actually purchased and its DNS points at this server, or this redirect
* will send every visitor to a host that doesn't resolve.
*
* NOTE: this must also be verified at the reverse-proxy/hosting layer — host
* detection here depends on how the Host header (or X-Forwarded-Host, when