seo(meta): remove em-dash from titles, sharpen /best-time and /compare titles - #40
Merged
Merged
Conversation
The metaTitle tags for /privacy, /contact, /best-time and /compare used an
em-dash separator ("Best Time to Visit — PackedPlaces.com") in the
SEO-visible <title>. Em-dashes are against the house copy rule, and the two
hub titles were also generic. Fixes across en/de/es/fr:
- /best-time: "Best Time to Visit: Crowd Calendars for 700+ Destinations"
(was "Best Time to Visit — PackedPlaces.com"). Descriptive + keyword-rich;
the page is the 729-destination crowd-calendar finder. Count verified from
the live sitemap (729 /destination/ URLs), so "700+" is accurate.
- /compare: "Compare How Crowded Destinations Are, Week by Week"
(was "Compare Crowds — PackedPlaces.com").
- /privacy, /contact: keep brand suffix but with a pipe separator.
- /contact metaDescription (en + de): em-dash replaced with a period.
Title template is "%s" (brand appears once), so no double-brand. No message
keys added or removed; only values changed. Verified: JSON valid for all four
locales, top-level key parity across en/de/es/fr, zero em/en-dash in the new
strings.
Co-Authored-By: Claude Opus 4.8 <noreply@anthropic.com>
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
Problem
The
metaTitle(SEO<title>) for/privacy,/contact,/best-timeand/compareused an em-dash separator, e.g.Best Time to Visit — PackedPlaces.com. Em-dashes are against the house copy rule (they read AI-generated) and these are SEO-visible title tags. The two hub titles (/best-time,/compare) were also thin/generic. Flagged in the daily website audit (state 2026-08-30,[L] offen: "Sammel-Fix beim nächsten packedplaces-PR").Change (en/de/es/fr)
Best Time to Visit: Crowd Calendars for 700+ Destinations(wasBest Time to Visit — PackedPlaces.com). Now descriptive and keyword-rich; this page is the crowd-calendar finder over all destinations. The700+count is verified against the live sitemap (729/destination/URLs), so it is accurate, not invented.Compare How Crowded Destinations Are, Week by Week(wasCompare Crowds — PackedPlaces.com).Privacy Policy | PackedPlaces.com).Why it helps reach
/best-timealready picks up impressions for the "best time to visit" head intent (GSC 28d: 31 impressions, pos ~47) but with a generic title. Descriptive, keyword-led titles improve SERP relevance and CTR, and remove an off-brand character from the four hub/utility title tags that show in search results and social unfurls.Verified
%s(brand appears once), so no double-brand.next buildis OOM-limited in this environment (as with prior packedplaces PRs); this is a pure i18n message-value change with unchanged keys, so it cannot affect typecheck/build.Not in scope
Body-copy em-dashes remain in the message files (~40 per locale, in lede/subtitle prose). That is a larger, translation-sensitive sweep; this PR is limited to the SEO-visible meta fields flagged in the audit.
🤖 Generated with Claude Code