Skip to content
https://sapo.pt

Content

· 5 checks — Internal links, mixed-content guards, Open Graph previews, and structured data rolled into one auditable list.
SCORE
82
GRADE
B
FIX
1
REVIEW
3
PASS
1
INFO
0
Checks
5
1 PASS 3 REVIEW 1 FIX
B
Open Graph
Open Graph tags are partially configured — some improvements recommended.
REVIEW
Open Graph tags are partially configured — some improvements recommended.
Critical::
og:image is not reachable
The og:image URL could not be fetched. Social platforms won't be able to display it.
Got: https://sapo.pt/assets/img/sapo-logo-og.jpg
Info::
Missing og:url
The og:url tag specifies the canonical URL for the shared content.
Info::
Missing twitter:card
Without twitter:card, Twitter falls back to Open Graph tags. Adding it gives you more control.
URL: https://sapo.pt/assets/img/sapo-logo-og.jpg

The og:image URL could not be fetched. Social platforms won't be able to display it.

Why this matters

An unreachable og:image URL (404, DNS fail, slow timeout) means social platforms cache the failure and serve no image for hours.

Learn more

Social platforms (Facebook, Twitter) cache OG metadata aggressively — including failed image fetches. A momentarily-broken og:image can leave your shares imageless for hours. Test og:image URLs in Facebook's Sharing Debugger to force re-cache after fixing.

Source: Open Graph Protocol / Facebook Sharing Debugger

The og:url tag specifies the canonical URL for the shared content.

Why this matters

Without og:url, social platforms infer the canonical URL — often picking a tracking-param variant that pollutes share counts.

Learn more

og:url tells the social platform which URL to count this share against. Without it, platforms use the literal URL the user pasted (which may include utm_* parameters, ref codes, etc.). Setting og:url to the canonical form keeps share-count attribution clean.

Source: Open Graph Protocol

Without twitter:card, Twitter falls back to Open Graph tags. Adding it gives you more control.

Why this matters

Without twitter:card, Twitter renders posts as plain text — no preview image, no structured layout.

Learn more

Twitter requires `<meta name="twitter:card" content="summary_large_image">` (or summary) to render share-cards at all. Without it, links appear as raw text and engagement plummets vs cards. Twitter also falls back to og:image if twitter:image isn't set, so configure both.

Source: Twitter Developer Platform

Preview

sapo.pt

SAPO – Última Hora e Notícias de Hoje atualizadas ao minuto

Notícias, Atualidade, Nacional, Internacional, Local, Economia, Tecnologia, Opinião, Desporto, Cultura, Lifestyle, Signos, Jornais, Mail, Tempo e mais

Preview quality · Twitter/X D · 50/100
  • twitter:card — Add <meta name="twitter:card" content="summary_large_image">
  • twitter:title — falling back from og:title
  • twitter:description — falling back from og:description
  • twitter:image — falling back from og:image
  • twitter:card is missing

    → Add <meta name="twitter:card" content="summary_large_image">

SAPO.PT

SAPO – Última Hora e Notícias de Hoje atualizadas ao minuto

Notícias, Atualidade, Nacional, Internacional, Local, Economia, Tecnologia, Opinião, Desporto, Cultura, Lifestyle, Signos, Jornais, Mail, Tempo e mais

Preview quality · Facebook B · 80/100

Title will be truncated (63 chars / 60 max)

  • og:title — SAPO – Última Hora e Notícias de Hoje atualizadas ao minuto
  • og:description — Notícias, Atualidade, Nacional, Internacional, Local, Economia, Tecnologia, Opinião, Desporto, Cultura, Lifestyle, Si...
  • og:image — https://sapo.pt/assets/img/sapo-logo-og.jpg
  • og:type — website
  • og:url — Add og:url — Recommended — canonical URL for the share
  • og:site_name — SAPO
  • Title will be truncated on Facebook (63 chars, max 60)

    → Shorten og:title to ≤60 characters

SAPO – Última Hora e Notícias de Hoje atualizadas ao minuto

sapo.pt

Preview quality · LinkedIn A+ · 95/100

Description will be truncated (152 chars / 150 max)

  • og:title — SAPO – Última Hora e Notícias de Hoje atualizadas ao minuto
  • og:description — Notícias, Atualidade, Nacional, Internacional, Local, Economia, Tecnologia, Opinião, Desporto, Cultura, Lifestyle, Si...
  • og:image — https://sapo.pt/assets/img/sapo-logo-og.jpg
  • Description will be truncated on LinkedIn (152 chars, max 150)

    → Tighten og:description to ≤150 characters

