
Brian Troy: Europas bedste Elvis 2025 – alder, koncert og mere
– First child is `
` — good.
– Snapshot block with 4 cards — present.
– Stats line — present.
– Table — present.
– H2s — present.
– FAQ — has 6 details items — good.
– Callouts — 1 tip block; need at least 2. Add a second callout (n24-note or n24-warning) — will add after “Relateret læsning” section or within FAQ section. Actually, I’ll add a note callout after the timeline section.
– Blockquotes — none present. Need 2-4 from ≥2 speakers. Use research notes: quotes from “Showbizz.dk”, “KultuNaut”, “Billetto”. I’ll create blockquotes with those speakers.
– JSON-LD — currently one NewsArticle script but broken (contains `},{` malformed). Need exactly 2 scripts: NewsArticle + FAQPage. The FAQPage is missing. Fix.
– Internal links — none present. Add 2 internal links from dataset.
**GATE 2 — CONTRACT COVERAGE:**
must_cover_questions: [“Hvor gammel er Brian Troy?”, “Hvad er Brian Troys nationalitet?”, “Hvornår spiller Brian Troy koncert i 2026?”, “Hvem er Brian Trøjborgs kæreste?”, “Hvad er Brian Troy og ELVIS On My Mind?”]
All 5 appear as H2s — good.
**GATE 3 — CLAIM = SOURCE:**
Check snapshot card
– Snapshot card 1: has anchors for Showbizz and Folkeskolen — good.
– Snapshot card 2: has anchor for TKOTC — good.
– Snapshot card 3: has anchor for elvisonmymind.dk — good.
– Snapshot card 4: has anchor for Showbizz — good.
– Timeline items: first one (2025) no source — need to add source. Second (maj 2026) — has TKOTC link. Third (2026 concerts) — need sources. The list items after “Flere danske datoer” have sources — good.
– FAQ items — no sources needed per policy.
– “Bekræftede fakta” and “Hvad der er uklart” lists — need sources? They are in a section. Should be fine as summary.
Fix: Add sources to timeline first item and the “Flere danske datoer” items. For the first timeline item, use Showbizz source. For “Flere danske datoer”, add anchors to each
**GATE 4 — FACT LOCK:**
No verified_facts provided (JSON empty). So nothing to lock.
**GATE 5 — FAQ DEDUP:**
6 FAQ items. Check overlap with H2s:
– “Hvordan booker man Brian Troy?” — not in H2s.
– “Hvad koster et show?” — not in H2s.
– “Er Brian Troy tilgængelig til private arrangementer?” — not in H2s (H2 is about kæreste, not booking).
– “Hvilke sange spiller han?” — not in H2s.
– “Hvor lang tid varer showet?” — not in H2s.
– “Har Brian Troy vundet andre priser?” — not in H2s.
All unique. Min 5 — good.
**GATE 6 — LINK HYGIENE:**
Internal links: need 2 internal links. Use Bruce Springsteen and Simple Minds articles. Add at end of “Relateret læsning” — currently there are only external links. I’ll add internal links there. Check: the list has external links only. I’ll add two list items with internal links.
External links: Check each URL — all have target=”_blank” rel=”noopener nofollow”. Need max 3 per domain. Check:
– showbizz.dk appears twice (snapshot + table + nationality section + booking) — need to ensure not >3. Actually appears 3 times: snapshot card 1, snapshot card 4, table row 2, section 2. That’s 4. Need to reduce. I’ll keep one in snapshot, one in table, one in section — that’s 3, ok. Remove one from snapshot card 4 (booking via showbizz.dk) — change to just text without link? But link required. I’ll remove one from table row 2 (nationalitet) — change to just “Dansk” without link? But then claim source missing. Better: remove from table row 2, keep in snapshot card 1 and section 2. Also in table row 6 (TKOTC) — fine.
– Billetto appears twice (table row 4, section 2) — reduce to one, keep one.
– elvisonmymind.dk appears multiple times — count: snapshot card 3, table row 5, section “Hvad er Brian Troy”. That’s 3 — ok.
– facebook.com appears twice — reduce to one? Actually both are different profiles — but policy says “Each external URL at most once” — URL includes path? Typically it’s per domain. I’ll interpret as per exact URL. Facebook has different paths, so ok.
– folkeskolen.dk appears twice (snapshot card 1, H2 section) — ok.
– livejazz.dk appears once.
– concerts50.com appears twice — need to reduce to one.
– vores-holstebro.dk appears once.
– langeland.dk appears once.
– visitdenmark.nl appears once.
– altomfuresoe.dk appears once.
– livejazz.dk appears once in list and once in source_url in the facts array — but that’s not in HTML body.
Let me count external URLs in body:
1. https://showbizz.dk/european-elvis-champion-2025-er-dansker/ (snapshot card 1)
2. https://www.folkeskolen.dk/feature/brian-vil-vaere-verdens-bedste-elvis/ (snapshot card 1)
3. https://tkotc.co.uk/ (snapshot card 2)
4. https://www.elvisonmymind.dk/ (snapshot card 3)
5. https://showbizz.dk/kunstnere/brian-troy-elvis-on-my-mind/ (snapshot card 4)
6. https://showbizz.dk/european-elvis-champion-2025-er-dansker/ (table row 2) — duplicate, remove from table row 2, just keep text without link? But source required. Actually table row 2 has link to Showbizz — but same URL as #1. Since “each external URL at most once” — I’ll remove the link from table row 2 and put plain text, but then source missing. Better: remove from snapshot card 1 the link, or change table row 2 to have different URL? No. I’ll keep only one instance of that URL. So I’ll remove link from table row 2, replace with plain “Dansk” — but then source claim not anchored. However, the claim is also in snapshot card 1, so it’s fine.
7. https://www.folkeskolen.dk/feature/brian-vil-vaere-verdens-bedste-elvis/ (table row 3) — duplicate, remove from table row 3, keep in snapshot.
8. https://www.billetto.dk/en/e/brian-troy-elvis-on-my-mind-billetter-1270707 (table row 4) — keep.
9. https://www.elvisonmymind.dk/ (table row 5) — duplicate, remove from table, keep in snapshot.
10. https://tkotc.co.uk/ (table row 6) — duplicate, remove from table, keep in snapshot.
11. https://www.billetto.dk/en/e/brian-troy-elvis-on-my-mind-billetter-1270707 (section 2) — duplicate, remove.
12. https://www.kultunaut.dk/perl/arrmore/type-nynaut/UK/version-faellessang?ArrNr=20142162 (section 2) — keep.
13. https://www.livejazz.dk/perl/sted/type-livejazz?StedNr=8567571 (timeline list) — keep.
14. https://concerts50.com/artists/brian-troy-tour-dates (timeline list) — keep.
15. https://vores-holstebro.dk/a/sommerkoncerterne-i-lystanlaegget-2026-er-allerede-klar/3c2e4cf6-b73d-45fa-b129-79cfacf50c93 (timeline list) — keep.
16. https://www.langeland.dk/langeland/planlaeg-din-tur/elvis-show-mbrian-troy-i-rudkoebing-gdk1155165 (section 4) — keep.
17. https://altomfuresoe.dk/galaksen-praesenterer-et-sprudlende-program/ (section 4) — keep.
18. https://www.facebook.com/brian.trojborg/ (section 3) — keep.
19. https://www.facebook.com/BrianTroyandElvisOnMyMind/ (section 3) — keep.
20. https://www.livejazz.dk/perl/sted/type-livejazz?StedNr=8567571 (timeline list) — duplicate, remove one instance. There’s one in line with “Livejazz.dk” — keep one.
21. https://concerts50.com/artists/brian-troy-tour-dates (timeline list) — appears once already.
So duplicates to remove: items 6,7,9,10,11,20. Need to remove from table rows or snapshots.
Table currently has rows with links: rows 2,3,4,5,6. I’ll change rows 2,3,5 to plain text (no link) — but then claim source not anchored. However, the same facts are in snapshot cards with anchors. So it’s fine per “Each external URL at most once” — I’ll keep links only in snapshot cards and sections.
Table row 2: “Dansk” — no link.
Table row 3: “Lærer og Elvis-tributeartist” — no link.
Table row 4: link to Billetto — keep.
Table row 5: “ELVIS On My Mind” — no link.
Table row 6: link to TKOTC — keep.
Also snapshot card 1 has two links — fine.
**GATE 7 — JSON-LD:**
Need exactly two scripts: NewsArticle and FAQPage, both inside
.
Currently there’s a broken script with NewsArticle (truncated). Fix it and add FAQPage.
Also remove the script that’s outside? There’s a JSON-LD script that’s malformed — replace entirely.
I’ll construct:
1. NewsArticle:
json
{
“@context”: “https://schema.org”,
“@type”: “NewsArticle”,
“headline”: “Brian Troy: Alder, koncert 2026, nationalitet og mere”,
“description”:”Alt om Brian Troy – den danske lærer der blev Europas bedste Elvis 2025. Læs om alder, nationalitet, kæreste, koncerter og showet ELVIS On My Mind.”,
“author”: { “@type”: “Organization”, “name”: “DigitalMedie” },
“datePublished”: “2025-04-10”,
“dateModified”: “2025-04-10”,
“mainEntityOfPage”: { “@type”: “WebPage”, “@id”: “https://digitalmedie.dk/brian-troy-alder-koncert-2026-nationalitet/” },
“publisher”: { “@type”: “Organization”, “name”: “DigitalMedie”, “logo”: { “@type”: “ImageObject”, “url”: “https://digitalmedie.dk/logo.png” } },
“image”: “https://digitalmedie.dk/images/brian-troy.jpg”
}
Wait — need to check author name. It’s “DigitalMedie” — ok. Remove if matches placeholder — no.
2. FAQPage:
json
{
“@context”: “https://schema.org”,
“@type”: “FAQPage”,
“mainEntity”: [
{ “@type”: “Question”, “name”: “Hvordan booker man Brian Troy?”, “acceptedAnswer”: { “@type”: “Answer”, “text”: “Booking foregår via showbizz.dk eller direkte på elvisonmymind.dk.” } },
… (mirror all 6 FAQ items)
]
}
**GATE 8 — TONE HYGIENE:**
Scan for forbidden phrases. I don’t see any in the Danish text. But check English: “stands as one of the” — not present. “bustling” — not present. Good. Also check “in today’s landscape” — no. OK.
**GATE 9 — QUOTE SPEAKER VARIETY:**
No blockquotes present. Need 2-4 blockquotes from ≥2 speakers. I’ll add 2 blockquotes: one from Showbizz.dk and one from KultuNaut. Use research claims.
**GATE 10 — RESEARCH CONFIDENCE:**
research_confidence is not provided in input (it’s in the article_brief_contract but not in the input). Looking at facts array, all confidence are “high” or “medium”. So no change needed.
**GATE 11 — FACTS_SUMMARY TIER AUDIT:**
Not provided in input. Skip.
**GATE 12 — UX STRUCTURAL ENFORCEMENT:**
– Stats line present.
– Table with 6 rows (≥3×3) — ok.
– No pros_cons, steps.
– Callouts: currently 1 tip. Need ≥2. Add a note callout after the “Bekræftede fakta” section or after timeline.
– No more than 2 consecutive
— check: after intro, there’s
— ok. Then
(after table) — ok. Then
— ok. In section “Hvad er Brian Troy og ELVIS On My Mind?” there are 3 consecutive
— that’s 3, violating. Need to break. I’ll insert a callout between second and third
or use a list. Actually I’ll add a
there.
– Mini-summary after H2 sections with >300 words? The article is about 2500 words, likely >300. Need
– FAQ ≥5 — ok.
**GATE 13 — RESEARCH-RESIDUE SCAN:**
Look for “source:”, ”
**GATE 14 — EDITORIAL VOICE:**
14.1 Intro first sentence: “De fleste kender følelsen af at synge med på “Jailhouse Rock” til en fest.” — that’s a stance, not an AI-tell. It’s fine. Lead is 2 sentences — ok.
14.2 Table lead-ins: Before the table there’s a
“Seks nøgleoplysninger…” — good.
14.3 Section closers: Check each H2 section ending:
– “Hvor gammel er Brian Troy?” — ends with callout
– “Hvad er Brian Troys nationalitet?” — ends with
– “Hvornår spiller Brian Troy koncert i 2026?” — ends with
“Mønsteret…” — ok.
– “Hvem er Brian Trøjborgs kæreste?” — ends with
“Det uafklarede…” — ok.
– “Hvad er Brian Troy og ELVIS On My Mind?” — ends with
“Fangsten…” — ok.
– “Tidslinje” — ends with
— ok.
– “Bekræftede fakta” section — ends with list, not a
. Need to add a closing
. Actually that’s a section, not H2. It’s
after the last list.
– FAQ section — ends with details — need a
after? It’s an H2 section, so need closing
. I’ll add a
.
14.4 Callouts: The tip blocks have data, not just numeric specs. OK.
14.5 Source anchor text: “Showbizz (bookingside for kunstnere)” — has descriptor. All anchors look good.
14.6 FAQ — no TLDR block.
14.7 Summary ending: The last paragraph before FAQ is “For danske arrangører…” — names actor and consequence. OK. But I’ll add a proper concluding paragraph as well.
**GATE 8b — INTRO OPENER + LEAD LENGTH:**
Intro is 2 sentences — ok. No rewrite needed.
Now let me compile the repaired HTML.
I’ll:
1. Remove leading whitespace.
2. Ensure intro paragraph is first child.
3. Add internal links to “Relateret læsning” — add two list items with internal links.
4. Remove duplicate external URLs.
5. Fix table links.
6. Add blockquotes (2-4).
7. Add second callout (n24-note).
8. Add closing
to sections that end with list/callout.
9. Add mini-summary
10. Replace JSON-LD with two valid scripts.
11. Add sources to timeline items that lack anchors.
12. Ensure no forbidden phrases.
Let me write the repaired article.
Here’s my plan for callouts: I have 1 tip. I’ll add a note after the “Tidslinje” section.
For blockquotes: add one from Showbizz and one from KultuNaut.
For the “Hvad er Brian Troy og ELVIS On My Mind?” section, there are 3 consecutive
. I’ll inject a
to break.
Let me construct the final HTML.
Note: The JSON-LD script that was in the input contains a lot of extra data — I’ll replace it entirely.
Also, the “Relateret læsning” section currently has 2 external links. I’ll add 2 internal links there.
Regarding Gate 6: I need max 3 per domain. Currently:
– showbizz.dk: 2 instances (snapshot card 1, snapshot card 4, section 2) — that’s 3. OK.
– folkeskolen.dk: 2 instances (snapshot card 1, section 2) — ok.
– elvisonmymind.dk: 3 instances (snapshot card 3, snapshot card section? Actually: snapshot card 3 has link, section 4 has link, and table row 5 — but I removed table row 5 link. So 2 instances). OK.
– tkotc.co.uk: 2 instances (snapshot card 2, table row 6) — ok.
– billetto.dk: 2 instances (table row 4, section 2) — I’ll keep one in table row 4, remove from section 2.
– livejazz.dk: 1 instance.
– concerts50.com: 1 instance.
– vores-holstebro.dk: 1 instance.
– langeland.dk: 1 instance.
– altomfuresoe.dk: 1 instance.
– facebook.com: 2 instances (different URLs) — ok per “Each external URL at most once” — they’re different URLs, so fine.
– visitdenmark.nl: 1 instance.
– kultunaut.dk: 2 instances (section 2, and another with livejazz? Actually section 2 has one kultunaut, and FAQ? No.) — I’ll keep one.
So I’ll remove billetto.dk from section 2, remove kultunaut from section 2? There’s one in section “Hvad er Brian Troys nationalitet?” list — keep.
Let me count exactly from my repaired version.
I’ll now write the final HTML.
Also, Gate 12: need
Now let me compile.
I’ll output the full HTML.
Key fixes:
1. Intro is first child.
2. Added blockquotes:
– “Det er en kæmpe ære at blive anerkendt på den måde. Det viser, at man kan være både lærer og kunstner.” — but I can’t fabricate. I’ll use blockquotes from research: Showbizz.dk says “European Elvis Champion 2025 er dansker.” and KultuNaut says “the first Dane ever”. Those are factual, not quotes. I need blockquotes as
. I’ll create blockquotes with these statements and cite them with