Skip to content

Commit bc0962a

Browse files
committed
first round
1 parent 5a9b66c commit bc0962a

15 files changed

Lines changed: 173 additions & 2 deletions

File tree

.gitignore

Lines changed: 3 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -10,3 +10,6 @@ mongo-data
1010
.env
1111
deploy
1212
front/.env.local
13+
front/public/.DS_Store
14+
.gitignore
15+
.DS_Store

front/src/app/aviso-legal/page.tsx

Lines changed: 10 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -1,3 +1,13 @@
1+
import type { Metadata } from "next";
2+
3+
export const metadata: Metadata = {
4+
title: "Aviso Legal",
5+
description:
6+
"Aviso legal de InfoEmbalse: proyecto educativo open source de Lemoncode con información orientativa sobre los embalses de España.",
7+
alternates: { canonical: "/aviso-legal" },
8+
robots: { index: true, follow: true },
9+
};
10+
111
const LegalNoticePage = () => {
212
return (
313
<div className="container mx-auto max-w-3xl px-4 py-8">

front/src/app/embalse-cuenca/[cuenca]/page.tsx

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -23,6 +23,7 @@ export async function generateMetadata({ params }: Props): Promise<Metadata> {
2323

2424
return {
2525
title: `Embalses de ${datosCuenca.nombre}`,
26+
alternates: { canonical: `/embalse-cuenca/${cuenca}` },
2627
};
2728
}
2829

front/src/app/embalse-cuenca/page.tsx

Lines changed: 3 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -7,6 +7,9 @@ export const revalidate = 300; // ISR: regenerar cada 5 minutos
77

88
export const metadata: Metadata = {
99
title: "Embalses por cuencas",
10+
description:
11+
"Listado completo de embalses de España agrupados por cuenca hidrográfica. Consulta los embalses de cada cuenca y su nivel actual.",
12+
alternates: { canonical: "/embalse-cuenca" },
1013
};
1114

1215
export default async function EmbalsesCuencasPage() {

front/src/app/embalse-provincia/[provincia]/page.tsx

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -22,6 +22,7 @@ export async function generateMetadata({ params }: Props): Promise<Metadata> {
2222

2323
return {
2424
title: `Embalses de ${nombreProvincia}`,
25+
alternates: { canonical: `/embalse-provincia/${provincia}` },
2526
};
2627
}
2728

front/src/app/embalse-provincia/page.tsx

Lines changed: 3 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -3,6 +3,9 @@ import { Metadata } from "next";
33

44
export const metadata: Metadata = {
55
title: "Embalses por provincias",
6+
description:
7+
"Listado completo de embalses de España agrupados por provincia. Consulta los embalses de tu provincia y su nivel actual.",
8+
alternates: { canonical: "/embalse-provincia" },
69
};
710

811
export default function EmbalsesProvinciaPage() {

front/src/app/embalse/[embalse]/page.tsx

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -21,6 +21,7 @@ export async function generateMetadata({ params }: Props): Promise<Metadata> {
2121

2222
return {
2323
title: embalseSlug.nombre,
24+
alternates: { canonical: `/embalse/${embalse}` },
2425
};
2526
}
2627

front/src/app/equipo/page.tsx

Lines changed: 4 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -2,7 +2,10 @@ import { Metadata } from "next";
22
import { EquipoPod } from "@/pods/equipo";
33

44
export const metadata: Metadata = {
5-
title: "Equipo - InfoEmbalses",
5+
title: "Equipo",
6+
description:
7+
"Equipo de desarrollo de InfoEmbalse. Conoce a las personas detrás del proyecto.",
8+
alternates: { canonical: "/equipo" },
69
};
710

811
const EquipoPage = () => {

front/src/app/icon.svg

Lines changed: 3 additions & 0 deletions
Loading

front/src/app/layout.tsx

Lines changed: 33 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -1,4 +1,5 @@
11
import React from "react";
2+
import type { Metadata } from "next";
23
import "./globals.css";
34
import { FooterComponent, HeaderComponent } from "../layouts";
45
import {
@@ -7,6 +8,38 @@ import {
78
GoogleAnalytics,
89
} from "../common/cookies";
910

11+
const SITE_URL = "https://infoembalse.com";
12+
13+
export const metadata: Metadata = {
14+
metadataBase: new URL(SITE_URL),
15+
title: {
16+
default: "InfoEmbalse — Nivel actual de los embalses de España",
17+
template: "%s | InfoEmbalse",
18+
},
19+
description:
20+
"Consulta el nivel actual, histórico y datos técnicos de todos los embalses de España. Información por provincia y por cuenca.",
21+
applicationName: "InfoEmbalse",
22+
alternates: { canonical: "/" },
23+
openGraph: {
24+
type: "website",
25+
siteName: "InfoEmbalse",
26+
locale: "es_ES",
27+
url: SITE_URL,
28+
title: "InfoEmbalse — Nivel actual de los embalses de España",
29+
description:
30+
"Consulta el nivel actual, histórico y datos técnicos de todos los embalses de España.",
31+
images: [{ url: "/images/embalse-generico.jpg", width: 1200, height: 630 }],
32+
},
33+
twitter: {
34+
card: "summary_large_image",
35+
title: "InfoEmbalse — Nivel actual de los embalses de España",
36+
description:
37+
"Consulta el nivel actual, histórico y datos técnicos de todos los embalses de España.",
38+
images: ["/images/embalse-generico.jpg"],
39+
},
40+
robots: { index: true, follow: true },
41+
};
42+
1043
interface Props {
1144
children: React.ReactNode;
1245
}

0 commit comments

Comments
 (0)