Repository navigation
Avarii Termoenergetica azi: pagina oraș /avarii - #49
Open
tiXor-code wants to merge 1 commit into
Open
tiXor-code wants to merge 1 commit into
tiXor-code wants to merge 1 commit into
Conversation
Target query: 'termoenergetica avarii' (GSC: 4.592 impressions/28d, pos 9.7, split across /sector/6, /sector/1 and the contact guide with no single owning page). New /avarii rolls up the per-sector live views city-wide: dated answer-first status, grouped announcements table, per-sector summary, contact pointers and FAQ with FAQPage JSON-LD. Internal links added from the nav, the homepage intro bullet, sector page footers, sitemap and llms.txt. Co-Authored-By: Claude Fable 5 <noreply@anthropic.com>
|
The latest updates on your projects. Learn more about Vercel for GitHub.
|
There was a problem hiding this comment.
Reviewed the full diff plus the lib it depends on (lib/sector-live.ts, lib/seo.ts, lib/format.ts, lib/data.ts).
- Correctness: getCityLive rolls up getSectorLive per sector correctly; group sort (avarie-first, newest-first) matches /sector/[id]; statusSentence/restoreSentence/metaStatus branch consistently for the n=0/1/mixed/all-avarie/all-programat cases. The /ghid/care-sunt-informatiile-de-contact-pentru-avarii-la-termoenergetica link target exists in content/ghid/.
- Security: FAQPage JSON-LD goes through JsonLd in lib/seo.ts (the required
<escaping is intact), and the table renders scraped PT/street names as plain JSX text (React-escaped), not via dangerouslySetInnerHTML — consistent with the CLAUDE.md rule on untrusted CMTEB input. - SSG constraint respected:
dynamic = 'error', no client components, data read at build time only. - Minor non-blocking nit: generateMetadata() and the page body each independently call getCityLive(lcy), so getSectorLive scans all 6 sectors twice per build of this one page — harmless for a single static route, not worth blocking on.
Nav/homepage/sector-footer/sitemap/llms.txt link additions are small and consistent with existing idioms.
This branch was successfully deployed
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.
TLDR: 'termoenergetica avarii' gets 4,592 impressions/28d at position 9.7, but Google splits it across /sector/6, /sector/1 and the contact guide because no page owns the city-wide intent. This PR adds /avarii, a city-wide roll-up of the ongoing Termoenergetica announcements, and links it from the nav, homepage, sector pages, sitemap and llms.txt.
Why
GSC query-page data (last 30d) for 'termoenergetica avarii': /sector/6 (2,435 imp, pos 9.6), /sector/1 (1,161 imp, pos 9.9), contact guide (538 imp, pos 10.2, 0 clicks). Sector pages answer the per-sector version of this query; nothing answers the city-wide version. Same pattern the site already uses for map queries (/harta owns them, the homepage links there).
What changed
Verification
Order: SEO Sentinel content/brief id 121.
Generated with Claude Code