- app/api/seo.py (+ app/templates/seo/*): publiczny HTML SEO router (programmatic entity long-tail: performer/studio/scene/landing/2257), bez api-key. Importowany przez main.py — wymagany do uruchomienia, dotąd untracked. Opsec-clean (brak VPS IP/sekretów). - CLAUDE.md: instrukcje projektu (dotąd untracked). - .gitignore: .nimbalyst/ (lokalne tracker-tooling, nie dla OSS repo). Co-Authored-By: Claude Opus 4.8 (1M context) <noreply@anthropic.com>
23 lines
858 B
HTML
23 lines
858 B
HTML
{% extends "seo/base.html" %}
|
|
{% block title %}{{ studio.name }} — scenes & videos | Goon{% endblock %}
|
|
{% block description %}{{ studio.name }} scenes aggregated across multiple sources{% if studio.network %} ({{ studio.network }}){% endif %}. Browse the latest {{ scenes|length }} releases — metadata index by Goon.{% endblock %}
|
|
|
|
{% block jsonld %}
|
|
<script type="application/ld+json">
|
|
{
|
|
"@context":"https://schema.org",
|
|
"@type":"Organization",
|
|
"name": {{ studio.name|tojson }},
|
|
{% if studio.homepage_url %}"sameAs": {{ [studio.homepage_url]|tojson }},{% endif %}
|
|
"url": {{ canonical|tojson }}
|
|
}
|
|
</script>
|
|
{% endblock %}
|
|
|
|
{% block content %}
|
|
<h1>{{ studio.name }}</h1>
|
|
<p class="meta">
|
|
{% if studio.network %}Network: {{ studio.network }} · {% endif %}{{ scenes|length }} scenes indexed
|
|
</p>
|
|
{% include "seo/_cards.html" %}
|
|
{% endblock %}
|