Skip to content

feat(seo): commercial services foundation — bilingual service pages (SEO-COM-01) - #78

Merged
devrodri-com merged 4 commits into
mainfrom
feat/devrodri-commercial-seo-foundation
Aug 5, 2026
Merged

feat(seo): commercial services foundation — bilingual service pages (SEO-COM-01)#78
devrodri-com merged 4 commits into
mainfrom
feat/devrodri-commercial-seo-foundation

Conversation

@devrodri-com

Copy link
Copy Markdown
Owner

Qué hace

Primera base de SEO comercial no-branded: 6 rutas indexables nuevas (3 pares ES/EN), pasando el sitio de 6 a 12 URLs públicas.

Página ES EN
Hub de servicios /servicios /en/services
Sitios web para empresas /servicios/sitios-web-para-empresas /en/services/business-websites
Sistemas a medida /servicios/sistemas-a-medida /en/services/custom-software

Por qué (discovery AUDIT-FIRST)

  • GSC: UNAVAILABLE (sin API scope, sin sesión UI, sin export local) → no se tomó ninguna decisión basada en volumen; location pages bloqueadas.
  • SERP (22 queries auditadas): 13 queries con intención comercial ≥6/10 recomiendan service pages. "full stack developer para empresas" clasificada B. SECONDARY_MIXED_INTENT (SERP 100% educativo) — solo mención natural, nunca keyword objetivo.
  • Sitio actual: 0 páginas de servicio (los servicios vivían solo dentro de la Home), 1 caso detallado, señales locales incidentales.
  • Gate estratégico: A. COMMERCIAL_FOUNDATION_WARRANTED — servicios reales, copy factual, casos publicados, intents distintos por página.

Decisiones clave

  • Sin schema nuevo (opción A documentada en structuredData.ts): Service schema no tiene rich results documentados, Person ya modela al proveedor, y evita 6 hashes CSP nuevos mantenidos a mano. CSP intacta.
  • Miami/South Florida: solo bloque factual de cobertura por página (base en South Florida, remoto US/LatAm, ES/EN). Sin location page, sin LocalBusiness, sin dirección ni claims locales no verificables.
  • Proof real: sistemas ancla en LEM-BOX (link al caso); sitios en Esteban Firpo, Mutter Games, Magenta (marcado MVP) y Boating Adventures (marcado proyecto propio).
  • Navbar: exactamente 1 item nuevo (Servicios/Services). Home sin cambios visuales.
  • Automatización: sin página propia (sin caso dedicado como proof); vive como capacidad en el hub + sección de la página de sistemas.

Quality gate (adversarial, 4 revisores)

PASS 4/4: cero duplicación entre páginas, cero keyword stuffing (conteos por término auditados), cero claims sin respaldo en el repo, cero thin content. WARNs aplicados: honestidad de casos (MVP/proyecto propio), calcos EN corregidos, jerarquía h1→h2→h3 y aria-labelledby por sección.

Validación local

  • npm run ci completo en verde: 29 suites / 308 tests (baseline 268, +40), typecheck, lint, build, verify-prerender (14 documentos, hashes de metadata nuevos, 16 no-JS docs, 64 markers), verify-http (12 rutas 200, redirects 308, 404 localizados, 5 lazy chunks).
  • Regex 404 de /en extendida en las 3 posiciones (vercel.json + verify-prerender + webDeliveryPolicy).
  • Visual ES/EN en 390/768/1440: sin overflow, sin clipping, no-JS y reduced-motion preservados.
  • Lighthouse local (throttled): páginas nuevas mobile 78–79 vs LEM-BOX 78 y Home 69 → sin regresión; desktop 99; A11y/BP/SEO 100.
  • package.json / package-lock.json intactos. Cero dependencias nuevas.

Fuera de alcance (documentado para fases siguientes)

Página de automatización (falta caso), Miami location page (requiere datos GSC post-merge), links body desde Home al hub, breadcrumbs/BreadcrumbList.

Draft a propósito: no mergear hasta revisión de Rodrigo + validación del Preview de Vercel.

🤖 Generated with Claude Code

devrodri-com and others added 3 commits August 5, 2026 12:28
Register three new indexable page pairs in the route registry
(services hub, business websites, custom software) with full
canonical/hreflang/OG metadata derived per locale, extend the
Vercel /en 404 allowlist regex for the new English routes, add
the Servicios item to the Navbar, mount the lazy page branches
in App, and link the LEM-BOX case study to the custom software
service. Service routes intentionally publish no JSON-LD in
this phase, so the CSP hash set is unchanged.

Co-Authored-By: Claude Fable 5 <noreply@anthropic.com>
Add the servicesPages ES/EN copy blocks and the three editorial
page components: a services hub that helps a buyer choose between
a website, a custom system, or an automation; a business websites
page backed by the four published client sites; and a custom
software page anchored on the LEM-BOX operation as primary proof.
Copy is first-person singular, voseo in Spanish, with factual
coverage notes (South Florida base, Miami and remote US/LatAm,
bilingual work) and no location pages, metrics, or invented
claims. All proof statements mirror facts already published in
the portfolio data files.

Co-Authored-By: Claude Fable 5 <noreply@anthropic.com>
Extend the twelve-route contract across the suite: route registry
and locked services metadata in siteRoutes tests, structured-data
key list, Routing mount/canonical/hreflang and internal-navigation
coverage, Semantics a11y paths, ThankYouPage and analytics route
tables, Navbar no-JS fallbacks for the six new paths, the
webDeliveryPolicy /en 404 regex fixtures, the i18n key count, and
the README route documentation (six to twelve public URLs).
verify-prerender gains the six expected routes with fresh metadata
hashes, locale pairs, 16 no-JS documents and 64 markers;
verify-http covers the new 200s, 308 trailing-slash redirects,
localized 404s, and the five lazy chunks.

Co-Authored-By: Claude Fable 5 <noreply@anthropic.com>
@vercel

vercel Bot commented Aug 5, 2026

Copy link
Copy Markdown

The latest updates on your projects. Learn more about Vercel for GitHub.

Project Deployment Actions Updated (UTC)
minisitio-rodrigo Ready Ready Preview Aug 5, 2026 5:51pm

Request Review

@devrodri-com
devrodri-com marked this pull request as ready for review August 5, 2026 18:07
@cursor

cursor Bot commented Aug 5, 2026

Copy link
Copy Markdown

Bugbot is not enabled for your account, so this pull request was not reviewed.

Enable Bugbot in the Cursor dashboard to get automatic reviews on future PRs.

@devrodri-com
devrodri-com merged commit f7b0603 into main Aug 5, 2026
7 checks passed
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant