Add embeddable per-destination crowd widget (/embed) as a backlink lever - #31
Merged
Merged
Conversation
The strongest unused off-page lever against the 'best time to visit X' authority gap (dozens of destination pages stuck at pos 40-99, link-bound): packedplaces is the only site with the crowd data, so it can ship a free data widget that earns backlinks to exactly those pages. - New /embed/<slug> route handler: a tiny, standalone, layout-free HTML document (a 12-month crowd bar chart + busiest/quietest + a link back to the destination). Self-contained inline CSS so it renders cleanly inside any host page's iframe. Locale via ?lang (en/de/es/fr). - Framing: /embed is excluded from the site-wide X-Frame-Options: SAMEORIGIN and served with Content-Security-Policy: frame-ancestors * so other sites can embed it; marked noindex (meta + X-Robots-Tag) so the thin widgets never compete with the real destination pages. - Each destination page gets an 'Embed this crowd chart' block: a live preview iframe plus a copy-to-clipboard snippet. The snippet pairs the iframe with an attribution <a> that lives in the HOST page's HTML, so it is the real followable backlink each embed places to that destination. - i18n en/de/es/fr (es/fr solid, machine-drafted, native review welcome). tsc/eslint/prettier green; next build green (778 routes incl. /embed/[slug]); runtime verified on a prod server: /embed/venice 200 with frame-ancestors * and NO X-Frame-Options, 12 bars, backlink present, ?lang=de localized, unknown slug 404, destination page shows the embed block. No dashes.
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.
The strongest unused off-page lever for packedplaces: a free, embeddable per-destination crowd widget that earns backlinks to exactly the pages that need them (dozens of "best time to visit X" destination pages stuck at pos 40-99, which are link-bound, not content-bound). packedplaces is the only site in the portfolio with the crowd data to offer such a widget.
What
/embed/<slug>route handler: a tiny, standalone, layout-free HTML document (12-month crowd bar chart + busiest/quietest + a link back to the destination), self-contained inline CSS so it renders cleanly inside any host pages iframe. Locale via?lang` (en/de/es/fr)./embedis excluded from the site-wideX-Frame-Options: SAMEORIGINand served withContent-Security-Policy: frame-ancestors *, so any site can embed it. It isnoindex(meta +X-Robots-Tag) so the thin widget documents never compete with the real destination pages in search.<a>that lives in the HOST page`s HTML, so it is the real, followable backlink each embed places to that destination page.Why this shape
An iframe alone carries little SEO backlink value (its link lives in the iframe document). Pairing it with a visible attribution link in the host HTML is the standard widget-backlink pattern and is what actually feeds link authority to the pos-40-99 pages.
Verification
next buildgreen (778 routes incl./embed/[slug])/embed/venicereturns 200 withContent-Security-Policy: frame-ancestors *and noX-Frame-Options, 12 bars, backlink to/destination/venicepresent;?lang=delocalized; unknown slug 404; destination page renders the embed block with live preview + copy snippetNot merged.