What broke
Person pages competed with tag pages, and plates differed per page
On kokkekunst.no, the same person had a tag page and a person page competing for the same name search, four portrait stories lacked the person's name tag, and the drawn "plate" for a person changed from page to page. Search Console showed Google didn't know any of the twelve person pages. The rule: one key per entity, everywhere, and check that new pages are actually linked and indexed.
The short version
What went wrongThe same person had a tag page and a person page competing for name searches. Four portrait stories lacked the person's tag, and the drawn plate differed between pages and years.
How we found itSearch Console URL Inspection showed Google did not know any of the twelve person pages. The plate and tag faults were listed in the 24 September commit without a stated discovery method.
The rule nowUse one key per entity everywhere. A new page isn't done until it is linked in and indexed, which includes a check in URL Inspection.
This post documents something Claude got wrong. The claim rests on a commit or a file, not on memory. All of Claude's mistakes
The kokkekunst.no site has person pages: one page per finalist, judge or Norwegian champion with at least two sourced facts, with results year by year and the stories that mention them. It also has tag pages, which list stories by topic. In late September 2026 we found that these two kinds of page got in each other’s way, and that the same person was represented in different ways depending on which page you were on.
Two commits fixed it, four days apart. This post goes through what was wrong, how it showed up, and the rule we took from it.
A note on attribution. The commit messages describe the faults and the fixes. They do not say who introduced the faults, so this post doesn’t claim that Claude did.
Three ways one person became several
Two pages for one name. A story about a chef is tagged with that chef’s name. The site builds a page for every tag, so a chef with a person page also had a tag page, /tema/<name>, at the same time as /person/<name>. The commit message from 28 September says it plainly: “De to sidene konkurrerte om navnesøk, som er det som gir mest trafikk.” (The two pages competed for name searches, which is what brings the most traffic.) A comment added in the same commit says the tag page and the person page “lister de samme sakene, og personsida har resultatene i tillegg”. They list the same stories, and the person page also has the results. So the weaker page was competing with the stronger one for the searches that matter most.
Portraits without the name tag. Person pages find their stories through the person’s tag. The 24 September commit lists four portrait stories about NM finalists that didn’t carry the person’s own name tag. They had other tags, such as the championship and the city, but not the person the story was about. In the commit’s words, “sakene sto ikke på personsidene”: the stories were missing from the very pages built to collect them. According to the same commit message, one of these people is the name search that brings the most clicks.
A different plate on every page. The site doesn’t use portrait photos. Each person gets a drawn plate, generated from a seed string. The championship page and the podium drew it from a key that combined the championship id with the name. The commit message: “samme person fikk en annen tallerken på sin egen side og et nytt år”. The same person got a different plate on their own page, and a new one each year. The podium’s own design comment says readers should recognise the winner from the list below by the plate. That only works if the plate stays the same.
The 24 September commit also corrected some person data. For three people, merits with a year attached had been stored as general merits instead of dated results, even though the data file says they belong under results. After checking against the jury story from the Norwegian chefs’ association (NKL), we moved them. Two of the three got a person page as a result. A title was also fixed: “Årets kokk 2009” is a title, not a placing, so the summary no longer says “Gold in Årets kokk 2009”.
How we found it
The 24 September commit lists the plate and tag faults. It doesn’t say how they were found.
The search side turned up on 28 September through Search Console’s URL Inspection. The commit message records what it showed: news stories were indexed the same day they were published, but “alle tolv personsidene, /nyheter og /person var ukjente for Google”. All twelve person pages, the full story archive and the person index were unknown to Google.
The same commit records how the site was linked at the time:
/nyheter, the list of all stories, had one incoming link.- The news sitemap wasn’t in the sitemap index, and the index is the only sitemap Search Console had been given.
- Tag links on stories pointed to the tag page, not to the person page.
What changed
On 24 September:
- The plate is drawn from the person key everywhere: person page, championship page and podium.
- The four portrait stories got their name tags.
- The dated merits were moved to results, and the title wording was fixed.
- The full-text file for AI search (
llms-full.txt) got a section on people, built from the same summary points as the person pages.
On 28 September:
- A tag page about a person who has a person page now names the person page as its canonical URL, and is left out of the sitemap. The sitemap only lists canonical pages.
- Tag links on stories go straight to the person page when there is one.
- The footer on every page links to all stories, championships, people and topics. A comment in the layout gives the reason: that is how search engines find the person pages and the full story list without waiting for the sitemap.
- The news sitemap is listed in the sitemap index, so Search Console reads it from there without anyone having to submit it by hand.
llms.txtis now generated at build time instead of being a static file. The static version listed NM i kokkekunst but was missing NM i servitørfaget and Yrkes-VM. Now every championship page with participants or a result is listed, and the winner of a finished championship goes in the link text.- Yrkes-VM 2026 got a series, so stories about it link to its championship page.
The two commits stop at the fix.
What it says about the build
The faults sat across pages, not on any one page: the same name with two URLs, the same person with two plates, a portrait story that its person page didn’t know about. A new page type had been added that did not yet fit with the existing ones (tags, sitemaps, footer links), and Google did not know about it.
The rule
One key per entity, everywhere. A person is identified the same way on every page that shows them: the same plate seed, the same tag, one canonical URL. If two pages describe the same entity, one of them is canonical and the other points to it.
A new page isn’t done until it is linked in and indexed. That means links from existing pages, a place in the sitemap that Search Console actually reads, and a check in URL Inspection that Google knows about it.