Skip to content
https://hackernoon.com

Content

· 9 checks — Internal links, mixed-content guards, Open Graph previews, and structured data rolled into one auditable list.
SCORE
85
GRADE
B
FIX
2
REVIEW
1
PASS
6
INFO
0
Checks
9
6 PASS 1 REVIEW 2 FIX
D
Open Graph
Action
Open Graph tags need attention — social sharing previews may be incomplete.
FIX
Open Graph tags need attention — social sharing previews may be incomplete.
Warning::
Missing og:title
The og:title tag controls the title shown in social sharing previews.
Warning::
Missing og:description
The og:description tag controls the description in social sharing previews.
Info::
Missing og:type
The og:type tag helps social platforms categorize the content.

The og:title tag controls the title shown in social sharing previews.

Why this matters

Without og:title, social shares fall back to the <title> tag — usually awkwardly truncated or branded for SEO not social.

Learn more

og:title controls what appears as the headline in social-share cards (Twitter, Facebook, LinkedIn, Slack, iMessage). When omitted, platforms fall back to <title>, which is usually optimized for SEO (longer, brand-suffixed) and reads badly in social context. A 50-60-character og:title gives a clean preview.

Source: Open Graph Protocol

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

The og:type tag helps social platforms categorize the content.

Why this matters

Default og:type is 'website' but the right value (article, product, profile) unlocks richer metadata fields and higher engagement.

Learn more

og:type controls which other og: fields a platform respects. og:type=article enables og:article:published_time, author, and section — surfaced in news cards. og:type=product enables price/availability fields surfaced by Pinterest and shopping integrations. Default 'website' silently disables those.

Source: Open Graph Protocol

Preview

hackernoon.com

No title set

No description

Preview quality · Twitter/X A · 90/100
  • twitter:card — summary_large_image
  • twitter:title — falling back from <title>
  • twitter:description — falling back from <meta name=description>
  • twitter:image — https://cdn.hackernoon.com/images/hn.webp

HACKERNOON.COM

No title set

No description

Preview quality · Facebook C · 70/100

Description will be truncated (159 chars / 155 max)

  • og:title — falling back from <title>
  • og:description — falling back from <meta name=description>
  • og:image — https://cdn.hackernoon.com/images/hn.webp
  • og:type — Add og:type — Recommended — tells Facebook the content category
  • og:url — https://hackernoon.com
  • og:site_name — HackerNoon
  • Description will be truncated on Facebook (159 chars, max 155)

    → Tighten og:description to ≤155 characters

No title set

hackernoon.com

Preview quality · LinkedIn A · 85/100

Description will be truncated (159 chars / 150 max)

  • og:title — falling back from <title>
  • og:description — falling back from <meta name=description>
  • og:image — https://cdn.hackernoon.com/images/hn.webp
  • Description will be truncated on LinkedIn (159 chars, max 150)

    → Tighten og:description to ≤150 characters

hackernoon.com

No title set

No description

Preview quality · Slack A · 90/100
  • og:title — falling back from <title>
  • og:description — falling back from <meta name=description>
  • og:image — https://cdn.hackernoon.com/images/hn.webp

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
F
Image Optimization
Action
7 issues found across 92 images
FIX
7 issues found across 92 images
Warning::
6 images significantly larger than display size
Resizing to display dimensions could save approximately 150 KB.
Got: ~150 KB wasted
Warning::
43 images missing explicit width/height
Images without dimensions cause layout shifts (CLS). Set explicit width and height attributes.
Info::
6 below-fold images missing loading="lazy"
Lazy loading defers below-fold images, reducing initial page weight.
Warning::
All 89 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::
4 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://hackernoon.imgix.net/images/BtjpboAJojhsZer7SAIVzOYlpFn1-w2822wf.jpeg?auto=format%2Ccompress&w=256, https://hackernoon.imgix.net/avatars/robot-b5.png?auto=format%2Ccompress&w=3840, https://hackernoon.imgix.net/images/ySK5UmEKUigi6gZlUx5UYDhUNhk1-s682v64.jpeg?auto=format%2Ccompress&w=256 (+1 more).
Info::
1 image(s) wider than 400px without srcset (no responsive serving)
These images deliver the same asset to every viewport (mobile, tablet, retina). Adding srcset / <picture> lets the browser pick a viewport-appropriate variant and typically saves 40-70% of bytes on mobile. Sample: https://hackernoon.com/images/caveman.gif.
Info::
5 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://hackernoon.imgix.net/images/hQ098u52DzPm2Y4UITQcQXtLRAk2-8g13c11.jpeg?auto=format%2Ccompress&w=640, https://hackernoon.imgix.net/images/2tF3z5TEqxg7A3HryhiCsw8hLUP2-pgb3bb9.jpeg?auto=format%2Ccompress&w=640, https://hackernoon.imgix.net/images/BtjpboAJojhsZer7SAIVzOYlpFn1-w2822wf.jpeg?auto=format%2Ccompress&w=828 (+2 more).
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

65/100

Site name appears as

Page titleHackerNoon - read, write and learn about any technology
og:site_nameHackerNoon
twitter:site@hackernoon
Organization.nameHackerNoon

Inconsistent — names differ across channels

Brand assets

Favicon

12/15

covers multiple sizes

Social share image

20/20

og:image + twitter:image set

Meta completeness

8/20

Organization schema

15/15

has name, logo + url

Contact info discoverable

5/10

contact page

Findings

  • Brand name differs across channels — users see inconsistent identity
  • Add an apple-touch-icon and at least two PNG sizes (32x32 + 192x192)
  • og:title missing
  • 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
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+
Structured Data
1 JSON-LD block(s) found — structured data is well configured.
PASS
1 JSON-LD block(s) found — structured data is well configured.

JSON-LD Blocks

Block 1 : Organization
8 properties Valid
{
  "@context": "http://schema.org",
  "@type": "Organization",
  "name": "HackerNoon",
  "description": "How hackers start their afternoon. HackerNoon is a free platform with 25k+ contributing writers. 100M+ humans have visited HackerNoon to learn about technology",
  "logo": "https://hackernoon.com/hn-logo.png",
  "url": "https://hackernoon.com",
  "sameAs": [
    "https://twitter.com/hackernoon",
    "https://www.linkedin.com/company/hackernoon/",
    "https://facebook.com/hackernoon",
    "https://www.youtube.com/c/hackernoon",
    "https://www.instagram.com/hackernoon",
    "https://digg.com/hacker-noon"
  ],
  "address": {
    "@type": "PostalAddress",
    "streetAddress": "1099 Capitol Street",
    "addressLocality": "Eagle",
    "postalCode": "81631",
    "addressCountry": "USA"
  }
}
A+
Rich Results Eligibility
1 JSON-LD block(s) declaring 1 schema type(s)
PASS
1 JSON-LD block(s) declaring 1 schema type(s)
Info::
1 rich-result schema type(s) declared
Inventory of structured-data types on the page (each may unlock a different SERP feature): Organization Search engines decide whether to render rich results based on content quality + page-level signals; declaring the schema is necessary but not sufficient.
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