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:
andreandClaude Opus 5.5 committed 2026-09-24 21:46:21 +01:00
1 parent 90ee2a93bc
commit 8ebf20f52f
11 files changed
+317 -57

No files matched your search

+2
View File
@@ -1,3 +1,5 @@
</main><?php /* opened at the end of site/_open.php */ ?>
<!-- Footer section -->
<footer class="footer-section set-bg fade-in"
data-setbg="<?= base_url(($current_uri_2 ?? '') == 'crossfit' ? 'site/assets/img/footer-bg-cf.jpg' : 'site/assets/img/footer-bg-gym.jpg') ?>">
+2 -2
View File
@@ -17,8 +17,8 @@ if (!$files || !is_array($files)) $files = [];
<div id="primary-slider" class="splide" style="padding:0;">
<div class="splide__track">
<ul class="splide__list">
<?php foreach($files as $f): ?>
<li class="splide__slide"><img src="<?= base_url($f) ?>" alt="Instalações FitMe 3070"></li>
<?php foreach($files as $gi => $f): /* distinct alt per photo — identical alts read as one image */ ?>
<li class="splide__slide"><img src="<?= base_url($f) ?>" alt="<?= htmlspecialchars(($gallery_h2 ?? 'Instalações') . ' — FitMe 3070, foto ' . ($gi + 1)) ?>"<?= $gi > 0 ? ' loading="lazy"' : '' ?>></li>
<?php endforeach; ?>
</ul>
</div>
+1 -1
View File
@@ -7,7 +7,7 @@
<div class="container h-100">
<div class="d-flex h-100 text-center align-items-center">
<div class="w-100 text-white">
<h1 class="display-3"><img src="<?= base_url('site/assets/img/logos/logo_crossfit_white.svg')?>" alt="CrossFit" style="opacity: .85; max-width: 320px;"></h1>
<h1 class="display-3"><img src="<?= base_url('site/assets/img/logos/logo_crossfit_white.svg')?>" alt="CrossFit 3070 — box de CrossFit em Mira" style="opacity: .85; max-width: 320px;"></h1>
<p class="lead mb-0"></p>
</div>
</div>
+4 -1
View File
@@ -25,6 +25,9 @@ $canonical = $GLOBALS['_canonical_override'] ?? base_url($page !== '' ? 'home/'
<meta name="theme-color" content="#C2D500">
<title><?= htmlspecialchars($page_title) ?></title>
<link rel="canonical" href="<?= $canonical ?>">
<?php if (seo_noindex()): /* staging copies (e.g. fitme.andmore.pt) must not compete with the real domain */ ?>
<meta name="robots" content="noindex, nofollow">
<?php endif; ?>
<!-- Preconnect to external origins -->
<link rel="preconnect" href="https://fonts.googleapis.com" crossorigin>
@@ -72,4 +75,4 @@ $canonical = $GLOBALS['_canonical_override'] ?? base_url($page !== '' ? 'home/'
<?= view('seo') ?>
</head>
<body>
<a href="#home" class="skip-link">Saltar para o conteúdo</a>
<a href="#conteudo" class="skip-link">Saltar para o conteúdo</a>