Files
Creeer-Web/app/layout.tsx
T
erikgh 556f716583 feat: SEO metadata, JSON-LD, OG image, sitemap, a11y focus styles
Expands app/layout.tsx metadata (openGraph, twitter, canonical),
adds ProfessionalService JSON-LD to app/page.tsx, focus-visible
styles in globals.css, robots.txt/sitemap.xml, and a placeholder
og-image.png (navy background, no wordmark text — needs a real
design asset before launch).

Also adds .eslintrc.json (next/core-web-vitals) so next lint runs
non-interactively, and decouples ESLint from next build via
next.config.mjs (eslint.ignoreDuringBuilds) so a pre-existing,
out-of-scope lint issue in Cierre.tsx doesn't block the static
export.
2026-07-21 11:50:24 -06:00

29 lines
1.2 KiB
TypeScript

import type { Metadata } from 'next';
import { Inter } from 'next/font/google';
import './globals.css';
const inter = Inter({ subsets: ['latin'], weight: ['400', '600', '700', '900'], variable: '--font-inter', display: 'swap' });
export const metadata: Metadata = {
title: 'creeer · tu estratega de crecimiento',
description: 'Claridad estratégica para empresarios con tracción que llegaron a su punto de inflexión. Inmersión profunda, estrategia ejecutable.',
metadataBase: new URL('https://creeer.com'), // TODO dueña: real domain
openGraph: {
title: 'creeer · tu estratega de crecimiento',
description: 'Claridad estratégica para empresarios con tracción en punto de inflexión.',
type: 'website',
locale: 'es',
images: [{ url: '/og-image.png', width: 1200, height: 630, alt: 'creeer' }],
},
twitter: { card: 'summary_large_image', title: 'creeer', description: 'Claridad estratégica para empresarios.' },
alternates: { canonical: 'https://creeer.com' },
};
export default function RootLayout({ children }: { children: React.ReactNode }) {
return (
<html lang="es" className={inter.variable}>
<body>{children}</body>
</html>
);
}