Files
MNQ-Catering-y-Evento/docs/seo-audit/combined-seo-priority-roadmap.md
T

9.9 KiB

Combined SEO priority roadmap

This document combines two sources reviewed on July 19, 2026:

  • PageSpeed Insights desktop report for https://mnq.elkazurrotaberna.es/
  • docs/seo-audit/Google-SEO-Report-mnq.elkazurrotaberna.es-full.pdf

It is intentionally split into:

  • Repo-verified issues: confirmed from the current codebase
  • Production-only checks: reported by the PDF/PageSpeed but require live-environment validation

Current headline picture

  • Performance: 80
  • Accessibility: 96
  • Best Practices: 100
  • SEO: 100
  • External full SEO PDF health score: 39/100

Interpretation:

  • Lighthouse says the site is technically decent at baseline.
  • The PDF surfaces bigger search readiness / local SEO / entity trust gaps that Lighthouse does not score deeply.

Tier 1 — Critical fixes

1. Add crawl and discovery files

Status: repo-verified missing

Missing

  • robots.txt
  • sitemap.xml
  • llms.txt

Why this is critical

  • Search engines and AI crawlers lack explicit discovery and policy signals.
  • This is one of the highest-leverage technical SEO fixes on a small site.

Files to add / touch

  • public/robots.txt
  • sitemap generation setup in Astro
  • public/llms.txt

Recommended action

  • Add robots.txt with a Sitemap: directive.
  • Generate a sitemap from the real route set.
  • Add a concise llms.txt with business summary, services, contact, and canonical domain.

2. Add missing <head> SEO signals sitewide

Status: repo-verified missing

Missing

  • canonical tags
  • Open Graph tags
  • explicit meta robots tags
  • JSON-LD / structured data

Why this is critical

  • The site currently has content, but weak machine-readable identity.
  • Canonicalization and entity markup matter more here than another visual polish pass.

Files to touch

  • src/layouts/MainLayout.astro
  • possibly shared helpers/components if you extract metadata/schema logic

Recommended action

  • Add self-referencing canonical tags.
  • Add base OG tags (og:title, og:description, og:type, og:url, og:image).
  • Add explicit meta name="robots" defaults, with special handling for legal pages if desired.
  • Add sitewide JSON-LD for the business plus page-specific schema later.

3. Fix language/market mismatch

Status: repo-verified

Current code

  • src/layouts/MainLayout.astro uses lang="es-AR"

Why this is critical

  • The site targets Spain signals (+34, RGPD/legal context), not Argentina.
  • This mismatch hurts consistency for SEO, accessibility, and AI interpretation.

Files to touch

  • src/layouts/MainLayout.astro
  • any copy using inconsistent register

Recommended action

  • Change sitewide language to es-ES.
  • Standardize tone/register across pages.

4. Fix the business identity trust gap

Status: partially repo-verified

Repo-verified issues

  • eventos@mnqcatering.com appears in:
    • src/pages/contacto.astro
    • src/pages/cookies.astro
    • src/pages/privacidad.astro
  • Corporate client names in src/pages/corporativo-business.astro look like placeholders:
    • LUMINA
    • Nordic Corp
    • Apex Sol.

Why this is critical

  • A dead email domain or invented-looking client proof is poison for conversions and trust.
  • This is not cosmetic. This is credibility.

Files to touch

  • src/pages/contacto.astro
  • src/pages/cookies.astro
  • src/pages/privacidad.astro
  • src/pages/corporativo-business.astro

Recommended action

  • Verify the real contact domain and replace broken email references if needed.
  • Remove fabricated-looking client names unless they are real and permissioned.
  • Replace them with real logos, real brands, or no claim at all.

5. Add service-area and local intent signals

Status: repo gap strongly supported by PDF; should be treated as high-priority content work

Why this is critical

  • The site needs explicit geography/service area to compete for local intent.
  • Right now the strongest geo signal appears to be the phone prefix.

Recommended action

  • Add a visible service-area section on homepage and contact page.
  • Mention real cities/regions served.
  • Reflect the same area in JSON-LD (areaServed).

Likely files to touch

  • src/pages/index.astro
  • src/pages/contacto.astro
  • service pages under src/pages/

Tier 2 — High-impact SEO and conversion improvements

Status: repo-verified missing

Why

  • The PDF correctly flags phone numbers as plain text.
  • Click-to-call is basic conversion hygiene.

Files to touch

  • src/pages/contacto.astro
  • src/components/SiteFooter.astro
  • any page/header component showing the phone number

Recommended action

  • Wrap visible phone numbers in tel: links.
  • Keep formatting human-readable while normalizing href values.

7. Add FAQ and schema-backed informational sections

