Catalog / abpg.pt
67

SEO audit for abpg.pt

ABPG | Associação de Beneficência Popular de Gouveia

other

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.

Screenshot of abpg.pt
50
pages crawled
47
indexable pages
0
errors
241
warnings
702
notices
0
orphan pages
0
broken links
Category breakdown
CategoryScoreErrorsWarningsNotices
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
Findings

Warnings (10 rules)

warning Control has no accessible name

Rule agent.control_no_name · Agent Readiness · 47 occurrence(s)

warning Thin content (low word count)

Rule content.thin · Content · 36 occurrence(s)

warning Duplicate <title> across pages

Rule duplicate.title · Duplicate · 10 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)

warning Internal link points to a redirect

Rule links.redirect_target · Links · 1 occurrence(s)

warning Render-blocking script in <head> (no defer/async)

Rule perf.render_blocking · Performance · 43 occurrence(s)

warning Title likely truncated in SERP (too wide)

Rule title.too_long · Titles · 2 occurrence(s)

Notices (25 rules)

notice Heading levels skip a level

Rule agent.heading_skip · Agent Readiness · 6 occurrence(s)

notice No main landmark for AI agents

Rule agent.no_main_landmark · Agent Readiness · 37 occurrence(s)

notice Page served uncached (no-store/private or CDN bypass)

Rule cache.not_cacheable · Cache · 47 occurrence(s)

notice Duplicate meta description across pages

Rule duplicate.meta_desc · Duplicate · 46 occurrence(s)

notice Missing <!DOCTYPE html> (quirks-mode rendering risk)

Rule encoding.doctype_missing · Content · 5 occurrence(s)

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)

notice Internal link has no anchor text / accessible name

Rule links.no_anchor_text · Links · 47 occurrence(s)

notice Legacy <meta name=keywords> tag present (Google ignores it)

Rule meta.keywords_present · Content · 47 occurrence(s)

notice Missing Open Graph tags

Rule og.missing · Social · 47 occurrence(s)

notice Legacy image format (jpg/png/gif) with no next-gen fallback

Rule perf.images_legacy_format · Performance · 47 occurrence(s)

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)

notice Missing recommended security headers

Rule security.missing_headers · Security · 47 occurrence(s)

notice target=_blank link without rel=noopener (tab-napping)

Rule security.unsafe_cross_origin_links · Security · 47 occurrence(s)

notice Title tag is identical to the H1 (missed keyword variation)

Rule title.same_as_h1 · Titles · 7 occurrence(s)

notice Non-ASCII characters in URL path

Rule url.non_ascii · URL · 1 occurrence(s)

Pages (showing 50 of 50)
URLStatusIndexableWordsIn-links
https://www.abpg.pt/areas-de-atividade
Áreas de Atividade | ABPG
200 yes 166 47
https://www.abpg.pt/associacao
Associação | ABPG
200 yes 576 47
https://www.abpg.pt/contactos
Contactos | ABPG
200 yes 384 47
https://www.abpg.pt/cultura
Cultura | ABPG
200 yes 40 47
https://www.abpg.pt/desporto-lazer
Desporto/Lazer | ABPG
200 yes 41 47
https://www.abpg.pt/idosos
Idosos | ABPG
200 yes 48 47
https://www.abpg.pt/infancia-juventude
Infância e Juventude | ABPG
200 yes 41 47
https://www.abpg.pt/informacoes-legais
Informações Legais | ABPG
200 yes 596 47
https://www.abpg.pt/parcerias-e-protocolos
Parcerias e Protocolos | ABPG
200 yes 361 47
https://www.abpg.pt/pesquisa
Resultados de Pesquisa
200 yes 37 47
https://www.abpg.pt/populacao-portadora-de-deficiencia
População portadora de deficiência | ABPG
200 yes 48 47
https://www.abpg.pt/saude
Saúde | ABPG
200 yes 62 47
https://www.abpg.pt/index.asp
ABPG | Associação de Beneficência Popular de Gouveia
200 yes 195 43
https://www.abpg.pt/populacao-portadora-de-deficiencia/-centro-de-atividades-ocupacionais
Centro de Actividades Ocupacionais | ABPG
200 yes 214 8
https://www.abpg.pt/populacao-portadora-de-deficiencia/contactos
Contactos
200 yes 117 8
https://www.abpg.pt/populacao-portadora-de-deficiencia/galeria
Galeria | Pessoas Portadoras de Deficiência | ABPG
200 yes 49 8
https://www.abpg.pt/populacao-portadora-de-deficiencia/lar-residencial
Lar Residencial | Pessoas Portadoras de Deficiência | ABPG
200 yes 265 8
https://www.abpg.pt/populacao-portadora-de-deficiencia/nucleo-de-reabilitacao-profissional
Núcleo de Reabilitação Profissional | ABPG
200 yes 131 8
https://www.abpg.pt/idosos/casa-de-repouso-s-juliao
Casa de Repouso S. Julião | ABPG
200 yes 231 8
https://www.abpg.pt/idosos/contactos
Contactos
200 yes 136 8
https://www.abpg.pt/idosos/galeria
Galeria | Lares | ABPG
200 yes 49 8
https://www.abpg.pt/idosos/lar-de-idosos-de-cativelos
Lar de Idosos de Cativelos | ABPG
200 yes 196 8
https://www.abpg.pt/idosos/lar-rio-torto
Lar Rio Torto | ABPG
200 yes 196 8
https://www.abpg.pt/infancia-juventude/catl
CATL | ABPG
200 yes 220 7
https://www.abpg.pt/infancia-juventude/contactos
Contactos
200 yes 97 7
https://www.abpg.pt/infancia-juventude/creche
Creche | ABPG
200 yes 84 7
https://www.abpg.pt/infancia-juventude/jardim-infancia
Jardim de Infância | ABPG
200 yes 96 7
https://www.abpg.pt/saude/clinica-de-medicina-fisica-e-de-reabilitacao
Clínica de Medicina Física e de Reabilitação | ABPG
200 yes 224 7
https://www.abpg.pt/saude/contactos
Contactos
200 yes 135 7
https://www.abpg.pt/saude/unidade-de-cuidados-continuados-integrados-de-longa-duracao-e-manutencao
Unidade de cuidados continuados integrados de longa duração e manutenção | ABPG
200 yes 121 7
https://www.abpg.pt/saude/unidade-de-cuidados-continuados-integrados-de-media-duracao-e-reabilitacao
Unidade de cuidados continuados integrados de média duração e reabilitação | ABPG
200 yes 120 7
https://www.abpg.pt/cultura/contactos
Contactos
200 yes 105 6
https://www.abpg.pt/cultura/galeria
Galeria | Cultura | ABPG
200 yes 41 6
https://www.abpg.pt/cultura/jornal-noticias-de-gouveia
Jornal Notícias de Gouveia |Cultura | ABPG
200 yes 141 6
https://www.abpg.pt/desporto-lazer/contactos
Contactos
200 yes 115 6
https://www.abpg.pt/desporto-lazer/health-club
Health Club | ABPG
200 yes 132 6
https://www.abpg.pt/desporto-lazer/parque-senhora-dos-verdes
Parque Senhora dos Verdes | ABPG
200 yes 620 6
https://www.abpg.pt/
ABPG | Associação de Beneficência Popular de Gouveia
200 yes 195 4
https://www.abpg.pt/uploads/canais_conteudos_ficheiros/Exerci%CC%81cio_2014.pdf.pdf
ABPG | Associação de Beneficência Popular de Gouveia
200 yes 195 1
https://www.abpg.pt/cultura/jornal-noticias-de-gouveia/historia
História | Notícias de Gouveia | ABPG
200 yes 511 2
https://www.abpg.pt/desporto-lazer/health-club/galeria
Galeria | Health Club | ABPG
200 yes 45 2
https://www.abpg.pt/infancia-juventude/creche/objectivos
Objectivos | Creche | ABPG
200 yes 110 2
https://www.abpg.pt/saude/clinica-de-medicina-fisica-e-de-reabilitacao/quadro-tecnico
Quadro Técnico | ABPG
200 yes 136 2
https://www.abpg.pt/idosos/casa-de-repouso-s-juliao/plano-anual-de-atividades
Plano Anual de Atividades | Casa de Repouso S. Julião | ABPG
200 yes 88 2
https://www.abpg.pt/a-regiao
A Região | ABPG
200 yes 144 0
https://www.abpg.pt/populacao-portadora-de-deficiencia/lar-de-apoio
Lar de Apoio | ABPG
200 yes 166 0
https://www.abpg.pt/populacao-portadora-de-deficiencia/nucleo-de-reabilitacao-profissional/cursos-de-formacao-profissional-e-formacao-continua
ABPG | Associação de Beneficência Popular de Gouveia
200 yes 195 0
https://www.abpg.pt/uploads/canais_conteudos_ficheiros/Convocatoria_Assembleia_Geral_2015.pdf.pdf 200 no 0 1
https://www.abpg.pt/uploads/canais_conteudos_ficheiros/Convocatoria_Assembleia_Geral_2016.pdf.pdf 200 no 0 1
https://www.abpg.pt/uploads/canais_conteudos_ficheiros/DL_172A_14_Nov_2014%281%29.pdf.pdf 200 no 0 1

Audit your own site — free

157 checks, internal PageRank, render-diff. No signup, results in ~30s.

Scan your site →