Skip to content
https://www.harlingen.nl

Content

· 9 checks — Internal links, mixed-content guards, Open Graph previews, and structured data rolled into one auditable list.
SCORE
88
GRADE
B
FIX
2
REVIEW
2
PASS
5
INFO
0
Checks
9
5 PASS 2 REVIEW 2 FIX
F
Image Optimization
Action
5 issues found across 11 images
FIX
5 issues found across 11 images
Warning::
5 images missing explicit width/height
Images without dimensions cause layout shifts (CLS). Set explicit width and height attributes.
Info::
1 below-fold images missing loading="lazy"
Lazy loading defers below-fold images, reducing initial page weight.
Warning::
All 6 images use legacy formats (JPEG/PNG/GIF)
WebP offers 25-35% smaller files than JPEG. Use <picture> with <source type="image/webp"> for modern format support.
Warning::
1 above-fold image(s) marked loading="lazy" (LCP anti-pattern)
Above-fold images marked lazy delay LCP -- the browser waits for the IntersectionObserver to fire before fetching, even though the image is in the initial viewport. Remove `loading="lazy"` on above-the-fold images (especially the LCP candidate). Sample: https://cuatro.sim-cdn.nl/harlingen/uploads/styles/medium_4x2_960x480/media/foto_homepage_havenplein_0_0_0.jpg?h=ab8dd873&cb=b0-TUUug.
Info::
4 image(s) rendered at a different aspect ratio than the source
The displayed dimensions distort the source -- CSS is forcing the image into a container at the wrong ratio, producing visible stretching or squashing. Either crop the source to match or use object-fit: cover (and accept the crop). Sample: https://cuatro.sim-cdn.nl/harlingen/uploads/styles/medium_4x2_960x480/media/foto_homepage_havenplein_0_0_0.jpg?h=ab8dd873&cb=b0-TUUug, https://cuatro.sim-cdn.nl/harlingen/uploads/styles/teaser_16_9__6/media/paspoort.jpg?h=5fce77a7&cb=bb_DB79l, https://cuatro.sim-cdn.nl/harlingen/uploads/styles/teaser_16_9__6/media/Boei%20van%20Harlingen.jpg?h=bd361545&cb=BbvnqedU (+1 more).
D
Brand Presence
Action
Site-name consistency, favicon, social image, meta tags, schema, and contact signals
FIX

Brand Presence

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

D

46/100

Site name appears as

Page titleGemeente Harlingen
og:site_nameGemeente Harlingen
twitter:site@Gem_Harlingen
Organization.name—

Inconsistent — names differ across channels

Brand assets

Favicon

8/15

single size only

Social share image

14/20

og:image set; twitter:image missing

Meta completeness

14/20

Organization schema

0/15

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
  • Single favicon only — add apple-touch-icon for iOS home-screen and high-DPI support
  • No Organization schema — Google can't render your logo in the knowledge panel
  • 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.

B
Open Graph
Open Graph tags are partially configured — some improvements recommended.
REVIEW
Open Graph tags are partially configured — some improvements recommended.
Warning::
Missing og:description
The og:description tag controls the description in social sharing previews.
Info::
og:title is short (4 characters)
Ideal length is 25–60 characters for social sharing previews.
Got: 4 chars Expected: 25–60 chars

The og:description tag controls the description in social sharing previews.

Why this matters

No og:description means social cards either show no subtitle or scrape the first paragraph — usually unflattering.

Learn more ▾

Without og:description, social platforms either render no subtitle or pull whatever text appears first on the page. The first paragraph is rarely written for share-card context. A purpose-written 150-200 character og:description gives a polished card.

Source: Open Graph Protocol

URL: 4 chars

Ideal length is 25–60 characters for social sharing previews.

Expected: 25–60 chars
Why this matters

og:title very short — may render with awkward whitespace in social cards.

Source: Open Graph Protocol

Preview

www.harlingen.nl

Home

No description

Preview quality · Twitter/X B · 80/100
  • twitter:card — summary_large_image
  • twitter:title — Home
  • twitter:description — Add twitter:description to give the preview body text
  • twitter:image — falling back from og:image

WWW.HARLINGEN.NL

Home

No description

Preview quality · Facebook A · 85/100
  • og:title — Home
  • og:description — Add og:description to give the preview body text
  • og:image — https://cuatro.sim-cdn.nl/harlingen/uploads/styles/og_image/media/JDR_1727-PAN.jpg?cb=G3WSgeRx
  • og:type — website
  • og:url — https://www.harlingen.nl/
  • og:site_name — Gemeente Harlingen

Home

www.harlingen.nl

Preview quality · LinkedIn A · 85/100
  • og:title — Home
  • og:description — Add og:description to give the preview body text
  • og:image — https://cuatro.sim-cdn.nl/harlingen/uploads/styles/og_image/media/JDR_1727-PAN.jpg?cb=G3WSgeRx

www.harlingen.nl

Home

No description

Preview quality · Slack A · 85/100
  • og:title — Home
  • og:description — Add og:description to give the preview body text
  • og:image — https://cuatro.sim-cdn.nl/harlingen/uploads/styles/og_image/media/JDR_1727-PAN.jpg?cb=G3WSgeRx

Social preview quality

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

B · 83/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[{\"@context\":\"https://schema.org\n\t^...............................\n"

JSON parse error: Mismatch type map[string]interface {} with value array "at index 0: mismatched type with value\n\n\t[{\"@context\":\"https://schema.org\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 : GovernmentOrganization
0 properties Invalid
Invalid JSON: Mismatch type map[string]interface {} with value array "at index 0: mismatched type with value\n\n\t[{\"@context\":\"https://schema.org\n\t^...............................\n"
[
  {
    "@context": "https://schema.org",
    "@type": "GovernmentOrganization",
    "name": "Gemeente Harlingen",
    "url": "https://www.harlingen.nl",
    "logo": {
      "@type": "imageObject",
      "url": "https://cuatro.sim-cdn.nl/harlingen/uploads/logo_gemeente_harlingen_2023_rgb_0.png?cb=esHpRl52",
      "width": 4688,
      "height": 1503
    },
    "telephone": "0517 492 222"
  },
  {
    "@type": "WebPage",
    "@context": "https://schema.org",
    "name": "Home",
    "url": "https://www.harlingen.nl/",
    "description": "Bezoek de website van Gemeente Harlingen voor meer informatie.",
    "author": {
      "@context": "https://schema.org",
      "@type": "GovernmentOrganization",
      "name": "Gemeente Harlingen",
      "url": "https://www.harlingen.nl",
      "logo": {
        "@type": "imageObject",
        "url": "https://cuatro.sim-cdn.nl/harlingen/uploads/logo_gemeente_harlingen_2023_rgb_0.png?cb=esHpRl52",
        "width": 4688,
        "height": 1503
      },
      "telephone": "0517 492 222"
    },
    "headline": "Home",
    "datePublished": "2019-08-20T06:34:00.000Z",
    "dateModified": "2026-10-08T06:10:04.000Z",
    "publisher": {
      "@context": "https://schema.org",
      "@type": "GovernmentOrganization",
      "name": "Gemeente Harlingen",
      "url": "https://www.harlingen.nl",
      "logo": {
        "@type": "imageObject",
        "url": "https://cuatro.sim-cdn.nl/harlingen/uploads/logo_gemeente_harlingen_2023_rgb_0.png?cb=esHpRl52",
        "width": 4688,
        "height": 1503
      },
      "telephone": "0517 492 222"
    },
    "mainEntityOfPage": {
      "@type": "WebPage",
      "@id": "https://www.harlingen.nl/"
    },
    "@graph": [
      {
        "@context": "https://schema.org",
        "@type": "SiteNavigationElement",
        "@id": "#site-navigation",
        "name": "Voor inwoners",
        "url": "https://www.harlingen.nl/voor-inwoners"
      },
      {
        "@context": "https://schema.org",
        "@type": "SiteNavigationElement",
        "@id": "#site-navigation",
        "name": "Voor ondernemers",
        "url": "https://www.harlingen.nl/voor-ondernemers"
      },
      {
        "@context": "https://schema.org",
        "@type": "SiteNavigationElement",
        "@id": "#site-navigation",
        "name": "Bestuur en politiek",
        "url": "https://www.harlingen.nl/bestuur-en-politiek"
      },
      {
        "@context": "https://schema.org",
        "@type": "SiteNavigationElement",
        "@id": "#site-navigation",
        "name": "Actueel",
        "url": "https://www.harlingen.nl/actueel"
      }
    ]
  }
]
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
A+
Open Graph / Twitter Card Depth
OG image dimensions and Twitter card configuration look healthy
PASS
OG image dimensions and Twitter card configuration look healthy
Info::
OG/Twitter Card depth is clean -- dimensions, card type, and inheritance all valid
A+
Rich Results Eligibility
1 JSON-LD block(s) declaring 0 schema type(s)
PASS
1 JSON-LD block(s) declaring 0 schema type(s)
A+
Autoplay Media
No autoplay media on the page
PASS
No autoplay media on the page
Info::
No autoplay media on the page
All checks on this page are automated. Results are estimates - run targeted manual reviews when the score affects a release decision.

Send Feedback