- 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>
39 lines
1.4 KiB
PHP
39 lines
1.4 KiB
PHP
<?php
|
|
// robots.txt and sitemap.xml, generated so they always carry this install's
|
|
// own base URL (the site moves between domains) and honour SEO_NOINDEX.
|
|
//
|
|
// Reached via .htaccess: ^robots\.txt$ → ?f=robots, ^sitemap\.xml$ → ?f=sitemap
|
|
require_once __DIR__ . '/../config/db.php';
|
|
require_once __DIR__ . '/../config/functions.php';
|
|
|
|
$file = (string) ($_GET['f'] ?? '');
|
|
|
|
if ($file === 'robots') {
|
|
header('Content-Type: text/plain; charset=utf-8');
|
|
echo "User-agent: *\n";
|
|
if (seo_noindex()) {
|
|
echo "Disallow: /\n";
|
|
exit;
|
|
}
|
|
// Backoffice, endpoints and internals have nothing for a search engine.
|
|
foreach (['/views/', '/api/', '/shared/', '/config/', '/database/', '/includes/', '/templates/', '/cron.php'] as $p) {
|
|
echo "Disallow: {$p}\n";
|
|
}
|
|
echo "\nSitemap: " . base_url('sitemap.xml') . "\n";
|
|
exit;
|
|
}
|
|
|
|
if ($file === 'sitemap') {
|
|
if (seo_noindex()) { http_response_code(404); exit; }
|
|
header('Content-Type: application/xml; charset=utf-8');
|
|
echo '<?xml version="1.0" encoding="UTF-8"?>' . "\n";
|
|
echo '<urlset xmlns="http://www.sitemaps.org/schemas/sitemap/0.9">' . "\n";
|
|
foreach (site_sitemap_urls($pdo) as $u) {
|
|
echo ' <url><loc>' . htmlspecialchars($u['loc'], ENT_XML1) . '</loc><priority>' . $u['priority'] . "</priority></url>\n";
|
|
}
|
|
echo "</urlset>\n";
|
|
exit;
|
|
}
|
|
|
|
http_response_code(404);
|