feat: horário em 3 dias, horário de funcionamento compacto, textura na equipa, estrutura/SEO
- Horário de aulas: cartões mais pequenos e estreitos; a partir de 992px mostra o dia anterior, hoje ao centro e o seguinte (a dar a volta à semana), com as horas alinhadas e os dias laterais esbatidos. O JPG continua a semana toda. - Horário de funcionamento: cartões compactos numa <dl>, ordenados por hora. - Equipa: fundo no cinzento da parede do ginásio com juntas de blocos e grão muito discretos (SVG inline). - Tira o «FitMe 3070» do header e esconde a newsletter. - Estrutura: um <main> em todas as páginas públicas (skip link aponta-lhe), h2 por secção com aria-labelledby, h3 nos itens em vez de h4, sem secções aninhadas, alts distintos na galeria e no h1 do CrossFit. - robots.txt e sitemap.xml gerados com o domínio da instalação; SEO_NOINDEX no .env tira uma cópia de staging dos motores de pesquisa. Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
This commit is contained in:
1 parent
90ee2a93bc
commit
8ebf20f52f
11 files changed
+317
-57
No files matched your search
@@ -101,3 +101,26 @@ function site_horario(PDO $pdo, string $local = ''): array {
|
||||
try { $st = $pdo->prepare($sql); $st->execute($args); return $st->fetchAll(PDO::FETCH_ASSOC); }
|
||||
catch (Throwable $e) { return []; }
|
||||
}
|
||||
|
||||
// ─── Indexing ─────────────────────────────────────────────────────────────────
|
||||
// SEO_NOINDEX=true in .env keeps an install out of search results (meta robots
|
||||
// + robots.txt "Disallow: /"). For staging copies such as fitme.andmore.pt,
|
||||
// which serve the same content as the real domain and would otherwise compete
|
||||
// with it as duplicate content.
|
||||
function seo_noindex(): bool {
|
||||
return filter_var(env('SEO_NOINDEX', 'false'), FILTER_VALIDATE_BOOLEAN);
|
||||
}
|
||||
|
||||
// Public, indexable URLs for sitemap.xml: the fixed pages plus any live event
|
||||
// landing page.
|
||||
function site_sitemap_urls(PDO $pdo): array {
|
||||
$urls = [
|
||||
['loc' => base_url(), 'priority' => '1.0'],
|
||||
['loc' => base_url('home/crossfit'), 'priority' => '0.8'],
|
||||
['loc' => base_url('home/privacidade'), 'priority' => '0.2'],
|
||||
];
|
||||
foreach (site_active_events($pdo) as $ev) {
|
||||
$urls[] = ['loc' => base_url('evento/' . rawurlencode($ev['slug'])), 'priority' => '0.6'];
|
||||
}
|
||||
return $urls;
|
||||
}
|
||||
Reference in new issue
Block a user