web: Entitaeten im JSON-LD verknuepft, News-Sitemap und llms.txt (Roadmap 2.1, 2.2, 2.7)
- App\Support\StructuredData: Portal-Organization als Publisher mit @id und Logo (ImageObject), Newsroom-@id; NewsArticle.author auf der Meldung und Organization auf der Newsroom-Seite beschreiben jetzt dieselbe Entitaet. Startseiten nutzen denselben Publisher. - /sitemap-news.xml je Spoke (NewsSitemapController): im Archiv sichtbare Meldungen der letzten 48 h, max. 1.000, news:publication mit Portalname und Sprache; 15 min gecacht, mit den anderen Sitemaps geleert; in robots.txt der Spokes. Hub liefert leere Liste. - /llms.txt je Host (LlmsTxtController): sachliche Beschreibung, URL-Aufbau, aktive Kategorien, Seiten fuer Unternehmen, Rechtliches; Hub verweist auf beide Portale. Keine Aussagen ueber KI-Nennungen. - Protokoll Teil 5 (Block 2) inkl. Betreiber-Schritten fuer das Publisher Center und Befund zu 2.5/E5; Roadmap 2.1/2.7 abgehakt. Co-Authored-By: Claude Opus 5 (1M context) <noreply@anthropic.com>
This commit is contained in:
parent
8cd76df0bb
commit
b60a28dc9c
15 changed files with 521 additions and 23 deletions
|
|
@ -38,8 +38,10 @@ test('the release detail page emits NewsArticle and BreadcrumbList JSON-LD', fun
|
|||
->assertSee('"@type":"NewsArticle"', false)
|
||||
->assertSee('"headline":"Strukturierte Daten für Pressemitteilungen"', false)
|
||||
->assertSee('"datePublished"', false)
|
||||
->assertSee('"publisher":{"@type":"Organization","name":"businessportal24"', false)
|
||||
->assertSee('"author":{"@type":"Organization","name":"Muster GmbH"', false)
|
||||
->assertSee('"publisher":{"@type":"Organization","@id":"https://businessportal24.test/#organization","name":"businessportal24"', false)
|
||||
->assertSee('"logo":{"@type":"ImageObject","url":"https://businessportal24.test/images/businessportal-logo.svg"', false)
|
||||
->assertSee('"author":{"@type":"Organization","@id":"https://businessportal24.test/de/newsroom/', false)
|
||||
->assertSee('#organization","name":"Muster GmbH"', false)
|
||||
->assertSee('"@type":"BreadcrumbList"', false)
|
||||
->assertSee('"articleSection":"Technologie"', false);
|
||||
});
|
||||
|
|
@ -77,7 +79,9 @@ test('a portal homepage emits WebSite JSON-LD with a SearchAction', function ()
|
|||
->assertSuccessful()
|
||||
->assertSee('"@type":"WebSite"', false)
|
||||
->assertSee('"@type":"SearchAction"', false)
|
||||
->assertSee('https://presseecho.test/de/suche?q={search_term_string}', false);
|
||||
->assertSee('https://presseecho.test/de/suche?q={search_term_string}', false)
|
||||
->assertSee('"@id":"https://presseecho.test/#organization"', false)
|
||||
->assertSee('"url":"https://presseecho.test/images/presseecho-logo.svg"', false);
|
||||
});
|
||||
|
||||
test('the newsroom page emits Organization JSON-LD for the company', function () {
|
||||
|
|
@ -100,6 +104,7 @@ test('the newsroom page emits Organization JSON-LD for the company', function ()
|
|||
$this->get('https://businessportal24.test/de/newsroom/'.$company->slug)
|
||||
->assertSuccessful()
|
||||
->assertSee('"@type":"Organization"', false)
|
||||
->assertSee('"@id":"https://businessportal24.test/de/newsroom/'.$company->slug.'#organization"', false)
|
||||
->assertSee('"name":"Newsroom AG"', false)
|
||||
->assertSee('"sameAs":["https://newsroom-ag.example"]', false);
|
||||
});
|
||||
|
|
|
|||
Loading…
Add table
Add a link
Reference in a new issue