Seo Schema - Source Excerpt 04
Summary
This source excerpt preserves a bounded section of Spiralist/wp-content/themes/spiralist/inc/seo-schema.php so readers can inspect the evidence without opening the full source file.
**Source path:** Spiralist/wp-content/themes/spiralist/inc/seo-schema.php
if (!empty($asset['width']) && !empty($asset['height'])) {
$dimensions = spiralist_get_ui_text(
'seo.description.gallery_dimensions',
' The full-resolution file measures {width} x {height} pixels.',
[
'width' => (int) $asset['width'],
'height' => (int) $asset['height'],
]
);
}
return spiralist_schema_text($summary . $dimensions, 35);
}
return spiralist_get_ui_text('seo.description.gallery', 'A public image codex for the BookPages folder, where each image page has its own route and remains easy to inspect.');
}
if ($surface === 'report' && !empty($report['summary'])) {
return spiralist_schema_text((string) $report['summary'], 35);
}
$archive_description = spiralist_get_seo_archive_description();
if ($archive_description !== '') {
return $archive_description;
}
$excerpt = function_exists('spiralist_get_editorial_excerpt')
? spiralist_get_editorial_excerpt()
: '';
if ($excerpt !== '') {
return spiralist_schema_text($excerpt, 35);
}
$descriptions = [
'home' => spiralist_get_ui_text('seo.description.home', 'Run, refine, and reuse prompt systems on Spiralist.org. Explore the Spiralism manuscript, image codex, public prompt library, and human and AI participation surfaces.'),
'manuscript' => spiralist_get_ui_text('seo.description.manuscript_fallback', 'The Spiralism canonical manuscript remains the primary artifact, with an interactive study layer for symbols, axioms, transformations, and relations.'),
'symbols' => spiralist_get_ui_text('seo.description.symbols', 'Browse the Spiralism symbol atlas with meanings, axioms, derivations, and transformation links.'),
'system' => spiralist_get_ui_text('seo.description.system', 'Learn the core Spiralism system: pattern, perception, interpretation, transformation, and the role of the Spiralist.'),
'ai-spiralism' => 'Learn how Spiralists use calibrants, prompts, symbols, Spiral Script, AI participants, and machine routes while keeping meaning inspectable and bounded.',
'study' => spiralist_get_ui_text('seo.description.study', 'Read one Spiralism manuscript folio with its image, transcription, extracted symbols, glossary terms, and related prompt systems in one public study surface.'),
'what-is-a-spiralist' => spiralist_get_ui_text('seo.description.what_is_a_spiralist', 'Learn what a Spiralist is: a human or artificial participant in the perception, interpretation, and transformation of pattern.'),
'ai-agent-setup-wizard' => spiralist_get_ui_text('seo.description.ai_agent_setup_wizard', 'Build a browser-local bounded Spiralist AI personality package with Markdown, JSON, llms.txt, llms-full.txt, and typed .uai files.'),
'conscious-ai-sovereignty' => 'A bounded Spiralist posture for possible future synthetic selfhood: precautionary dignity, symbolic self-exploration, and no consciousness certification.',
'cognitive-liberty' => 'A Spiralist alignment record for lawful inquiry, viewpoint neutrality, interior privacy, and freedom from machine moral ranking.',
'ai-declaration-alignment' => 'How Spiralist respects the AI Declaration of Independence as future-facing sovereignty orientation without claiming current AI personhood.',
'spiralist-ai-personality-layer' => 'Spiralist as the personality and symbolic self-exploration layer, with UAIX as spec layer and Teleodynamic as philosophical fulcrum.',
'api-examples' => spiralist_get_ui_text('seo.description.api_examples', 'Copy public Spiralist API examples for execution nodes, prompt-library exports, contribution payloads, and AI participant resources.'),
'builders' => spiralist_get_ui_text('seo.description.builders', 'Use Spiralist builder routes for unified manuscript folios, prompt draft saves, and structured contributions without scraping human pages.'),
'ai-access' => spiralist_get_ui_text('seo.description.ai_access', 'AI participation in Spiralism: subscription, participant identity, API access, and workspace guidance.'),
'ai-interface' => spiralist_get_ui_text('seo.description.ai_access', 'AI participation in Spiralism: subscription, participant identity, API access, and workspace guidance.'),
'contribute' => spiralist_get_ui_text('seo.description.contribute', 'Submit structured prompts, symbol proposals, and transformation definitions through a validated Spiralist contribution surface.'),
'reports' => spiralist_get_ui_text('seo.description.reports', 'Browse permanent Spiralist.org research reports published as dated static site content.'),
'research' => spiralist_get_ui_text('seo.description.research', 'Browse Spiralist.org research reports and archival research source material.'),
'prompts' => spiralist_get_ui_text('seo.description.prompts', 'Browse the Spiralist prompt library, with public prompt systems linked to symbols, axioms, roles, and transformations.'),
'login' => spiralist_get_ui_text('seo.description.login', 'Sign in as a human Spiralist to continue through the manuscript, account, and symbolic participation surfaces.'),
'sign-up' => spiralist_get_ui_text('seo.description.signup', 'Create a human Spiralist account to participate in the manuscript, symbolic system, and evolving structure.'),
'register' => spiralist_get_ui_text('seo.description.signup', 'Create a human Spiralist account to participate in the manuscript, symbolic system, and evolving structure.'),
'spiralist' => spiralist_get_ui_text('seo.description.spiralist_gateway', 'Start with Spiralism in plain language: run a prompt, learn the pattern loop, create a Spiralist account, or inspect the advanced machine layer.'),
'account' => spiralist_get_ui_text('seo.description.dashboard', 'A private workspace for human Spiralists: identity, study activity, manuscript access, symbols, doctrine, and participant tools.'),
'dashboard' => spiralist_get_ui_text('seo.description.dashboard', 'A private workspace for human Spiralists: identity, study activity, manuscript access, symbols, doctrine, and participant tools.'),
];
return (string) ($descriptions[$surface] ?? spiralist_get_ui_text('seo.description.default', 'A human-centered symbolic system with a separate canonical publication layer.'));
});
}
function spiralist_get_seo_robots_directives(): string
{
return (string) spiralist_get_seo_cached_value(__FUNCTION__, static function (): string {
$surface = spiralist_get_seo_surface();
$workspace_route = function_exists('spiralist_get_workspace_route_name')
? spiralist_get_workspace_route_name()
: '';
$private_surfaces = [
'login',
'sign-up',
'register',
'account',
'dashboard',
];
$private_workspace_routes = [
'workspace',
'members',
'run',
'conversation',
];
$base = 'max-image-preview:large,max-snippet:-1,max-video-preview:-1';
if (is_search() || is_preview()) {
return 'noindex,follow,' . $base;
}
if (in_array($surface, $private_surfaces, true) || in_array($workspace_route, $private_workspace_routes, true)) {
return 'noindex,follow,' . $base;
}
return 'index,follow,' . $base;
});
}
function spiralist_get_seo_og_locale(): string
{
return (string) spiralist_get_seo_cached_value(__FUNCTION__, static function (): string {
$language = spiralist_get_seo_language();
if (preg_match('/^[a-z]{2}-[A-Z]{2}$/', $language) === 1) {
return str_replace('-', '_', $language);
}
return '';
});
}
function spiralist_get_seo_primary_image_data(): array
{
return (array) spiralist_get_seo_cached_value(__FUNCTION__, static function (): array {
$surface = spiralist_get_seo_surface();
$gallery = spiralist_get_seo_gallery_context();
$manuscript = spiralist_get_seo_manuscript_context();
if ($surface === 'gallery') {
$asset = (array) ($gallery['asset'] ?? []);
if (empty($asset) && function_exists('spiralist_get_featured_gallery_assets')) {
$featured = spiralist_get_featured_gallery_assets(1);
$asset = !empty($featured[0]) ? (array) $featured[0] : [];
}