diff --git a/CHANGELOG.md b/CHANGELOG.md index ae56c46..ef783fc 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -6,7 +6,15 @@ All notable changes to **Tiger Core** (`webtigers/tiger-core`). Format follows ## [Unreleased] -## [0.37.0-beta] — 2026-07-22 +## [0.38.0-beta] — 2026-07-22 + +### Added +- **Ships a default brand logo** (`themes/puma/assets/img/logo.jpg`, served at `/_theme/img/logo.jpg`), so a + stock install has an Organization logo for structured data / share cards without uploading one. Point + `tiger.site.logo` at it (a full URL) or override with your own. +- **Organization + WebSite JSON-LD now carry a `description`** — from `tiger.site.description`, falling back + to `tiger.site.tagline`. `Seo_Service_Schema` emitted name/url/logo/sameAs but never a site description; + now the site graph does, so crawlers get a one-line "what this is." ### Changed - **CMS pages can now override shipped routes.** `Tiger_Controller_Plugin_PageDispatch` no longer only diff --git a/library/Tiger/Version.php b/library/Tiger/Version.php index 366529c..22a88f5 100644 --- a/library/Tiger/Version.php +++ b/library/Tiger/Version.php @@ -9,5 +9,5 @@ class Tiger_Version { /** Current Tiger Core version. Keep in lockstep with the git tag cut for a release. */ - const VERSION = '0.37.0-beta'; + const VERSION = '0.38.0-beta'; } diff --git a/modules/seo/services/Schema.php b/modules/seo/services/Schema.php index cbbf18a..cdf0e9e 100644 --- a/modules/seo/services/Schema.php +++ b/modules/seo/services/Schema.php @@ -118,6 +118,12 @@ private static function _organization($base, $request) 'url' => $base . '/', ]; + // Description: an explicit tiger.site.description, else the site tagline. + $desc = trim((string) self::_config('site.description', self::_config('site.tagline', ''))); + if ($desc !== '') { + $node['description'] = $desc; + } + // Logo: the Site Identity logo (tiger.site.logo), else the SEO share image (tiger.seo.og_image). $logo = self::_image(self::_config('site.logo', self::_config('seo.og_image', '')), $request); if ($logo) { @@ -148,6 +154,12 @@ private static function _website($base) 'publisher' => ['@id' => $base . '/#organization'], ]; + // Description: an explicit tiger.site.description, else the site tagline. + $desc = trim((string) self::_config('site.description', self::_config('site.tagline', ''))); + if ($desc !== '') { + $node['description'] = $desc; + } + // Sitelinks searchbox — only when the operator has a public search URL template configured. // e.g. tiger.seo.schema.search_url = "/search?q={search_term_string}" $search = trim((string) self::_config('seo.schema.search_url', '')); diff --git a/themes/puma/assets/img/logo.jpg b/themes/puma/assets/img/logo.jpg new file mode 100644 index 0000000..e36af3b Binary files /dev/null and b/themes/puma/assets/img/logo.jpg differ