Status: supported by PDF; not yet implemented in repo

Why

  • The site is heavily CTA-driven but thin on concrete buyer-answer content.
  • FAQ helps SEO, AI retrieval, and lead qualification.

Recommended action

  • Add short FAQ blocks on main commercial pages.
  • Add FAQPage schema only for visible questions/answers.

Likely files to touch

  • src/pages/bodas-reales.astro
  • src/pages/corporativo-business.astro
  • src/pages/reuniones-familiares.astro
  • src/pages/contacto.astro

8. Add concrete facts: pricing, capacity, coverage, lead time

Status: supported by PDF; likely real gap

Why

  • Premium tone without specifics creates trust friction.
  • Visitors need qualifying information before filling a form or opening WhatsApp.

Recommended action

  • Add readable prose covering:
    • capacity ranges
    • indicative pricing approach or starting-tier language
    • coverage area
    • booking lead time

Most important page

  • src/pages/reuniones-familiares.astro appears weakest per the PDF.

Tier 3 — Performance fixes with clear Lighthouse payoff

9. Remove or reduce render-blocking font requests

Status: repo-verified + PageSpeed-supported

Files

  • src/layouts/MainLayout.astro

Current issues

  • external Google Fonts stylesheet request
  • external Material Symbols stylesheet request

Recommended action

  • reduce font families/weights
  • replace icon font with local/inline SVGs if feasible
  • self-host fonts if the project keeps them

Why

  • Lighthouse reports render-blocking request savings around 1380 ms.

10. Fix image delivery and explicit dimensions

Status: repo-verified + PageSpeed-supported

Files

  • src/pages/index.astro
  • src/pages/bodas-reales.astro
  • src/pages/corporativo-business.astro
  • review also src/pages/contacto.astro, src/pages/nosotros.astro, src/pages/reuniones-familiares.astro

Recommended action

  • add explicit width and height
  • make sure above-the-fold assets are not oversized
  • keep optimized formats consistent
  • use lazy loading for non-hero images

Why

  • Lighthouse reports image savings around 1423 KiB.
  • It also flags missing image dimensions.

11. Recompress and rationalize public/images/

Status: repo-verified

Hotspots

  • several large .png files in public/images/
  • oversized footer/logo assets relative to rendered size

Recommended action

  • replace or recompress large PNGs
  • prefer lighter WebP variants where acceptable
  • remove duplicates not used in production

Folders

  • public/images/
  • public/images/generated/

Status: repo-verified + Lighthouse-supported

Files

  • src/components/SiteFooter.astro
  • src/styles/components.css

Current issue

  • footer text uses muted color plus low opacity

Recommended action

  • increase contrast on footer copy
  • reduce/remove low-opacity muted treatment

Status: repo-verified via Lighthouse finding

Files

  • src/components/SiteHeader.astro
  • src/components/SiteFooter.astro

Recommended action

  • keep the same accessible purpose for identical WhatsApp destinations
  • use aria-label if visible text differs by context

14. Replace width animation on the progress bar

Status: repo-verified + Lighthouse-supported

Files

  • src/styles/animations.css
  • src/layouts/MainLayout.astro

Recommended action

  • stop animating width
  • use transform: scaleX(...) with transform-origin: left

Tier 4 — Production-only checks to verify before coding against them

These came from the PDF/PageSpeed/live-site observations but are not provable from the repo alone.

Validate on production

  • www behavior, redirects, and TLS coverage
  • security headers (HSTS, X-Content-Type-Options, X-Frame-Options, CSP)
  • gzip/brotli compression on HTML/CSS
  • cookie banner overlapping the floating WhatsApp CTA
  • broken/bleeding UI element near the top-left viewport
  • live caching policy for /images/*
  • whether the contact email domain truly fails resolution
  • whether the unrelated parent domain relationship must be clarified publicly

These should be treated as a separate verification pass against the deployed site.


Suggested implementation order

  1. crawl/discovery files (robots.txt, sitemap, llms.txt)
  2. canonical + OG + robots + base JSON-LD in MainLayout.astro
  3. lang correction to es-ES
  4. email/domain trust fix and corporate-proof cleanup
  5. service-area content and tel: links
  6. FAQ / concrete fact sections on service pages
  7. font and image performance fixes
  8. footer contrast and smaller accessibility cleanups
  9. production header/caching/compression validation

Minimum verification after each implementation batch

  1. npm run check
  2. npm run build
  3. re-run desktop PageSpeed
  4. manually inspect live <head> output and generated crawl files

  • docs/seo-audit/Google-SEO-Report-mnq.elkazurrotaberna.es-full.pdf
  • docs/seo-audit/pagespeed-priority-list.md