sapo.pt

SAPO – Última Hora e Notícias de Hoje atualizadas ao minuto

Notícias, Atualidade, Nacional, Internacional, Local, Economia, Tecnologia, Opinião, Desporto, Cultura, Lifestyle, Signos, Jornais, Mail, Tempo e mais

Preview quality · Slack A+ · 100/100
  • og:title — SAPO – Última Hora e Notícias de Hoje atualizadas ao minuto
  • og:description — Notícias, Atualidade, Nacional, Internacional, Local, Economia, Tecnologia, Opinião, Desporto, Cultura, Lifestyle, Si...
  • og:image — https://sapo.pt/assets/img/sapo-logo-og.jpg

Social preview quality

Averaged across Twitter/X, Facebook, LinkedIn, and Slack.

B · 81/100
FieldTwitter/XFacebookLinkedInSlack
og:title
og:description
og:image
og:type
og:url
og:site_name
twitter:card
twitter:title
twitter:description
twitter:image
C
Structured Data
Action
1 JSON-LD block(s) found — some improvements recommended.
REVIEW
1 JSON-LD block(s) found — some improvements recommended.
Critical::
Malformed JSON-LD block #1
JSON parse error: Mismatch type map[string]interface {} with value array "at index 0: mismatched type with value\n\n\t[\n {\n \"@context\": \"http://sc\n\t^...............................\n"

JSON parse error: Mismatch type map[string]interface {} with value array "at index 0: mismatched type with value\n\n\t[\n {\n \"@context\": \"http://sc\n\t^...............................\n"

Why this matters

JSON-LD block fails to parse — Google ignores the entire block, so structured data effectively isn't there.

Learn more

Common causes: trailing comma, single quotes instead of double, unescaped quote in a string value. Validate at https://validator.schema.org/ or Search Console's Rich Results Test.

Source: schema.org / Google Search Central

JSON-LD Blocks

Block 1 : Organization
0 properties Invalid
Invalid JSON: Mismatch type map[string]interface {} with value array "at index 0: mismatched type with value\n\n\t[\n {\n \"@context\": \"http://sc\n\t^...............................\n"
[
  {
    "@context": "http://schema.org",
    "@type": "Organization",
    "@id": "https://www.sapo.pt#organization",
    "name": "SAPO",
    "url": "https://www.sapo.pt",
    "logo": "https://homepagept.web.sapo.io/assets/img/homepage-sapo/logo-01.png",
    "sameAs": [
      "https://facebook.com/sapo",
      "https://instagram.com/sapo",
      "https://twitter.com/sapo"
    ]
  },
  {
    "@context": "http://schema.org",
    "@type": "WebSite",
    "url": "https://www.sapo.pt",
    "potentialAction": {
      "@type": "SearchAction",
      "target": "https://www.sapo.pt/pesquisar?q={search_term_string}",
      "query-input": "required name=search_term_string"
    }
  }
]
C
Brand Presence
Action
Site-name consistency, favicon, social image, meta tags, schema, and contact signals
REVIEW

Brand Presence

Your brand name differs across channels — visitors see inconsistent identity.

C

57/100

Site name appears as

Page titleÚltima Hora e Notícias de Hoje atualizadas ao minuto
og:site_nameSAPO
twitter:site
Organization.name

Inconsistent — names differ across channels

Brand assets

Favicon

15/15

covers multiple sizes + apple-touch-icon

Social share image

14/20

og:image set; twitter:image missing

Meta completeness

14/20

Organization schema

4/15

Organization schema present but missing all recommended fields

Contact info discoverable

5/10

contact page

Findings

  • Brand name differs across channels — users see inconsistent identity
  • Add twitter:image — Twitter falls back to og:image only when it's larger than 300×157
  • twitter:card missing
  • Organization schema missing logo — add a logo property pointing to a square PNG
  • Organization schema missing url — point it at the canonical homepage
  • Consider adding contactPoint — helps appear in "contact us" rich results
  • Only partial contact info discoverable — consider adding a dedicated contact page or mailto/tel link

How consistently your brand appears across channels — shared link previews, structured data, favicon, contact info.

A+
Mixed Content
No mixed content detected — all resources use HTTPS.
PASS
No mixed content detected — all resources use HTTPS.
Info::
No mixed content detected — all resources use HTTPS
All checks on this page are automated. Results are estimates - run targeted manual reviews when the score affects a release decision.

Send Feedback