SEO audit for abpg.pt
ABPG | Associação de Beneficência Popular de Gouveia
Health 67/100 (fair) · 50 pages crawled · generated 2026-08-26
Download Markdown report (feed to ChatGPT / Claude / Cursor)Instituição que tem como missão a promoção e o desenvolvimento integrado da população do Concelho de Gouveia nas áreas cultural, social e económica.
| Category | Score | Errors | Warnings | Notices |
|---|---|---|---|---|
| Agent Readiness | 72 | 0 | 47 | 43 |
| Canonical | 72 | 0 | 47 | 0 |
| Security | 72 | 0 | 47 | 94 |
| Performance | 74 | 0 | 43 | 188 |
| Content | 78 | 0 | 36 | 52 |
| Duplicate | 94 | 0 | 10 | 46 |
| Headings | 96 | 0 | 6 | 4 |
| Images | 99 | 0 | 2 | 47 |
| Titles | 99 | 0 | 2 | 18 |
| Links | 99 | 0 | 1 | 47 |
| Cache | 100 | 0 | 0 | 47 |
| Crawlability | 100 | 0 | 0 | 2 |
| Meta Description | 100 | 0 | 0 | 10 |
| Social | 100 | 0 | 0 | 94 |
| URL | 100 | 0 | 0 | 10 |
Warnings (10 rules)
warning Control has no accessible name
Rule agent.control_no_name · Agent Readiness · 47 occurrence(s)
- https://www.abpg.pt/ — 2 button/link(s) with no text or aria-label — an agent can't target them
- https://www.abpg.pt/a-regiao — 3 button/link(s) with no text or aria-label — an agent can't target them
- https://www.abpg.pt/areas-de-atividade — 3 button/link(s) with no text or aria-label — an agent can't target them
- https://www.abpg.pt/associacao — 3 button/link(s) with no text or aria-label — an agent can't target them
- https://www.abpg.pt/contactos — 3 button/link(s) with no text or aria-label — an agent can't target them
- https://www.abpg.pt/cultura — 3 button/link(s) with no text or aria-label — an agent can't target them
- https://www.abpg.pt/cultura/jornal-noticias-de-gouveia — 3 button/link(s) with no text or aria-label — an agent can't target them
- https://www.abpg.pt/desporto-lazer — 3 button/link(s) with no text or aria-label — an agent can't target them
- https://www.abpg.pt/desporto-lazer/health-club — 3 button/link(s) with no text or aria-label — an agent can't target them
- https://www.abpg.pt/idosos — 3 button/link(s) with no text or aria-label — an agent can't target them
- https://www.abpg.pt/idosos/casa-de-repouso-s-juliao — 3 button/link(s) with no text or aria-label — an agent can't target them
- https://www.abpg.pt/idosos/casa-de-repouso-s-juliao/plano-anual-de-atividades — 3 button/link(s) with no text or aria-label — an agent can't target them
- https://www.abpg.pt/index.asp — 2 button/link(s) with no text or aria-label — an agent can't target them
- https://www.abpg.pt/infancia-juventude — 3 button/link(s) with no text or aria-label — an agent can't target them
- https://www.abpg.pt/infancia-juventude/creche — 3 button/link(s) with no text or aria-label — an agent can't target them
- https://www.abpg.pt/infancia-juventude/creche/objectivos — 3 button/link(s) with no text or aria-label — an agent can't target them
- https://www.abpg.pt/informacoes-legais — 3 button/link(s) with no text or aria-label — an agent can't target them
- https://www.abpg.pt/parcerias-e-protocolos — 3 button/link(s) with no text or aria-label — an agent can't target them
- https://www.abpg.pt/pesquisa — 4 button/link(s) with no text or aria-label — an agent can't target them
- https://www.abpg.pt/populacao-portadora-de-deficiencia — 3 button/link(s) with no text or aria-label — an agent can't target them
- https://www.abpg.pt/populacao-portadora-de-deficiencia/nucleo-de-reabilitacao-profissional — 3 button/link(s) with no text or aria-label — an agent can't target them
- https://www.abpg.pt/populacao-portadora-de-deficiencia/nucleo-de-reabilitacao-profissional/cursos-de-formacao-profissional-e-formacao-continua — 2 button/link(s) with no text or aria-label — an agent can't target them
- https://www.abpg.pt/saude — 3 button/link(s) with no text or aria-label — an agent can't target them
- https://www.abpg.pt/saude/clinica-de-medicina-fisica-e-de-reabilitacao — 3 button/link(s) with no text or aria-label — an agent can't target them
- https://www.abpg.pt/saude/clinica-de-medicina-fisica-e-de-reabilitacao/quadro-tecnico — 3 button/link(s) with no text or aria-label — an agent can't target them
warning Missing canonical tag
Rule canonical.missing · Canonical · 47 occurrence(s)
- https://www.abpg.pt/
- https://www.abpg.pt/a-regiao
- https://www.abpg.pt/areas-de-atividade
- https://www.abpg.pt/associacao
- https://www.abpg.pt/contactos
- https://www.abpg.pt/cultura
- https://www.abpg.pt/cultura/jornal-noticias-de-gouveia
- https://www.abpg.pt/desporto-lazer
- https://www.abpg.pt/desporto-lazer/health-club
- https://www.abpg.pt/idosos
- https://www.abpg.pt/idosos/casa-de-repouso-s-juliao
- https://www.abpg.pt/idosos/casa-de-repouso-s-juliao/plano-anual-de-atividades
- https://www.abpg.pt/index.asp
- https://www.abpg.pt/infancia-juventude
- https://www.abpg.pt/infancia-juventude/creche
- https://www.abpg.pt/infancia-juventude/creche/objectivos
- https://www.abpg.pt/informacoes-legais
- https://www.abpg.pt/parcerias-e-protocolos
- https://www.abpg.pt/pesquisa
- https://www.abpg.pt/populacao-portadora-de-deficiencia
- https://www.abpg.pt/populacao-portadora-de-deficiencia/nucleo-de-reabilitacao-profissional
- https://www.abpg.pt/populacao-portadora-de-deficiencia/nucleo-de-reabilitacao-profissional/cursos-de-formacao-profissional-e-formacao-continua
- https://www.abpg.pt/saude
- https://www.abpg.pt/saude/clinica-de-medicina-fisica-e-de-reabilitacao
- https://www.abpg.pt/saude/clinica-de-medicina-fisica-e-de-reabilitacao/quadro-tecnico
warning Thin content (low word count)
Rule content.thin · Content · 36 occurrence(s)
- https://www.abpg.pt/ — 195 words
- https://www.abpg.pt/a-regiao — 144 words
- https://www.abpg.pt/areas-de-atividade — 166 words
- https://www.abpg.pt/cultura — 40 words
- https://www.abpg.pt/cultura/jornal-noticias-de-gouveia — 141 words
- https://www.abpg.pt/desporto-lazer — 41 words
- https://www.abpg.pt/desporto-lazer/health-club — 132 words
- https://www.abpg.pt/desporto-lazer/health-club/galeria — 45 words
- https://www.abpg.pt/idosos — 48 words
- https://www.abpg.pt/idosos/casa-de-repouso-s-juliao/plano-anual-de-atividades — 88 words
- https://www.abpg.pt/idosos/galeria — 49 words
- https://www.abpg.pt/idosos/lar-de-idosos-de-cativelos — 196 words
- https://www.abpg.pt/idosos/lar-rio-torto — 196 words
- https://www.abpg.pt/index.asp — 195 words
- https://www.abpg.pt/infancia-juventude — 41 words
- https://www.abpg.pt/infancia-juventude/contactos — 97 words
- https://www.abpg.pt/infancia-juventude/creche — 84 words
- https://www.abpg.pt/infancia-juventude/creche/objectivos — 110 words
- https://www.abpg.pt/infancia-juventude/jardim-infancia — 96 words
- https://www.abpg.pt/pesquisa — 37 words
- https://www.abpg.pt/populacao-portadora-de-deficiencia — 48 words
- https://www.abpg.pt/populacao-portadora-de-deficiencia/nucleo-de-reabilitacao-profissional — 131 words
- https://www.abpg.pt/populacao-portadora-de-deficiencia/nucleo-de-reabilitacao-profissional/cursos-de-formacao-profissional-e-formacao-continua — 195 words
- https://www.abpg.pt/saude — 62 words
- https://www.abpg.pt/saude/clinica-de-medicina-fisica-e-de-reabilitacao/quadro-tecnico — 136 words
warning Duplicate <title> across pages
Rule duplicate.title · Duplicate · 10 occurrence(s)
- https://www.abpg.pt/ — title shared by 4 pages: https://www.abpg.pt/index.asp, https://www.abpg.pt/populacao-portadora-de-deficiencia/nucleo-de-reabilitacao-profissional/cursos-de-formacao-profissional-e-formacao-continua, https://www.abpg.pt/uploads/canais_conteudos_ficheiros/Exerci%CC%81cio_2014.pdf.pdf
- https://www.abpg.pt/cultura/contactos — title shared by 6 pages: https://www.abpg.pt/infancia-juventude/contactos, https://www.abpg.pt/idosos/contactos, https://www.abpg.pt/populacao-portadora-de-deficiencia/contactos
- https://www.abpg.pt/desporto-lazer/contactos — title shared by 6 pages: https://www.abpg.pt/infancia-juventude/contactos, https://www.abpg.pt/idosos/contactos, https://www.abpg.pt/populacao-portadora-de-deficiencia/contactos
- https://www.abpg.pt/idosos/contactos — title shared by 6 pages: https://www.abpg.pt/infancia-juventude/contactos, https://www.abpg.pt/populacao-portadora-de-deficiencia/contactos, https://www.abpg.pt/saude/contactos
- https://www.abpg.pt/index.asp — title shared by 4 pages: https://www.abpg.pt/, https://www.abpg.pt/populacao-portadora-de-deficiencia/nucleo-de-reabilitacao-profissional/cursos-de-formacao-profissional-e-formacao-continua, https://www.abpg.pt/uploads/canais_conteudos_ficheiros/Exerci%CC%81cio_2014.pdf.pdf
- https://www.abpg.pt/infancia-juventude/contactos — title shared by 6 pages: https://www.abpg.pt/idosos/contactos, https://www.abpg.pt/populacao-portadora-de-deficiencia/contactos, https://www.abpg.pt/saude/contactos
- https://www.abpg.pt/populacao-portadora-de-deficiencia/contactos — title shared by 6 pages: https://www.abpg.pt/infancia-juventude/contactos, https://www.abpg.pt/idosos/contactos, https://www.abpg.pt/saude/contactos
- https://www.abpg.pt/populacao-portadora-de-deficiencia/nucleo-de-reabilitacao-profissional/cursos-de-formacao-profissional-e-formacao-continua — title shared by 4 pages: https://www.abpg.pt/, https://www.abpg.pt/index.asp, https://www.abpg.pt/uploads/canais_conteudos_ficheiros/Exerci%CC%81cio_2014.pdf.pdf
- https://www.abpg.pt/saude/contactos — title shared by 6 pages: https://www.abpg.pt/infancia-juventude/contactos, https://www.abpg.pt/idosos/contactos, https://www.abpg.pt/populacao-portadora-de-deficiencia/contactos
- https://www.abpg.pt/uploads/canais_conteudos_ficheiros/Exerci%CC%81cio_2014.pdf.pdf — title shared by 4 pages: https://www.abpg.pt/, https://www.abpg.pt/index.asp, https://www.abpg.pt/populacao-portadora-de-deficiencia/nucleo-de-reabilitacao-profissional/cursos-de-formacao-profissional-e-formacao-continua
warning Missing <h1>
Rule h1.missing · Headings · 6 occurrence(s)
warning Content-Type header doesn't match the actual content
Rule headers.content_type_mismatch · Security · 47 occurrence(s)
- https://www.abpg.pt/ — the Content-Type is "text/html" with no charset — the HTTP charset is authoritative and browsers otherwise guess the encoding, which can garble non-ASCII text (mojibake). Declare it explicitly: "text/html; charset=utf-8".
- https://www.abpg.pt/a-regiao — the Content-Type is "text/html" with no charset — the HTTP charset is authoritative and browsers otherwise guess the encoding, which can garble non-ASCII text (mojibake). Declare it explicitly: "text/html; charset=utf-8".
- https://www.abpg.pt/areas-de-atividade — the Content-Type is "text/html" with no charset — the HTTP charset is authoritative and browsers otherwise guess the encoding, which can garble non-ASCII text (mojibake). Declare it explicitly: "text/html; charset=utf-8".
- https://www.abpg.pt/associacao — the Content-Type is "text/html" with no charset — the HTTP charset is authoritative and browsers otherwise guess the encoding, which can garble non-ASCII text (mojibake). Declare it explicitly: "text/html; charset=utf-8".
- https://www.abpg.pt/contactos — the Content-Type is "text/html" with no charset — the HTTP charset is authoritative and browsers otherwise guess the encoding, which can garble non-ASCII text (mojibake). Declare it explicitly: "text/html; charset=utf-8".
- https://www.abpg.pt/cultura — the Content-Type is "text/html" with no charset — the HTTP charset is authoritative and browsers otherwise guess the encoding, which can garble non-ASCII text (mojibake). Declare it explicitly: "text/html; charset=utf-8".
- https://www.abpg.pt/cultura/jornal-noticias-de-gouveia — the Content-Type is "text/html" with no charset — the HTTP charset is authoritative and browsers otherwise guess the encoding, which can garble non-ASCII text (mojibake). Declare it explicitly: "text/html; charset=utf-8".
- https://www.abpg.pt/desporto-lazer — the Content-Type is "text/html" with no charset — the HTTP charset is authoritative and browsers otherwise guess the encoding, which can garble non-ASCII text (mojibake). Declare it explicitly: "text/html; charset=utf-8".
- https://www.abpg.pt/desporto-lazer/health-club — the Content-Type is "text/html" with no charset — the HTTP charset is authoritative and browsers otherwise guess the encoding, which can garble non-ASCII text (mojibake). Declare it explicitly: "text/html; charset=utf-8".
- https://www.abpg.pt/idosos — the Content-Type is "text/html" with no charset — the HTTP charset is authoritative and browsers otherwise guess the encoding, which can garble non-ASCII text (mojibake). Declare it explicitly: "text/html; charset=utf-8".
- https://www.abpg.pt/idosos/casa-de-repouso-s-juliao — the Content-Type is "text/html" with no charset — the HTTP charset is authoritative and browsers otherwise guess the encoding, which can garble non-ASCII text (mojibake). Declare it explicitly: "text/html; charset=utf-8".
- https://www.abpg.pt/idosos/casa-de-repouso-s-juliao/plano-anual-de-atividades — the Content-Type is "text/html" with no charset — the HTTP charset is authoritative and browsers otherwise guess the encoding, which can garble non-ASCII text (mojibake). Declare it explicitly: "text/html; charset=utf-8".
- https://www.abpg.pt/index.asp — the Content-Type is "text/html" with no charset — the HTTP charset is authoritative and browsers otherwise guess the encoding, which can garble non-ASCII text (mojibake). Declare it explicitly: "text/html; charset=utf-8".
- https://www.abpg.pt/infancia-juventude — the Content-Type is "text/html" with no charset — the HTTP charset is authoritative and browsers otherwise guess the encoding, which can garble non-ASCII text (mojibake). Declare it explicitly: "text/html; charset=utf-8".
- https://www.abpg.pt/infancia-juventude/creche — the Content-Type is "text/html" with no charset — the HTTP charset is authoritative and browsers otherwise guess the encoding, which can garble non-ASCII text (mojibake). Declare it explicitly: "text/html; charset=utf-8".
- https://www.abpg.pt/infancia-juventude/creche/objectivos — the Content-Type is "text/html" with no charset — the HTTP charset is authoritative and browsers otherwise guess the encoding, which can garble non-ASCII text (mojibake). Declare it explicitly: "text/html; charset=utf-8".
- https://www.abpg.pt/informacoes-legais — the Content-Type is "text/html" with no charset — the HTTP charset is authoritative and browsers otherwise guess the encoding, which can garble non-ASCII text (mojibake). Declare it explicitly: "text/html; charset=utf-8".
- https://www.abpg.pt/parcerias-e-protocolos — the Content-Type is "text/html" with no charset — the HTTP charset is authoritative and browsers otherwise guess the encoding, which can garble non-ASCII text (mojibake). Declare it explicitly: "text/html; charset=utf-8".
- https://www.abpg.pt/pesquisa — the Content-Type is "text/html" with no charset — the HTTP charset is authoritative and browsers otherwise guess the encoding, which can garble non-ASCII text (mojibake). Declare it explicitly: "text/html; charset=utf-8".
- https://www.abpg.pt/populacao-portadora-de-deficiencia — the Content-Type is "text/html" with no charset — the HTTP charset is authoritative and browsers otherwise guess the encoding, which can garble non-ASCII text (mojibake). Declare it explicitly: "text/html; charset=utf-8".
- https://www.abpg.pt/populacao-portadora-de-deficiencia/nucleo-de-reabilitacao-profissional — the Content-Type is "text/html" with no charset — the HTTP charset is authoritative and browsers otherwise guess the encoding, which can garble non-ASCII text (mojibake). Declare it explicitly: "text/html; charset=utf-8".
- https://www.abpg.pt/populacao-portadora-de-deficiencia/nucleo-de-reabilitacao-profissional/cursos-de-formacao-profissional-e-formacao-continua — the Content-Type is "text/html" with no charset — the HTTP charset is authoritative and browsers otherwise guess the encoding, which can garble non-ASCII text (mojibake). Declare it explicitly: "text/html; charset=utf-8".
- https://www.abpg.pt/saude — the Content-Type is "text/html" with no charset — the HTTP charset is authoritative and browsers otherwise guess the encoding, which can garble non-ASCII text (mojibake). Declare it explicitly: "text/html; charset=utf-8".
- https://www.abpg.pt/saude/clinica-de-medicina-fisica-e-de-reabilitacao — the Content-Type is "text/html" with no charset — the HTTP charset is authoritative and browsers otherwise guess the encoding, which can garble non-ASCII text (mojibake). Declare it explicitly: "text/html; charset=utf-8".
- https://www.abpg.pt/saude/clinica-de-medicina-fisica-e-de-reabilitacao/quadro-tecnico — the Content-Type is "text/html" with no charset — the HTTP charset is authoritative and browsers otherwise guess the encoding, which can garble non-ASCII text (mojibake). Declare it explicitly: "text/html; charset=utf-8".
warning Images missing alt text
Rule images.missing_alt · Images · 2 occurrence(s)
- https://www.abpg.pt/a-regiao — 2 of 8 images missing alt
- https://www.abpg.pt/associacao — 4 of 12 images missing alt
warning Internal link points to a redirect
Rule links.redirect_target · Links · 1 occurrence(s)
- https://www.abpg.pt/informacoes-legais — https://www.abpg.pt/uploads/canais_conteudos_ficheiros/Exerci%CC%81cio_2014.pdf.pdf → https://www.abpg.pt/index.asp
warning Render-blocking script in <head> (no defer/async)
Rule perf.render_blocking · Performance · 43 occurrence(s)
- https://www.abpg.pt/a-regiao — 1 render-blocking <script> in <head> (add defer/async or use type=module)
- https://www.abpg.pt/areas-de-atividade — 1 render-blocking <script> in <head> (add defer/async or use type=module)
- https://www.abpg.pt/associacao — 1 render-blocking <script> in <head> (add defer/async or use type=module)
- https://www.abpg.pt/contactos — 1 render-blocking <script> in <head> (add defer/async or use type=module)
- https://www.abpg.pt/cultura — 1 render-blocking <script> in <head> (add defer/async or use type=module)
- https://www.abpg.pt/cultura/jornal-noticias-de-gouveia — 1 render-blocking <script> in <head> (add defer/async or use type=module)
- https://www.abpg.pt/cultura/jornal-noticias-de-gouveia/historia — 1 render-blocking <script> in <head> (add defer/async or use type=module)
- https://www.abpg.pt/desporto-lazer — 1 render-blocking <script> in <head> (add defer/async or use type=module)
- https://www.abpg.pt/desporto-lazer/health-club — 1 render-blocking <script> in <head> (add defer/async or use type=module)
- https://www.abpg.pt/desporto-lazer/health-club/galeria — 1 render-blocking <script> in <head> (add defer/async or use type=module)
- https://www.abpg.pt/idosos — 1 render-blocking <script> in <head> (add defer/async or use type=module)
- https://www.abpg.pt/idosos/casa-de-repouso-s-juliao — 1 render-blocking <script> in <head> (add defer/async or use type=module)
- https://www.abpg.pt/idosos/casa-de-repouso-s-juliao/plano-anual-de-atividades — 1 render-blocking <script> in <head> (add defer/async or use type=module)
- https://www.abpg.pt/infancia-juventude — 1 render-blocking <script> in <head> (add defer/async or use type=module)
- https://www.abpg.pt/infancia-juventude/creche — 1 render-blocking <script> in <head> (add defer/async or use type=module)
- https://www.abpg.pt/infancia-juventude/creche/objectivos — 1 render-blocking <script> in <head> (add defer/async or use type=module)
- https://www.abpg.pt/infancia-juventude/jardim-infancia — 1 render-blocking <script> in <head> (add defer/async or use type=module)
- https://www.abpg.pt/informacoes-legais — 1 render-blocking <script> in <head> (add defer/async or use type=module)
- https://www.abpg.pt/parcerias-e-protocolos — 1 render-blocking <script> in <head> (add defer/async or use type=module)
- https://www.abpg.pt/pesquisa — 1 render-blocking <script> in <head> (add defer/async or use type=module)
- https://www.abpg.pt/populacao-portadora-de-deficiencia — 1 render-blocking <script> in <head> (add defer/async or use type=module)
- https://www.abpg.pt/populacao-portadora-de-deficiencia/nucleo-de-reabilitacao-profissional — 1 render-blocking <script> in <head> (add defer/async or use type=module)
- https://www.abpg.pt/saude — 1 render-blocking <script> in <head> (add defer/async or use type=module)
- https://www.abpg.pt/saude/clinica-de-medicina-fisica-e-de-reabilitacao — 1 render-blocking <script> in <head> (add defer/async or use type=module)
- https://www.abpg.pt/saude/clinica-de-medicina-fisica-e-de-reabilitacao/quadro-tecnico — 1 render-blocking <script> in <head> (add defer/async or use type=module)
warning Title likely truncated in SERP (too wide)
Rule title.too_long · Titles · 2 occurrence(s)
- https://www.abpg.pt/saude/unidade-de-cuidados-continuados-integrados-de-longa-duracao-e-manutencao — 79 chars, ~634px (limit ~580px)
- https://www.abpg.pt/saude/unidade-de-cuidados-continuados-integrados-de-media-duracao-e-reabilitacao — 81 chars, ~634px (limit ~580px)
Notices (25 rules)
notice Heading levels skip a level
Rule agent.heading_skip · Agent Readiness · 6 occurrence(s)
- https://www.abpg.pt/contactos — h3 follows h1 — skips h2
- https://www.abpg.pt/cultura/jornal-noticias-de-gouveia/historia — h3 follows h1 — skips h2
- https://www.abpg.pt/desporto-lazer/health-club — h3 follows h1 — skips h2
- https://www.abpg.pt/parcerias-e-protocolos — h3 follows h1 — skips h2
- https://www.abpg.pt/saude/unidade-de-cuidados-continuados-integrados-de-longa-duracao-e-manutencao — h3 follows h1 — skips h2
- https://www.abpg.pt/saude/unidade-de-cuidados-continuados-integrados-de-media-duracao-e-reabilitacao — h3 follows h1 — skips h2
notice No main landmark for AI agents
Rule agent.no_main_landmark · Agent Readiness · 37 occurrence(s)
- https://www.abpg.pt/ — add a <main> element (or role=main) around the primary content
- https://www.abpg.pt/a-regiao — add a <main> element (or role=main) around the primary content
- https://www.abpg.pt/areas-de-atividade — add a <main> element (or role=main) around the primary content
- https://www.abpg.pt/associacao — add a <main> element (or role=main) around the primary content
- https://www.abpg.pt/contactos — add a <main> element (or role=main) around the primary content
- https://www.abpg.pt/cultura/jornal-noticias-de-gouveia — add a <main> element (or role=main) around the primary content
- https://www.abpg.pt/cultura/jornal-noticias-de-gouveia/historia — add a <main> element (or role=main) around the primary content
- https://www.abpg.pt/desporto-lazer/health-club — add a <main> element (or role=main) around the primary content
- https://www.abpg.pt/idosos/casa-de-repouso-s-juliao — add a <main> element (or role=main) around the primary content
- https://www.abpg.pt/idosos/casa-de-repouso-s-juliao/plano-anual-de-atividades — add a <main> element (or role=main) around the primary content
- https://www.abpg.pt/idosos/lar-de-idosos-de-cativelos — add a <main> element (or role=main) around the primary content
- https://www.abpg.pt/idosos/lar-rio-torto — add a <main> element (or role=main) around the primary content
- https://www.abpg.pt/index.asp — add a <main> element (or role=main) around the primary content
- https://www.abpg.pt/infancia-juventude/catl — add a <main> element (or role=main) around the primary content
- https://www.abpg.pt/infancia-juventude/contactos — add a <main> element (or role=main) around the primary content
- https://www.abpg.pt/infancia-juventude/creche — add a <main> element (or role=main) around the primary content
- https://www.abpg.pt/infancia-juventude/creche/objectivos — add a <main> element (or role=main) around the primary content
- https://www.abpg.pt/infancia-juventude/jardim-infancia — add a <main> element (or role=main) around the primary content
- https://www.abpg.pt/informacoes-legais — add a <main> element (or role=main) around the primary content
- https://www.abpg.pt/parcerias-e-protocolos — add a <main> element (or role=main) around the primary content
- https://www.abpg.pt/populacao-portadora-de-deficiencia/nucleo-de-reabilitacao-profissional — add a <main> element (or role=main) around the primary content
- https://www.abpg.pt/populacao-portadora-de-deficiencia/nucleo-de-reabilitacao-profissional/cursos-de-formacao-profissional-e-formacao-continua — add a <main> element (or role=main) around the primary content
- https://www.abpg.pt/saude — add a <main> element (or role=main) around the primary content
- https://www.abpg.pt/saude/clinica-de-medicina-fisica-e-de-reabilitacao — add a <main> element (or role=main) around the primary content
- https://www.abpg.pt/saude/clinica-de-medicina-fisica-e-de-reabilitacao/quadro-tecnico — add a <main> element (or role=main) around the primary content
notice Page served uncached (no-store/private or CDN bypass)
Rule cache.not_cacheable · Cache · 47 occurrence(s)
- https://www.abpg.pt/ — Cache-Control: private
- https://www.abpg.pt/a-regiao — Cache-Control: private
- https://www.abpg.pt/areas-de-atividade — Cache-Control: private
- https://www.abpg.pt/associacao — Cache-Control: private
- https://www.abpg.pt/contactos — Cache-Control: private
- https://www.abpg.pt/cultura — Cache-Control: private
- https://www.abpg.pt/cultura/jornal-noticias-de-gouveia — Cache-Control: private
- https://www.abpg.pt/desporto-lazer — Cache-Control: private
- https://www.abpg.pt/desporto-lazer/health-club — Cache-Control: private
- https://www.abpg.pt/idosos — Cache-Control: private
- https://www.abpg.pt/idosos/casa-de-repouso-s-juliao — Cache-Control: private
- https://www.abpg.pt/idosos/casa-de-repouso-s-juliao/plano-anual-de-atividades — Cache-Control: private
- https://www.abpg.pt/index.asp — Cache-Control: private
- https://www.abpg.pt/infancia-juventude — Cache-Control: private
- https://www.abpg.pt/infancia-juventude/creche — Cache-Control: private
- https://www.abpg.pt/infancia-juventude/creche/objectivos — Cache-Control: private
- https://www.abpg.pt/informacoes-legais — Cache-Control: private
- https://www.abpg.pt/parcerias-e-protocolos — Cache-Control: private
- https://www.abpg.pt/pesquisa — Cache-Control: private
- https://www.abpg.pt/populacao-portadora-de-deficiencia — Cache-Control: private
- https://www.abpg.pt/populacao-portadora-de-deficiencia/nucleo-de-reabilitacao-profissional — Cache-Control: private
- https://www.abpg.pt/populacao-portadora-de-deficiencia/nucleo-de-reabilitacao-profissional/cursos-de-formacao-profissional-e-formacao-continua — Cache-Control: private
- https://www.abpg.pt/saude — Cache-Control: private
- https://www.abpg.pt/saude/clinica-de-medicina-fisica-e-de-reabilitacao — Cache-Control: private
- https://www.abpg.pt/saude/clinica-de-medicina-fisica-e-de-reabilitacao/quadro-tecnico — Cache-Control: private
notice Duplicate meta description across pages
Rule duplicate.meta_desc · Duplicate · 46 occurrence(s)
- https://www.abpg.pt/ — meta description shared by 23 pages: https://www.abpg.pt/index.asp, https://www.abpg.pt/pesquisa, https://www.abpg.pt/cultura
- https://www.abpg.pt/cultura — meta description shared by 23 pages: https://www.abpg.pt/, https://www.abpg.pt/index.asp, https://www.abpg.pt/pesquisa
- https://www.abpg.pt/cultura/jornal-noticias-de-gouveia — meta description shared by 23 pages: https://www.abpg.pt/, https://www.abpg.pt/index.asp, https://www.abpg.pt/pesquisa
- https://www.abpg.pt/desporto-lazer — meta description shared by 3 pages: https://www.abpg.pt/desporto-lazer/health-club, https://www.abpg.pt/desporto-lazer/parque-senhora-dos-verdes
- https://www.abpg.pt/desporto-lazer/health-club — meta description shared by 3 pages: https://www.abpg.pt/desporto-lazer, https://www.abpg.pt/desporto-lazer/parque-senhora-dos-verdes
- https://www.abpg.pt/desporto-lazer/parque-senhora-dos-verdes — meta description shared by 3 pages: https://www.abpg.pt/desporto-lazer, https://www.abpg.pt/desporto-lazer/health-club
- https://www.abpg.pt/idosos — meta description shared by 5 pages: https://www.abpg.pt/idosos/casa-de-repouso-s-juliao, https://www.abpg.pt/idosos/casa-de-repouso-s-juliao/plano-anual-de-atividades, https://www.abpg.pt/idosos/lar-rio-torto
- https://www.abpg.pt/idosos/casa-de-repouso-s-juliao — meta description shared by 5 pages: https://www.abpg.pt/idosos, https://www.abpg.pt/idosos/casa-de-repouso-s-juliao/plano-anual-de-atividades, https://www.abpg.pt/idosos/lar-rio-torto
- https://www.abpg.pt/idosos/casa-de-repouso-s-juliao/plano-anual-de-atividades — meta description shared by 5 pages: https://www.abpg.pt/idosos, https://www.abpg.pt/idosos/casa-de-repouso-s-juliao, https://www.abpg.pt/idosos/lar-rio-torto
- https://www.abpg.pt/idosos/lar-de-idosos-de-cativelos — meta description shared by 5 pages: https://www.abpg.pt/idosos, https://www.abpg.pt/idosos/casa-de-repouso-s-juliao, https://www.abpg.pt/idosos/casa-de-repouso-s-juliao/plano-anual-de-atividades
- https://www.abpg.pt/idosos/lar-rio-torto — meta description shared by 5 pages: https://www.abpg.pt/idosos, https://www.abpg.pt/idosos/casa-de-repouso-s-juliao, https://www.abpg.pt/idosos/casa-de-repouso-s-juliao/plano-anual-de-atividades
- https://www.abpg.pt/index.asp — meta description shared by 23 pages: https://www.abpg.pt/, https://www.abpg.pt/pesquisa, https://www.abpg.pt/cultura
- https://www.abpg.pt/infancia-juventude — meta description shared by 5 pages: https://www.abpg.pt/infancia-juventude/creche, https://www.abpg.pt/infancia-juventude/creche/objectivos, https://www.abpg.pt/infancia-juventude/jardim-infancia
- https://www.abpg.pt/infancia-juventude/catl — meta description shared by 5 pages: https://www.abpg.pt/infancia-juventude, https://www.abpg.pt/infancia-juventude/creche, https://www.abpg.pt/infancia-juventude/creche/objectivos
- https://www.abpg.pt/infancia-juventude/creche — meta description shared by 5 pages: https://www.abpg.pt/infancia-juventude, https://www.abpg.pt/infancia-juventude/creche/objectivos, https://www.abpg.pt/infancia-juventude/jardim-infancia
- https://www.abpg.pt/infancia-juventude/creche/objectivos — meta description shared by 5 pages: https://www.abpg.pt/infancia-juventude, https://www.abpg.pt/infancia-juventude/creche, https://www.abpg.pt/infancia-juventude/jardim-infancia
- https://www.abpg.pt/infancia-juventude/jardim-infancia — meta description shared by 5 pages: https://www.abpg.pt/infancia-juventude, https://www.abpg.pt/infancia-juventude/creche, https://www.abpg.pt/infancia-juventude/creche/objectivos
- https://www.abpg.pt/pesquisa — meta description shared by 23 pages: https://www.abpg.pt/, https://www.abpg.pt/index.asp, https://www.abpg.pt/cultura
- https://www.abpg.pt/populacao-portadora-de-deficiencia/nucleo-de-reabilitacao-profissional — meta description shared by 23 pages: https://www.abpg.pt/, https://www.abpg.pt/index.asp, https://www.abpg.pt/pesquisa
- https://www.abpg.pt/populacao-portadora-de-deficiencia/nucleo-de-reabilitacao-profissional/cursos-de-formacao-profissional-e-formacao-continua — meta description shared by 23 pages: https://www.abpg.pt/, https://www.abpg.pt/index.asp, https://www.abpg.pt/pesquisa
- https://www.abpg.pt/saude — meta description shared by 4 pages: https://www.abpg.pt/saude/clinica-de-medicina-fisica-e-de-reabilitacao, https://www.abpg.pt/saude/unidade-de-cuidados-continuados-integrados-de-media-duracao-e-reabilitacao, https://www.abpg.pt/saude/unidade-de-cuidados-continuados-integrados-de-longa-duracao-e-manutencao
- https://www.abpg.pt/saude/clinica-de-medicina-fisica-e-de-reabilitacao — meta description shared by 4 pages: https://www.abpg.pt/saude, https://www.abpg.pt/saude/unidade-de-cuidados-continuados-integrados-de-media-duracao-e-reabilitacao, https://www.abpg.pt/saude/unidade-de-cuidados-continuados-integrados-de-longa-duracao-e-manutencao
- https://www.abpg.pt/saude/clinica-de-medicina-fisica-e-de-reabilitacao/quadro-tecnico — meta description shared by 23 pages: https://www.abpg.pt/, https://www.abpg.pt/index.asp, https://www.abpg.pt/pesquisa
- https://www.abpg.pt/saude/unidade-de-cuidados-continuados-integrados-de-longa-duracao-e-manutencao — meta description shared by 4 pages: https://www.abpg.pt/saude, https://www.abpg.pt/saude/clinica-de-medicina-fisica-e-de-reabilitacao, https://www.abpg.pt/saude/unidade-de-cuidados-continuados-integrados-de-media-duracao-e-reabilitacao
- https://www.abpg.pt/saude/unidade-de-cuidados-continuados-integrados-de-media-duracao-e-reabilitacao — meta description shared by 4 pages: https://www.abpg.pt/saude, https://www.abpg.pt/saude/clinica-de-medicina-fisica-e-de-reabilitacao, https://www.abpg.pt/saude/unidade-de-cuidados-continuados-integrados-de-longa-duracao-e-manutencao
notice Missing <!DOCTYPE html> (quirks-mode rendering risk)
Rule encoding.doctype_missing · Content · 5 occurrence(s)
- https://www.abpg.pt/cultura/jornal-noticias-de-gouveia/historia — no <!DOCTYPE html> in the response — add it to avoid quirks-mode rendering differences
- https://www.abpg.pt/desporto-lazer/health-club/galeria — no <!DOCTYPE html> in the response — add it to avoid quirks-mode rendering differences
- https://www.abpg.pt/idosos/casa-de-repouso-s-juliao/plano-anual-de-atividades — no <!DOCTYPE html> in the response — add it to avoid quirks-mode rendering differences
- https://www.abpg.pt/infancia-juventude/creche/objectivos — no <!DOCTYPE html> in the response — add it to avoid quirks-mode rendering differences
- https://www.abpg.pt/saude/clinica-de-medicina-fisica-e-de-reabilitacao/quadro-tecnico — no <!DOCTYPE html> in the response — add it to avoid quirks-mode rendering differences
notice Multiple <h1> elements
Rule h1.multiple · Headings · 4 occurrence(s)
- https://www.abpg.pt/ — 2 <h1> elements
- https://www.abpg.pt/index.asp — 2 <h1> elements
- https://www.abpg.pt/populacao-portadora-de-deficiencia/nucleo-de-reabilitacao-profissional/cursos-de-formacao-profissional-e-formacao-continua — 2 <h1> elements
- https://www.abpg.pt/uploads/canais_conteudos_ficheiros/Exerci%CC%81cio_2014.pdf.pdf — 2 <h1> elements
notice Likely hero image lacks fetchpriority=high
Rule images.hero_no_fetchpriority · Performance · 47 occurrence(s)
- https://www.abpg.pt/ — the likely hero/LCP image (logo[2].png) has no fetchpriority="high" — adding it tells the browser to fetch the hero earlier in the waterfall, reducing Largest Contentful Paint. This is a low-severity nudge; verify the flagged image is actually your LCP element.
- https://www.abpg.pt/a-regiao — the likely hero/LCP image (logo[2].png) has no fetchpriority="high" — adding it tells the browser to fetch the hero earlier in the waterfall, reducing Largest Contentful Paint. This is a low-severity nudge; verify the flagged image is actually your LCP element.
- https://www.abpg.pt/areas-de-atividade — the likely hero/LCP image (logo[2].png) has no fetchpriority="high" — adding it tells the browser to fetch the hero earlier in the waterfall, reducing Largest Contentful Paint. This is a low-severity nudge; verify the flagged image is actually your LCP element.
- https://www.abpg.pt/associacao — the likely hero/LCP image (logo[2].png) has no fetchpriority="high" — adding it tells the browser to fetch the hero earlier in the waterfall, reducing Largest Contentful Paint. This is a low-severity nudge; verify the flagged image is actually your LCP element.
- https://www.abpg.pt/contactos — the likely hero/LCP image (logo[2].png) has no fetchpriority="high" — adding it tells the browser to fetch the hero earlier in the waterfall, reducing Largest Contentful Paint. This is a low-severity nudge; verify the flagged image is actually your LCP element.
- https://www.abpg.pt/cultura — the likely hero/LCP image (logo[2].png) has no fetchpriority="high" — adding it tells the browser to fetch the hero earlier in the waterfall, reducing Largest Contentful Paint. This is a low-severity nudge; verify the flagged image is actually your LCP element.
- https://www.abpg.pt/cultura/jornal-noticias-de-gouveia — the likely hero/LCP image (logo[2].png) has no fetchpriority="high" — adding it tells the browser to fetch the hero earlier in the waterfall, reducing Largest Contentful Paint. This is a low-severity nudge; verify the flagged image is actually your LCP element.
- https://www.abpg.pt/desporto-lazer — the likely hero/LCP image (logo[2].png) has no fetchpriority="high" — adding it tells the browser to fetch the hero earlier in the waterfall, reducing Largest Contentful Paint. This is a low-severity nudge; verify the flagged image is actually your LCP element.
- https://www.abpg.pt/desporto-lazer/health-club — the likely hero/LCP image (logo[2].png) has no fetchpriority="high" — adding it tells the browser to fetch the hero earlier in the waterfall, reducing Largest Contentful Paint. This is a low-severity nudge; verify the flagged image is actually your LCP element.
- https://www.abpg.pt/idosos — the likely hero/LCP image (logo[2].png) has no fetchpriority="high" — adding it tells the browser to fetch the hero earlier in the waterfall, reducing Largest Contentful Paint. This is a low-severity nudge; verify the flagged image is actually your LCP element.
- https://www.abpg.pt/idosos/casa-de-repouso-s-juliao — the likely hero/LCP image (logo[2].png) has no fetchpriority="high" — adding it tells the browser to fetch the hero earlier in the waterfall, reducing Largest Contentful Paint. This is a low-severity nudge; verify the flagged image is actually your LCP element.
- https://www.abpg.pt/idosos/casa-de-repouso-s-juliao/plano-anual-de-atividades — the likely hero/LCP image (logo[2].png) has no fetchpriority="high" — adding it tells the browser to fetch the hero earlier in the waterfall, reducing Largest Contentful Paint. This is a low-severity nudge; verify the flagged image is actually your LCP element.
- https://www.abpg.pt/index.asp — the likely hero/LCP image (logo[2].png) has no fetchpriority="high" — adding it tells the browser to fetch the hero earlier in the waterfall, reducing Largest Contentful Paint. This is a low-severity nudge; verify the flagged image is actually your LCP element.
- https://www.abpg.pt/infancia-juventude — the likely hero/LCP image (logo[2].png) has no fetchpriority="high" — adding it tells the browser to fetch the hero earlier in the waterfall, reducing Largest Contentful Paint. This is a low-severity nudge; verify the flagged image is actually your LCP element.
- https://www.abpg.pt/infancia-juventude/creche — the likely hero/LCP image (logo[2].png) has no fetchpriority="high" — adding it tells the browser to fetch the hero earlier in the waterfall, reducing Largest Contentful Paint. This is a low-severity nudge; verify the flagged image is actually your LCP element.
- https://www.abpg.pt/infancia-juventude/creche/objectivos — the likely hero/LCP image (logo[2].png) has no fetchpriority="high" — adding it tells the browser to fetch the hero earlier in the waterfall, reducing Largest Contentful Paint. This is a low-severity nudge; verify the flagged image is actually your LCP element.
- https://www.abpg.pt/informacoes-legais — the likely hero/LCP image (logo[2].png) has no fetchpriority="high" — adding it tells the browser to fetch the hero earlier in the waterfall, reducing Largest Contentful Paint. This is a low-severity nudge; verify the flagged image is actually your LCP element.
- https://www.abpg.pt/parcerias-e-protocolos — the likely hero/LCP image (logo[2].png) has no fetchpriority="high" — adding it tells the browser to fetch the hero earlier in the waterfall, reducing Largest Contentful Paint. This is a low-severity nudge; verify the flagged image is actually your LCP element.
- https://www.abpg.pt/pesquisa — the likely hero/LCP image (logo[2].png) has no fetchpriority="high" — adding it tells the browser to fetch the hero earlier in the waterfall, reducing Largest Contentful Paint. This is a low-severity nudge; verify the flagged image is actually your LCP element.
- https://www.abpg.pt/populacao-portadora-de-deficiencia — the likely hero/LCP image (logo[2].png) has no fetchpriority="high" — adding it tells the browser to fetch the hero earlier in the waterfall, reducing Largest Contentful Paint. This is a low-severity nudge; verify the flagged image is actually your LCP element.
- https://www.abpg.pt/populacao-portadora-de-deficiencia/nucleo-de-reabilitacao-profissional — the likely hero/LCP image (logo[2].png) has no fetchpriority="high" — adding it tells the browser to fetch the hero earlier in the waterfall, reducing Largest Contentful Paint. This is a low-severity nudge; verify the flagged image is actually your LCP element.
- https://www.abpg.pt/populacao-portadora-de-deficiencia/nucleo-de-reabilitacao-profissional/cursos-de-formacao-profissional-e-formacao-continua — the likely hero/LCP image (logo[2].png) has no fetchpriority="high" — adding it tells the browser to fetch the hero earlier in the waterfall, reducing Largest Contentful Paint. This is a low-severity nudge; verify the flagged image is actually your LCP element.
- https://www.abpg.pt/saude — the likely hero/LCP image (logo[2].png) has no fetchpriority="high" — adding it tells the browser to fetch the hero earlier in the waterfall, reducing Largest Contentful Paint. This is a low-severity nudge; verify the flagged image is actually your LCP element.
- https://www.abpg.pt/saude/clinica-de-medicina-fisica-e-de-reabilitacao — the likely hero/LCP image (logo[2].png) has no fetchpriority="high" — adding it tells the browser to fetch the hero earlier in the waterfall, reducing Largest Contentful Paint. This is a low-severity nudge; verify the flagged image is actually your LCP element.
- https://www.abpg.pt/saude/clinica-de-medicina-fisica-e-de-reabilitacao/quadro-tecnico — the likely hero/LCP image (logo[2].png) has no fetchpriority="high" — adding it tells the browser to fetch the hero earlier in the waterfall, reducing Largest Contentful Paint. This is a low-severity nudge; verify the flagged image is actually your LCP element.
notice Images without width/height (layout shift / CLS)
Rule images.missing_dimensions · Images · 47 occurrence(s)
- https://www.abpg.pt/ — 14 of 15 images without width/height
- https://www.abpg.pt/a-regiao — 7 of 8 images without width/height
- https://www.abpg.pt/areas-de-atividade — 12 of 13 images without width/height
- https://www.abpg.pt/associacao — 11 of 12 images without width/height
- https://www.abpg.pt/contactos — 3 of 4 images without width/height
- https://www.abpg.pt/cultura — 4 of 5 images without width/height
- https://www.abpg.pt/cultura/jornal-noticias-de-gouveia — 7 of 8 images without width/height
- https://www.abpg.pt/desporto-lazer — 4 of 5 images without width/height
- https://www.abpg.pt/desporto-lazer/health-club — 5 of 6 images without width/height
- https://www.abpg.pt/idosos — 4 of 5 images without width/height
- https://www.abpg.pt/idosos/casa-de-repouso-s-juliao — 4 of 5 images without width/height
- https://www.abpg.pt/idosos/casa-de-repouso-s-juliao/plano-anual-de-atividades — 4 of 5 images without width/height
- https://www.abpg.pt/index.asp — 14 of 15 images without width/height
- https://www.abpg.pt/infancia-juventude — 4 of 5 images without width/height
- https://www.abpg.pt/infancia-juventude/creche — 5 of 6 images without width/height
- https://www.abpg.pt/infancia-juventude/creche/objectivos — 4 of 5 images without width/height
- https://www.abpg.pt/informacoes-legais — 4 of 5 images without width/height
- https://www.abpg.pt/parcerias-e-protocolos — 4 of 5 images without width/height
- https://www.abpg.pt/pesquisa — 3 of 4 images without width/height
- https://www.abpg.pt/populacao-portadora-de-deficiencia — 5 of 6 images without width/height
- https://www.abpg.pt/populacao-portadora-de-deficiencia/nucleo-de-reabilitacao-profissional — 8 of 9 images without width/height
- https://www.abpg.pt/populacao-portadora-de-deficiencia/nucleo-de-reabilitacao-profissional/cursos-de-formacao-profissional-e-formacao-continua — 14 of 15 images without width/height
- https://www.abpg.pt/saude — 4 of 5 images without width/height
- https://www.abpg.pt/saude/clinica-de-medicina-fisica-e-de-reabilitacao — 4 of 5 images without width/height
- https://www.abpg.pt/saude/clinica-de-medicina-fisica-e-de-reabilitacao/quadro-tecnico — 4 of 5 images without width/height
notice Internal link has no anchor text / accessible name
Rule links.no_anchor_text · Links · 47 occurrence(s)
- https://www.abpg.pt/ — 1 internal link(s) have no anchor text, aria-label, or image alt — they pass no keyword signal and are unusable to screen readers. Add descriptive text or an aria-label.
- https://www.abpg.pt/a-regiao — 1 internal link(s) have no anchor text, aria-label, or image alt — they pass no keyword signal and are unusable to screen readers. Add descriptive text or an aria-label.
- https://www.abpg.pt/areas-de-atividade — 1 internal link(s) have no anchor text, aria-label, or image alt — they pass no keyword signal and are unusable to screen readers. Add descriptive text or an aria-label.
- https://www.abpg.pt/associacao — 1 internal link(s) have no anchor text, aria-label, or image alt — they pass no keyword signal and are unusable to screen readers. Add descriptive text or an aria-label.
- https://www.abpg.pt/contactos — 1 internal link(s) have no anchor text, aria-label, or image alt — they pass no keyword signal and are unusable to screen readers. Add descriptive text or an aria-label.
- https://www.abpg.pt/cultura — 1 internal link(s) have no anchor text, aria-label, or image alt — they pass no keyword signal and are unusable to screen readers. Add descriptive text or an aria-label.
- https://www.abpg.pt/cultura/jornal-noticias-de-gouveia — 1 internal link(s) have no anchor text, aria-label, or image alt — they pass no keyword signal and are unusable to screen readers. Add descriptive text or an aria-label.
- https://www.abpg.pt/desporto-lazer — 1 internal link(s) have no anchor text, aria-label, or image alt — they pass no keyword signal and are unusable to screen readers. Add descriptive text or an aria-label.
- https://www.abpg.pt/desporto-lazer/health-club — 1 internal link(s) have no anchor text, aria-label, or image alt — they pass no keyword signal and are unusable to screen readers. Add descriptive text or an aria-label.
- https://www.abpg.pt/idosos — 1 internal link(s) have no anchor text, aria-label, or image alt — they pass no keyword signal and are unusable to screen readers. Add descriptive text or an aria-label.
- https://www.abpg.pt/idosos/casa-de-repouso-s-juliao — 1 internal link(s) have no anchor text, aria-label, or image alt — they pass no keyword signal and are unusable to screen readers. Add descriptive text or an aria-label.
- https://www.abpg.pt/idosos/casa-de-repouso-s-juliao/plano-anual-de-atividades — 1 internal link(s) have no anchor text, aria-label, or image alt — they pass no keyword signal and are unusable to screen readers. Add descriptive text or an aria-label.
- https://www.abpg.pt/index.asp — 1 internal link(s) have no anchor text, aria-label, or image alt — they pass no keyword signal and are unusable to screen readers. Add descriptive text or an aria-label.
- https://www.abpg.pt/infancia-juventude — 1 internal link(s) have no anchor text, aria-label, or image alt — they pass no keyword signal and are unusable to screen readers. Add descriptive text or an aria-label.
- https://www.abpg.pt/infancia-juventude/creche — 1 internal link(s) have no anchor text, aria-label, or image alt — they pass no keyword signal and are unusable to screen readers. Add descriptive text or an aria-label.
- https://www.abpg.pt/infancia-juventude/creche/objectivos — 1 internal link(s) have no anchor text, aria-label, or image alt — they pass no keyword signal and are unusable to screen readers. Add descriptive text or an aria-label.
- https://www.abpg.pt/informacoes-legais — 1 internal link(s) have no anchor text, aria-label, or image alt — they pass no keyword signal and are unusable to screen readers. Add descriptive text or an aria-label.
- https://www.abpg.pt/parcerias-e-protocolos — 1 internal link(s) have no anchor text, aria-label, or image alt — they pass no keyword signal and are unusable to screen readers. Add descriptive text or an aria-label.
- https://www.abpg.pt/pesquisa — 1 internal link(s) have no anchor text, aria-label, or image alt — they pass no keyword signal and are unusable to screen readers. Add descriptive text or an aria-label.
- https://www.abpg.pt/populacao-portadora-de-deficiencia — 1 internal link(s) have no anchor text, aria-label, or image alt — they pass no keyword signal and are unusable to screen readers. Add descriptive text or an aria-label.
- https://www.abpg.pt/populacao-portadora-de-deficiencia/nucleo-de-reabilitacao-profissional — 1 internal link(s) have no anchor text, aria-label, or image alt — they pass no keyword signal and are unusable to screen readers. Add descriptive text or an aria-label.
- https://www.abpg.pt/populacao-portadora-de-deficiencia/nucleo-de-reabilitacao-profissional/cursos-de-formacao-profissional-e-formacao-continua — 1 internal link(s) have no anchor text, aria-label, or image alt — they pass no keyword signal and are unusable to screen readers. Add descriptive text or an aria-label.
- https://www.abpg.pt/saude — 1 internal link(s) have no anchor text, aria-label, or image alt — they pass no keyword signal and are unusable to screen readers. Add descriptive text or an aria-label.
- https://www.abpg.pt/saude/clinica-de-medicina-fisica-e-de-reabilitacao — 1 internal link(s) have no anchor text, aria-label, or image alt — they pass no keyword signal and are unusable to screen readers. Add descriptive text or an aria-label.
- https://www.abpg.pt/saude/clinica-de-medicina-fisica-e-de-reabilitacao/quadro-tecnico — 1 internal link(s) have no anchor text, aria-label, or image alt — they pass no keyword signal and are unusable to screen readers. Add descriptive text or an aria-label.
notice Legacy <meta name=keywords> tag present (Google ignores it)
Rule meta.keywords_present · Content · 47 occurrence(s)
- https://www.abpg.pt/ — a <meta name="keywords"> tag is present — Google has ignored it since 2009; remove it to cut template debt
- https://www.abpg.pt/a-regiao — a <meta name="keywords"> tag is present — Google has ignored it since 2009; remove it to cut template debt
- https://www.abpg.pt/areas-de-atividade — a <meta name="keywords"> tag is present — Google has ignored it since 2009; remove it to cut template debt
- https://www.abpg.pt/associacao — a <meta name="keywords"> tag is present — Google has ignored it since 2009; remove it to cut template debt
- https://www.abpg.pt/contactos — a <meta name="keywords"> tag is present — Google has ignored it since 2009; remove it to cut template debt
- https://www.abpg.pt/cultura — a <meta name="keywords"> tag is present — Google has ignored it since 2009; remove it to cut template debt
- https://www.abpg.pt/cultura/jornal-noticias-de-gouveia — a <meta name="keywords"> tag is present — Google has ignored it since 2009; remove it to cut template debt
- https://www.abpg.pt/desporto-lazer — a <meta name="keywords"> tag is present — Google has ignored it since 2009; remove it to cut template debt
- https://www.abpg.pt/desporto-lazer/health-club — a <meta name="keywords"> tag is present — Google has ignored it since 2009; remove it to cut template debt
- https://www.abpg.pt/idosos — a <meta name="keywords"> tag is present — Google has ignored it since 2009; remove it to cut template debt
- https://www.abpg.pt/idosos/casa-de-repouso-s-juliao — a <meta name="keywords"> tag is present — Google has ignored it since 2009; remove it to cut template debt
- https://www.abpg.pt/idosos/casa-de-repouso-s-juliao/plano-anual-de-atividades — a <meta name="keywords"> tag is present — Google has ignored it since 2009; remove it to cut template debt
- https://www.abpg.pt/index.asp — a <meta name="keywords"> tag is present — Google has ignored it since 2009; remove it to cut template debt
- https://www.abpg.pt/infancia-juventude — a <meta name="keywords"> tag is present — Google has ignored it since 2009; remove it to cut template debt
- https://www.abpg.pt/infancia-juventude/creche — a <meta name="keywords"> tag is present — Google has ignored it since 2009; remove it to cut template debt
- https://www.abpg.pt/infancia-juventude/creche/objectivos — a <meta name="keywords"> tag is present — Google has ignored it since 2009; remove it to cut template debt
- https://www.abpg.pt/informacoes-legais — a <meta name="keywords"> tag is present — Google has ignored it since 2009; remove it to cut template debt
- https://www.abpg.pt/parcerias-e-protocolos — a <meta name="keywords"> tag is present — Google has ignored it since 2009; remove it to cut template debt
- https://www.abpg.pt/pesquisa — a <meta name="keywords"> tag is present — Google has ignored it since 2009; remove it to cut template debt
- https://www.abpg.pt/populacao-portadora-de-deficiencia — a <meta name="keywords"> tag is present — Google has ignored it since 2009; remove it to cut template debt
- https://www.abpg.pt/populacao-portadora-de-deficiencia/nucleo-de-reabilitacao-profissional — a <meta name="keywords"> tag is present — Google has ignored it since 2009; remove it to cut template debt
- https://www.abpg.pt/populacao-portadora-de-deficiencia/nucleo-de-reabilitacao-profissional/cursos-de-formacao-profissional-e-formacao-continua — a <meta name="keywords"> tag is present — Google has ignored it since 2009; remove it to cut template debt
- https://www.abpg.pt/saude — a <meta name="keywords"> tag is present — Google has ignored it since 2009; remove it to cut template debt
- https://www.abpg.pt/saude/clinica-de-medicina-fisica-e-de-reabilitacao — a <meta name="keywords"> tag is present — Google has ignored it since 2009; remove it to cut template debt
- https://www.abpg.pt/saude/clinica-de-medicina-fisica-e-de-reabilitacao/quadro-tecnico — a <meta name="keywords"> tag is present — Google has ignored it since 2009; remove it to cut template debt
notice Meta description too long
Rule meta_desc.too_long · Meta Description · 10 occurrence(s)
- https://www.abpg.pt/a-regiao — 172 chars
- https://www.abpg.pt/areas-de-atividade — 172 chars
- https://www.abpg.pt/associacao — 172 chars
- https://www.abpg.pt/contactos — 172 chars
- https://www.abpg.pt/desporto-lazer — 165 chars
- https://www.abpg.pt/desporto-lazer/health-club — 165 chars
- https://www.abpg.pt/desporto-lazer/parque-senhora-dos-verdes — 165 chars
- https://www.abpg.pt/informacoes-legais — 172 chars
- https://www.abpg.pt/parcerias-e-protocolos — 172 chars
- https://www.abpg.pt/populacao-portadora-de-deficiencia — 161 chars
notice Missing Open Graph tags
Rule og.missing · Social · 47 occurrence(s)
- https://www.abpg.pt/ — og:title, og:description, og:image
- https://www.abpg.pt/a-regiao — og:title, og:description, og:image
- https://www.abpg.pt/areas-de-atividade — og:title, og:description, og:image
- https://www.abpg.pt/associacao — og:title, og:description, og:image
- https://www.abpg.pt/contactos — og:title, og:description, og:image
- https://www.abpg.pt/cultura — og:title, og:description, og:image
- https://www.abpg.pt/cultura/jornal-noticias-de-gouveia — og:title, og:description, og:image
- https://www.abpg.pt/desporto-lazer — og:title, og:description, og:image
- https://www.abpg.pt/desporto-lazer/health-club — og:title, og:description, og:image
- https://www.abpg.pt/idosos — og:title, og:description, og:image
- https://www.abpg.pt/idosos/casa-de-repouso-s-juliao — og:title, og:description, og:image
- https://www.abpg.pt/idosos/casa-de-repouso-s-juliao/plano-anual-de-atividades — og:title, og:description, og:image
- https://www.abpg.pt/index.asp — og:title, og:description, og:image
- https://www.abpg.pt/infancia-juventude — og:title, og:description, og:image
- https://www.abpg.pt/infancia-juventude/creche — og:title, og:description, og:image
- https://www.abpg.pt/infancia-juventude/creche/objectivos — og:title, og:description, og:image
- https://www.abpg.pt/informacoes-legais — og:title, og:description, og:image
- https://www.abpg.pt/parcerias-e-protocolos — og:title, og:description, og:image
- https://www.abpg.pt/pesquisa — og:title, og:description, og:image
- https://www.abpg.pt/populacao-portadora-de-deficiencia — og:title, og:description, og:image
- https://www.abpg.pt/populacao-portadora-de-deficiencia/nucleo-de-reabilitacao-profissional — og:title, og:description, og:image
- https://www.abpg.pt/populacao-portadora-de-deficiencia/nucleo-de-reabilitacao-profissional/cursos-de-formacao-profissional-e-formacao-continua — og:title, og:description, og:image
- https://www.abpg.pt/saude — og:title, og:description, og:image
- https://www.abpg.pt/saude/clinica-de-medicina-fisica-e-de-reabilitacao — og:title, og:description, og:image
- https://www.abpg.pt/saude/clinica-de-medicina-fisica-e-de-reabilitacao/quadro-tecnico — og:title, og:description, og:image
notice Legacy image format (jpg/png/gif) with no next-gen fallback
Rule perf.images_legacy_format · Performance · 47 occurrence(s)
- https://www.abpg.pt/ — 13 image(s) use a legacy format (jpg/png/gif) with no next-gen <picture> fallback. Serve WebP or AVIF (with a <picture> typed <source>) to cut image transfer weight and improve LCP.
- https://www.abpg.pt/a-regiao — 6 image(s) use a legacy format (jpg/png/gif) with no next-gen <picture> fallback. Serve WebP or AVIF (with a <picture> typed <source>) to cut image transfer weight and improve LCP.
- https://www.abpg.pt/areas-de-atividade — 11 image(s) use a legacy format (jpg/png/gif) with no next-gen <picture> fallback. Serve WebP or AVIF (with a <picture> typed <source>) to cut image transfer weight and improve LCP.
- https://www.abpg.pt/associacao — 10 image(s) use a legacy format (jpg/png/gif) with no next-gen <picture> fallback. Serve WebP or AVIF (with a <picture> typed <source>) to cut image transfer weight and improve LCP.
- https://www.abpg.pt/contactos — 2 image(s) use a legacy format (jpg/png/gif) with no next-gen <picture> fallback. Serve WebP or AVIF (with a <picture> typed <source>) to cut image transfer weight and improve LCP.
- https://www.abpg.pt/cultura — 3 image(s) use a legacy format (jpg/png/gif) with no next-gen <picture> fallback. Serve WebP or AVIF (with a <picture> typed <source>) to cut image transfer weight and improve LCP.
- https://www.abpg.pt/cultura/jornal-noticias-de-gouveia — 6 image(s) use a legacy format (jpg/png/gif) with no next-gen <picture> fallback. Serve WebP or AVIF (with a <picture> typed <source>) to cut image transfer weight and improve LCP.
- https://www.abpg.pt/desporto-lazer — 3 image(s) use a legacy format (jpg/png/gif) with no next-gen <picture> fallback. Serve WebP or AVIF (with a <picture> typed <source>) to cut image transfer weight and improve LCP.
- https://www.abpg.pt/desporto-lazer/health-club — 4 image(s) use a legacy format (jpg/png/gif) with no next-gen <picture> fallback. Serve WebP or AVIF (with a <picture> typed <source>) to cut image transfer weight and improve LCP.
- https://www.abpg.pt/idosos — 3 image(s) use a legacy format (jpg/png/gif) with no next-gen <picture> fallback. Serve WebP or AVIF (with a <picture> typed <source>) to cut image transfer weight and improve LCP.
- https://www.abpg.pt/idosos/casa-de-repouso-s-juliao — 3 image(s) use a legacy format (jpg/png/gif) with no next-gen <picture> fallback. Serve WebP or AVIF (with a <picture> typed <source>) to cut image transfer weight and improve LCP.
- https://www.abpg.pt/idosos/casa-de-repouso-s-juliao/plano-anual-de-atividades — 3 image(s) use a legacy format (jpg/png/gif) with no next-gen <picture> fallback. Serve WebP or AVIF (with a <picture> typed <source>) to cut image transfer weight and improve LCP.
- https://www.abpg.pt/index.asp — 13 image(s) use a legacy format (jpg/png/gif) with no next-gen <picture> fallback. Serve WebP or AVIF (with a <picture> typed <source>) to cut image transfer weight and improve LCP.
- https://www.abpg.pt/infancia-juventude — 3 image(s) use a legacy format (jpg/png/gif) with no next-gen <picture> fallback. Serve WebP or AVIF (with a <picture> typed <source>) to cut image transfer weight and improve LCP.
- https://www.abpg.pt/infancia-juventude/creche — 4 image(s) use a legacy format (jpg/png/gif) with no next-gen <picture> fallback. Serve WebP or AVIF (with a <picture> typed <source>) to cut image transfer weight and improve LCP.
- https://www.abpg.pt/infancia-juventude/creche/objectivos — 3 image(s) use a legacy format (jpg/png/gif) with no next-gen <picture> fallback. Serve WebP or AVIF (with a <picture> typed <source>) to cut image transfer weight and improve LCP.
- https://www.abpg.pt/informacoes-legais — 3 image(s) use a legacy format (jpg/png/gif) with no next-gen <picture> fallback. Serve WebP or AVIF (with a <picture> typed <source>) to cut image transfer weight and improve LCP.
- https://www.abpg.pt/parcerias-e-protocolos — 3 image(s) use a legacy format (jpg/png/gif) with no next-gen <picture> fallback. Serve WebP or AVIF (with a <picture> typed <source>) to cut image transfer weight and improve LCP.
- https://www.abpg.pt/pesquisa — 2 image(s) use a legacy format (jpg/png/gif) with no next-gen <picture> fallback. Serve WebP or AVIF (with a <picture> typed <source>) to cut image transfer weight and improve LCP.
- https://www.abpg.pt/populacao-portadora-de-deficiencia — 4 image(s) use a legacy format (jpg/png/gif) with no next-gen <picture> fallback. Serve WebP or AVIF (with a <picture> typed <source>) to cut image transfer weight and improve LCP.
- https://www.abpg.pt/populacao-portadora-de-deficiencia/nucleo-de-reabilitacao-profissional — 7 image(s) use a legacy format (jpg/png/gif) with no next-gen <picture> fallback. Serve WebP or AVIF (with a <picture> typed <source>) to cut image transfer weight and improve LCP.
- https://www.abpg.pt/populacao-portadora-de-deficiencia/nucleo-de-reabilitacao-profissional/cursos-de-formacao-profissional-e-formacao-continua — 13 image(s) use a legacy format (jpg/png/gif) with no next-gen <picture> fallback. Serve WebP or AVIF (with a <picture> typed <source>) to cut image transfer weight and improve LCP.
- https://www.abpg.pt/saude — 3 image(s) use a legacy format (jpg/png/gif) with no next-gen <picture> fallback. Serve WebP or AVIF (with a <picture> typed <source>) to cut image transfer weight and improve LCP.
- https://www.abpg.pt/saude/clinica-de-medicina-fisica-e-de-reabilitacao — 3 image(s) use a legacy format (jpg/png/gif) with no next-gen <picture> fallback. Serve WebP or AVIF (with a <picture> typed <source>) to cut image transfer weight and improve LCP.
- https://www.abpg.pt/saude/clinica-de-medicina-fisica-e-de-reabilitacao/quadro-tecnico — 3 image(s) use a legacy format (jpg/png/gif) with no next-gen <picture> fallback. Serve WebP or AVIF (with a <picture> typed <source>) to cut image transfer weight and improve LCP.
notice No ETag header (no conditional GET for unchanged pages)
Rule perf.no_etag · Performance · 47 occurrence(s)
- https://www.abpg.pt/ — the response carries no ETag header — without an ETag (or Last-Modified) there is no cache-revalidation mechanism, so crawlers re-download the full body every visit. Emit an ETag (a content hash) to enable conditional If-None-Match requests.
- https://www.abpg.pt/a-regiao — the response carries no ETag header — without an ETag (or Last-Modified) there is no cache-revalidation mechanism, so crawlers re-download the full body every visit. Emit an ETag (a content hash) to enable conditional If-None-Match requests.
- https://www.abpg.pt/areas-de-atividade — the response carries no ETag header — without an ETag (or Last-Modified) there is no cache-revalidation mechanism, so crawlers re-download the full body every visit. Emit an ETag (a content hash) to enable conditional If-None-Match requests.
- https://www.abpg.pt/associacao — the response carries no ETag header — without an ETag (or Last-Modified) there is no cache-revalidation mechanism, so crawlers re-download the full body every visit. Emit an ETag (a content hash) to enable conditional If-None-Match requests.
- https://www.abpg.pt/contactos — the response carries no ETag header — without an ETag (or Last-Modified) there is no cache-revalidation mechanism, so crawlers re-download the full body every visit. Emit an ETag (a content hash) to enable conditional If-None-Match requests.
- https://www.abpg.pt/cultura — the response carries no ETag header — without an ETag (or Last-Modified) there is no cache-revalidation mechanism, so crawlers re-download the full body every visit. Emit an ETag (a content hash) to enable conditional If-None-Match requests.
- https://www.abpg.pt/cultura/jornal-noticias-de-gouveia — the response carries no ETag header — without an ETag (or Last-Modified) there is no cache-revalidation mechanism, so crawlers re-download the full body every visit. Emit an ETag (a content hash) to enable conditional If-None-Match requests.
- https://www.abpg.pt/desporto-lazer — the response carries no ETag header — without an ETag (or Last-Modified) there is no cache-revalidation mechanism, so crawlers re-download the full body every visit. Emit an ETag (a content hash) to enable conditional If-None-Match requests.
- https://www.abpg.pt/desporto-lazer/health-club — the response carries no ETag header — without an ETag (or Last-Modified) there is no cache-revalidation mechanism, so crawlers re-download the full body every visit. Emit an ETag (a content hash) to enable conditional If-None-Match requests.
- https://www.abpg.pt/idosos — the response carries no ETag header — without an ETag (or Last-Modified) there is no cache-revalidation mechanism, so crawlers re-download the full body every visit. Emit an ETag (a content hash) to enable conditional If-None-Match requests.
- https://www.abpg.pt/idosos/casa-de-repouso-s-juliao — the response carries no ETag header — without an ETag (or Last-Modified) there is no cache-revalidation mechanism, so crawlers re-download the full body every visit. Emit an ETag (a content hash) to enable conditional If-None-Match requests.
- https://www.abpg.pt/idosos/casa-de-repouso-s-juliao/plano-anual-de-atividades — the response carries no ETag header — without an ETag (or Last-Modified) there is no cache-revalidation mechanism, so crawlers re-download the full body every visit. Emit an ETag (a content hash) to enable conditional If-None-Match requests.
- https://www.abpg.pt/index.asp — the response carries no ETag header — without an ETag (or Last-Modified) there is no cache-revalidation mechanism, so crawlers re-download the full body every visit. Emit an ETag (a content hash) to enable conditional If-None-Match requests.
- https://www.abpg.pt/infancia-juventude — the response carries no ETag header — without an ETag (or Last-Modified) there is no cache-revalidation mechanism, so crawlers re-download the full body every visit. Emit an ETag (a content hash) to enable conditional If-None-Match requests.
- https://www.abpg.pt/infancia-juventude/creche — the response carries no ETag header — without an ETag (or Last-Modified) there is no cache-revalidation mechanism, so crawlers re-download the full body every visit. Emit an ETag (a content hash) to enable conditional If-None-Match requests.
- https://www.abpg.pt/infancia-juventude/creche/objectivos — the response carries no ETag header — without an ETag (or Last-Modified) there is no cache-revalidation mechanism, so crawlers re-download the full body every visit. Emit an ETag (a content hash) to enable conditional If-None-Match requests.
- https://www.abpg.pt/informacoes-legais — the response carries no ETag header — without an ETag (or Last-Modified) there is no cache-revalidation mechanism, so crawlers re-download the full body every visit. Emit an ETag (a content hash) to enable conditional If-None-Match requests.
- https://www.abpg.pt/parcerias-e-protocolos — the response carries no ETag header — without an ETag (or Last-Modified) there is no cache-revalidation mechanism, so crawlers re-download the full body every visit. Emit an ETag (a content hash) to enable conditional If-None-Match requests.
- https://www.abpg.pt/pesquisa — the response carries no ETag header — without an ETag (or Last-Modified) there is no cache-revalidation mechanism, so crawlers re-download the full body every visit. Emit an ETag (a content hash) to enable conditional If-None-Match requests.
- https://www.abpg.pt/populacao-portadora-de-deficiencia — the response carries no ETag header — without an ETag (or Last-Modified) there is no cache-revalidation mechanism, so crawlers re-download the full body every visit. Emit an ETag (a content hash) to enable conditional If-None-Match requests.
- https://www.abpg.pt/populacao-portadora-de-deficiencia/nucleo-de-reabilitacao-profissional — the response carries no ETag header — without an ETag (or Last-Modified) there is no cache-revalidation mechanism, so crawlers re-download the full body every visit. Emit an ETag (a content hash) to enable conditional If-None-Match requests.
- https://www.abpg.pt/populacao-portadora-de-deficiencia/nucleo-de-reabilitacao-profissional/cursos-de-formacao-profissional-e-formacao-continua — the response carries no ETag header — without an ETag (or Last-Modified) there is no cache-revalidation mechanism, so crawlers re-download the full body every visit. Emit an ETag (a content hash) to enable conditional If-None-Match requests.
- https://www.abpg.pt/saude — the response carries no ETag header — without an ETag (or Last-Modified) there is no cache-revalidation mechanism, so crawlers re-download the full body every visit. Emit an ETag (a content hash) to enable conditional If-None-Match requests.
- https://www.abpg.pt/saude/clinica-de-medicina-fisica-e-de-reabilitacao — the response carries no ETag header — without an ETag (or Last-Modified) there is no cache-revalidation mechanism, so crawlers re-download the full body every visit. Emit an ETag (a content hash) to enable conditional If-None-Match requests.
- https://www.abpg.pt/saude/clinica-de-medicina-fisica-e-de-reabilitacao/quadro-tecnico — the response carries no ETag header — without an ETag (or Last-Modified) there is no cache-revalidation mechanism, so crawlers re-download the full body every visit. Emit an ETag (a content hash) to enable conditional If-None-Match requests.
notice No Last-Modified header (no conditional GET for unchanged pages)
Rule perf.no_last_modified · Performance · 47 occurrence(s)
- https://www.abpg.pt/ — the response carries no Last-Modified header — Googlebot can't send an If-Modified-Since request, so it re-downloads the full page body on every crawl even when nothing changed. Emit Last-Modified (or an ETag) on stable pages to enable 304 Not Modified responses.
- https://www.abpg.pt/a-regiao — the response carries no Last-Modified header — Googlebot can't send an If-Modified-Since request, so it re-downloads the full page body on every crawl even when nothing changed. Emit Last-Modified (or an ETag) on stable pages to enable 304 Not Modified responses.
- https://www.abpg.pt/areas-de-atividade — the response carries no Last-Modified header — Googlebot can't send an If-Modified-Since request, so it re-downloads the full page body on every crawl even when nothing changed. Emit Last-Modified (or an ETag) on stable pages to enable 304 Not Modified responses.
- https://www.abpg.pt/associacao — the response carries no Last-Modified header — Googlebot can't send an If-Modified-Since request, so it re-downloads the full page body on every crawl even when nothing changed. Emit Last-Modified (or an ETag) on stable pages to enable 304 Not Modified responses.
- https://www.abpg.pt/contactos — the response carries no Last-Modified header — Googlebot can't send an If-Modified-Since request, so it re-downloads the full page body on every crawl even when nothing changed. Emit Last-Modified (or an ETag) on stable pages to enable 304 Not Modified responses.
- https://www.abpg.pt/cultura — the response carries no Last-Modified header — Googlebot can't send an If-Modified-Since request, so it re-downloads the full page body on every crawl even when nothing changed. Emit Last-Modified (or an ETag) on stable pages to enable 304 Not Modified responses.
- https://www.abpg.pt/cultura/jornal-noticias-de-gouveia — the response carries no Last-Modified header — Googlebot can't send an If-Modified-Since request, so it re-downloads the full page body on every crawl even when nothing changed. Emit Last-Modified (or an ETag) on stable pages to enable 304 Not Modified responses.
- https://www.abpg.pt/desporto-lazer — the response carries no Last-Modified header — Googlebot can't send an If-Modified-Since request, so it re-downloads the full page body on every crawl even when nothing changed. Emit Last-Modified (or an ETag) on stable pages to enable 304 Not Modified responses.
- https://www.abpg.pt/desporto-lazer/health-club — the response carries no Last-Modified header — Googlebot can't send an If-Modified-Since request, so it re-downloads the full page body on every crawl even when nothing changed. Emit Last-Modified (or an ETag) on stable pages to enable 304 Not Modified responses.
- https://www.abpg.pt/idosos — the response carries no Last-Modified header — Googlebot can't send an If-Modified-Since request, so it re-downloads the full page body on every crawl even when nothing changed. Emit Last-Modified (or an ETag) on stable pages to enable 304 Not Modified responses.
- https://www.abpg.pt/idosos/casa-de-repouso-s-juliao — the response carries no Last-Modified header — Googlebot can't send an If-Modified-Since request, so it re-downloads the full page body on every crawl even when nothing changed. Emit Last-Modified (or an ETag) on stable pages to enable 304 Not Modified responses.
- https://www.abpg.pt/idosos/casa-de-repouso-s-juliao/plano-anual-de-atividades — the response carries no Last-Modified header — Googlebot can't send an If-Modified-Since request, so it re-downloads the full page body on every crawl even when nothing changed. Emit Last-Modified (or an ETag) on stable pages to enable 304 Not Modified responses.
- https://www.abpg.pt/index.asp — the response carries no Last-Modified header — Googlebot can't send an If-Modified-Since request, so it re-downloads the full page body on every crawl even when nothing changed. Emit Last-Modified (or an ETag) on stable pages to enable 304 Not Modified responses.
- https://www.abpg.pt/infancia-juventude — the response carries no Last-Modified header — Googlebot can't send an If-Modified-Since request, so it re-downloads the full page body on every crawl even when nothing changed. Emit Last-Modified (or an ETag) on stable pages to enable 304 Not Modified responses.
- https://www.abpg.pt/infancia-juventude/creche — the response carries no Last-Modified header — Googlebot can't send an If-Modified-Since request, so it re-downloads the full page body on every crawl even when nothing changed. Emit Last-Modified (or an ETag) on stable pages to enable 304 Not Modified responses.
- https://www.abpg.pt/infancia-juventude/creche/objectivos — the response carries no Last-Modified header — Googlebot can't send an If-Modified-Since request, so it re-downloads the full page body on every crawl even when nothing changed. Emit Last-Modified (or an ETag) on stable pages to enable 304 Not Modified responses.
- https://www.abpg.pt/informacoes-legais — the response carries no Last-Modified header — Googlebot can't send an If-Modified-Since request, so it re-downloads the full page body on every crawl even when nothing changed. Emit Last-Modified (or an ETag) on stable pages to enable 304 Not Modified responses.
- https://www.abpg.pt/parcerias-e-protocolos — the response carries no Last-Modified header — Googlebot can't send an If-Modified-Since request, so it re-downloads the full page body on every crawl even when nothing changed. Emit Last-Modified (or an ETag) on stable pages to enable 304 Not Modified responses.
- https://www.abpg.pt/pesquisa — the response carries no Last-Modified header — Googlebot can't send an If-Modified-Since request, so it re-downloads the full page body on every crawl even when nothing changed. Emit Last-Modified (or an ETag) on stable pages to enable 304 Not Modified responses.
- https://www.abpg.pt/populacao-portadora-de-deficiencia — the response carries no Last-Modified header — Googlebot can't send an If-Modified-Since request, so it re-downloads the full page body on every crawl even when nothing changed. Emit Last-Modified (or an ETag) on stable pages to enable 304 Not Modified responses.
- https://www.abpg.pt/populacao-portadora-de-deficiencia/nucleo-de-reabilitacao-profissional — the response carries no Last-Modified header — Googlebot can't send an If-Modified-Since request, so it re-downloads the full page body on every crawl even when nothing changed. Emit Last-Modified (or an ETag) on stable pages to enable 304 Not Modified responses.
- https://www.abpg.pt/populacao-portadora-de-deficiencia/nucleo-de-reabilitacao-profissional/cursos-de-formacao-profissional-e-formacao-continua — the response carries no Last-Modified header — Googlebot can't send an If-Modified-Since request, so it re-downloads the full page body on every crawl even when nothing changed. Emit Last-Modified (or an ETag) on stable pages to enable 304 Not Modified responses.
- https://www.abpg.pt/saude — the response carries no Last-Modified header — Googlebot can't send an If-Modified-Since request, so it re-downloads the full page body on every crawl even when nothing changed. Emit Last-Modified (or an ETag) on stable pages to enable 304 Not Modified responses.
- https://www.abpg.pt/saude/clinica-de-medicina-fisica-e-de-reabilitacao — the response carries no Last-Modified header — Googlebot can't send an If-Modified-Since request, so it re-downloads the full page body on every crawl even when nothing changed. Emit Last-Modified (or an ETag) on stable pages to enable 304 Not Modified responses.
- https://www.abpg.pt/saude/clinica-de-medicina-fisica-e-de-reabilitacao/quadro-tecnico — the response carries no Last-Modified header — Googlebot can't send an If-Modified-Since request, so it re-downloads the full page body on every crawl even when nothing changed. Emit Last-Modified (or an ETag) on stable pages to enable 304 Not Modified responses.
notice URL redirects to another URL
Rule redirect.single · Crawlability · 2 occurrence(s)
- https://www.abpg.pt/populacao-portadora-de-deficiencia/nucleo-de-reabilitacao-profissional/cursos-de-formacao-profissional-e-formacao-continua — redirects to https://www.abpg.pt/index.asp
- https://www.abpg.pt/uploads/canais_conteudos_ficheiros/Exerci%CC%81cio_2014.pdf.pdf — redirects to https://www.abpg.pt/index.asp
notice Missing recommended security headers
Rule security.missing_headers · Security · 47 occurrence(s)
- https://www.abpg.pt/ — HSTS, CSP
- https://www.abpg.pt/a-regiao — HSTS, CSP
- https://www.abpg.pt/areas-de-atividade — HSTS, CSP
- https://www.abpg.pt/associacao — HSTS, CSP
- https://www.abpg.pt/contactos — HSTS, CSP
- https://www.abpg.pt/cultura — HSTS, CSP
- https://www.abpg.pt/cultura/jornal-noticias-de-gouveia — HSTS, CSP
- https://www.abpg.pt/desporto-lazer — CSP, HSTS
- https://www.abpg.pt/desporto-lazer/health-club — CSP, HSTS
- https://www.abpg.pt/idosos — HSTS, CSP
- https://www.abpg.pt/idosos/casa-de-repouso-s-juliao — CSP, HSTS
- https://www.abpg.pt/idosos/casa-de-repouso-s-juliao/plano-anual-de-atividades — CSP, HSTS
- https://www.abpg.pt/index.asp — CSP, HSTS
- https://www.abpg.pt/infancia-juventude — HSTS, CSP
- https://www.abpg.pt/infancia-juventude/creche — HSTS, CSP
- https://www.abpg.pt/infancia-juventude/creche/objectivos — HSTS, CSP
- https://www.abpg.pt/informacoes-legais — HSTS, CSP
- https://www.abpg.pt/parcerias-e-protocolos — HSTS, CSP
- https://www.abpg.pt/pesquisa — HSTS, CSP
- https://www.abpg.pt/populacao-portadora-de-deficiencia — HSTS, CSP
- https://www.abpg.pt/populacao-portadora-de-deficiencia/nucleo-de-reabilitacao-profissional — HSTS, CSP
- https://www.abpg.pt/populacao-portadora-de-deficiencia/nucleo-de-reabilitacao-profissional/cursos-de-formacao-profissional-e-formacao-continua — HSTS, CSP
- https://www.abpg.pt/saude — HSTS, CSP
- https://www.abpg.pt/saude/clinica-de-medicina-fisica-e-de-reabilitacao — HSTS, CSP
- https://www.abpg.pt/saude/clinica-de-medicina-fisica-e-de-reabilitacao/quadro-tecnico — HSTS, CSP
notice target=_blank link without rel=noopener (tab-napping)
Rule security.unsafe_cross_origin_links · Security · 47 occurrence(s)
- https://www.abpg.pt/ — 3 external link(s) use target="_blank" without rel="noopener" — the opened page can hijack your tab (reverse tab-napping). Add rel="noopener noreferrer".
- https://www.abpg.pt/a-regiao — 3 external link(s) use target="_blank" without rel="noopener" — the opened page can hijack your tab (reverse tab-napping). Add rel="noopener noreferrer".
- https://www.abpg.pt/areas-de-atividade — 3 external link(s) use target="_blank" without rel="noopener" — the opened page can hijack your tab (reverse tab-napping). Add rel="noopener noreferrer".
- https://www.abpg.pt/associacao — 4 external link(s) use target="_blank" without rel="noopener" — the opened page can hijack your tab (reverse tab-napping). Add rel="noopener noreferrer".
- https://www.abpg.pt/contactos — 3 external link(s) use target="_blank" without rel="noopener" — the opened page can hijack your tab (reverse tab-napping). Add rel="noopener noreferrer".
- https://www.abpg.pt/cultura — 3 external link(s) use target="_blank" without rel="noopener" — the opened page can hijack your tab (reverse tab-napping). Add rel="noopener noreferrer".
- https://www.abpg.pt/cultura/jornal-noticias-de-gouveia — 4 external link(s) use target="_blank" without rel="noopener" — the opened page can hijack your tab (reverse tab-napping). Add rel="noopener noreferrer".
- https://www.abpg.pt/desporto-lazer — 3 external link(s) use target="_blank" without rel="noopener" — the opened page can hijack your tab (reverse tab-napping). Add rel="noopener noreferrer".
- https://www.abpg.pt/desporto-lazer/health-club — 4 external link(s) use target="_blank" without rel="noopener" — the opened page can hijack your tab (reverse tab-napping). Add rel="noopener noreferrer".
- https://www.abpg.pt/idosos — 3 external link(s) use target="_blank" without rel="noopener" — the opened page can hijack your tab (reverse tab-napping). Add rel="noopener noreferrer".
- https://www.abpg.pt/idosos/casa-de-repouso-s-juliao — 3 external link(s) use target="_blank" without rel="noopener" — the opened page can hijack your tab (reverse tab-napping). Add rel="noopener noreferrer".
- https://www.abpg.pt/idosos/casa-de-repouso-s-juliao/plano-anual-de-atividades — 3 external link(s) use target="_blank" without rel="noopener" — the opened page can hijack your tab (reverse tab-napping). Add rel="noopener noreferrer".
- https://www.abpg.pt/index.asp — 3 external link(s) use target="_blank" without rel="noopener" — the opened page can hijack your tab (reverse tab-napping). Add rel="noopener noreferrer".
- https://www.abpg.pt/infancia-juventude — 3 external link(s) use target="_blank" without rel="noopener" — the opened page can hijack your tab (reverse tab-napping). Add rel="noopener noreferrer".
- https://www.abpg.pt/infancia-juventude/creche — 4 external link(s) use target="_blank" without rel="noopener" — the opened page can hijack your tab (reverse tab-napping). Add rel="noopener noreferrer".
- https://www.abpg.pt/infancia-juventude/creche/objectivos — 3 external link(s) use target="_blank" without rel="noopener" — the opened page can hijack your tab (reverse tab-napping). Add rel="noopener noreferrer".
- https://www.abpg.pt/informacoes-legais — 3 external link(s) use target="_blank" without rel="noopener" — the opened page can hijack your tab (reverse tab-napping). Add rel="noopener noreferrer".
- https://www.abpg.pt/parcerias-e-protocolos — 3 external link(s) use target="_blank" without rel="noopener" — the opened page can hijack your tab (reverse tab-napping). Add rel="noopener noreferrer".
- https://www.abpg.pt/pesquisa — 3 external link(s) use target="_blank" without rel="noopener" — the opened page can hijack your tab (reverse tab-napping). Add rel="noopener noreferrer".
- https://www.abpg.pt/populacao-portadora-de-deficiencia — 3 external link(s) use target="_blank" without rel="noopener" — the opened page can hijack your tab (reverse tab-napping). Add rel="noopener noreferrer".
- https://www.abpg.pt/populacao-portadora-de-deficiencia/nucleo-de-reabilitacao-profissional — 3 external link(s) use target="_blank" without rel="noopener" — the opened page can hijack your tab (reverse tab-napping). Add rel="noopener noreferrer".
- https://www.abpg.pt/populacao-portadora-de-deficiencia/nucleo-de-reabilitacao-profissional/cursos-de-formacao-profissional-e-formacao-continua — 3 external link(s) use target="_blank" without rel="noopener" — the opened page can hijack your tab (reverse tab-napping). Add rel="noopener noreferrer".
- https://www.abpg.pt/saude — 3 external link(s) use target="_blank" without rel="noopener" — the opened page can hijack your tab (reverse tab-napping). Add rel="noopener noreferrer".
- https://www.abpg.pt/saude/clinica-de-medicina-fisica-e-de-reabilitacao — 3 external link(s) use target="_blank" without rel="noopener" — the opened page can hijack your tab (reverse tab-napping). Add rel="noopener noreferrer".
- https://www.abpg.pt/saude/clinica-de-medicina-fisica-e-de-reabilitacao/quadro-tecnico — 3 external link(s) use target="_blank" without rel="noopener" — the opened page can hijack your tab (reverse tab-napping). Add rel="noopener noreferrer".
notice Title tag is identical to the H1 (missed keyword variation)
Rule title.same_as_h1 · Titles · 7 occurrence(s)
- https://www.abpg.pt/cultura/contactos — the <title> and the H1 are identical — differentiate them to cover more query variation
- https://www.abpg.pt/desporto-lazer/contactos — the <title> and the H1 are identical — differentiate them to cover more query variation
- https://www.abpg.pt/idosos/contactos — the <title> and the H1 are identical — differentiate them to cover more query variation
- https://www.abpg.pt/infancia-juventude/contactos — the <title> and the H1 are identical — differentiate them to cover more query variation
- https://www.abpg.pt/pesquisa — the <title> and the H1 are identical — differentiate them to cover more query variation
- https://www.abpg.pt/populacao-portadora-de-deficiencia/contactos — the <title> and the H1 are identical — differentiate them to cover more query variation
- https://www.abpg.pt/saude/contactos — the <title> and the H1 are identical — differentiate them to cover more query variation
notice Title is very short
Rule title.too_short · Titles · 11 occurrence(s)
- https://www.abpg.pt/cultura — 14 chars
- https://www.abpg.pt/cultura/contactos — 9 chars
- https://www.abpg.pt/desporto-lazer/contactos — 9 chars
- https://www.abpg.pt/idosos — 13 chars
- https://www.abpg.pt/idosos/contactos — 9 chars
- https://www.abpg.pt/infancia-juventude/catl — 11 chars
- https://www.abpg.pt/infancia-juventude/contactos — 9 chars
- https://www.abpg.pt/infancia-juventude/creche — 13 chars
- https://www.abpg.pt/populacao-portadora-de-deficiencia/contactos — 9 chars
- https://www.abpg.pt/saude — 12 chars
- https://www.abpg.pt/saude/contactos — 9 chars
notice Missing Twitter Card tag
Rule twitter.missing · Social · 47 occurrence(s)
- https://www.abpg.pt/
- https://www.abpg.pt/a-regiao
- https://www.abpg.pt/areas-de-atividade
- https://www.abpg.pt/associacao
- https://www.abpg.pt/contactos
- https://www.abpg.pt/cultura
- https://www.abpg.pt/cultura/jornal-noticias-de-gouveia
- https://www.abpg.pt/desporto-lazer
- https://www.abpg.pt/desporto-lazer/health-club
- https://www.abpg.pt/idosos
- https://www.abpg.pt/idosos/casa-de-repouso-s-juliao
- https://www.abpg.pt/idosos/casa-de-repouso-s-juliao/plano-anual-de-atividades
- https://www.abpg.pt/index.asp
- https://www.abpg.pt/infancia-juventude
- https://www.abpg.pt/infancia-juventude/creche
- https://www.abpg.pt/infancia-juventude/creche/objectivos
- https://www.abpg.pt/informacoes-legais
- https://www.abpg.pt/parcerias-e-protocolos
- https://www.abpg.pt/pesquisa
- https://www.abpg.pt/populacao-portadora-de-deficiencia
- https://www.abpg.pt/populacao-portadora-de-deficiencia/nucleo-de-reabilitacao-profissional
- https://www.abpg.pt/populacao-portadora-de-deficiencia/nucleo-de-reabilitacao-profissional/cursos-de-formacao-profissional-e-formacao-continua
- https://www.abpg.pt/saude
- https://www.abpg.pt/saude/clinica-de-medicina-fisica-e-de-reabilitacao
- https://www.abpg.pt/saude/clinica-de-medicina-fisica-e-de-reabilitacao/quadro-tecnico
notice Non-ASCII characters in URL path
Rule url.non_ascii · URL · 1 occurrence(s)
notice URL is very long
Rule url.too_long · URL · 1 occurrence(s)
notice Underscores in URL path (prefer hyphens)
Rule url.underscores · URL · 4 occurrence(s)
- https://www.abpg.pt/uploads/canais_conteudos_ficheiros/Convocatoria_Assembleia_Geral_2015.pdf.pdf
- https://www.abpg.pt/uploads/canais_conteudos_ficheiros/Convocatoria_Assembleia_Geral_2016.pdf.pdf
- https://www.abpg.pt/uploads/canais_conteudos_ficheiros/DL_172A_14_Nov_2014%281%29.pdf.pdf
- https://www.abpg.pt/uploads/canais_conteudos_ficheiros/Exerci%CC%81cio_2014.pdf.pdf
notice Uppercase letters in URL path
Rule url.uppercase · URL · 4 occurrence(s)
- https://www.abpg.pt/uploads/canais_conteudos_ficheiros/Convocatoria_Assembleia_Geral_2015.pdf.pdf
- https://www.abpg.pt/uploads/canais_conteudos_ficheiros/Convocatoria_Assembleia_Geral_2016.pdf.pdf
- https://www.abpg.pt/uploads/canais_conteudos_ficheiros/DL_172A_14_Nov_2014%281%29.pdf.pdf
- https://www.abpg.pt/uploads/canais_conteudos_ficheiros/Exerci%CC%81cio_2014.pdf.pdf
Audit your own site — free
157 checks, internal PageRank, render-diff. No signup, results in ~30s.