Skip to content

Commit d6db506

Browse files
authored
Merge pull request #38 from Manuel10i/feat/destination-meta-quiet-month
2 parents 0792165 + ea382fb commit d6db506

5 files changed

Lines changed: 13 additions & 6 deletions

File tree

src/app/(marketing)/destination/[slug]/page.tsx

Lines changed: 9 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -117,8 +117,14 @@ export async function generateMetadata({
117117
locale === "de" ? localizedDestinationName(d, "de") : entry.displayName;
118118
const t = await getTranslations({ locale, namespace: "destination" });
119119
const long = monthNames(locale, "long");
120-
const { peakIdx, yearRound } = summarizeBusyness(getMonthlyBusyness(d.id));
121-
const busiest = peakIdx.map((i) => long[i]);
120+
const { peakIdx, quietIdx, yearRound } = summarizeBusyness(
121+
getMonthlyBusyness(d.id),
122+
);
123+
// Cap both lists at three months so the description stays within the SERP
124+
// truncation length and the quietest month (which answers the "best time to
125+
// visit {name}" search intent) is never pushed out of view by a long peak.
126+
const busiest = peakIdx.slice(0, 3).map((i) => long[i]);
127+
const quietest = quietIdx.slice(0, 3).map((i) => long[i]);
122128
const canonical = destUrl(slug);
123129
const languages = hreflangLanguages(slug);
124130
return {
@@ -128,6 +134,7 @@ export async function generateMetadata({
128134
: t("metaDescription", {
129135
name: displayName,
130136
months: joinList(locale, busiest),
137+
quietMonths: joinList(locale, quietest),
131138
}),
132139
alternates: {
133140
canonical,

src/messages/de.json

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -450,7 +450,7 @@
450450
},
451451
"destination": {
452452
"metaTitle": "{name}: beste Reisezeit und wann es voll ist",
453-
"metaDescription": "Ist {name} voll? Am vollsten wird es in {months}. Sieh dir den Andrang in {name} Monat für Monat an und finde die ruhigste Reisezeit.",
453+
"metaDescription": "Ist {name} voll? Am vollsten in {months}, am ruhigsten in {quietMonths}. Sieh dir den Andrang in {name} Monat für Monat an und finde die beste Reisezeit.",
454454
"metaDescriptionYearRound": "Ist {name} voll? Andrang herrscht das ganze Jahr. Sieh dir den Andrang in {name} Monat für Monat an und finde vorab die ruhigsten Zeiten.",
455455
"h1": "Beste Reisezeit für {name} (und wann es voll ist)",
456456
"intro": "{name} ist ein Reiseziel der Kategorie {category} in {country}. Die Hauptsaison ist {months}, am ruhigsten ist es im {quiet}. So voll wird es übers Jahr, damit du den richtigen Zeitpunkt wählen kannst.",

src/messages/en.json

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -450,7 +450,7 @@
450450
},
451451
"destination": {
452452
"metaTitle": "{name}: best time to visit and when it is crowded",
453-
"metaDescription": "Is {name} busy? Peak crowds hit in {months}. See {name}’s month-by-month crowd calendar and find the quietest time to visit.",
453+
"metaDescription": "Is {name} busy? Busiest in {months}, quietest in {quietMonths}. See {name}’s month-by-month crowd calendar and pick the best time to visit.",
454454
"metaDescriptionYearRound": "Is {name} busy? It draws crowds all year. See {name}’s month-by-month crowd calendar and find its calmest stretches before you go.",
455455
"h1": "Best time to visit {name} (and when it is crowded)",
456456
"intro": "{name} is a {category} destination in {country}. Its peak season is {months}, and it is least crowded in {quiet}. Here is how busy it gets across the year, so you can pick the right time to go.",

src/messages/es.json

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -450,7 +450,7 @@
450450
},
451451
"destination": {
452452
"metaTitle": "{name}: mejor época para visitar y cuándo hay aglomeraciones",
453-
"metaDescription": "¿Está lleno {name}? Las aglomeraciones llegan en {months}. Consulta mes a mes la afluencia de {name} y encuentra la época más tranquila para visitarlo.",
453+
"metaDescription": "¿Está lleno {name}? Más concurrido en {months}, más tranquilo en {quietMonths}. Consulta mes a mes la afluencia de {name} y elige la mejor época para visitarlo.",
454454
"metaDescriptionYearRound": "¿Está lleno {name}? Hay afluencia todo el año. Consulta mes a mes la afluencia de {name} y encuentra sus momentos más tranquilos antes de ir.",
455455
"h1": "Mejor época para visitar {name} (y cuándo hay aglomeraciones)",
456456
"intro": "{name} es un destino de {category} en {country}. Su temporada alta es {months} y está menos concurrido en {quiet}. Así de concurrido está durante el año, para que elijas el mejor momento para ir.",

src/messages/fr.json

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -450,7 +450,7 @@
450450
},
451451
"destination": {
452452
"metaTitle": "{name} : meilleure période pour visiter et quand il y a foule",
453-
"metaDescription": "Y a-t-il foule à {name} ? L’affluence culmine en {months}. Consultez l’affluence de {name} mois par mois et trouvez la période la plus calme pour visiter.",
453+
"metaDescription": "Y a-t-il foule à {name} ? Plus fréquenté en {months}, plus calme en {quietMonths}. Consultez l’affluence de {name} mois par mois et choisissez le meilleur moment pour visiter.",
454454
"metaDescriptionYearRound": "Y a-t-il foule à {name} ? L’affluence dure toute l’année. Consultez l’affluence de {name} mois par mois et trouvez ses moments les plus calmes avant de partir.",
455455
"h1": "Meilleure période pour visiter {name} (et quand il y a foule)",
456456
"intro": "{name} est une destination de type {category} en {country}. Sa haute saison est {months}, et l’affluence est la plus faible en {quiet}. Voici sa fréquentation au fil des mois, pour choisir le bon moment pour partir.",

0 commit comments

Comments
 (0)