Website report

levels.io

levels.io·🇺🇸 United States · Community picks

Measured

Global rank#146
GradeA

Your result

No broken links found in this sample.

Link health
100.00/100

Healthy links in the sample

Quality checklist
71.28/100

Scored technical checks

Broken links
0

Confirmed in sample

200 links verified · 0 unknown · 20 selected source pages · 100% of selected destinations verified. Sample only. Unknown links are not counted as broken.

What to fix first

View all priorities →

Includes issues from the extended diagnostic report.

  1. Fix 1 diagnostic broken link

    Start with navigation and internal links so visitors can reach your pages.

  2. Main landmark

    Mark the main content with one <main> or role="main" landmark.

  3. Image dimensions declared

    Declare width and height attributes (or an inline aspect-ratio style) on every visible <img> so the browser reserves space before the image loads. Reference: web.dev / Lighthouse "image elements have explicit width and height" (layout shift).

Fix with your coding assistant

Copy a ready-to-use prompt with the issues and affected URLs.

Your path to S-Tier

Not yet S-Tier

Healthy links, every scored requirement passed, and complete evidence in the selected sample.

  • Pass all scored quality requirements across the five categories.
  • Verify every required check and selected destination; incomplete or retained evidence cannot unlock the badge.
How this result qualifies

Verified internal navigation

At least 10 internal destinations were verified. Unknown items do not disqualify the site; confirmed checklist failures reduce quality.

100.00/100 link health · 71.28/100 quality · 200 internal destinations

New comparison baseline. A change in coverage is not a verified improvement.

The diagnostic report below may cover additional pages and external links. Only the stored competitive sample determines the ranking. At least 10 verified internal links are required; unavailable checklist items do not exclude a site. How scoring works

Explore issues & evidenceConfirmed issues, suggested fixes and the evidence behind them.
1 diagnostic broken links100 pages readExtended evidence may include links outside the badge sample.
Latest competitive sample and evidence · 71.28/100 quality

At least 10 internal destinations were verified. Unknown items do not disqualify the site; confirmed checklist failures reduce quality. The available outcomes agreed between passes.

20 selected source URLs · 200 internal destinations. 200 evaluated · 0 unknown · 0 using previous evidence. The expanded diagnostic report follows below.

Some checklist evidence is unavailable: Page title, Distinct page titles, Meta description, Self-referencing canonical, Main heading, Heading hierarchy, Main landmark, Mobile viewport, Image dimensions declared, Structured data syntax, Document language, Image alternatives declared, Form controls named, Buttons named, Links named, Descriptive link text, Open Graph title, Open Graph description, Open Graph type, Open Graph URL, Open Graph image URL, Open Graph image description, Social card type, HTTPS page, No insecure embedded resources. 0 check(s) use previous evidence, for at most eight days from their last reliable reading. Other unknown observations have no scoring vote.

SEO
100.00/100
Accessibility
59.38/100
Structure
60.19/100
Sharing
88.89/100
Security
50.00/100
Selected pages
  • https://levels.io/
  • https://levels.io/api
  • https://levels.io/mcp
  • https://levels.io/projects
  • https://levels.io/rss
  • https://levels.io/stats
  • https://levels.io/1-billion-views-on-x-in-12-months
  • https://levels.io/100-days-of-shipping
  • https://levels.io/100-mbps-starlink-internet-on-qatar-airways
  • https://levels.io/100-to-0-things
  • https://levels.io/100k-savings-losing-2000-per-month-inflation
  • https://levels.io/10g-of-creatine-per-day
  • https://levels.io/12-fucking-rules-for-success
  • https://levels.io/12-startups-12-months
  • https://levels.io/153-million-american-driver-licenses-leaked
  • https://levels.io/1983-wall-street-raiders-game-reverse-engineered
  • https://levels.io/1996/march
  • https://levels.io/1997/february
  • https://levels.io/1998/january
  • https://levels.io/2-hours-after-a-german-signs-up-to-your-site
Internal link verdicts and weights
  • ok · weight 6 · https://levels.io/
  • ok · weight 6 · https://levels.io/3d-scan-any-object-with-phone-camera
  • ok · weight 6 · https://levels.io/3d-scanned-parents-house-vr-telegram
  • ok · weight 6 · https://levels.io/a16z-yc-request-for-startups-2025
  • ok · weight 6 · https://levels.io/advertising-vs-what-actually-makes-you-happy
  • ok · weight 6 · https://levels.io/all-watched-over-by-machines-of-living-grace
  • ok · weight 6 · https://levels.io/amap-favorite-navigation-app-in-china
  • ok · weight 6 · https://levels.io/api
  • ok · weight 6 · https://levels.io/backups-solar-flares-cookie-jar-faraday
  • ok · weight 6 · https://levels.io/europe-must-allow-air-conditioning-to-cut-heat-deaths
  • ok · weight 6 · https://levels.io/how-elon-does-politics-and-my-6-goals-for-europe
  • ok · weight 6 · https://levels.io/how-to-build-bootstrapped-startup-without-funding
  • ok · weight 6 · https://levels.io/indie-hackers-1
  • ok · weight 6 · https://levels.io/llms.txt
  • ok · weight 6 · https://levels.io/mcp
  • ok · weight 6 · https://levels.io/minimax-h3-max-livestream-price-drop
  • ok · weight 6 · https://levels.io/money-should-buy-freedom-from-employment
  • ok · weight 6 · https://levels.io/nationality-accident-birth
  • ok · weight 6 · https://levels.io/open-letter-portugal-tesla-fsd
  • ok · weight 6 · https://levels.io/places-most-attractive-rich-educated-nomads-visit
  • ok · weight 6 · https://levels.io/play-my-inbox
  • ok · weight 6 · https://levels.io/projects
  • ok · weight 6 · https://levels.io/rss
  • ok · weight 6 · https://levels.io/screen-size-vs-importance-in-company
  • ok · weight 6 · https://levels.io/stats
  • ok · weight 6 · https://levels.io/steipete-europe-talent-regulations-labor-laws
  • ok · weight 6 · https://levels.io/travel-early-20s-built-10m-business
  • ok · weight 6 · https://levels.io/why-koreans-didnt-get-richer
  • ok · weight 6 · https://levels.io/xai-claude-colossus-gpu-farm
  • ok · weight 4 · https://levels.io/1-billion-views-on-x-in-12-months
  • ok · weight 4 · https://levels.io/100-days-of-shipping
  • ok · weight 4 · https://levels.io/100-mbps-starlink-internet-on-qatar-airways
  • ok · weight 4 · https://levels.io/100-to-0-things
  • ok · weight 4 · https://levels.io/100k-savings-losing-2000-per-month-inflation
  • ok · weight 4 · https://levels.io/10g-of-creatine-per-day
  • ok · weight 4 · https://levels.io/12-fucking-rules-for-success
  • ok · weight 4 · https://levels.io/12-startups-12-months
  • ok · weight 4 · https://levels.io/153-million-american-driver-licenses-leaked
  • ok · weight 4 · https://levels.io/1983-wall-street-raiders-game-reverse-engineered
  • ok · weight 4 · https://levels.io/1996/march
  • ok · weight 4 · https://levels.io/1997/february
  • ok · weight 4 · https://levels.io/1998/january
  • ok · weight 4 · https://levels.io/2-hours-after-a-german-signs-up-to-your-site
  • ok · weight 4 · https://levels.io/2004/january
  • ok · weight 4 · https://levels.io/2004/june
  • ok · weight 4 · https://levels.io/2004/may
  • ok · weight 4 · https://levels.io/2004/november
  • ok · weight 4 · https://levels.io/2008/april
  • ok · weight 4 · https://levels.io/2008/june
  • ok · weight 4 · https://levels.io/2008/may
  • ok · weight 4 · https://levels.io/2009/october
  • ok · weight 4 · https://levels.io/2009/september
  • ok · weight 4 · https://levels.io/2010/june
  • ok · weight 4 · https://levels.io/2010/september
  • ok · weight 4 · https://levels.io/2011/december
  • ok · weight 4 · https://levels.io/2011/november
  • ok · weight 4 · https://levels.io/2011/october
  • ok · weight 4 · https://levels.io/2012/august
  • ok · weight 4 · https://levels.io/2012/december
  • ok · weight 4 · https://levels.io/2012/january
  • ok · weight 4 · https://levels.io/2012/july
  • ok · weight 4 · https://levels.io/2012/june
  • ok · weight 4 · https://levels.io/2012/may
  • ok · weight 4 · https://levels.io/2012/november
  • ok · weight 4 · https://levels.io/2012/october
  • ok · weight 4 · https://levels.io/2012/september
  • ok · weight 4 · https://levels.io/2013/april
  • ok · weight 4 · https://levels.io/2013/august
  • ok · weight 4 · https://levels.io/2013/december
  • ok · weight 4 · https://levels.io/2013/february
  • ok · weight 4 · https://levels.io/2013/january
  • ok · weight 4 · https://levels.io/2013/july
  • ok · weight 4 · https://levels.io/2013/june
  • ok · weight 4 · https://levels.io/2013/march
  • ok · weight 4 · https://levels.io/2013/may
  • ok · weight 4 · https://levels.io/2013/november
  • ok · weight 4 · https://levels.io/2013/october
  • ok · weight 4 · https://levels.io/2013/september
  • ok · weight 4 · https://levels.io/2014/april
  • ok · weight 4 · https://levels.io/2014/august
  • ok · weight 4 · https://levels.io/2014/december
  • ok · weight 4 · https://levels.io/2014/february
  • ok · weight 4 · https://levels.io/2014/january
  • ok · weight 4 · https://levels.io/2014/july
  • ok · weight 4 · https://levels.io/2014/june
  • ok · weight 4 · https://levels.io/2014/march
  • ok · weight 4 · https://levels.io/2014/may
  • ok · weight 4 · https://levels.io/2014/november
  • ok · weight 4 · https://levels.io/2014/october
  • ok · weight 4 · https://levels.io/2014/september
  • ok · weight 4 · https://levels.io/2015-revenue-202785-linode-macbook-bootstrapped
  • ok · weight 4 · https://levels.io/2015/april
  • ok · weight 4 · https://levels.io/2015/august
  • ok · weight 4 · https://levels.io/2015/december
  • ok · weight 4 · https://levels.io/2015/january
  • ok · weight 4 · https://levels.io/2015/june
  • ok · weight 4 · https://levels.io/2015/march
  • ok · weight 4 · https://levels.io/2015/may
  • ok · weight 4 · https://levels.io/2015/november
  • ok · weight 4 · https://levels.io/2015/october
  • ok · weight 4 · https://levels.io/2015/september
  • ok · weight 4 · https://levels.io/2016/august
  • ok · weight 4 · https://levels.io/2016/december
  • ok · weight 4 · https://levels.io/2016/february
  • ok · weight 4 · https://levels.io/2016/january
  • ok · weight 4 · https://levels.io/2016/july
  • ok · weight 4 · https://levels.io/2016/june
  • ok · weight 4 · https://levels.io/2016/march
  • ok · weight 4 · https://levels.io/2016/may
  • ok · weight 4 · https://levels.io/2016/november
  • ok · weight 4 · https://levels.io/2016/october
  • ok · weight 4 · https://levels.io/2016/september
  • ok · weight 4 · https://levels.io/2017/april
  • ok · weight 4 · https://levels.io/2017/august
  • ok · weight 4 · https://levels.io/2017/december
  • ok · weight 4 · https://levels.io/2017/february
  • ok · weight 4 · https://levels.io/2017/january
  • ok · weight 4 · https://levels.io/2017/july
  • ok · weight 4 · https://levels.io/2017/june
  • ok · weight 4 · https://levels.io/2017/march
  • ok · weight 4 · https://levels.io/2017/may
  • ok · weight 4 · https://levels.io/2017/november
  • ok · weight 4 · https://levels.io/2017/october
  • ok · weight 4 · https://levels.io/2017/september
  • ok · weight 4 · https://levels.io/2018/april
  • ok · weight 4 · https://levels.io/2018/august
  • ok · weight 4 · https://levels.io/2018/december
  • ok · weight 4 · https://levels.io/2018/february
  • ok · weight 4 · https://levels.io/2018/january
  • ok · weight 4 · https://levels.io/2018/july
  • ok · weight 4 · https://levels.io/2018/june
  • ok · weight 4 · https://levels.io/2018/march
  • ok · weight 4 · https://levels.io/2018/may
  • ok · weight 4 · https://levels.io/2018/november
  • ok · weight 4 · https://levels.io/2018/october
  • ok · weight 4 · https://levels.io/2018/september
  • ok · weight 4 · https://levels.io/2019/april
  • ok · weight 4 · https://levels.io/2019/august
  • ok · weight 4 · https://levels.io/2019/december
  • ok · weight 4 · https://levels.io/2019/january
  • ok · weight 4 · https://levels.io/2019/july
  • ok · weight 4 · https://levels.io/2019/march
  • ok · weight 4 · https://levels.io/2019/may
  • ok · weight 4 · https://levels.io/2019/november
  • ok · weight 4 · https://levels.io/2019/october
  • ok · weight 4 · https://levels.io/2019/september
  • ok · weight 4 · https://levels.io/2020/april
  • ok · weight 4 · https://levels.io/2020/august
  • ok · weight 4 · https://levels.io/2020/december
  • ok · weight 4 · https://levels.io/2020/january
  • ok · weight 4 · https://levels.io/2020/march
  • ok · weight 4 · https://levels.io/2020/may
  • ok · weight 4 · https://levels.io/2020/november
  • ok · weight 4 · https://levels.io/2020/october
  • ok · weight 4 · https://levels.io/2020/september
  • ok · weight 4 · https://levels.io/2021/april
  • ok · weight 4 · https://levels.io/2021/december
  • ok · weight 4 · https://levels.io/2021/february
  • ok · weight 4 · https://levels.io/2021/january
  • ok · weight 4 · https://levels.io/2021/july
  • ok · weight 4 · https://levels.io/2021/june
  • ok · weight 4 · https://levels.io/2021/march
  • ok · weight 4 · https://levels.io/2021/november
  • ok · weight 4 · https://levels.io/2021/october
  • ok · weight 4 · https://levels.io/2021/september
  • ok · weight 4 · https://levels.io/2022/april
  • ok · weight 4 · https://levels.io/2022/august
  • ok · weight 4 · https://levels.io/2022/december
  • ok · weight 4 · https://levels.io/2022/february
  • ok · weight 4 · https://levels.io/2022/january
  • ok · weight 4 · https://levels.io/2022/july
  • ok · weight 4 · https://levels.io/2022/june
  • ok · weight 4 · https://levels.io/2022/march
  • ok · weight 4 · https://levels.io/2022/may
  • ok · weight 4 · https://levels.io/2022/november
  • ok · weight 4 · https://levels.io/2022/october
  • ok · weight 4 · https://levels.io/2022/september
  • ok · weight 4 · https://levels.io/2023/april
  • ok · weight 4 · https://levels.io/2023/august
  • ok · weight 4 · https://levels.io/2023/december
  • ok · weight 4 · https://levels.io/2023/february
  • ok · weight 4 · https://levels.io/2023/january
  • ok · weight 4 · https://levels.io/2023/july
  • ok · weight 4 · https://levels.io/2023/june
  • ok · weight 4 · https://levels.io/2023/march
  • ok · weight 4 · https://levels.io/2023/may
  • ok · weight 4 · https://levels.io/2023/november
  • ok · weight 4 · https://levels.io/2023/october
  • ok · weight 4 · https://levels.io/2023/september
  • ok · weight 4 · https://levels.io/2024/april
  • ok · weight 4 · https://levels.io/2024/august
  • ok · weight 4 · https://levels.io/2024/december
  • ok · weight 4 · https://levels.io/2024/february
  • ok · weight 4 · https://levels.io/2024/july
  • ok · weight 4 · https://levels.io/2024/june
  • ok · weight 4 · https://levels.io/2024/march
  • ok · weight 4 · https://levels.io/2024/may
  • ok · weight 4 · https://levels.io/2024/november
  • ok · weight 4 · https://levels.io/2024/october
  • ok · weight 4 · https://levels.io/2024/september
Scoring checks
  • Page title: passed · 18/18 applicable observations

    https://levels.io/: @levelsio's blog

    https://levels.io/mcp: Use @levelsio's blog inside Claude, Grok and ChatGPT (MCP) — @levelsio (Pieter Levels)

    https://levels.io/projects: List of all my projects ever — @levelsio (Pieter Levels)

    https://levels.io/stats: Stats — @levelsio (Pieter Levels)

    https://levels.io/1-billion-views-on-x-in-12-months: I got 1 billion views on X in the last 12 months — @levelsio (Pieter Levels)

  • Distinct page titles: passed · 18/18 applicable observations

    https://levels.io/: @levelsio's blog

    https://levels.io/mcp: Use @levelsio's blog inside Claude, Grok and ChatGPT (MCP) — @levelsio (Pieter Levels)

    https://levels.io/projects: List of all my projects ever — @levelsio (Pieter Levels)

    https://levels.io/stats: Stats — @levelsio (Pieter Levels)

    https://levels.io/1-billion-views-on-x-in-12-months: I got 1 billion views on X in the last 12 months — @levelsio (Pieter Levels)

  • Meta description: passed · 18/18 applicable observations

    https://levels.io/: Bootstrapping startups while traveling the world.

    https://levels.io/mcp: Plug @levelsio's blog into your AI assistant: 879 posts on bootstrapping startups, AI, travel and nomad life. Free, no signup.

    https://levels.io/projects: Every project Pieter Levels has ever made, with success status.

    https://levels.io/stats: Every post on the blog, visualised by year and topic.

    https://levels.io/1-billion-views-on-x-in-12-months: I got 1 billion views on my X in the last 12 months or 2,737,931 views per day That's about 3x more than all my sites do together And more reach than The Guard…

  • Self-referencing canonical: passed · 18/18 applicable observations

    https://levels.io/: https://levels.io/

    https://levels.io/mcp: https://levels.io/mcp

    https://levels.io/projects: https://levels.io/projects

    https://levels.io/stats: https://levels.io/stats

    https://levels.io/1-billion-views-on-x-in-12-months: https://levels.io/1-billion-views-on-x-in-12-months

  • Main heading: passed · 18/18 applicable observations

    https://levels.io/: 1 H1 element(s)

    https://levels.io/mcp: 2 H1 element(s)

    https://levels.io/projects: 1 H1 element(s)

    https://levels.io/stats: 1 H1 element(s)

    https://levels.io/1-billion-views-on-x-in-12-months: 1 H1 element(s)

  • Heading hierarchy: passed · 18/18 applicable observations

    https://levels.io/: 0 skipped heading level(s)

    https://levels.io/mcp: 0 skipped heading level(s)

    https://levels.io/projects: 0 skipped heading level(s)

    https://levels.io/stats: 0 skipped heading level(s)

    https://levels.io/1-billion-views-on-x-in-12-months: 0 skipped heading level(s)

  • Main landmark: failed · 0/18 applicable observations

    https://levels.io/: 0 main landmarks

    https://levels.io/mcp: 0 main landmarks

    https://levels.io/projects: 0 main landmarks

    https://levels.io/stats: 0 main landmarks

    https://levels.io/1-billion-views-on-x-in-12-months: 0 main landmarks

  • Mobile viewport: passed · 18/18 applicable observations

    https://levels.io/: width=device-width, initial-scale=1.0

    https://levels.io/mcp: width=device-width, initial-scale=1.0

    https://levels.io/projects: width=device-width, initial-scale=1.0

    https://levels.io/stats: width=device-width, initial-scale=1.0

    https://levels.io/1-billion-views-on-x-in-12-months: width=device-width, initial-scale=1.0

  • Image dimensions declared: failed · 0/16 applicable observations

    https://levels.io/: 887 of 888 images lack width/height attributes or an aspect-ratio style

    https://levels.io/mcp: 0 of 0 images lack width/height attributes or an aspect-ratio style

    https://levels.io/projects: 884 of 884 images lack width/height attributes or an aspect-ratio style

    https://levels.io/stats: 0 of 0 images lack width/height attributes or an aspect-ratio style

    https://levels.io/1-billion-views-on-x-in-12-months: 884 of 885 images lack width/height attributes or an aspect-ratio style

  • Structured data syntax: failed · 11/18 applicable observations

    https://levels.io/: 0 of 0 blocks have valid JSON-LD structure

    https://levels.io/mcp: 0 of 0 blocks have valid JSON-LD structure

    https://levels.io/projects: 0 of 0 blocks have valid JSON-LD structure

    https://levels.io/stats: 0 of 0 blocks have valid JSON-LD structure

    https://levels.io/1996/march: 0 of 0 blocks have valid JSON-LD structure

  • Document language: passed · 18/18 applicable observations

    https://levels.io/: en

    https://levels.io/mcp: en

    https://levels.io/projects: en

    https://levels.io/stats: en

    https://levels.io/1-billion-views-on-x-in-12-months: en

  • Image alternatives declared: failed · 9/16 applicable observations

    https://levels.io/mcp: 0 of 0 images lack an alt attribute

    https://levels.io/stats: 0 of 0 images lack an alt attribute

    https://levels.io/1-billion-views-on-x-in-12-months: 1 of 885 images lack an alt attribute

    https://levels.io/100-days-of-shipping: 14 of 898 images lack an alt attribute

    https://levels.io/100-to-0-things: 5 of 891 images lack an alt attribute

  • Form controls named: failed · 0/18 applicable observations

    https://levels.io/: 3 of 3 controls have no HTML label

    https://levels.io/mcp: 1 of 1 controls have no HTML label

    https://levels.io/projects: 1 of 2 controls have no HTML label

    https://levels.io/stats: 1 of 7 controls have no HTML label

    https://levels.io/1-billion-views-on-x-in-12-months: 2 of 2 controls have no HTML label

  • Buttons named: passed · 18/18 applicable observations

    https://levels.io/: 0 of 3 buttons have no HTML name

    https://levels.io/mcp: 0 of 2 buttons have no HTML name

    https://levels.io/projects: 0 of 1 buttons have no HTML name

    https://levels.io/stats: 0 of 1 buttons have no HTML name

    https://levels.io/1-billion-views-on-x-in-12-months: 0 of 2 buttons have no HTML name

  • Links named: failed · 1/18 applicable observations

    https://levels.io/: 887 of 1978 links have no HTML name

    https://levels.io/projects: 1211 of 2568 links have no HTML name

    https://levels.io/stats: 2471 of 2512 links have no HTML name

    https://levels.io/1-billion-views-on-x-in-12-months: 884 of 1978 links have no HTML name

    https://levels.io/100-days-of-shipping: 885 of 1995 links have no HTML name

  • Descriptive link text: failed · 17/18 applicable observations

    https://levels.io/12-startups-12-months: 3 of 2011 links use generic text: "here"

    https://levels.io/: 0 of 1978 links use generic text

    https://levels.io/mcp: 0 of 20 links use generic text

    https://levels.io/projects: 0 of 2568 links use generic text

    https://levels.io/stats: 0 of 2512 links use generic text

  • Open Graph title: passed · 18/18 applicable observations

    https://levels.io/: @levelsio's blog

    https://levels.io/mcp: Use @levelsio's blog inside Claude, Grok and ChatGPT (MCP) — @levelsio (Pieter Levels)

    https://levels.io/projects: List of all my projects ever — @levelsio (Pieter Levels)

    https://levels.io/stats: Stats — @levelsio (Pieter Levels)

    https://levels.io/1-billion-views-on-x-in-12-months: I got 1 billion views on X in the last 12 months — @levelsio (Pieter Levels)

  • Open Graph description: passed · 18/18 applicable observations

    https://levels.io/: Bootstrapping startups while traveling the world.

    https://levels.io/mcp: Plug @levelsio's blog into your AI assistant: 879 posts on bootstrapping startups, AI, travel and nomad life. Free, no signup.

    https://levels.io/projects: Every project Pieter Levels has ever made, with success status.

    https://levels.io/stats: Every post on the blog, visualised by year and topic.

    https://levels.io/1-billion-views-on-x-in-12-months: I got 1 billion views on my X in the last 12 months or 2,737,931 views per day That's about 3x more than all my sites do together And more reach than The Guard…

  • Open Graph type: passed · 18/18 applicable observations

    https://levels.io/: website

    https://levels.io/mcp: website

    https://levels.io/projects: website

    https://levels.io/stats: website

    https://levels.io/1-billion-views-on-x-in-12-months: article

  • Open Graph URL: passed · 18/18 applicable observations

    https://levels.io/: https://levels.io/

    https://levels.io/mcp: https://levels.io/mcp

    https://levels.io/projects: https://levels.io/projects

    https://levels.io/stats: https://levels.io/stats

    https://levels.io/1-billion-views-on-x-in-12-months: https://levels.io/1-billion-views-on-x-in-12-months

  • Open Graph image URL: passed · 18/18 applicable observations

    https://levels.io/: https://levels.io/og.jpg?v=1789196712

    https://levels.io/mcp: https://levels.io/og.jpg?v=1789196712

    https://levels.io/projects: https://levels.io/og.jpg?v=1789196712

    https://levels.io/stats: https://levels.io/og.jpg?v=1789196712

    https://levels.io/1-billion-views-on-x-in-12-months: https://r2.levels.io/tweets/1-billion-views-on-x-in-12-months/1.jpg

  • Open Graph image description: failed · 0/18 applicable observations

    https://levels.io/: No sharing image description

    https://levels.io/mcp: No sharing image description

    https://levels.io/projects: No sharing image description

    https://levels.io/stats: No sharing image description

    https://levels.io/1-billion-views-on-x-in-12-months: No sharing image description

  • Social card type: passed · 18/18 applicable observations

    https://levels.io/: summary_large_image

    https://levels.io/mcp: summary_large_image

    https://levels.io/projects: summary_large_image

    https://levels.io/stats: summary_large_image

    https://levels.io/1-billion-views-on-x-in-12-months: summary_large_image

  • HTTPS page: passed · 18/18 applicable observations

    https://levels.io/: https://levels.io/

    https://levels.io/mcp: https://levels.io/mcp

    https://levels.io/projects: https://levels.io/projects

    https://levels.io/stats: https://levels.io/stats

    https://levels.io/1-billion-views-on-x-in-12-months: https://levels.io/1-billion-views-on-x-in-12-months

  • No insecure embedded resources: passed · 18/18 applicable observations

    https://levels.io/: 0 HTTP embedded resource URL(s)

    https://levels.io/mcp: 0 HTTP embedded resource URL(s)

    https://levels.io/projects: 0 HTTP embedded resource URL(s)

    https://levels.io/stats: 0 HTTP embedded resource URL(s)

    https://levels.io/1-billion-views-on-x-in-12-months: 0 HTTP embedded resource URL(s)

  • Homepage favicon available: passed · 1/1 applicable observations

    https://levels.io/favicon.jpg?v=1789196712: HTTP 200; image/jpeg

  • Homepage sharing image available: passed · 1/1 applicable observations

    https://levels.io/og.jpg?v=1789196712: HTTP 200; image/jpeg

  • Root sitemap available: passed · 1/1 applicable observations

    https://levels.io/sitemap.xml: HTTP 200; sitemap root found

  • Rendered color contrast: unverified · 0/1 applicable observations

    https://levels.io/: Requires a browser or human assessment; excluded from points.

  • Keyboard and focus behavior: unverified · 0/1 applicable observations

    https://levels.io/: Requires a browser or human assessment; excluded from points.

  • HSTS declared: failed · 0/1 applicable observations

    https://levels.io/: No Strict-Transport-Security header

  • Content Security Policy declared: failed · 0/1 applicable observations

    https://levels.io/: No Content-Security-Policy header or meta element

Sample reference: 8d16c737208bee2f22171874d381c9063b4de377eccb7d068657f9e48e9a3f9a

Diagnostic checklist

22 passed · 11 need work · 3 not verified. Open a check for the evidence and suggested fix.

SEO
100.00
Sharing
88.89
AI access
100.00
HTTP response measurement

196 ms median to homepage response headers. Measurements: 196, 192, 277 ms.

Same crawler, three sequential requests, DNS and TLS included. Timing is diagnostic only and never decides a position. This is server/network response, not browser loading or Core Web Vitals.

Static checks inspect crawler-visible HTML; they do not certify accessibility or code quality.

SEO0 to improve
Page titlePassed

98/98 applicable observations passed. 1.00/1 checklist weight earned.

How to improve: Give each page a descriptive, non-empty <title>.

Showing up to five examples, with failed observations first. Full per-page observations are listed below and available in the report API.

Distinct page titlesPassed

98/98 applicable observations passed. 1.00/1 checklist weight earned.

How to improve: Use a title that describes the purpose of this page rather than repeating the same title across URLs.

Showing up to five examples, with failed observations first. Full per-page observations are listed below and available in the report API.

Meta descriptionPassed

98/98 applicable observations passed. 1.00/1 checklist weight earned.

How to improve: Add a non-empty meta name="description" that summarizes this page.

Showing up to five examples, with failed observations first. Full per-page observations are listed below and available in the report API.

Self-referencing canonicalPassed

98/98 applicable observations passed. 1.00/1 checklist weight earned.

How to improve: Declare exactly one <link rel="canonical"> whose absolute URL is this page's own final URL (same scheme, host, path and query; only a trailing slash or fragment may differ). Cross-URL canonicals belong on duplicate pages, not on the indexable page itself. Reference: Google Search Central, canonicalization.

Showing up to five examples, with failed observations first. Full per-page observations are listed below and available in the report API.

Root sitemap availablePassed

1/1 applicable observations passed. 1.00/1 checklist weight earned.

How to improve: Publish a sitemap URL set or index at /sitemap.xml. This checks its root, not every listed URL.

Accessibility4 to improve
Document languagePassed

98/98 applicable observations passed. 1.00/1 checklist weight earned.

How to improve: Declare a valid language tag on the html element, such as en or pt-BR.

Showing up to five examples, with failed observations first. Full per-page observations are listed below and available in the report API.

Image alternatives declaredNeeds work

89/96 applicable observations passed. 0.93/1 checklist weight earned.

How to improve: Add alt text to informative images. Use alt="" for decorative images. This check does not judge text quality.

Showing up to five examples, with failed observations first. Full per-page observations are listed below and available in the report API.

Form controls namedNeeds work

0/98 applicable observations passed. 0.00/1 checklist weight earned.

How to improve: Associate a label with each visible form control, or provide a non-empty aria-label / valid aria-labelledby.

Showing up to five examples, with failed observations first. Full per-page observations are listed below and available in the report API.

Buttons namedPassed

98/98 applicable observations passed. 1.00/1 checklist weight earned.

How to improve: Give every button visible text or an accessible name, including icon-only buttons.

Showing up to five examples, with failed observations first. Full per-page observations are listed below and available in the report API.

Rendered color contrastNot verified

0/1 applicable observations passed. Informational; excluded from points.

How to improve: Check foreground/background contrast in the rendered page.

Keyboard and focus behaviorNot verified

0/1 applicable observations passed. Informational; excluded from points.

How to improve: Test every interactive control with a keyboard and inspect focus visibility.

Structure3 to improve
Main headingPassed

98/98 applicable observations passed. 1.00/1 checklist weight earned.

How to improve: Add a descriptive H1 identifying the main topic.

Showing up to five examples, with failed observations first. Full per-page observations are listed below and available in the report API.

Heading hierarchyPassed

98/98 applicable observations passed. 1.00/1 checklist weight earned.

How to improve: Nest headings logically without skipping a level, starting with H1.

Showing up to five examples, with failed observations first. Full per-page observations are listed below and available in the report API.

Main landmarkNeeds work

0/98 applicable observations passed. 0.00/1 checklist weight earned.

How to improve: Mark the main content with one <main> or role="main" landmark.

Showing up to five examples, with failed observations first. Full per-page observations are listed below and available in the report API.

Mobile viewportPassed

98/98 applicable observations passed. 1.00/1 checklist weight earned.

How to improve: Add meta name="viewport" with width=device-width and do not disable user zoom.

Showing up to five examples, with failed observations first. Full per-page observations are listed below and available in the report API.

Image dimensions declaredNeeds work

0/96 applicable observations passed. 0.00/1 checklist weight earned.

How to improve: Declare width and height attributes (or an inline aspect-ratio style) on every visible <img> so the browser reserves space before the image loads. Reference: web.dev / Lighthouse "image elements have explicit width and height" (layout shift).

Showing up to five examples, with failed observations first. Full per-page observations are listed below and available in the report API.

Structured data syntaxNeeds work

12/98 applicable observations passed. 0.12/1 checklist weight earned.

How to improve: Provide JSON-LD with @context and @type (or a typed @graph). Match the markup to the visible content; syntax alone does not validate its meaning. Reference: schema.org and Google structured data guidelines.

Showing up to five examples, with failed observations first. Full per-page observations are listed below and available in the report API.

Sharing1 to improve
Open Graph titlePassed

98/98 applicable observations passed. 1.00/1 checklist weight earned.

How to improve: Provide a non-empty og:title meta property.

Showing up to five examples, with failed observations first. Full per-page observations are listed below and available in the report API.

Open Graph descriptionPassed

98/98 applicable observations passed. 1.00/1 checklist weight earned.

How to improve: Provide a non-empty og:description meta property.

Showing up to five examples, with failed observations first. Full per-page observations are listed below and available in the report API.

Open Graph typePassed

98/98 applicable observations passed. 1.00/1 checklist weight earned.

How to improve: Declare og:type, such as website or article.

Showing up to five examples, with failed observations first. Full per-page observations are listed below and available in the report API.

Open Graph URLPassed

98/98 applicable observations passed. 1.00/1 checklist weight earned.

How to improve: Set og:url to an absolute HTTP(S) URL for this content.

Showing up to five examples, with failed observations first. Full per-page observations are listed below and available in the report API.

Open Graph image URLPassed

98/98 applicable observations passed. 1.00/1 checklist weight earned.

How to improve: Set og:image to an absolute HTTP(S) image URL. Homepage image availability is checked separately.

Showing up to five examples, with failed observations first. Full per-page observations are listed below and available in the report API.

Open Graph image descriptionNeeds work

0/98 applicable observations passed. 0.00/1 checklist weight earned.

How to improve: Describe the sharing image with og:image:alt.

Showing up to five examples, with failed observations first. Full per-page observations are listed below and available in the report API.

Social card typePassed

98/98 applicable observations passed. 1.00/1 checklist weight earned.

How to improve: Declare twitter:card as summary or summary_large_image for a website card.

Showing up to five examples, with failed observations first. Full per-page observations are listed below and available in the report API.

Homepage favicon availablePassed

1/1 applicable observations passed. 1.00/1 checklist weight earned.

How to improve: Serve a non-empty public image with an image Content-Type.

Homepage sharing image availablePassed

1/1 applicable observations passed. 1.00/1 checklist weight earned.

How to improve: Serve a non-empty public image with an image Content-Type.

Security2 to improve
HTTPS pagePassed

98/98 applicable observations passed. 1.00/1 checklist weight earned.

How to improve: Serve the page over HTTPS with a valid certificate.

Showing up to five examples, with failed observations first. Full per-page observations are listed below and available in the report API.

No insecure embedded resourcesPassed

98/98 applicable observations passed. 1.00/1 checklist weight earned.

How to improve: Use HTTPS for embedded script, image, stylesheet, frame, audio and video URLs.

Showing up to five examples, with failed observations first. Full per-page observations are listed below and available in the report API.

HSTS declaredNeeds work

0/1 applicable observations passed. 0.00/1 checklist weight earned.

How to improve: Send Strict-Transport-Security on HTTPS responses with max-age of at least 15552000 seconds (180 days); OWASP recommends one year and includeSubDomains. Reference: OWASP HTTP Strict Transport Security cheat sheet, MDN.

Content Security Policy declaredNeeds work

0/1 applicable observations passed. 0.00/1 checklist weight earned.

How to improve: Send a Content-Security-Policy header (or a <meta http-equiv="Content-Security-Policy"> on the page) that restricts script and resource sources. This check verifies presence, not policy strength. Reference: OWASP Content Security Policy cheat sheet, MDN.

AI access0 to improve
Content in initial HTMLPassed

98/98 applicable observations passed. 1.00/1 checklist weight earned.

How to improve: Render meaningful main content on the server so readers can access it without executing JavaScript.

Showing up to five examples, with failed observations first. Full per-page observations are listed below and available in the report API.

Performance1 to improve
HTML transfer budgetNeeds work

96/98 applicable observations passed. 0.98/1 checklist weight earned.

How to improve: Keep the uncompressed HTML at or below 500 KB. Remove duplicated inline payloads and unnecessary markup.

Showing up to five examples, with failed observations first. Full per-page observations are listed below and available in the report API.

Repeated homepage HTTP responsePassed

1/1 applicable observations passed. Informational; excluded from points.

How to improve: Improve server response and CDN caching. Median of three requests; diagnostic only, never a ranking tiebreak.

  • https://levels.io/3/3 successful measurements to response headers. Includes DNS and TLS; excludes rendering.
Browser loading and Core Web VitalsNot verified

0/1 applicable observations passed. Informational; excluded from points.

How to improve: Measure LCP, INP and CLS with browser and field tools.

Checklist quality-v4. Competitive weights: SEO 25%, Accessibility 25%, Structure 25%, Sharing 10%, Security 15%. AI access and Performance are diagnostic only. This expanded report may include pages outside the competitive sample. Unverified scored checks earn no points; not-applicable and manual checks are excluded. Full methodology and references.

HTTP response timings

HTTP response time measured by our crawler; not browser loading speed.

Pages inspected (100)

All 100 pages from this scan.

PageStatusTitleH1ms
https://levels.io/200@levelsio's blog
Page checklist evidence
  • title: passed@levelsio's blog
  • description: passedBootstrapping startups while traveling the world.
  • canonical: passedhttps://levels.io/
  • h1: passed1 H1 element(s)
  • headings: passed0 skipped heading level(s)
  • main: failed0 main landmarks
  • lang: passeden
  • alt: passed0 of 888 images lack an alt attribute
  • img-dimensions: failed887 of 888 images lack width/height attributes or an aspect-ratio style
  • labels: failed3 of 3 controls have no HTML label
  • buttons: passed0 of 3 buttons have no HTML name
  • links-named: failed887 of 1978 links have no HTML name
  • link-text: passed0 of 1978 links use generic text
  • viewport: passedwidth=device-width, initial-scale=1.0
  • https: passedhttps://levels.io/
  • mixed: passed0 HTTP embedded resource URL(s)
  • og-title: passed@levelsio's blog
  • og-description: passedBootstrapping startups while traveling the world.
  • og-type: passedwebsite
  • og-url: passedhttps://levels.io/
  • og-image: passedhttps://levels.io/og.jpg?v=1789196712
  • og-alt: failedNo sharing image description
  • twitter-card: passedsummary_large_image
  • readable: passed64104 characters of crawler-visible content (minimum 100)
  • jsonld: failed0 of 0 blocks have valid JSON-LD structure
  • html-size: passed453,335 bytes of HTML; budget 500,000
1685
https://levels.io/api2000242
https://levels.io/mcp200Use @levelsio's blog inside Claude, Grok and ChatGPT (MCP) — @levelsio (Pieter Levels)
Page checklist evidence
  • title: passedUse @levelsio's blog inside Claude, Grok and ChatGPT (MCP) — @levelsio (Pieter Levels)
  • description: passedPlug @levelsio's blog into your AI assistant: 879 posts on bootstrapping startups, AI, travel and nomad life. Free, no signup.
  • canonical: passedhttps://levels.io/mcp
  • h1: passed2 H1 element(s)
  • headings: passed0 skipped heading level(s)
  • main: failed0 main landmarks
  • lang: passeden
  • alt: not-applicable0 of 0 images lack an alt attribute
  • img-dimensions: not-applicable0 of 0 images lack width/height attributes or an aspect-ratio style
  • labels: failed1 of 1 controls have no HTML label
  • buttons: passed0 of 2 buttons have no HTML name
  • links-named: passed0 of 20 links have no HTML name
  • link-text: passed0 of 20 links use generic text
  • viewport: passedwidth=device-width, initial-scale=1.0
  • https: passedhttps://levels.io/mcp
  • mixed: passed0 HTTP embedded resource URL(s)
  • og-title: passedUse @levelsio's blog inside Claude, Grok and ChatGPT (MCP) — @levelsio (Pieter Levels)
  • og-description: passedPlug @levelsio's blog into your AI assistant: 879 posts on bootstrapping startups, AI, travel and nomad life. Free, no signup.
  • og-type: passedwebsite
  • og-url: passedhttps://levels.io/mcp
  • og-image: passedhttps://levels.io/og.jpg?v=1789196712
  • og-alt: failedNo sharing image description
  • twitter-card: passedsummary_large_image
  • readable: passed3160 characters of crawler-visible content (minimum 100)
  • jsonld: failed0 of 0 blocks have valid JSON-LD structure
  • html-size: passed45,859 bytes of HTML; budget 500,000
2155
https://levels.io/projects200List of all my projects ever — @levelsio (Pieter Levels)
Page checklist evidence
  • title: passedList of all my projects ever — @levelsio (Pieter Levels)
  • description: passedEvery project Pieter Levels has ever made, with success status.
  • canonical: passedhttps://levels.io/projects
  • h1: passed1 H1 element(s)
  • headings: passed0 skipped heading level(s)
  • main: failed0 main landmarks
  • lang: passeden
  • alt: passed0 of 884 images lack an alt attribute
  • img-dimensions: failed884 of 884 images lack width/height attributes or an aspect-ratio style
  • labels: failed1 of 2 controls have no HTML label
  • buttons: passed0 of 1 buttons have no HTML name
  • links-named: failed1211 of 2568 links have no HTML name
  • link-text: passed0 of 2568 links use generic text
  • viewport: passedwidth=device-width, initial-scale=1.0
  • https: passedhttps://levels.io/projects
  • mixed: passed0 HTTP embedded resource URL(s)
  • og-title: passedList of all my projects ever — @levelsio (Pieter Levels)
  • og-description: passedEvery project Pieter Levels has ever made, with success status.
  • og-type: passedwebsite
  • og-url: passedhttps://levels.io/projects
  • og-image: passedhttps://levels.io/og.jpg?v=1789196712
  • og-alt: failedNo sharing image description
  • twitter-card: passedsummary_large_image
  • readable: passed87066 characters of crawler-visible content (minimum 100)
  • jsonld: failed0 of 0 blocks have valid JSON-LD structure
  • html-size: failed587,984 bytes of HTML; budget 500,000
1247
https://levels.io/rss2000351
https://levels.io/stats200Stats — @levelsio (Pieter Levels)
Page checklist evidence
  • title: passedStats — @levelsio (Pieter Levels)
  • description: passedEvery post on the blog, visualised by year and topic.
  • canonical: passedhttps://levels.io/stats
  • h1: passed1 H1 element(s)
  • headings: passed0 skipped heading level(s)
  • main: failed0 main landmarks
  • lang: passeden
  • alt: not-applicable0 of 0 images lack an alt attribute
  • img-dimensions: not-applicable0 of 0 images lack width/height attributes or an aspect-ratio style
  • labels: failed1 of 7 controls have no HTML label
  • buttons: passed0 of 1 buttons have no HTML name
  • links-named: failed2471 of 2512 links have no HTML name
  • link-text: passed0 of 2512 links use generic text
  • viewport: passedwidth=device-width, initial-scale=1.0
  • https: passedhttps://levels.io/stats
  • mixed: passed0 HTTP embedded resource URL(s)
  • og-title: passedStats — @levelsio (Pieter Levels)
  • og-description: passedEvery post on the blog, visualised by year and topic.
  • og-type: passedwebsite
  • og-url: passedhttps://levels.io/stats
  • og-image: passedhttps://levels.io/og.jpg?v=1789196712
  • og-alt: failedNo sharing image description
  • twitter-card: passedsummary_large_image
  • readable: passed3562 characters of crawler-visible content (minimum 100)
  • jsonld: failed0 of 0 blocks have valid JSON-LD structure
  • html-size: failed878,499 bytes of HTML; budget 500,000
1543
https://levels.io/1-billion-views-on-x-in-12-months200I got 1 billion views on X in the last 12 months — @levelsio (Pieter Levels)
Page checklist evidence
  • title: passedI got 1 billion views on X in the last 12 months — @levelsio (Pieter Levels)
  • description: passedI got 1 billion views on my X in the last 12 months or 2,737,931 views per day That's about 3x more than all my sites do together And more reach than The Guard…
  • canonical: passedhttps://levels.io/1-billion-views-on-x-in-12-months
  • h1: passed1 H1 element(s)
  • headings: passed0 skipped heading level(s)
  • main: failed0 main landmarks
  • lang: passeden
  • alt: failed1 of 885 images lack an alt attribute
  • img-dimensions: failed884 of 885 images lack width/height attributes or an aspect-ratio style
  • labels: failed2 of 2 controls have no HTML label
  • buttons: passed0 of 2 buttons have no HTML name
  • links-named: failed884 of 1978 links have no HTML name
  • link-text: passed0 of 1978 links use generic text
  • viewport: passedwidth=device-width, initial-scale=1.0
  • https: passedhttps://levels.io/1-billion-views-on-x-in-12-months
  • mixed: passed0 HTTP embedded resource URL(s)
  • og-title: passedI got 1 billion views on X in the last 12 months — @levelsio (Pieter Levels)
  • og-description: passedI got 1 billion views on my X in the last 12 months or 2,737,931 views per day That's about 3x more than all my sites do together And more reach than The Guard…
  • og-type: passedarticle
  • og-url: passedhttps://levels.io/1-billion-views-on-x-in-12-months
  • og-image: passedhttps://r2.levels.io/tweets/1-billion-views-on-x-in-12-months/1.jpg
  • og-alt: failedNo sharing image description
  • twitter-card: passedsummary_large_image
  • readable: passed64315 characters of crawler-visible content (minimum 100)
  • jsonld: passed1 of 1 blocks have valid JSON-LD structure
  • html-size: passed450,700 bytes of HTML; budget 500,000
1287
https://levels.io/100-days-of-shipping200What I learnt from 100 days of shipping — @levelsio (Pieter Levels)
Page checklist evidence
  • title: passedWhat I learnt from 100 days of shipping — @levelsio (Pieter Levels)
  • description: passedAbout a year ago, I met @andreyazimov in Dojo, a coworking space in Bali. He wanted to make web products like me too. So I gave him some tips some time. I star…
  • canonical: passedhttps://levels.io/100-days-of-shipping
  • h1: passed1 H1 element(s)
  • headings: passed0 skipped heading level(s)
  • main: failed0 main landmarks
  • lang: passeden
  • alt: failed14 of 898 images lack an alt attribute
  • img-dimensions: failed898 of 898 images lack width/height attributes or an aspect-ratio style
  • labels: failed2 of 2 controls have no HTML label
  • buttons: passed0 of 2 buttons have no HTML name
  • links-named: failed885 of 1995 links have no HTML name
  • link-text: passed0 of 1995 links use generic text
  • viewport: passedwidth=device-width, initial-scale=1.0
  • https: passedhttps://levels.io/100-days-of-shipping
  • mixed: passed0 HTTP embedded resource URL(s)
  • og-title: passedWhat I learnt from 100 days of shipping — @levelsio (Pieter Levels)
  • og-description: passedAbout a year ago, I met @andreyazimov in Dojo, a coworking space in Bali. He wanted to make web products like me too. So I gave him some tips some time. I star…
  • og-type: passedarticle
  • og-url: passedhttps://levels.io/100-days-of-shipping
  • og-image: passedhttps://r2.levels.io/content/images/2018/01/3wip-award-1.png
  • og-alt: failedNo sharing image description
  • twitter-card: passedsummary_large_image
  • readable: passed69886 characters of crawler-visible content (minimum 100)
  • jsonld: passed1 of 1 blocks have valid JSON-LD structure
  • html-size: passed458,729 bytes of HTML; budget 500,000
1241
https://levels.io/100-mbps-starlink-internet-on-qatar-airways200I got 100+ mbps plane internet on Qatar Airways with Starlink — @levelsio (Pieter Levels)
Page checklist evidence
  • title: passedI got 100+ mbps plane internet on Qatar Airways with Starlink — @levelsio (Pieter Levels)
  • description: passed📡 I got 100+ mbps plane internet on @qatarairways with @Starlink 😊 Very cool!!!! And the coolest was no annoying login, just straight connecting to the WiFi an…
  • canonical: passedhttps://levels.io/100-mbps-starlink-internet-on-qatar-airways
  • h1: passed1 H1 element(s)
  • headings: passed0 skipped heading level(s)
  • main: failed0 main landmarks
  • lang: passeden
  • alt: passed0 of 885 images lack an alt attribute
  • img-dimensions: failed885 of 885 images lack width/height attributes or an aspect-ratio style
  • labels: failed2 of 2 controls have no HTML label
  • buttons: passed0 of 2 buttons have no HTML name
  • links-named: failed884 of 1977 links have no HTML name
  • link-text: passed0 of 1977 links use generic text
  • viewport: passedwidth=device-width, initial-scale=1.0
  • https: passedhttps://levels.io/100-mbps-starlink-internet-on-qatar-airways
  • mixed: passed0 HTTP embedded resource URL(s)
  • og-title: passedI got 100+ mbps plane internet on Qatar Airways with Starlink — @levelsio (Pieter Levels)
  • og-description: passed📡 I got 100+ mbps plane internet on @qatarairways with @Starlink 😊 Very cool!!!! And the coolest was no annoying login, just straight connecting to the WiFi an…
  • og-type: passedarticle
  • og-url: passedhttps://levels.io/100-mbps-starlink-internet-on-qatar-airways
  • og-image: passedhttps://r2.levels.io/tweets/100-mbps-starlink-internet-on-qatar-airways/cover.jpg
  • og-alt: failedNo sharing image description
  • twitter-card: passedsummary_large_image
  • readable: passed64169 characters of crawler-visible content (minimum 100)
  • jsonld: passed1 of 1 blocks have valid JSON-LD structure
  • html-size: passed450,952 bytes of HTML; budget 500,000
1246
https://levels.io/100-to-0-things200How I Went From 100 To 0 Things (Or How I Was Robbed of All My Stuff) — @levelsio (Pieter Levels)
Page checklist evidence
  • title: passedHow I Went From 100 To 0 Things (Or How I Was Robbed of All My Stuff) — @levelsio (Pieter Levels)
  • description: passedIt took 6 months for me to get from 300 to 100 things. It took just 5 minutes for me to get from 100 to 0 things. I just spent the last 9 months traveling and …
  • canonical: passedhttps://levels.io/100-to-0-things
  • h1: passed1 H1 element(s)
  • headings: passed0 skipped heading level(s)
  • main: failed0 main landmarks
  • lang: passeden
  • alt: failed5 of 891 images lack an alt attribute
  • img-dimensions: failed891 of 891 images lack width/height attributes or an aspect-ratio style
  • labels: failed2 of 2 controls have no HTML label
  • buttons: passed0 of 2 buttons have no HTML name
  • links-named: failed884 of 1988 links have no HTML name
  • link-text: passed0 of 1988 links use generic text
  • viewport: passedwidth=device-width, initial-scale=1.0
  • https: passedhttps://levels.io/100-to-0-things
  • mixed: passed0 HTTP embedded resource URL(s)
  • og-title: passedHow I Went From 100 To 0 Things (Or How I Was Robbed of All My Stuff) — @levelsio (Pieter Levels)
  • og-description: passedIt took 6 months for me to get from 300 to 100 things. It took just 5 minutes for me to get from 100 to 0 things. I just spent the last 9 months traveling and …
  • og-type: passedarticle
  • og-url: passedhttps://levels.io/100-to-0-things
  • og-image: passedhttps://r2.levels.io/content/images/2014/01/78461254-1.jpg
  • og-alt: failedNo sharing image description
  • twitter-card: passedsummary_large_image
  • readable: passed73358 characters of crawler-visible content (minimum 100)
  • jsonld: passed1 of 1 blocks have valid JSON-LD structure
  • html-size: passed460,825 bytes of HTML; budget 500,000
1233
https://levels.io/100k-savings-losing-2000-per-month-inflation200If you have $100,000 in savings you're losing $2,000 per month from inflation — @levelsio (Pieter Levels)
Page checklist evidence
  • title: passedIf you have $100,000 in savings you're losing $2,000 per month from inflation — @levelsio (Pieter Levels)
  • description: passedIf you have $100,000 in savings You're now losing ~$2,000 per month from inflation inflationchart.com/inflation-in-m3/?show_adjuster=0&show_divided_by=0
  • canonical: passedhttps://levels.io/100k-savings-losing-2000-per-month-inflation
  • h1: passed1 H1 element(s)
  • headings: passed0 skipped heading level(s)
  • main: failed0 main landmarks
  • lang: passeden
  • alt: passed0 of 885 images lack an alt attribute
  • img-dimensions: failed885 of 885 images lack width/height attributes or an aspect-ratio style
  • labels: failed2 of 2 controls have no HTML label
  • buttons: passed0 of 2 buttons have no HTML name
  • links-named: failed884 of 1977 links have no HTML name
  • link-text: passed0 of 1977 links use generic text
  • viewport: passedwidth=device-width, initial-scale=1.0
  • https: passedhttps://levels.io/100k-savings-losing-2000-per-month-inflation
  • mixed: passed0 HTTP embedded resource URL(s)
  • og-title: passedIf you have $100,000 in savings you're losing $2,000 per month from inflation — @levelsio (Pieter Levels)
  • og-description: passedIf you have $100,000 in savings You're now losing ~$2,000 per month from inflation inflationchart.com/inflation-in-m3/?show_adjuster=0&show_divided_by=0
  • og-type: passedarticle
  • og-url: passedhttps://levels.io/100k-savings-losing-2000-per-month-inflation
  • og-image: passedhttps://r2.levels.io/covers/100k-savings-losing-2000-per-month-inflation.png
  • og-alt: failedNo sharing image description
  • twitter-card: passedsummary_large_image
  • readable: passed64300 characters of crawler-visible content (minimum 100)
  • jsonld: passed1 of 1 blocks have valid JSON-LD structure
  • html-size: passed451,158 bytes of HTML; budget 500,000
1297
https://levels.io/10g-of-creatine-per-day20010g of creatine per day — @levelsio (Pieter Levels)
Page checklist evidence
  • title: passed10g of creatine per day — @levelsio (Pieter Levels)
  • description: passed10g of creatine per day
  • canonical: passedhttps://levels.io/10g-of-creatine-per-day
  • h1: passed1 H1 element(s)
  • headings: passed0 skipped heading level(s)
  • main: failed0 main landmarks
  • lang: passeden
  • alt: passed0 of 885 images lack an alt attribute
  • img-dimensions: failed885 of 885 images lack width/height attributes or an aspect-ratio style
  • labels: failed2 of 2 controls have no HTML label
  • buttons: passed0 of 2 buttons have no HTML name
  • links-named: failed885 of 1975 links have no HTML name
  • link-text: passed0 of 1975 links use generic text
  • viewport: passedwidth=device-width, initial-scale=1.0
  • https: passedhttps://levels.io/10g-of-creatine-per-day
  • mixed: passed0 HTTP embedded resource URL(s)
  • og-title: passed10g of creatine per day — @levelsio (Pieter Levels)
  • og-description: passed10g of creatine per day
  • og-type: passedarticle
  • og-url: passedhttps://levels.io/10g-of-creatine-per-day
  • og-image: passedhttps://r2.levels.io/tweets/10g-of-creatine-per-day/cover.jpg
  • og-alt: failedNo sharing image description
  • twitter-card: passedsummary_large_image
  • readable: passed64118 characters of crawler-visible content (minimum 100)
  • jsonld: passed1 of 1 blocks have valid JSON-LD structure
  • html-size: passed449,931 bytes of HTML; budget 500,000
1246
https://levels.io/12-fucking-rules-for-success20012 fucking rules for success — @levelsio (Pieter Levels)
Page checklist evidence
  • title: passed12 fucking rules for success — @levelsio (Pieter Levels)
  • description: passed12 Fucking Rules for Success
  • canonical: passedhttps://levels.io/12-fucking-rules-for-success
  • h1: passed1 H1 element(s)
  • headings: passed0 skipped heading level(s)
  • main: failed0 main landmarks
  • lang: passeden
  • alt: failed1 of 885 images lack an alt attribute
  • img-dimensions: failed884 of 885 images lack width/height attributes or an aspect-ratio style
  • labels: failed2 of 2 controls have no HTML label
  • buttons: passed0 of 2 buttons have no HTML name
  • links-named: failed884 of 1976 links have no HTML name
  • link-text: passed0 of 1976 links use generic text
  • viewport: passedwidth=device-width, initial-scale=1.0
  • https: passedhttps://levels.io/12-fucking-rules-for-success
  • mixed: passed0 HTTP embedded resource URL(s)
  • og-title: passed12 fucking rules for success — @levelsio (Pieter Levels)
  • og-description: passed12 Fucking Rules for Success
  • og-type: passedarticle
  • og-url: passedhttps://levels.io/12-fucking-rules-for-success
  • og-image: passedhttps://r2.levels.io/tweets/12-fucking-rules-for-success/1.jpg
  • og-alt: failedNo sharing image description
  • twitter-card: passedsummary_large_image
  • readable: passed64014 characters of crawler-visible content (minimum 100)
  • jsonld: passed1 of 1 blocks have valid JSON-LD structure
  • html-size: passed449,677 bytes of HTML; budget 500,000
1241
https://levels.io/12-startups-12-months200I'm Launching 12 Startups in 12 Months — @levelsio (Pieter Levels)
Page checklist evidence
  • title: passedI'm Launching 12 Startups in 12 Months — @levelsio (Pieter Levels)
  • description: passedI liked the idea of Jennifer Dewalt’s 180 websites in 180 days. However, unlike Jennifer who learned web development from scratch, I can already build stuff. M…
  • canonical: passedhttps://levels.io/12-startups-12-months
  • h1: passed1 H1 element(s)
  • headings: passed0 skipped heading level(s)
  • main: failed0 main landmarks
  • lang: passeden
  • alt: failed7 of 893 images lack an alt attribute
  • img-dimensions: failed893 of 893 images lack width/height attributes or an aspect-ratio style
  • labels: failed2 of 2 controls have no HTML label
  • buttons: passed0 of 2 buttons have no HTML name
  • links-named: failed884 of 2011 links have no HTML name
  • link-text: failed3 of 2011 links use generic text: "here"
  • viewport: passedwidth=device-width, initial-scale=1.0
  • https: passedhttps://levels.io/12-startups-12-months
  • mixed: passed0 HTTP embedded resource URL(s)
  • og-title: passedI'm Launching 12 Startups in 12 Months — @levelsio (Pieter Levels)
  • og-description: passedI liked the idea of Jennifer Dewalt’s 180 websites in 180 days. However, unlike Jennifer who learned web development from scratch, I can already build stuff. M…
  • og-type: passedarticle
  • og-url: passedhttps://levels.io/12-startups-12-months
  • og-image: passedhttps://r2.levels.io/content/images/2014/03/2014-02-12startups12months1-1.jpg
  • og-alt: failedNo sharing image description
  • twitter-card: passedsummary_large_image
  • readable: passed70593 characters of crawler-visible content (minimum 100)
  • jsonld: passed1 of 1 blocks have valid JSON-LD structure
  • html-size: passed459,939 bytes of HTML; budget 500,000
1236
https://levels.io/153-million-american-driver-licenses-leaked200153,000,000 American driver licenses leaked in KYC hack — @levelsio (Pieter Levels)
Page checklist evidence
  • title: passed153,000,000 American driver licenses leaked in KYC hack — @levelsio (Pieter Levels)
  • description: passed153,000,000 American driver licenses leaked in KYC hack This is 63% of all American driver licenses In US driver licenses function as valid government-issues p…
  • canonical: passedhttps://levels.io/153-million-american-driver-licenses-leaked
  • h1: passed1 H1 element(s)
  • headings: passed0 skipped heading level(s)
  • main: failed0 main landmarks
  • lang: passeden
  • alt: failed1 of 885 images lack an alt attribute
  • img-dimensions: failed884 of 885 images lack width/height attributes or an aspect-ratio style
  • labels: failed2 of 2 controls have no HTML label
  • buttons: passed0 of 2 buttons have no HTML name
  • links-named: failed885 of 1977 links have no HTML name
  • link-text: passed0 of 1977 links use generic text
  • viewport: passedwidth=device-width, initial-scale=1.0
  • https: passedhttps://levels.io/153-million-american-driver-licenses-leaked
  • mixed: passed0 HTTP embedded resource URL(s)
  • og-title: passed153,000,000 American driver licenses leaked in KYC hack — @levelsio (Pieter Levels)
  • og-description: passed153,000,000 American driver licenses leaked in KYC hack This is 63% of all American driver licenses In US driver licenses function as valid government-issues p…
  • og-type: passedarticle
  • og-url: passedhttps://levels.io/153-million-american-driver-licenses-leaked
  • og-image: passedhttps://r2.levels.io/tweets/153-million-american-driver-licenses-leaked/1.jpg
  • og-alt: failedNo sharing image description
  • twitter-card: passedsummary_large_image
  • readable: passed64333 characters of crawler-visible content (minimum 100)
  • jsonld: passed1 of 1 blocks have valid JSON-LD structure
  • html-size: passed451,225 bytes of HTML; budget 500,000
1334
https://levels.io/1983-wall-street-raiders-game-reverse-engineered2001983 Wall Street Raiders game reverse engineered from 115,000 lines of BASIC — @levelsio (Pieter Levels)
Page checklist evidence
  • title: passed1983 Wall Street Raiders game reverse engineered from 115,000 lines of BASIC — @levelsio (Pieter Levels)
  • description: passedSaw this on Hacker News today: Someone reverse engineered a game from 1983 called 📈 Wall Street Raiders, it was 115,000 lines of BASIC so indecipherable that e…
  • canonical: passedhttps://levels.io/1983-wall-street-raiders-game-reverse-engineered
  • h1: passed1 H1 element(s)
  • headings: passed0 skipped heading level(s)
  • main: failed0 main landmarks
  • lang: passeden
  • alt: passed0 of 885 images lack an alt attribute
  • img-dimensions: failed885 of 885 images lack width/height attributes or an aspect-ratio style
  • labels: failed2 of 2 controls have no HTML label
  • buttons: passed0 of 2 buttons have no HTML name
  • links-named: failed884 of 1978 links have no HTML name
  • link-text: passed0 of 1978 links use generic text
  • viewport: passedwidth=device-width, initial-scale=1.0
  • https: passedhttps://levels.io/1983-wall-street-raiders-game-reverse-engineered
  • mixed: passed0 HTTP embedded resource URL(s)
  • og-title: passed1983 Wall Street Raiders game reverse engineered from 115,000 lines of BASIC — @levelsio (Pieter Levels)
  • og-description: passedSaw this on Hacker News today: Someone reverse engineered a game from 1983 called 📈 Wall Street Raiders, it was 115,000 lines of BASIC so indecipherable that e…
  • og-type: passedarticle
  • og-url: passedhttps://levels.io/1983-wall-street-raiders-game-reverse-engineered
  • og-image: passedhttps://r2.levels.io/tweets/1983-wall-street-raiders-game-reverse-engineered/cover.jpg
  • og-alt: failedNo sharing image description
  • twitter-card: passedsummary_large_image
  • readable: passed64653 characters of crawler-visible content (minimum 100)
  • jsonld: passed1 of 1 blocks have valid JSON-LD structure
  • html-size: passed451,666 bytes of HTML; budget 500,000
1362
https://levels.io/1996/march200March 1996 — @levelsio (Pieter Levels)
Page checklist evidence
  • title: passedMarch 1996 — @levelsio (Pieter Levels)
  • description: passed1 posts from March 1996 by @levelsio
  • canonical: passedhttps://levels.io/1996/march
  • h1: passed2 H1 element(s)
  • headings: passed0 skipped heading level(s)
  • main: failed0 main landmarks
  • lang: passeden
  • alt: passed0 of 1 images lack an alt attribute
  • img-dimensions: failed1 of 1 images lack width/height attributes or an aspect-ratio style
  • labels: failed1 of 1 controls have no HTML label
  • buttons: passed0 of 1 buttons have no HTML name
  • links-named: failed1 of 14 links have no HTML name
  • link-text: passed0 of 14 links use generic text
  • viewport: passedwidth=device-width, initial-scale=1.0
  • https: passedhttps://levels.io/1996/march
  • mixed: passed0 HTTP embedded resource URL(s)
  • og-title: passedMarch 1996 — @levelsio (Pieter Levels)
  • og-description: passed1 posts from March 1996 by @levelsio
  • og-type: passedwebsite
  • og-url: passedhttps://levels.io/1996/march
  • og-image: passedhttps://levels.io/og.jpg?v=1789196712
  • og-alt: failedNo sharing image description
  • twitter-card: passedsummary_large_image
  • readable: passed214 characters of crawler-visible content (minimum 100)
  • jsonld: failed0 of 0 blocks have valid JSON-LD structure
  • html-size: passed40,009 bytes of HTML; budget 500,000
2180
https://levels.io/1997/february200February 1997 — @levelsio (Pieter Levels)
Page checklist evidence
  • title: passedFebruary 1997 — @levelsio (Pieter Levels)
  • description: passed1 posts from February 1997 by @levelsio
  • canonical: passedhttps://levels.io/1997/february
  • h1: passed2 H1 element(s)
  • headings: passed0 skipped heading level(s)
  • main: failed0 main landmarks
  • lang: passeden
  • alt: passed0 of 1 images lack an alt attribute
  • img-dimensions: failed1 of 1 images lack width/height attributes or an aspect-ratio style
  • labels: failed1 of 1 controls have no HTML label
  • buttons: passed0 of 1 buttons have no HTML name
  • links-named: failed1 of 14 links have no HTML name
  • link-text: passed0 of 14 links use generic text
  • viewport: passedwidth=device-width, initial-scale=1.0
  • https: passedhttps://levels.io/1997/february
  • mixed: passed0 HTTP embedded resource URL(s)
  • og-title: passedFebruary 1997 — @levelsio (Pieter Levels)
  • og-description: passed1 posts from February 1997 by @levelsio
  • og-type: passedwebsite
  • og-url: passedhttps://levels.io/1997/february
  • og-image: passedhttps://levels.io/og.jpg?v=1789196712
  • og-alt: failedNo sharing image description
  • twitter-card: passedsummary_large_image
  • readable: passed232 characters of crawler-visible content (minimum 100)
  • jsonld: failed0 of 0 blocks have valid JSON-LD structure
  • html-size: passed40,090 bytes of HTML; budget 500,000
2157
https://levels.io/1998/january200January 1998 — @levelsio (Pieter Levels)
Page checklist evidence
  • title: passedJanuary 1998 — @levelsio (Pieter Levels)
  • description: passed1 posts from January 1998 by @levelsio
  • canonical: passedhttps://levels.io/1998/january
  • h1: passed2 H1 element(s)
  • headings: passed0 skipped heading level(s)
  • main: failed0 main landmarks
  • lang: passeden
  • alt: passed0 of 1 images lack an alt attribute
  • img-dimensions: failed1 of 1 images lack width/height attributes or an aspect-ratio style
  • labels: failed1 of 1 controls have no HTML label
  • buttons: passed0 of 1 buttons have no HTML name
  • links-named: failed1 of 14 links have no HTML name
  • link-text: passed0 of 14 links use generic text
  • viewport: passedwidth=device-width, initial-scale=1.0
  • https: passedhttps://levels.io/1998/january
  • mixed: passed0 HTTP embedded resource URL(s)
  • og-title: passedJanuary 1998 — @levelsio (Pieter Levels)
  • og-description: passed1 posts from January 1998 by @levelsio
  • og-type: passedwebsite
  • og-url: passedhttps://levels.io/1998/january
  • og-image: passedhttps://levels.io/og.jpg?v=1789196712
  • og-alt: failedNo sharing image description
  • twitter-card: passedsummary_large_image
  • readable: passed252 characters of crawler-visible content (minimum 100)
  • jsonld: failed0 of 0 blocks have valid JSON-LD structure
  • html-size: passed40,092 bytes of HTML; budget 500,000
2156
https://levels.io/2-hours-after-a-german-signs-up-to-your-site2002 hours after a German signs up to your site — @levelsio (Pieter Levels)
Page checklist evidence
  • title: passed2 hours after a German signs up to your site — @levelsio (Pieter Levels)
  • description: passed2 hours after a German signs up to your site
  • canonical: passedhttps://levels.io/2-hours-after-a-german-signs-up-to-your-site
  • h1: passed1 H1 element(s)
  • headings: passed0 skipped heading level(s)
  • main: failed0 main landmarks
  • lang: passeden
  • alt: failed1 of 885 images lack an alt attribute
  • img-dimensions: failed884 of 885 images lack width/height attributes or an aspect-ratio style
  • labels: failed2 of 2 controls have no HTML label
  • buttons: passed0 of 2 buttons have no HTML name
  • links-named: failed884 of 1975 links have no HTML name
  • link-text: passed0 of 1975 links use generic text
  • viewport: passedwidth=device-width, initial-scale=1.0
  • https: passedhttps://levels.io/2-hours-after-a-german-signs-up-to-your-site
  • mixed: passed0 HTTP embedded resource URL(s)
  • og-title: passed2 hours after a German signs up to your site — @levelsio (Pieter Levels)
  • og-description: passed2 hours after a German signs up to your site
  • og-type: passedarticle
  • og-url: passedhttps://levels.io/2-hours-after-a-german-signs-up-to-your-site
  • og-image: passedhttps://r2.levels.io/tweets/2-hours-after-a-german-signs-up-to-your-site/1.jpg
  • og-alt: failedNo sharing image description
  • twitter-card: passedsummary_large_image
  • readable: passed64117 characters of crawler-visible content (minimum 100)
  • jsonld: passed1 of 1 blocks have valid JSON-LD structure
  • html-size: passed450,188 bytes of HTML; budget 500,000
1320
https://levels.io/2004/january200January 2004 — @levelsio (Pieter Levels)
Page checklist evidence
  • title: passedJanuary 2004 — @levelsio (Pieter Levels)
  • description: passed1 posts from January 2004 by @levelsio
  • canonical: passedhttps://levels.io/2004/january
  • h1: passed2 H1 element(s)
  • headings: passed0 skipped heading level(s)
  • main: failed0 main landmarks
  • lang: passeden
  • alt: passed0 of 1 images lack an alt attribute
  • img-dimensions: failed1 of 1 images lack width/height attributes or an aspect-ratio style
  • labels: failed1 of 1 controls have no HTML label
  • buttons: passed0 of 1 buttons have no HTML name
  • links-named: failed1 of 14 links have no HTML name
  • link-text: passed0 of 14 links use generic text
  • viewport: passedwidth=device-width, initial-scale=1.0
  • https: passedhttps://levels.io/2004/january
  • mixed: passed0 HTTP embedded resource URL(s)
  • og-title: passedJanuary 2004 — @levelsio (Pieter Levels)
  • og-description: passed1 posts from January 2004 by @levelsio
  • og-type: passedwebsite
  • og-url: passedhttps://levels.io/2004/january
  • og-image: passedhttps://levels.io/og.jpg?v=1789196712
  • og-alt: failedNo sharing image description
  • twitter-card: passedsummary_large_image
  • readable: passed216 characters of crawler-visible content (minimum 100)
  • jsonld: failed0 of 0 blocks have valid JSON-LD structure
  • html-size: passed40,030 bytes of HTML; budget 500,000
2171
https://levels.io/2004/june200June 2004 — @levelsio (Pieter Levels)
Page checklist evidence
  • title: passedJune 2004 — @levelsio (Pieter Levels)
  • description: passed1 posts from June 2004 by @levelsio
  • canonical: passedhttps://levels.io/2004/june
  • h1: passed2 H1 element(s)
  • headings: passed0 skipped heading level(s)
  • main: failed0 main landmarks
  • lang: passeden
  • alt: passed0 of 1 images lack an alt attribute
  • img-dimensions: failed1 of 1 images lack width/height attributes or an aspect-ratio style
  • labels: failed1 of 1 controls have no HTML label
  • buttons: passed0 of 1 buttons have no HTML name
  • links-named: failed1 of 14 links have no HTML name
  • link-text: passed0 of 14 links use generic text
  • viewport: passedwidth=device-width, initial-scale=1.0
  • https: passedhttps://levels.io/2004/june
  • mixed: passed0 HTTP embedded resource URL(s)
  • og-title: passedJune 2004 — @levelsio (Pieter Levels)
  • og-description: passed1 posts from June 2004 by @levelsio
  • og-type: passedwebsite
  • og-url: passedhttps://levels.io/2004/june
  • og-image: passedhttps://levels.io/og.jpg?v=1789196712
  • og-alt: failedNo sharing image description
  • twitter-card: passedsummary_large_image
  • readable: passed237 characters of crawler-visible content (minimum 100)
  • jsonld: failed0 of 0 blocks have valid JSON-LD structure
  • html-size: passed40,046 bytes of HTML; budget 500,000
2181
https://levels.io/2004/may200May 2004 — @levelsio (Pieter Levels)
Page checklist evidence
  • title: passedMay 2004 — @levelsio (Pieter Levels)
  • description: passed1 posts from May 2004 by @levelsio
  • canonical: passedhttps://levels.io/2004/may
  • h1: passed2 H1 element(s)
  • headings: passed0 skipped heading level(s)
  • main: failed0 main landmarks
  • lang: passeden
  • alt: passed0 of 1 images lack an alt attribute
  • img-dimensions: failed1 of 1 images lack width/height attributes or an aspect-ratio style
  • labels: failed1 of 1 controls have no HTML label
  • buttons: passed0 of 1 buttons have no HTML name
  • links-named: failed1 of 14 links have no HTML name
  • link-text: passed0 of 14 links use generic text
  • viewport: passedwidth=device-width, initial-scale=1.0
  • https: passedhttps://levels.io/2004/may
  • mixed: passed0 HTTP embedded resource URL(s)
  • og-title: passedMay 2004 — @levelsio (Pieter Levels)
  • og-description: passed1 posts from May 2004 by @levelsio
  • og-type: passedwebsite
  • og-url: passedhttps://levels.io/2004/may
  • og-image: passedhttps://levels.io/og.jpg?v=1789196712
  • og-alt: failedNo sharing image description
  • twitter-card: passedsummary_large_image
  • readable: passed244 characters of crawler-visible content (minimum 100)
  • jsonld: failed0 of 0 blocks have valid JSON-LD structure
  • html-size: passed40,085 bytes of HTML; budget 500,000
2179
https://levels.io/2004/november200November 2004 — @levelsio (Pieter Levels)
Page checklist evidence
  • title: passedNovember 2004 — @levelsio (Pieter Levels)
  • description: passed1 posts from November 2004 by @levelsio
  • canonical: passedhttps://levels.io/2004/november
  • h1: passed2 H1 element(s)
  • headings: passed0 skipped heading level(s)
  • main: failed0 main landmarks
  • lang: passeden
  • alt: passed0 of 1 images lack an alt attribute
  • img-dimensions: failed1 of 1 images lack width/height attributes or an aspect-ratio style
  • labels: failed1 of 1 controls have no HTML label
  • buttons: passed0 of 1 buttons have no HTML name
  • links-named: failed1 of 14 links have no HTML name
  • link-text: passed0 of 14 links use generic text
  • viewport: passedwidth=device-width, initial-scale=1.0
  • https: passedhttps://levels.io/2004/november
  • mixed: passed0 HTTP embedded resource URL(s)
  • og-title: passedNovember 2004 — @levelsio (Pieter Levels)
  • og-description: passed1 posts from November 2004 by @levelsio
  • og-type: passedwebsite
  • og-url: passedhttps://levels.io/2004/november
  • og-image: passedhttps://levels.io/og.jpg?v=1789196712
  • og-alt: failedNo sharing image description
  • twitter-card: passedsummary_large_image
  • readable: passed243 characters of crawler-visible content (minimum 100)
  • jsonld: failed0 of 0 blocks have valid JSON-LD structure
  • html-size: passed40,111 bytes of HTML; budget 500,000
2161
https://levels.io/2008/april200April 2008 — @levelsio (Pieter Levels)
Page checklist evidence
  • title: passedApril 2008 — @levelsio (Pieter Levels)
  • description: passed2 posts from April 2008 by @levelsio
  • canonical: passedhttps://levels.io/2008/april
  • h1: passed2 H1 element(s)
  • headings: passed0 skipped heading level(s)
  • main: failed0 main landmarks
  • lang: passeden
  • alt: passed0 of 2 images lack an alt attribute
  • img-dimensions: failed2 of 2 images lack width/height attributes or an aspect-ratio style
  • labels: failed1 of 1 controls have no HTML label
  • buttons: passed0 of 1 buttons have no HTML name
  • links-named: failed2 of 16 links have no HTML name
  • link-text: passed0 of 16 links use generic text
  • viewport: passedwidth=device-width, initial-scale=1.0
  • https: passedhttps://levels.io/2008/april
  • mixed: passed0 HTTP embedded resource URL(s)
  • og-title: passedApril 2008 — @levelsio (Pieter Levels)
  • og-description: passed2 posts from April 2008 by @levelsio
  • og-type: passedwebsite
  • og-url: passedhttps://levels.io/2008/april
  • og-image: passedhttps://levels.io/og.jpg?v=1789196712
  • og-alt: failedNo sharing image description
  • twitter-card: passedsummary_large_image
  • readable: passed311 characters of crawler-visible content (minimum 100)
  • jsonld: failed0 of 0 blocks have valid JSON-LD structure
  • html-size: passed40,456 bytes of HTML; budget 500,000
2174
https://levels.io/2008/june200June 2008 — @levelsio (Pieter Levels)
Page checklist evidence
  • title: passedJune 2008 — @levelsio (Pieter Levels)
  • description: passed1 posts from June 2008 by @levelsio
  • canonical: passedhttps://levels.io/2008/june
  • h1: passed2 H1 element(s)
  • headings: passed0 skipped heading level(s)
  • main: failed0 main landmarks
  • lang: passeden
  • alt: passed0 of 1 images lack an alt attribute
  • img-dimensions: failed1 of 1 images lack width/height attributes or an aspect-ratio style
  • labels: failed1 of 1 controls have no HTML label
  • buttons: passed0 of 1 buttons have no HTML name
  • links-named: failed1 of 14 links have no HTML name
  • link-text: passed0 of 14 links use generic text
  • viewport: passedwidth=device-width, initial-scale=1.0
  • https: passedhttps://levels.io/2008/june
  • mixed: passed0 HTTP embedded resource URL(s)
  • og-title: passedJune 2008 — @levelsio (Pieter Levels)
  • og-description: passed1 posts from June 2008 by @levelsio
  • og-type: passedwebsite
  • og-url: passedhttps://levels.io/2008/june
  • og-image: passedhttps://levels.io/og.jpg?v=1789196712
  • og-alt: failedNo sharing image description
  • twitter-card: passedsummary_large_image
  • readable: passed245 characters of crawler-visible content (minimum 100)
  • jsonld: failed0 of 0 blocks have valid JSON-LD structure
  • html-size: passed40,088 bytes of HTML; budget 500,000
2158
https://levels.io/2008/may200May 2008 — @levelsio (Pieter Levels)
Page checklist evidence
  • title: passedMay 2008 — @levelsio (Pieter Levels)
  • description: passed2 posts from May 2008 by @levelsio
  • canonical: passedhttps://levels.io/2008/may
  • h1: passed2 H1 element(s)
  • headings: passed0 skipped heading level(s)
  • main: failed0 main landmarks
  • lang: passeden
  • alt: passed0 of 2 images lack an alt attribute
  • img-dimensions: failed2 of 2 images lack width/height attributes or an aspect-ratio style
  • labels: failed1 of 1 controls have no HTML label
  • buttons: passed0 of 1 buttons have no HTML name
  • links-named: failed2 of 16 links have no HTML name
  • link-text: passed0 of 16 links use generic text
  • viewport: passedwidth=device-width, initial-scale=1.0
  • https: passedhttps://levels.io/2008/may
  • mixed: passed0 HTTP embedded resource URL(s)
  • og-title: passedMay 2008 — @levelsio (Pieter Levels)
  • og-description: passed2 posts from May 2008 by @levelsio
  • og-type: passedwebsite
  • og-url: passedhttps://levels.io/2008/may
  • og-image: passedhttps://levels.io/og.jpg?v=1789196712
  • og-alt: failedNo sharing image description
  • twitter-card: passedsummary_large_image
  • readable: passed312 characters of crawler-visible content (minimum 100)
  • jsonld: failed0 of 0 blocks have valid JSON-LD structure
  • html-size: passed40,472 bytes of HTML; budget 500,000
2166
https://levels.io/2009/october200October 2009 — @levelsio (Pieter Levels)
Page checklist evidence
  • title: passedOctober 2009 — @levelsio (Pieter Levels)
  • description: passed1 posts from October 2009 by @levelsio
  • canonical: passedhttps://levels.io/2009/october
  • h1: passed2 H1 element(s)
  • headings: passed0 skipped heading level(s)
  • main: failed0 main landmarks
  • lang: passeden
  • alt: passed0 of 1 images lack an alt attribute
  • img-dimensions: failed1 of 1 images lack width/height attributes or an aspect-ratio style
  • labels: failed1 of 1 controls have no HTML label
  • buttons: passed0 of 1 buttons have no HTML name
  • links-named: failed1 of 14 links have no HTML name
  • link-text: passed0 of 14 links use generic text
  • viewport: passedwidth=device-width, initial-scale=1.0
  • https: passedhttps://levels.io/2009/october
  • mixed: passed0 HTTP embedded resource URL(s)
  • og-title: passedOctober 2009 — @levelsio (Pieter Levels)
  • og-description: passed1 posts from October 2009 by @levelsio
  • og-type: passedwebsite
  • og-url: passedhttps://levels.io/2009/october
  • og-image: passedhttps://levels.io/og.jpg?v=1789196712
  • og-alt: failedNo sharing image description
  • twitter-card: passedsummary_large_image
  • readable: passed236 characters of crawler-visible content (minimum 100)
  • jsonld: failed0 of 0 blocks have valid JSON-LD structure
  • html-size: passed40,076 bytes of HTML; budget 500,000
2167
https://levels.io/2009/september200September 2009 — @levelsio (Pieter Levels)
Page checklist evidence
  • title: passedSeptember 2009 — @levelsio (Pieter Levels)
  • description: passed1 posts from September 2009 by @levelsio
  • canonical: passedhttps://levels.io/2009/september
  • h1: passed2 H1 element(s)
  • headings: passed0 skipped heading level(s)
  • main: failed0 main landmarks
  • lang: passeden
  • alt: passed0 of 1 images lack an alt attribute
  • img-dimensions: failed1 of 1 images lack width/height attributes or an aspect-ratio style
  • labels: failed1 of 1 controls have no HTML label
  • buttons: passed0 of 1 buttons have no HTML name
  • links-named: failed1 of 14 links have no HTML name
  • link-text: passed0 of 14 links use generic text
  • viewport: passedwidth=device-width, initial-scale=1.0
  • https: passedhttps://levels.io/2009/september
  • mixed: passed0 HTTP embedded resource URL(s)
  • og-title: passedSeptember 2009 — @levelsio (Pieter Levels)
  • og-description: passed1 posts from September 2009 by @levelsio
  • og-type: passedwebsite
  • og-url: passedhttps://levels.io/2009/september
  • og-image: passedhttps://levels.io/og.jpg?v=1789196712
  • og-alt: failedNo sharing image description
  • twitter-card: passedsummary_large_image
  • readable: passed216 characters of crawler-visible content (minimum 100)
  • jsonld: failed0 of 0 blocks have valid JSON-LD structure
  • html-size: passed40,057 bytes of HTML; budget 500,000
2158
https://levels.io/2010/june200June 2010 — @levelsio (Pieter Levels)
Page checklist evidence
  • title: passedJune 2010 — @levelsio (Pieter Levels)
  • description: passed1 posts from June 2010 by @levelsio
  • canonical: passedhttps://levels.io/2010/june
  • h1: passed2 H1 element(s)
  • headings: passed0 skipped heading level(s)
  • main: failed0 main landmarks
  • lang: passeden
  • alt: passed0 of 1 images lack an alt attribute
  • img-dimensions: failed1 of 1 images lack width/height attributes or an aspect-ratio style
  • labels: failed1 of 1 controls have no HTML label
  • buttons: passed0 of 1 buttons have no HTML name
  • links-named: failed1 of 14 links have no HTML name
  • link-text: passed0 of 14 links use generic text
  • viewport: passedwidth=device-width, initial-scale=1.0
  • https: passedhttps://levels.io/2010/june
  • mixed: passed0 HTTP embedded resource URL(s)
  • og-title: passedJune 2010 — @levelsio (Pieter Levels)
  • og-description: passed1 posts from June 2010 by @levelsio
  • og-type: passedwebsite
  • og-url: passedhttps://levels.io/2010/june
  • og-image: passedhttps://levels.io/og.jpg?v=1789196712
  • og-alt: failedNo sharing image description
  • twitter-card: passedsummary_large_image
  • readable: passed233 characters of crawler-visible content (minimum 100)
  • jsonld: failed0 of 0 blocks have valid JSON-LD structure
  • html-size: passed40,079 bytes of HTML; budget 500,000
2174
https://levels.io/2010/september200September 2010 — @levelsio (Pieter Levels)
Page checklist evidence
  • title: passedSeptember 2010 — @levelsio (Pieter Levels)
  • description: passed1 posts from September 2010 by @levelsio
  • canonical: passedhttps://levels.io/2010/september
  • h1: passed2 H1 element(s)
  • headings: passed0 skipped heading level(s)
  • main: failed0 main landmarks
  • lang: passeden
  • alt: passed0 of 1 images lack an alt attribute
  • img-dimensions: failed1 of 1 images lack width/height attributes or an aspect-ratio style
  • labels: failed1 of 1 controls have no HTML label
  • buttons: passed0 of 1 buttons have no HTML name
  • links-named: failed1 of 14 links have no HTML name
  • link-text: passed0 of 14 links use generic text
  • viewport: passedwidth=device-width, initial-scale=1.0
  • https: passedhttps://levels.io/2010/september
  • mixed: passed0 HTTP embedded resource URL(s)
  • og-title: passedSeptember 2010 — @levelsio (Pieter Levels)
  • og-description: passed1 posts from September 2010 by @levelsio
  • og-type: passedwebsite
  • og-url: passedhttps://levels.io/2010/september
  • og-image: passedhttps://levels.io/og.jpg?v=1789196712
  • og-alt: failedNo sharing image description
  • twitter-card: passedsummary_large_image
  • readable: passed237 characters of crawler-visible content (minimum 100)
  • jsonld: failed0 of 0 blocks have valid JSON-LD structure
  • html-size: passed40,151 bytes of HTML; budget 500,000
2250
https://levels.io/2011/december200December 2011 — @levelsio (Pieter Levels)
Page checklist evidence
  • title: passedDecember 2011 — @levelsio (Pieter Levels)
  • description: passed1 posts from December 2011 by @levelsio
  • canonical: passedhttps://levels.io/2011/december
  • h1: passed2 H1 element(s)
  • headings: passed0 skipped heading level(s)
  • main: failed0 main landmarks
  • lang: passeden
  • alt: passed0 of 1 images lack an alt attribute
  • img-dimensions: failed1 of 1 images lack width/height attributes or an aspect-ratio style
  • labels: failed1 of 1 controls have no HTML label
  • buttons: passed0 of 1 buttons have no HTML name
  • links-named: failed1 of 14 links have no HTML name
  • link-text: passed0 of 14 links use generic text
  • viewport: passedwidth=device-width, initial-scale=1.0
  • https: passedhttps://levels.io/2011/december
  • mixed: passed0 HTTP embedded resource URL(s)
  • og-title: passedDecember 2011 — @levelsio (Pieter Levels)
  • og-description: passed1 posts from December 2011 by @levelsio
  • og-type: passedwebsite
  • og-url: passedhttps://levels.io/2011/december
  • og-image: passedhttps://levels.io/og.jpg?v=1789196712
  • og-alt: failedNo sharing image description
  • twitter-card: passedsummary_large_image
  • readable: passed203 characters of crawler-visible content (minimum 100)
  • jsonld: failed0 of 0 blocks have valid JSON-LD structure
  • html-size: passed40,014 bytes of HTML; budget 500,000
2149
https://levels.io/2011/november200November 2011 — @levelsio (Pieter Levels)
Page checklist evidence
  • title: passedNovember 2011 — @levelsio (Pieter Levels)
  • description: passed3 posts from November 2011 by @levelsio
  • canonical: passedhttps://levels.io/2011/november
  • h1: passed2 H1 element(s)
  • headings: passed0 skipped heading level(s)
  • main: failed0 main landmarks
  • lang: passeden
  • alt: passed0 of 3 images lack an alt attribute
  • img-dimensions: failed3 of 3 images lack width/height attributes or an aspect-ratio style
  • labels: failed1 of 1 controls have no HTML label
  • buttons: passed0 of 1 buttons have no HTML name
  • links-named: failed3 of 18 links have no HTML name
  • link-text: passed0 of 18 links use generic text
  • viewport: passedwidth=device-width, initial-scale=1.0
  • https: passedhttps://levels.io/2011/november
  • mixed: passed0 HTTP embedded resource URL(s)
  • og-title: passedNovember 2011 — @levelsio (Pieter Levels)
  • og-description: passed3 posts from November 2011 by @levelsio
  • og-type: passedwebsite
  • og-url: passedhttps://levels.io/2011/november
  • og-image: passedhttps://levels.io/og.jpg?v=1789196712
  • og-alt: failedNo sharing image description
  • twitter-card: passedsummary_large_image
  • readable: passed256 characters of crawler-visible content (minimum 100)
  • jsonld: failed0 of 0 blocks have valid JSON-LD structure
  • html-size: passed40,546 bytes of HTML; budget 500,000
2148
https://levels.io/2011/october200October 2011 — @levelsio (Pieter Levels)
Page checklist evidence
  • title: passedOctober 2011 — @levelsio (Pieter Levels)
  • description: passed2 posts from October 2011 by @levelsio
  • canonical: passedhttps://levels.io/2011/october
  • h1: passed2 H1 element(s)
  • headings: passed0 skipped heading level(s)
  • main: failed0 main landmarks
  • lang: passeden
  • alt: passed0 of 2 images lack an alt attribute
  • img-dimensions: failed2 of 2 images lack width/height attributes or an aspect-ratio style
  • labels: failed1 of 1 controls have no HTML label
  • buttons: passed0 of 1 buttons have no HTML name
  • links-named: failed2 of 16 links have no HTML name
  • link-text: passed0 of 16 links use generic text
  • viewport: passedwidth=device-width, initial-scale=1.0
  • https: passedhttps://levels.io/2011/october
  • mixed: passed0 HTTP embedded resource URL(s)
  • og-title: passedOctober 2011 — @levelsio (Pieter Levels)
  • og-description: passed2 posts from October 2011 by @levelsio
  • og-type: passedwebsite
  • og-url: passedhttps://levels.io/2011/october
  • og-image: passedhttps://levels.io/og.jpg?v=1789196712
  • og-alt: failedNo sharing image description
  • twitter-card: passedsummary_large_image
  • readable: passed222 characters of crawler-visible content (minimum 100)
  • jsonld: failed0 of 0 blocks have valid JSON-LD structure
  • html-size: passed40,239 bytes of HTML; budget 500,000
2152
https://levels.io/2012/august200August 2012 — @levelsio (Pieter Levels)
Page checklist evidence
  • title: passedAugust 2012 — @levelsio (Pieter Levels)
  • description: passed5 posts from August 2012 by @levelsio
  • canonical: passedhttps://levels.io/2012/august
  • h1: passed2 H1 element(s)
  • headings: passed0 skipped heading level(s)
  • main: failed0 main landmarks
  • lang: passeden
  • alt: passed0 of 5 images lack an alt attribute
  • img-dimensions: failed5 of 5 images lack width/height attributes or an aspect-ratio style
  • labels: failed1 of 1 controls have no HTML label
  • buttons: passed0 of 1 buttons have no HTML name
  • links-named: failed5 of 22 links have no HTML name
  • link-text: passed0 of 22 links use generic text
  • viewport: passedwidth=device-width, initial-scale=1.0
  • https: passedhttps://levels.io/2012/august
  • mixed: passed0 HTTP embedded resource URL(s)
  • og-title: passedAugust 2012 — @levelsio (Pieter Levels)
  • og-description: passed5 posts from August 2012 by @levelsio
  • og-type: passedwebsite
  • og-url: passedhttps://levels.io/2012/august
  • og-image: passedhttps://levels.io/og.jpg?v=1789196712
  • og-alt: failedNo sharing image description
  • twitter-card: passedsummary_large_image
  • readable: passed365 characters of crawler-visible content (minimum 100)
  • jsonld: failed0 of 0 blocks have valid JSON-LD structure
  • html-size: passed41,392 bytes of HTML; budget 500,000
2160
https://levels.io/2012/december200December 2012 — @levelsio (Pieter Levels)
Page checklist evidence
  • title: passedDecember 2012 — @levelsio (Pieter Levels)
  • description: passed1 posts from December 2012 by @levelsio
  • canonical: passedhttps://levels.io/2012/december
  • h1: passed2 H1 element(s)
  • headings: passed0 skipped heading level(s)
  • main: failed0 main landmarks
  • lang: passeden
  • alt: passed0 of 1 images lack an alt attribute
  • img-dimensions: failed1 of 1 images lack width/height attributes or an aspect-ratio style
  • labels: failed1 of 1 controls have no HTML label
  • buttons: passed0 of 1 buttons have no HTML name
  • links-named: failed1 of 14 links have no HTML name
  • link-text: passed0 of 14 links use generic text
  • viewport: passedwidth=device-width, initial-scale=1.0
  • https: passedhttps://levels.io/2012/december
  • mixed: passed0 HTTP embedded resource URL(s)
  • og-title: passedDecember 2012 — @levelsio (Pieter Levels)
  • og-description: passed1 posts from December 2012 by @levelsio
  • og-type: passedwebsite
  • og-url: passedhttps://levels.io/2012/december
  • og-image: passedhttps://levels.io/og.jpg?v=1789196712
  • og-alt: failedNo sharing image description
  • twitter-card: passedsummary_large_image
  • readable: passed259 characters of crawler-visible content (minimum 100)
  • jsonld: failed0 of 0 blocks have valid JSON-LD structure
  • html-size: passed40,137 bytes of HTML; budget 500,000
2174
https://levels.io/2012/january200January 2012 — @levelsio (Pieter Levels)
Page checklist evidence
  • title: passedJanuary 2012 — @levelsio (Pieter Levels)
  • description: passed2 posts from January 2012 by @levelsio
  • canonical: passedhttps://levels.io/2012/january
  • h1: passed2 H1 element(s)
  • headings: passed0 skipped heading level(s)
  • main: failed0 main landmarks
  • lang: passeden
  • alt: passed0 of 2 images lack an alt attribute
  • img-dimensions: failed2 of 2 images lack width/height attributes or an aspect-ratio style
  • labels: failed1 of 1 controls have no HTML label
  • buttons: passed0 of 1 buttons have no HTML name
  • links-named: failed2 of 16 links have no HTML name
  • link-text: passed0 of 16 links use generic text
  • viewport: passedwidth=device-width, initial-scale=1.0
  • https: passedhttps://levels.io/2012/january
  • mixed: passed0 HTTP embedded resource URL(s)
  • og-title: passedJanuary 2012 — @levelsio (Pieter Levels)
  • og-description: passed2 posts from January 2012 by @levelsio
  • og-type: passedwebsite
  • og-url: passedhttps://levels.io/2012/january
  • og-image: passedhttps://levels.io/og.jpg?v=1789196712
  • og-alt: failedNo sharing image description
  • twitter-card: passedsummary_large_image
  • readable: passed258 characters of crawler-visible content (minimum 100)
  • jsonld: failed0 of 0 blocks have valid JSON-LD structure
  • html-size: passed40,410 bytes of HTML; budget 500,000
2159
https://levels.io/2012/july200July 2012 — @levelsio (Pieter Levels)
Page checklist evidence
  • title: passedJuly 2012 — @levelsio (Pieter Levels)
  • description: passed7 posts from July 2012 by @levelsio
  • canonical: passedhttps://levels.io/2012/july
  • h1: passed2 H1 element(s)
  • headings: passed0 skipped heading level(s)
  • main: failed0 main landmarks
  • lang: passeden
  • alt: passed0 of 7 images lack an alt attribute
  • img-dimensions: failed7 of 7 images lack width/height attributes or an aspect-ratio style
  • labels: failed1 of 1 controls have no HTML label
  • buttons: passed0 of 1 buttons have no HTML name
  • links-named: failed7 of 26 links have no HTML name
  • link-text: passed0 of 26 links use generic text
  • viewport: passedwidth=device-width, initial-scale=1.0
  • https: passedhttps://levels.io/2012/july
  • mixed: passed0 HTTP embedded resource URL(s)
  • og-title: passedJuly 2012 — @levelsio (Pieter Levels)
  • og-description: passed7 posts from July 2012 by @levelsio
  • og-type: passedwebsite
  • og-url: passedhttps://levels.io/2012/july
  • og-image: passedhttps://levels.io/og.jpg?v=1789196712
  • og-alt: failedNo sharing image description
  • twitter-card: passedsummary_large_image
  • readable: passed441 characters of crawler-visible content (minimum 100)
  • jsonld: failed0 of 0 blocks have valid JSON-LD structure
  • html-size: passed41,975 bytes of HTML; budget 500,000
2168
https://levels.io/2012/june200June 2012 — @levelsio (Pieter Levels)
Page checklist evidence
  • title: passedJune 2012 — @levelsio (Pieter Levels)
  • description: passed7 posts from June 2012 by @levelsio
  • canonical: passedhttps://levels.io/2012/june
  • h1: passed2 H1 element(s)
  • headings: passed0 skipped heading level(s)
  • main: failed0 main landmarks
  • lang: passeden
  • alt: passed0 of 7 images lack an alt attribute
  • img-dimensions: failed7 of 7 images lack width/height attributes or an aspect-ratio style
  • labels: failed1 of 1 controls have no HTML label
  • buttons: passed0 of 1 buttons have no HTML name
  • links-named: failed7 of 26 links have no HTML name
  • link-text: passed0 of 26 links use generic text
  • viewport: passedwidth=device-width, initial-scale=1.0
  • https: passedhttps://levels.io/2012/june
  • mixed: passed0 HTTP embedded resource URL(s)
  • og-title: passedJune 2012 — @levelsio (Pieter Levels)
  • og-description: passed7 posts from June 2012 by @levelsio
  • og-type: passedwebsite
  • og-url: passedhttps://levels.io/2012/june
  • og-image: passedhttps://levels.io/og.jpg?v=1789196712
  • og-alt: failedNo sharing image description
  • twitter-card: passedsummary_large_image
  • readable: passed414 characters of crawler-visible content (minimum 100)
  • jsonld: failed0 of 0 blocks have valid JSON-LD structure
  • html-size: passed41,881 bytes of HTML; budget 500,000
2154
https://levels.io/2012/may200May 2012 — @levelsio (Pieter Levels)
Page checklist evidence
  • title: passedMay 2012 — @levelsio (Pieter Levels)
  • description: passed1 posts from May 2012 by @levelsio
  • canonical: passedhttps://levels.io/2012/may
  • h1: passed2 H1 element(s)
  • headings: passed0 skipped heading level(s)
  • main: failed0 main landmarks
  • lang: passeden
  • alt: passed0 of 1 images lack an alt attribute
  • img-dimensions: failed1 of 1 images lack width/height attributes or an aspect-ratio style
  • labels: failed1 of 1 controls have no HTML label
  • buttons: passed0 of 1 buttons have no HTML name
  • links-named: failed1 of 14 links have no HTML name
  • link-text: passed0 of 14 links use generic text
  • viewport: passedwidth=device-width, initial-scale=1.0
  • https: passedhttps://levels.io/2012/may
  • mixed: passed0 HTTP embedded resource URL(s)
  • og-title: passedMay 2012 — @levelsio (Pieter Levels)
  • og-description: passed1 posts from May 2012 by @levelsio
  • og-type: passedwebsite
  • og-url: passedhttps://levels.io/2012/may
  • og-image: passedhttps://levels.io/og.jpg?v=1789196712
  • og-alt: failedNo sharing image description
  • twitter-card: passedsummary_large_image
  • readable: passed220 characters of crawler-visible content (minimum 100)
  • jsonld: failed0 of 0 blocks have valid JSON-LD structure
  • html-size: passed40,052 bytes of HTML; budget 500,000
2157
https://levels.io/2012/november200November 2012 — @levelsio (Pieter Levels)
Page checklist evidence
  • title: passedNovember 2012 — @levelsio (Pieter Levels)
  • description: passed1 posts from November 2012 by @levelsio
  • canonical: passedhttps://levels.io/2012/november
  • h1: passed2 H1 element(s)
  • headings: passed0 skipped heading level(s)
  • main: failed0 main landmarks
  • lang: passeden
  • alt: passed0 of 1 images lack an alt attribute
  • img-dimensions: failed1 of 1 images lack width/height attributes or an aspect-ratio style
  • labels: failed1 of 1 controls have no HTML label
  • buttons: passed0 of 1 buttons have no HTML name
  • links-named: failed1 of 14 links have no HTML name
  • link-text: passed0 of 14 links use generic text
  • viewport: passedwidth=device-width, initial-scale=1.0
  • https: passedhttps://levels.io/2012/november
  • mixed: passed0 HTTP embedded resource URL(s)
  • og-title: passedNovember 2012 — @levelsio (Pieter Levels)
  • og-description: passed1 posts from November 2012 by @levelsio
  • og-type: passedwebsite
  • og-url: passedhttps://levels.io/2012/november
  • og-image: passedhttps://levels.io/og.jpg?v=1789196712
  • og-alt: failedNo sharing image description
  • twitter-card: passedsummary_large_image
  • readable: passed208 characters of crawler-visible content (minimum 100)
  • jsonld: failed0 of 0 blocks have valid JSON-LD structure
  • html-size: passed40,024 bytes of HTML; budget 500,000
2166
https://levels.io/2012/october200October 2012 — @levelsio (Pieter Levels)
Page checklist evidence
  • title: passedOctober 2012 — @levelsio (Pieter Levels)
  • description: passed5 posts from October 2012 by @levelsio
  • canonical: passedhttps://levels.io/2012/october
  • h1: passed2 H1 element(s)
  • headings: passed0 skipped heading level(s)
  • main: failed0 main landmarks
  • lang: passeden
  • alt: passed0 of 5 images lack an alt attribute
  • img-dimensions: failed5 of 5 images lack width/height attributes or an aspect-ratio style
  • labels: failed1 of 1 controls have no HTML label
  • buttons: passed0 of 1 buttons have no HTML name
  • links-named: failed5 of 22 links have no HTML name
  • link-text: passed0 of 22 links use generic text
  • viewport: passedwidth=device-width, initial-scale=1.0
  • https: passedhttps://levels.io/2012/october
  • mixed: passed0 HTTP embedded resource URL(s)
  • og-title: passedOctober 2012 — @levelsio (Pieter Levels)
  • og-description: passed5 posts from October 2012 by @levelsio
  • og-type: passedwebsite
  • og-url: passedhttps://levels.io/2012/october
  • og-image: passedhttps://levels.io/og.jpg?v=1789196712
  • og-alt: failedNo sharing image description
  • twitter-card: passedsummary_large_image
  • readable: passed359 characters of crawler-visible content (minimum 100)
  • jsonld: failed0 of 0 blocks have valid JSON-LD structure
  • html-size: passed41,349 bytes of HTML; budget 500,000
2152
https://levels.io/2012/september200September 2012 — @levelsio (Pieter Levels)
Page checklist evidence
  • title: passedSeptember 2012 — @levelsio (Pieter Levels)
  • description: passed1 posts from September 2012 by @levelsio
  • canonical: passedhttps://levels.io/2012/september
  • h1: passed2 H1 element(s)
  • headings: passed0 skipped heading level(s)
  • main: failed0 main landmarks
  • lang: passeden
  • alt: passed0 of 1 images lack an alt attribute
  • img-dimensions: failed1 of 1 images lack width/height attributes or an aspect-ratio style
  • labels: failed1 of 1 controls have no HTML label
  • buttons: passed0 of 1 buttons have no HTML name
  • links-named: failed1 of 14 links have no HTML name
  • link-text: passed0 of 14 links use generic text
  • viewport: passedwidth=device-width, initial-scale=1.0
  • https: passedhttps://levels.io/2012/september
  • mixed: passed0 HTTP embedded resource URL(s)
  • og-title: passedSeptember 2012 — @levelsio (Pieter Levels)
  • og-description: passed1 posts from September 2012 by @levelsio
  • og-type: passedwebsite
  • og-url: passedhttps://levels.io/2012/september
  • og-image: passedhttps://levels.io/og.jpg?v=1789196712
  • og-alt: failedNo sharing image description
  • twitter-card: passedsummary_large_image
  • readable: passed254 characters of crawler-visible content (minimum 100)
  • jsonld: failed0 of 0 blocks have valid JSON-LD structure
  • html-size: passed40,240 bytes of HTML; budget 500,000
2166
https://levels.io/2013/april200April 2013 — @levelsio (Pieter Levels)
Page checklist evidence
  • title: passedApril 2013 — @levelsio (Pieter Levels)
  • description: passed4 posts from April 2013 by @levelsio
  • canonical: passedhttps://levels.io/2013/april
  • h1: passed2 H1 element(s)
  • headings: passed0 skipped heading level(s)
  • main: failed0 main landmarks
  • lang: passeden
  • alt: passed0 of 4 images lack an alt attribute
  • img-dimensions: failed4 of 4 images lack width/height attributes or an aspect-ratio style
  • labels: failed1 of 1 controls have no HTML label
  • buttons: passed0 of 1 buttons have no HTML name
  • links-named: failed4 of 20 links have no HTML name
  • link-text: passed0 of 20 links use generic text
  • viewport: passedwidth=device-width, initial-scale=1.0
  • https: passedhttps://levels.io/2013/april
  • mixed: passed0 HTTP embedded resource URL(s)
  • og-title: passedApril 2013 — @levelsio (Pieter Levels)
  • og-description: passed4 posts from April 2013 by @levelsio
  • og-type: passedwebsite
  • og-url: passedhttps://levels.io/2013/april
  • og-image: passedhttps://levels.io/og.jpg?v=1789196712
  • og-alt: failedNo sharing image description
  • twitter-card: passedsummary_large_image
  • readable: passed302 characters of crawler-visible content (minimum 100)
  • jsonld: failed0 of 0 blocks have valid JSON-LD structure
  • html-size: passed40,945 bytes of HTML; budget 500,000
2164
https://levels.io/2013/august200August 2013 — @levelsio (Pieter Levels)
Page checklist evidence
  • title: passedAugust 2013 — @levelsio (Pieter Levels)
  • description: passed4 posts from August 2013 by @levelsio
  • canonical: passedhttps://levels.io/2013/august
  • h1: passed2 H1 element(s)
  • headings: passed0 skipped heading level(s)
  • main: failed0 main landmarks
  • lang: passeden
  • alt: passed0 of 4 images lack an alt attribute
  • img-dimensions: failed4 of 4 images lack width/height attributes or an aspect-ratio style
  • labels: failed1 of 1 controls have no HTML label
  • buttons: passed0 of 1 buttons have no HTML name
  • links-named: failed4 of 20 links have no HTML name
  • link-text: passed0 of 20 links use generic text
  • viewport: passedwidth=device-width, initial-scale=1.0
  • https: passedhttps://levels.io/2013/august
  • mixed: passed0 HTTP embedded resource URL(s)
  • og-title: passedAugust 2013 — @levelsio (Pieter Levels)
  • og-description: passed4 posts from August 2013 by @levelsio
  • og-type: passedwebsite
  • og-url: passedhttps://levels.io/2013/august
  • og-image: passedhttps://levels.io/og.jpg?v=1789196712
  • og-alt: failedNo sharing image description
  • twitter-card: passedsummary_large_image
  • readable: passed442 characters of crawler-visible content (minimum 100)
  • jsonld: failed0 of 0 blocks have valid JSON-LD structure
  • html-size: passed41,609 bytes of HTML; budget 500,000
2162
https://levels.io/2013/december200December 2013 — @levelsio (Pieter Levels)
Page checklist evidence
  • title: passedDecember 2013 — @levelsio (Pieter Levels)
  • description: passed2 posts from December 2013 by @levelsio
  • canonical: passedhttps://levels.io/2013/december
  • h1: passed2 H1 element(s)
  • headings: passed0 skipped heading level(s)
  • main: failed0 main landmarks
  • lang: passeden
  • alt: passed0 of 2 images lack an alt attribute
  • img-dimensions: failed2 of 2 images lack width/height attributes or an aspect-ratio style
  • labels: failed1 of 1 controls have no HTML label
  • buttons: passed0 of 1 buttons have no HTML name
  • links-named: failed2 of 16 links have no HTML name
  • link-text: passed0 of 16 links use generic text
  • viewport: passedwidth=device-width, initial-scale=1.0
  • https: passedhttps://levels.io/2013/december
  • mixed: passed0 HTTP embedded resource URL(s)
  • og-title: passedDecember 2013 — @levelsio (Pieter Levels)
  • og-description: passed2 posts from December 2013 by @levelsio
  • og-type: passedwebsite
  • og-url: passedhttps://levels.io/2013/december
  • og-image: passedhttps://levels.io/og.jpg?v=1789196712
  • og-alt: failedNo sharing image description
  • twitter-card: passedsummary_large_image
  • readable: passed298 characters of crawler-visible content (minimum 100)
  • jsonld: failed0 of 0 blocks have valid JSON-LD structure
  • html-size: passed40,485 bytes of HTML; budget 500,000
2160
https://levels.io/2013/february200February 2013 — @levelsio (Pieter Levels)
Page checklist evidence
  • title: passedFebruary 2013 — @levelsio (Pieter Levels)
  • description: passed6 posts from February 2013 by @levelsio
  • canonical: passedhttps://levels.io/2013/february
  • h1: passed2 H1 element(s)
  • headings: passed0 skipped heading level(s)
  • main: failed0 main landmarks
  • lang: passeden
  • alt: passed0 of 6 images lack an alt attribute
  • img-dimensions: failed6 of 6 images lack width/height attributes or an aspect-ratio style
  • labels: failed1 of 1 controls have no HTML label
  • buttons: passed0 of 1 buttons have no HTML name
  • links-named: failed6 of 24 links have no HTML name
  • link-text: passed0 of 24 links use generic text
  • viewport: passedwidth=device-width, initial-scale=1.0
  • https: passedhttps://levels.io/2013/february
  • mixed: passed0 HTTP embedded resource URL(s)
  • og-title: passedFebruary 2013 — @levelsio (Pieter Levels)
  • og-description: passed6 posts from February 2013 by @levelsio
  • og-type: passedwebsite
  • og-url: passedhttps://levels.io/2013/february
  • og-image: passedhttps://levels.io/og.jpg?v=1789196712
  • og-alt: failedNo sharing image description
  • twitter-card: passedsummary_large_image
  • readable: passed493 characters of crawler-visible content (minimum 100)
  • jsonld: failed0 of 0 blocks have valid JSON-LD structure
  • html-size: passed42,088 bytes of HTML; budget 500,000
2161
https://levels.io/2013/january200January 2013 — @levelsio (Pieter Levels)
Page checklist evidence
  • title: passedJanuary 2013 — @levelsio (Pieter Levels)
  • description: passed4 posts from January 2013 by @levelsio
  • canonical: passedhttps://levels.io/2013/january
  • h1: passed2 H1 element(s)
  • headings: passed0 skipped heading level(s)
  • main: failed0 main landmarks
  • lang: passeden
  • alt: passed0 of 4 images lack an alt attribute
  • img-dimensions: failed4 of 4 images lack width/height attributes or an aspect-ratio style
  • labels: failed1 of 1 controls have no HTML label
  • buttons: passed0 of 1 buttons have no HTML name
  • links-named: failed4 of 20 links have no HTML name
  • link-text: passed0 of 20 links use generic text
  • viewport: passedwidth=device-width, initial-scale=1.0
  • https: passedhttps://levels.io/2013/january
  • mixed: passed0 HTTP embedded resource URL(s)
  • og-title: passedJanuary 2013 — @levelsio (Pieter Levels)
  • og-description: passed4 posts from January 2013 by @levelsio
  • og-type: passedwebsite
  • og-url: passedhttps://levels.io/2013/january
  • og-image: passedhttps://levels.io/og.jpg?v=1789196712
  • og-alt: failedNo sharing image description
  • twitter-card: passedsummary_large_image
  • readable: passed416 characters of crawler-visible content (minimum 100)
  • jsonld: failed0 of 0 blocks have valid JSON-LD structure
  • html-size: passed41,065 bytes of HTML; budget 500,000
2148
https://levels.io/2013/july200July 2013 — @levelsio (Pieter Levels)
Page checklist evidence
  • title: passedJuly 2013 — @levelsio (Pieter Levels)
  • description: passed6 posts from July 2013 by @levelsio
  • canonical: passedhttps://levels.io/2013/july
  • h1: passed2 H1 element(s)
  • headings: passed0 skipped heading level(s)
  • main: failed0 main landmarks
  • lang: passeden
  • alt: passed0 of 6 images lack an alt attribute
  • img-dimensions: failed6 of 6 images lack width/height attributes or an aspect-ratio style
  • labels: failed1 of 1 controls have no HTML label
  • buttons: passed0 of 1 buttons have no HTML name
  • links-named: failed6 of 24 links have no HTML name
  • link-text: passed0 of 24 links use generic text
  • viewport: passedwidth=device-width, initial-scale=1.0
  • https: passedhttps://levels.io/2013/july
  • mixed: passed0 HTTP embedded resource URL(s)
  • og-title: passedJuly 2013 — @levelsio (Pieter Levels)
  • og-description: passed6 posts from July 2013 by @levelsio
  • og-type: passedwebsite
  • og-url: passedhttps://levels.io/2013/july
  • og-image: passedhttps://levels.io/og.jpg?v=1789196712
  • og-alt: failedNo sharing image description
  • twitter-card: passedsummary_large_image
  • readable: passed470 characters of crawler-visible content (minimum 100)
  • jsonld: failed0 of 0 blocks have valid JSON-LD structure
  • html-size: passed41,855 bytes of HTML; budget 500,000
2161
https://levels.io/2013/june200June 2013 — @levelsio (Pieter Levels)
Page checklist evidence
  • title: passedJune 2013 — @levelsio (Pieter Levels)
  • description: passed10 posts from June 2013 by @levelsio
  • canonical: passedhttps://levels.io/2013/june
  • h1: passed2 H1 element(s)
  • headings: passed0 skipped heading level(s)
  • main: failed0 main landmarks
  • lang: passeden
  • alt: passed0 of 10 images lack an alt attribute
  • img-dimensions: failed10 of 10 images lack width/height attributes or an aspect-ratio style
  • labels: failed1 of 1 controls have no HTML label
  • buttons: passed0 of 1 buttons have no HTML name
  • links-named: failed10 of 32 links have no HTML name
  • link-text: passed0 of 32 links use generic text
  • viewport: passedwidth=device-width, initial-scale=1.0
  • https: passedhttps://levels.io/2013/june
  • mixed: passed0 HTTP embedded resource URL(s)
  • og-title: passedJune 2013 — @levelsio (Pieter Levels)
  • og-description: passed10 posts from June 2013 by @levelsio
  • og-type: passedwebsite
  • og-url: passedhttps://levels.io/2013/june
  • og-image: passedhttps://levels.io/og.jpg?v=1789196712
  • og-alt: failedNo sharing image description
  • twitter-card: passedsummary_large_image
  • readable: passed674 characters of crawler-visible content (minimum 100)
  • jsonld: failed0 of 0 blocks have valid JSON-LD structure
  • html-size: passed43,520 bytes of HTML; budget 500,000
2165
https://levels.io/2013/march200March 2013 — @levelsio (Pieter Levels)
Page checklist evidence
  • title: passedMarch 2013 — @levelsio (Pieter Levels)
  • description: passed3 posts from March 2013 by @levelsio
  • canonical: passedhttps://levels.io/2013/march
  • h1: passed2 H1 element(s)
  • headings: passed0 skipped heading level(s)
  • main: failed0 main landmarks
  • lang: passeden
  • alt: passed0 of 3 images lack an alt attribute
  • img-dimensions: failed3 of 3 images lack width/height attributes or an aspect-ratio style
  • labels: failed1 of 1 controls have no HTML label
  • buttons: passed0 of 1 buttons have no HTML name
  • links-named: failed3 of 18 links have no HTML name
  • link-text: passed0 of 18 links use generic text
  • viewport: passedwidth=device-width, initial-scale=1.0
  • https: passedhttps://levels.io/2013/march
  • mixed: passed0 HTTP embedded resource URL(s)
  • og-title: passedMarch 2013 — @levelsio (Pieter Levels)
  • og-description: passed3 posts from March 2013 by @levelsio
  • og-type: passedwebsite
  • og-url: passedhttps://levels.io/2013/march
  • og-image: passedhttps://levels.io/og.jpg?v=1789196712
  • og-alt: failedNo sharing image description
  • twitter-card: passedsummary_large_image
  • readable: passed280 characters of crawler-visible content (minimum 100)
  • jsonld: failed0 of 0 blocks have valid JSON-LD structure
  • html-size: passed40,649 bytes of HTML; budget 500,000
2153
https://levels.io/2013/may200May 2013 — @levelsio (Pieter Levels)
Page checklist evidence
  • title: passedMay 2013 — @levelsio (Pieter Levels)
  • description: passed9 posts from May 2013 by @levelsio
  • canonical: passedhttps://levels.io/2013/may
  • h1: passed2 H1 element(s)
  • headings: passed0 skipped heading level(s)
  • main: failed0 main landmarks
  • lang: passeden
  • alt: passed0 of 9 images lack an alt attribute
  • img-dimensions: failed9 of 9 images lack width/height attributes or an aspect-ratio style
  • labels: failed1 of 1 controls have no HTML label
  • buttons: passed0 of 1 buttons have no HTML name
  • links-named: failed9 of 30 links have no HTML name
  • link-text: passed0 of 30 links use generic text
  • viewport: passedwidth=device-width, initial-scale=1.0
  • https: passedhttps://levels.io/2013/may
  • mixed: passed0 HTTP embedded resource URL(s)
  • og-title: passedMay 2013 — @levelsio (Pieter Levels)
  • og-description: passed9 posts from May 2013 by @levelsio
  • og-type: passedwebsite
  • og-url: passedhttps://levels.io/2013/may
  • og-image: passedhttps://levels.io/og.jpg?v=1789196712
  • og-alt: failedNo sharing image description
  • twitter-card: passedsummary_large_image
  • readable: passed733 characters of crawler-visible content (minimum 100)
  • jsonld: failed0 of 0 blocks have valid JSON-LD structure
  • html-size: passed43,678 bytes of HTML; budget 500,000
2152
https://levels.io/2013/november200November 2013 — @levelsio (Pieter Levels)
Page checklist evidence
  • title: passedNovember 2013 — @levelsio (Pieter Levels)
  • description: passed9 posts from November 2013 by @levelsio
  • canonical: passedhttps://levels.io/2013/november
  • h1: passed2 H1 element(s)
  • headings: passed0 skipped heading level(s)
  • main: failed0 main landmarks
  • lang: passeden
  • alt: passed0 of 9 images lack an alt attribute
  • img-dimensions: failed9 of 9 images lack width/height attributes or an aspect-ratio style
  • labels: failed1 of 1 controls have no HTML label
  • buttons: passed0 of 1 buttons have no HTML name
  • links-named: failed9 of 30 links have no HTML name
  • link-text: passed0 of 30 links use generic text
  • viewport: passedwidth=device-width, initial-scale=1.0
  • https: passedhttps://levels.io/2013/november
  • mixed: passed0 HTTP embedded resource URL(s)
  • og-title: passedNovember 2013 — @levelsio (Pieter Levels)
  • og-description: passed9 posts from November 2013 by @levelsio
  • og-type: passedwebsite
  • og-url: passedhttps://levels.io/2013/november
  • og-image: passedhttps://levels.io/og.jpg?v=1789196712
  • og-alt: failedNo sharing image description
  • twitter-card: passedsummary_large_image
  • readable: passed675 characters of crawler-visible content (minimum 100)
  • jsonld: failed0 of 0 blocks have valid JSON-LD structure
  • html-size: passed43,128 bytes of HTML; budget 500,000
2155
https://levels.io/2013/october200October 2013 — @levelsio (Pieter Levels)
Page checklist evidence
  • title: passedOctober 2013 — @levelsio (Pieter Levels)
  • description: passed9 posts from October 2013 by @levelsio
  • canonical: passedhttps://levels.io/2013/october
  • h1: passed2 H1 element(s)
  • headings: passed0 skipped heading level(s)
  • main: failed0 main landmarks
  • lang: passeden
  • alt: passed0 of 9 images lack an alt attribute
  • img-dimensions: failed9 of 9 images lack width/height attributes or an aspect-ratio style
  • labels: failed1 of 1 controls have no HTML label
  • buttons: passed0 of 1 buttons have no HTML name
  • links-named: failed9 of 30 links have no HTML name
  • link-text: passed0 of 30 links use generic text
  • viewport: passedwidth=device-width, initial-scale=1.0
  • https: passedhttps://levels.io/2013/october
  • mixed: passed0 HTTP embedded resource URL(s)
  • og-title: passedOctober 2013 — @levelsio (Pieter Levels)
  • og-description: passed9 posts from October 2013 by @levelsio
  • og-type: passedwebsite
  • og-url: passedhttps://levels.io/2013/october
  • og-image: passedhttps://levels.io/og.jpg?v=1789196712
  • og-alt: failedNo sharing image description
  • twitter-card: passedsummary_large_image
  • readable: passed553 characters of crawler-visible content (minimum 100)
  • jsonld: failed0 of 0 blocks have valid JSON-LD structure
  • html-size: passed42,625 bytes of HTML; budget 500,000
2148
https://levels.io/2013/september200September 2013 — @levelsio (Pieter Levels)
Page checklist evidence
  • title: passedSeptember 2013 — @levelsio (Pieter Levels)
  • description: passed4 posts from September 2013 by @levelsio
  • canonical: passedhttps://levels.io/2013/september
  • h1: passed2 H1 element(s)
  • headings: passed0 skipped heading level(s)
  • main: failed0 main landmarks
  • lang: passeden
  • alt: passed0 of 4 images lack an alt attribute
  • img-dimensions: failed4 of 4 images lack width/height attributes or an aspect-ratio style
  • labels: failed1 of 1 controls have no HTML label
  • buttons: passed0 of 1 buttons have no HTML name
  • links-named: failed4 of 20 links have no HTML name
  • link-text: passed0 of 20 links use generic text
  • viewport: passedwidth=device-width, initial-scale=1.0
  • https: passedhttps://levels.io/2013/september
  • mixed: passed0 HTTP embedded resource URL(s)
  • og-title: passedSeptember 2013 — @levelsio (Pieter Levels)
  • og-description: passed4 posts from September 2013 by @levelsio
  • og-type: passedwebsite
  • og-url: passedhttps://levels.io/2013/september
  • og-image: passedhttps://levels.io/og.jpg?v=1789196712
  • og-alt: failedNo sharing image description
  • twitter-card: passedsummary_large_image
  • readable: passed429 characters of crawler-visible content (minimum 100)
  • jsonld: failed0 of 0 blocks have valid JSON-LD structure
  • html-size: passed41,316 bytes of HTML; budget 500,000
2166
https://levels.io/2014/april200April 2014 — @levelsio (Pieter Levels)
Page checklist evidence
  • title: passedApril 2014 — @levelsio (Pieter Levels)
  • description: passed4 posts from April 2014 by @levelsio
  • canonical: passedhttps://levels.io/2014/april
  • h1: passed2 H1 element(s)
  • headings: passed0 skipped heading level(s)
  • main: failed0 main landmarks
  • lang: passeden
  • alt: passed0 of 4 images lack an alt attribute
  • img-dimensions: failed4 of 4 images lack width/height attributes or an aspect-ratio style
  • labels: failed1 of 1 controls have no HTML label
  • buttons: passed0 of 1 buttons have no HTML name
  • links-named: failed4 of 20 links have no HTML name
  • link-text: passed0 of 20 links use generic text
  • viewport: passedwidth=device-width, initial-scale=1.0
  • https: passedhttps://levels.io/2014/april
  • mixed: passed0 HTTP embedded resource URL(s)
  • og-title: passedApril 2014 — @levelsio (Pieter Levels)
  • og-description: passed4 posts from April 2014 by @levelsio
  • og-type: passedwebsite
  • og-url: passedhttps://levels.io/2014/april
  • og-image: passedhttps://levels.io/og.jpg?v=1789196712
  • og-alt: failedNo sharing image description
  • twitter-card: passedsummary_large_image
  • readable: passed412 characters of crawler-visible content (minimum 100)
  • jsonld: failed0 of 0 blocks have valid JSON-LD structure
  • html-size: passed41,127 bytes of HTML; budget 500,000
2159
https://levels.io/2014/august200August 2014 — @levelsio (Pieter Levels)
Page checklist evidence
  • title: passedAugust 2014 — @levelsio (Pieter Levels)
  • description: passed6 posts from August 2014 by @levelsio
  • canonical: passedhttps://levels.io/2014/august
  • h1: passed2 H1 element(s)
  • headings: passed0 skipped heading level(s)
  • main: failed0 main landmarks
  • lang: passeden
  • alt: passed0 of 6 images lack an alt attribute
  • img-dimensions: failed6 of 6 images lack width/height attributes or an aspect-ratio style
  • labels: failed1 of 1 controls have no HTML label
  • buttons: passed0 of 1 buttons have no HTML name
  • links-named: failed6 of 24 links have no HTML name
  • link-text: passed0 of 24 links use generic text
  • viewport: passedwidth=device-width, initial-scale=1.0
  • https: passedhttps://levels.io/2014/august
  • mixed: passed0 HTTP embedded resource URL(s)
  • og-title: passedAugust 2014 — @levelsio (Pieter Levels)
  • og-description: passed6 posts from August 2014 by @levelsio
  • og-type: passedwebsite
  • og-url: passedhttps://levels.io/2014/august
  • og-image: passedhttps://levels.io/og.jpg?v=1789196712
  • og-alt: failedNo sharing image description
  • twitter-card: passedsummary_large_image
  • readable: passed537 characters of crawler-visible content (minimum 100)
  • jsonld: failed0 of 0 blocks have valid JSON-LD structure
  • html-size: passed42,039 bytes of HTML; budget 500,000
2180
https://levels.io/2014/december200December 2014 — @levelsio (Pieter Levels)
Page checklist evidence
  • title: passedDecember 2014 — @levelsio (Pieter Levels)
  • description: passed4 posts from December 2014 by @levelsio
  • canonical: passedhttps://levels.io/2014/december
  • h1: passed2 H1 element(s)
  • headings: passed0 skipped heading level(s)
  • main: failed0 main landmarks
  • lang: passeden
  • alt: passed0 of 4 images lack an alt attribute
  • img-dimensions: failed4 of 4 images lack width/height attributes or an aspect-ratio style
  • labels: failed1 of 1 controls have no HTML label
  • buttons: passed0 of 1 buttons have no HTML name
  • links-named: failed4 of 20 links have no HTML name
  • link-text: passed0 of 20 links use generic text
  • viewport: passedwidth=device-width, initial-scale=1.0
  • https: passedhttps://levels.io/2014/december
  • mixed: passed0 HTTP embedded resource URL(s)
  • og-title: passedDecember 2014 — @levelsio (Pieter Levels)
  • og-description: passed4 posts from December 2014 by @levelsio
  • og-type: passedwebsite
  • og-url: passedhttps://levels.io/2014/december
  • og-image: passedhttps://levels.io/og.jpg?v=1789196712
  • og-alt: failedNo sharing image description
  • twitter-card: passedsummary_large_image
  • readable: passed449 characters of crawler-visible content (minimum 100)
  • jsonld: failed0 of 0 blocks have valid JSON-LD structure
  • html-size: passed41,365 bytes of HTML; budget 500,000
2162
https://levels.io/2014/february200February 2014 — @levelsio (Pieter Levels)
Page checklist evidence
  • title: passedFebruary 2014 — @levelsio (Pieter Levels)
  • description: passed3 posts from February 2014 by @levelsio
  • canonical: passedhttps://levels.io/2014/february
  • h1: passed2 H1 element(s)
  • headings: passed0 skipped heading level(s)
  • main: failed0 main landmarks
  • lang: passeden
  • alt: passed0 of 3 images lack an alt attribute
  • img-dimensions: failed3 of 3 images lack width/height attributes or an aspect-ratio style
  • labels: failed1 of 1 controls have no HTML label
  • buttons: passed0 of 1 buttons have no HTML name
  • links-named: failed3 of 18 links have no HTML name
  • link-text: passed0 of 18 links use generic text
  • viewport: passedwidth=device-width, initial-scale=1.0
  • https: passedhttps://levels.io/2014/february
  • mixed: passed0 HTTP embedded resource URL(s)
  • og-title: passedFebruary 2014 — @levelsio (Pieter Levels)
  • og-description: passed3 posts from February 2014 by @levelsio
  • og-type: passedwebsite
  • og-url: passedhttps://levels.io/2014/february
  • og-image: passedhttps://levels.io/og.jpg?v=1789196712
  • og-alt: failedNo sharing image description
  • twitter-card: passedsummary_large_image
  • readable: passed311 characters of crawler-visible content (minimum 100)
  • jsonld: failed0 of 0 blocks have valid JSON-LD structure
  • html-size: passed40,738 bytes of HTML; budget 500,000
2180
https://levels.io/2014/january200January 2014 — @levelsio (Pieter Levels)
Page checklist evidence
  • title: passedJanuary 2014 — @levelsio (Pieter Levels)
  • description: passed2 posts from January 2014 by @levelsio
  • canonical: passedhttps://levels.io/2014/january
  • h1: passed2 H1 element(s)
  • headings: passed0 skipped heading level(s)
  • main: failed0 main landmarks
  • lang: passeden
  • alt: passed0 of 2 images lack an alt attribute
  • img-dimensions: failed2 of 2 images lack width/height attributes or an aspect-ratio style
  • labels: failed1 of 1 controls have no HTML label
  • buttons: passed0 of 1 buttons have no HTML name
  • links-named: failed2 of 16 links have no HTML name
  • link-text: passed0 of 16 links use generic text
  • viewport: passedwidth=device-width, initial-scale=1.0
  • https: passedhttps://levels.io/2014/january
  • mixed: passed0 HTTP embedded resource URL(s)
  • og-title: passedJanuary 2014 — @levelsio (Pieter Levels)
  • og-description: passed2 posts from January 2014 by @levelsio
  • og-type: passedwebsite
  • og-url: passedhttps://levels.io/2014/january
  • og-image: passedhttps://levels.io/og.jpg?v=1789196712
  • og-alt: failedNo sharing image description
  • twitter-card: passedsummary_large_image
  • readable: passed302 characters of crawler-visible content (minimum 100)
  • jsonld: failed0 of 0 blocks have valid JSON-LD structure
  • html-size: passed40,469 bytes of HTML; budget 500,000
2156
https://levels.io/2014/july200July 2014 — @levelsio (Pieter Levels)
Page checklist evidence
  • title: passedJuly 2014 — @levelsio (Pieter Levels)
  • description: passed2 posts from July 2014 by @levelsio
  • canonical: passedhttps://levels.io/2014/july
  • h1: passed2 H1 element(s)
  • headings: passed0 skipped heading level(s)
  • main: failed0 main landmarks
  • lang: passeden
  • alt: passed0 of 2 images lack an alt attribute
  • img-dimensions: failed2 of 2 images lack width/height attributes or an aspect-ratio style
  • labels: failed1 of 1 controls have no HTML label
  • buttons: passed0 of 1 buttons have no HTML name
  • links-named: failed2 of 16 links have no HTML name
  • link-text: passed0 of 16 links use generic text
  • viewport: passedwidth=device-width, initial-scale=1.0
  • https: passedhttps://levels.io/2014/july
  • mixed: passed0 HTTP embedded resource URL(s)
  • og-title: passedJuly 2014 — @levelsio (Pieter Levels)
  • og-description: passed2 posts from July 2014 by @levelsio
  • og-type: passedwebsite
  • og-url: passedhttps://levels.io/2014/july
  • og-image: passedhttps://levels.io/og.jpg?v=1789196712
  • og-alt: failedNo sharing image description
  • twitter-card: passedsummary_large_image
  • readable: passed270 characters of crawler-visible content (minimum 100)
  • jsonld: failed0 of 0 blocks have valid JSON-LD structure
  • html-size: passed40,346 bytes of HTML; budget 500,000
2162
https://levels.io/2014/june200June 2014 — @levelsio (Pieter Levels)
Page checklist evidence
  • title: passedJune 2014 — @levelsio (Pieter Levels)
  • description: passed5 posts from June 2014 by @levelsio
  • canonical: passedhttps://levels.io/2014/june
  • h1: passed2 H1 element(s)
  • headings: passed0 skipped heading level(s)
  • main: failed0 main landmarks
  • lang: passeden
  • alt: passed0 of 5 images lack an alt attribute
  • img-dimensions: failed5 of 5 images lack width/height attributes or an aspect-ratio style
  • labels: failed1 of 1 controls have no HTML label
  • buttons: passed0 of 1 buttons have no HTML name
  • links-named: failed5 of 22 links have no HTML name
  • link-text: passed0 of 22 links use generic text
  • viewport: passedwidth=device-width, initial-scale=1.0
  • https: passedhttps://levels.io/2014/june
  • mixed: passed0 HTTP embedded resource URL(s)
  • og-title: passedJune 2014 — @levelsio (Pieter Levels)
  • og-description: passed5 posts from June 2014 by @levelsio
  • og-type: passedwebsite
  • og-url: passedhttps://levels.io/2014/june
  • og-image: passedhttps://levels.io/og.jpg?v=1789196712
  • og-alt: failedNo sharing image description
  • twitter-card: passedsummary_large_image
  • readable: passed441 characters of crawler-visible content (minimum 100)
  • jsonld: failed0 of 0 blocks have valid JSON-LD structure
  • html-size: passed41,473 bytes of HTML; budget 500,000
2271
https://levels.io/2014/march200March 2014 — @levelsio (Pieter Levels)
Page checklist evidence
  • title: passedMarch 2014 — @levelsio (Pieter Levels)
  • description: passed2 posts from March 2014 by @levelsio
  • canonical: passedhttps://levels.io/2014/march
  • h1: passed2 H1 element(s)
  • headings: passed0 skipped heading level(s)
  • main: failed0 main landmarks
  • lang: passeden
  • alt: passed0 of 2 images lack an alt attribute
  • img-dimensions: failed2 of 2 images lack width/height attributes or an aspect-ratio style
  • labels: failed1 of 1 controls have no HTML label
  • buttons: passed0 of 1 buttons have no HTML name
  • links-named: failed2 of 16 links have no HTML name
  • link-text: passed0 of 16 links use generic text
  • viewport: passedwidth=device-width, initial-scale=1.0
  • https: passedhttps://levels.io/2014/march
  • mixed: passed0 HTTP embedded resource URL(s)
  • og-title: passedMarch 2014 — @levelsio (Pieter Levels)
  • og-description: passed2 posts from March 2014 by @levelsio
  • og-type: passedwebsite
  • og-url: passedhttps://levels.io/2014/march
  • og-image: passedhttps://levels.io/og.jpg?v=1789196712
  • og-alt: failedNo sharing image description
  • twitter-card: passedsummary_large_image
  • readable: passed286 characters of crawler-visible content (minimum 100)
  • jsonld: failed0 of 0 blocks have valid JSON-LD structure
  • html-size: passed40,398 bytes of HTML; budget 500,000
2154
https://levels.io/2014/may200May 2014 — @levelsio (Pieter Levels)
Page checklist evidence
  • title: passedMay 2014 — @levelsio (Pieter Levels)
  • description: passed6 posts from May 2014 by @levelsio
  • canonical: passedhttps://levels.io/2014/may
  • h1: passed2 H1 element(s)
  • headings: passed0 skipped heading level(s)
  • main: failed0 main landmarks
  • lang: passeden
  • alt: passed0 of 6 images lack an alt attribute
  • img-dimensions: failed6 of 6 images lack width/height attributes or an aspect-ratio style
  • labels: failed1 of 1 controls have no HTML label
  • buttons: passed0 of 1 buttons have no HTML name
  • links-named: failed6 of 24 links have no HTML name
  • link-text: passed0 of 24 links use generic text
  • viewport: passedwidth=device-width, initial-scale=1.0
  • https: passedhttps://levels.io/2014/may
  • mixed: passed0 HTTP embedded resource URL(s)
  • og-title: passedMay 2014 — @levelsio (Pieter Levels)
  • og-description: passed6 posts from May 2014 by @levelsio
  • og-type: passedwebsite
  • og-url: passedhttps://levels.io/2014/may
  • og-image: passedhttps://levels.io/og.jpg?v=1789196712
  • og-alt: failedNo sharing image description
  • twitter-card: passedsummary_large_image
  • readable: passed542 characters of crawler-visible content (minimum 100)
  • jsonld: failed0 of 0 blocks have valid JSON-LD structure
  • html-size: passed41,906 bytes of HTML; budget 500,000
2153
https://levels.io/2014/november200November 2014 — @levelsio (Pieter Levels)
Page checklist evidence
  • title: passedNovember 2014 — @levelsio (Pieter Levels)
  • description: passed2 posts from November 2014 by @levelsio
  • canonical: passedhttps://levels.io/2014/november
  • h1: passed2 H1 element(s)
  • headings: passed0 skipped heading level(s)
  • main: failed0 main landmarks
  • lang: passeden
  • alt: passed0 of 2 images lack an alt attribute
  • img-dimensions: failed2 of 2 images lack width/height attributes or an aspect-ratio style
  • labels: failed1 of 1 controls have no HTML label
  • buttons: passed0 of 1 buttons have no HTML name
  • links-named: failed2 of 16 links have no HTML name
  • link-text: passed0 of 16 links use generic text
  • viewport: passedwidth=device-width, initial-scale=1.0
  • https: passedhttps://levels.io/2014/november
  • mixed: passed0 HTTP embedded resource URL(s)
  • og-title: passedNovember 2014 — @levelsio (Pieter Levels)
  • og-description: passed2 posts from November 2014 by @levelsio
  • og-type: passedwebsite
  • og-url: passedhttps://levels.io/2014/november
  • og-image: passedhttps://levels.io/og.jpg?v=1789196712
  • og-alt: failedNo sharing image description
  • twitter-card: passedsummary_large_image
  • readable: passed305 characters of crawler-visible content (minimum 100)
  • jsonld: failed0 of 0 blocks have valid JSON-LD structure
  • html-size: passed40,521 bytes of HTML; budget 500,000
2154
https://levels.io/2014/october200October 2014 — @levelsio (Pieter Levels)
Page checklist evidence
  • title: passedOctober 2014 — @levelsio (Pieter Levels)
  • description: passed6 posts from October 2014 by @levelsio
  • canonical: passedhttps://levels.io/2014/october
  • h1: passed2 H1 element(s)
  • headings: passed0 skipped heading level(s)
  • main: failed0 main landmarks
  • lang: passeden
  • alt: passed0 of 6 images lack an alt attribute
  • img-dimensions: failed6 of 6 images lack width/height attributes or an aspect-ratio style
  • labels: failed1 of 1 controls have no HTML label
  • buttons: passed0 of 1 buttons have no HTML name
  • links-named: failed6 of 24 links have no HTML name
  • link-text: passed0 of 24 links use generic text
  • viewport: passedwidth=device-width, initial-scale=1.0
  • https: passedhttps://levels.io/2014/october
  • mixed: passed0 HTTP embedded resource URL(s)
  • og-title: passedOctober 2014 — @levelsio (Pieter Levels)
  • og-description: passed6 posts from October 2014 by @levelsio
  • og-type: passedwebsite
  • og-url: passedhttps://levels.io/2014/october
  • og-image: passedhttps://levels.io/og.jpg?v=1789196712
  • og-alt: failedNo sharing image description
  • twitter-card: passedsummary_large_image
  • readable: passed604 characters of crawler-visible content (minimum 100)
  • jsonld: failed0 of 0 blocks have valid JSON-LD structure
  • html-size: passed42,317 bytes of HTML; budget 500,000
2170
https://levels.io/2014/september200September 2014 — @levelsio (Pieter Levels)
Page checklist evidence
  • title: passedSeptember 2014 — @levelsio (Pieter Levels)
  • description: passed2 posts from September 2014 by @levelsio
  • canonical: passedhttps://levels.io/2014/september
  • h1: passed2 H1 element(s)
  • headings: passed0 skipped heading level(s)
  • main: failed0 main landmarks
  • lang: passeden
  • alt: passed0 of 2 images lack an alt attribute
  • img-dimensions: failed2 of 2 images lack width/height attributes or an aspect-ratio style
  • labels: failed1 of 1 controls have no HTML label
  • buttons: passed0 of 1 buttons have no HTML name
  • links-named: failed2 of 16 links have no HTML name
  • link-text: passed0 of 16 links use generic text
  • viewport: passedwidth=device-width, initial-scale=1.0
  • https: passedhttps://levels.io/2014/september
  • mixed: passed0 HTTP embedded resource URL(s)
  • og-title: passedSeptember 2014 — @levelsio (Pieter Levels)
  • og-description: passed2 posts from September 2014 by @levelsio
  • og-type: passedwebsite
  • og-url: passedhttps://levels.io/2014/september
  • og-image: passedhttps://levels.io/og.jpg?v=1789196712
  • og-alt: failedNo sharing image description
  • twitter-card: passedsummary_large_image
  • readable: passed262 characters of crawler-visible content (minimum 100)
  • jsonld: failed0 of 0 blocks have valid JSON-LD structure
  • html-size: passed40,458 bytes of HTML; budget 500,000
2148
https://levels.io/2015-revenue-202785-linode-macbook-bootstrapped200My 2015 revenue was $202,785 with one Linode server one MacBook no office no house hardly any expenses and $0 funding — @levelsio (Pieter Levels)
Page checklist evidence
  • title: passedMy 2015 revenue was $202,785 with one Linode server one MacBook no office no house hardly any expenses and $0 funding — @levelsio (Pieter Levels)
  • description: passedMy 2015 revenue: $202,785 w/ one @linode server, one MacBook, no office, no house, hardly any expenses (except ☕️) and $0 funding
  • canonical: passedhttps://levels.io/2015-revenue-202785-linode-macbook-bootstrapped
  • h1: passed1 H1 element(s)
  • headings: passed0 skipped heading level(s)
  • main: failed0 main landmarks
  • lang: passeden
  • alt: passed0 of 885 images lack an alt attribute
  • img-dimensions: failed885 of 885 images lack width/height attributes or an aspect-ratio style
  • labels: failed2 of 2 controls have no HTML label
  • buttons: passed0 of 2 buttons have no HTML name
  • links-named: failed884 of 1979 links have no HTML name
  • link-text: passed0 of 1979 links use generic text
  • viewport: passedwidth=device-width, initial-scale=1.0
  • https: passedhttps://levels.io/2015-revenue-202785-linode-macbook-bootstrapped
  • mixed: passed0 HTTP embedded resource URL(s)
  • og-title: passedMy 2015 revenue was $202,785 with one Linode server one MacBook no office no house hardly any expenses and $0 funding — @levelsio (Pieter Levels)
  • og-description: passedMy 2015 revenue: $202,785 w/ one @linode server, one MacBook, no office, no house, hardly any expenses (except ☕️) and $0 funding
  • og-type: passedarticle
  • og-url: passedhttps://levels.io/2015-revenue-202785-linode-macbook-bootstrapped
  • og-image: passedhttps://r2.levels.io/covers/2015-revenue-202785-linode-macbook-bootstrapped.png
  • og-alt: failedNo sharing image description
  • twitter-card: passedsummary_large_image
  • readable: passed64356 characters of crawler-visible content (minimum 100)
  • jsonld: passed1 of 1 blocks have valid JSON-LD structure
  • html-size: passed451,272 bytes of HTML; budget 500,000
1221
https://levels.io/2015/april200April 2015 — @levelsio (Pieter Levels)
Page checklist evidence
  • title: passedApril 2015 — @levelsio (Pieter Levels)
  • description: passed4 posts from April 2015 by @levelsio
  • canonical: passedhttps://levels.io/2015/april
  • h1: passed2 H1 element(s)
  • headings: passed0 skipped heading level(s)
  • main: failed0 main landmarks
  • lang: passeden
  • alt: passed0 of 4 images lack an alt attribute
  • img-dimensions: failed4 of 4 images lack width/height attributes or an aspect-ratio style
  • labels: failed1 of 1 controls have no HTML label
  • buttons: passed0 of 1 buttons have no HTML name
  • links-named: failed4 of 20 links have no HTML name
  • link-text: passed0 of 20 links use generic text
  • viewport: passedwidth=device-width, initial-scale=1.0
  • https: passedhttps://levels.io/2015/april
  • mixed: passed0 HTTP embedded resource URL(s)
  • og-title: passedApril 2015 — @levelsio (Pieter Levels)
  • og-description: passed4 posts from April 2015 by @levelsio
  • og-type: passedwebsite
  • og-url: passedhttps://levels.io/2015/april
  • og-image: passedhttps://levels.io/og.jpg?v=1789196712
  • og-alt: failedNo sharing image description
  • twitter-card: passedsummary_large_image
  • readable: passed420 characters of crawler-visible content (minimum 100)
  • jsonld: failed0 of 0 blocks have valid JSON-LD structure
  • html-size: passed41,138 bytes of HTML; budget 500,000
2161
https://levels.io/2015/august200August 2015 — @levelsio (Pieter Levels)
Page checklist evidence
  • title: passedAugust 2015 — @levelsio (Pieter Levels)
  • description: passed2 posts from August 2015 by @levelsio
  • canonical: passedhttps://levels.io/2015/august
  • h1: passed2 H1 element(s)
  • headings: passed0 skipped heading level(s)
  • main: failed0 main landmarks
  • lang: passeden
  • alt: passed0 of 2 images lack an alt attribute
  • img-dimensions: failed2 of 2 images lack width/height attributes or an aspect-ratio style
  • labels: failed1 of 1 controls have no HTML label
  • buttons: passed0 of 1 buttons have no HTML name
  • links-named: failed2 of 16 links have no HTML name
  • link-text: passed0 of 16 links use generic text
  • viewport: passedwidth=device-width, initial-scale=1.0
  • https: passedhttps://levels.io/2015/august
  • mixed: passed0 HTTP embedded resource URL(s)
  • og-title: passedAugust 2015 — @levelsio (Pieter Levels)
  • og-description: passed2 posts from August 2015 by @levelsio
  • og-type: passedwebsite
  • og-url: passedhttps://levels.io/2015/august
  • og-image: passedhttps://levels.io/og.jpg?v=1789196712
  • og-alt: failedNo sharing image description
  • twitter-card: passedsummary_large_image
  • readable: passed308 characters of crawler-visible content (minimum 100)
  • jsonld: failed0 of 0 blocks have valid JSON-LD structure
  • html-size: passed40,442 bytes of HTML; budget 500,000
2171
https://levels.io/2015/december200December 2015 — @levelsio (Pieter Levels)
Page checklist evidence
  • title: passedDecember 2015 — @levelsio (Pieter Levels)
  • description: passed3 posts from December 2015 by @levelsio
  • canonical: passedhttps://levels.io/2015/december
  • h1: passed2 H1 element(s)
  • headings: passed0 skipped heading level(s)
  • main: failed0 main landmarks
  • lang: passeden
  • alt: passed0 of 3 images lack an alt attribute
  • img-dimensions: failed3 of 3 images lack width/height attributes or an aspect-ratio style
  • labels: failed1 of 1 controls have no HTML label
  • buttons: passed0 of 1 buttons have no HTML name
  • links-named: failed3 of 18 links have no HTML name
  • link-text: passed0 of 18 links use generic text
  • viewport: passedwidth=device-width, initial-scale=1.0
  • https: passedhttps://levels.io/2015/december
  • mixed: passed0 HTTP embedded resource URL(s)
  • og-title: passedDecember 2015 — @levelsio (Pieter Levels)
  • og-description: passed3 posts from December 2015 by @levelsio
  • og-type: passedwebsite
  • og-url: passedhttps://levels.io/2015/december
  • og-image: passedhttps://levels.io/og.jpg?v=1789196712
  • og-alt: failedNo sharing image description
  • twitter-card: passedsummary_large_image
  • readable: passed396 characters of crawler-visible content (minimum 100)
  • jsonld: failed0 of 0 blocks have valid JSON-LD structure
  • html-size: passed40,911 bytes of HTML; budget 500,000
2160
https://levels.io/2015/january200January 2015 — @levelsio (Pieter Levels)
Page checklist evidence
  • title: passedJanuary 2015 — @levelsio (Pieter Levels)
  • description: passed2 posts from January 2015 by @levelsio
  • canonical: passedhttps://levels.io/2015/january
  • h1: passed2 H1 element(s)
  • headings: passed0 skipped heading level(s)
  • main: failed0 main landmarks
  • lang: passeden
  • alt: passed0 of 2 images lack an alt attribute
  • img-dimensions: failed2 of 2 images lack width/height attributes or an aspect-ratio style
  • labels: failed1 of 1 controls have no HTML label
  • buttons: passed0 of 1 buttons have no HTML name
  • links-named: failed2 of 16 links have no HTML name
  • link-text: passed0 of 16 links use generic text
  • viewport: passedwidth=device-width, initial-scale=1.0
  • https: passedhttps://levels.io/2015/january
  • mixed: passed0 HTTP embedded resource URL(s)
  • og-title: passedJanuary 2015 — @levelsio (Pieter Levels)
  • og-description: passed2 posts from January 2015 by @levelsio
  • og-type: passedwebsite
  • og-url: passedhttps://levels.io/2015/january
  • og-image: passedhttps://levels.io/og.jpg?v=1789196712
  • og-alt: failedNo sharing image description
  • twitter-card: passedsummary_large_image
  • readable: passed249 characters of crawler-visible content (minimum 100)
  • jsonld: failed0 of 0 blocks have valid JSON-LD structure
  • html-size: passed40,392 bytes of HTML; budget 500,000
2157
https://levels.io/2015/june200June 2015 — @levelsio (Pieter Levels)
Page checklist evidence
  • title: passedJune 2015 — @levelsio (Pieter Levels)
  • description: passed2 posts from June 2015 by @levelsio
  • canonical: passedhttps://levels.io/2015/june
  • h1: passed2 H1 element(s)
  • headings: passed0 skipped heading level(s)
  • main: failed0 main landmarks
  • lang: passeden
  • alt: passed0 of 2 images lack an alt attribute
  • img-dimensions: failed2 of 2 images lack width/height attributes or an aspect-ratio style
  • labels: failed1 of 1 controls have no HTML label
  • buttons: passed0 of 1 buttons have no HTML name
  • links-named: failed2 of 16 links have no HTML name
  • link-text: passed0 of 16 links use generic text
  • viewport: passedwidth=device-width, initial-scale=1.0
  • https: passedhttps://levels.io/2015/june
  • mixed: passed0 HTTP embedded resource URL(s)
  • og-title: passedJune 2015 — @levelsio (Pieter Levels)
  • og-description: passed2 posts from June 2015 by @levelsio
  • og-type: passedwebsite
  • og-url: passedhttps://levels.io/2015/june
  • og-image: passedhttps://levels.io/og.jpg?v=1789196712
  • og-alt: failedNo sharing image description
  • twitter-card: passedsummary_large_image
  • readable: passed351 characters of crawler-visible content (minimum 100)
  • jsonld: failed0 of 0 blocks have valid JSON-LD structure
  • html-size: passed40,688 bytes of HTML; budget 500,000
2159
https://levels.io/2015/march200March 2015 — @levelsio (Pieter Levels)
Page checklist evidence
  • title: passedMarch 2015 — @levelsio (Pieter Levels)
  • description: passed3 posts from March 2015 by @levelsio
  • canonical: passedhttps://levels.io/2015/march
  • h1: passed2 H1 element(s)
  • headings: passed0 skipped heading level(s)
  • main: failed0 main landmarks
  • lang: passeden
  • alt: passed0 of 3 images lack an alt attribute
  • img-dimensions: failed3 of 3 images lack width/height attributes or an aspect-ratio style
  • labels: failed1 of 1 controls have no HTML label
  • buttons: passed0 of 1 buttons have no HTML name
  • links-named: failed3 of 18 links have no HTML name
  • link-text: passed0 of 18 links use generic text
  • viewport: passedwidth=device-width, initial-scale=1.0
  • https: passedhttps://levels.io/2015/march
  • mixed: passed0 HTTP embedded resource URL(s)
  • og-title: passedMarch 2015 — @levelsio (Pieter Levels)
  • og-description: passed3 posts from March 2015 by @levelsio
  • og-type: passedwebsite
  • og-url: passedhttps://levels.io/2015/march
  • og-image: passedhttps://levels.io/og.jpg?v=1789196712
  • og-alt: failedNo sharing image description
  • twitter-card: passedsummary_large_image
  • readable: passed424 characters of crawler-visible content (minimum 100)
  • jsonld: failed0 of 0 blocks have valid JSON-LD structure
  • html-size: passed40,940 bytes of HTML; budget 500,000
2158
https://levels.io/2015/may200May 2015 — @levelsio (Pieter Levels)
Page checklist evidence
  • title: passedMay 2015 — @levelsio (Pieter Levels)
  • description: passed5 posts from May 2015 by @levelsio
  • canonical: passedhttps://levels.io/2015/may
  • h1: passed2 H1 element(s)
  • headings: passed0 skipped heading level(s)
  • main: failed0 main landmarks
  • lang: passeden
  • alt: passed0 of 5 images lack an alt attribute
  • img-dimensions: failed5 of 5 images lack width/height attributes or an aspect-ratio style
  • labels: failed1 of 1 controls have no HTML label
  • buttons: passed0 of 1 buttons have no HTML name
  • links-named: failed5 of 22 links have no HTML name
  • link-text: passed0 of 22 links use generic text
  • viewport: passedwidth=device-width, initial-scale=1.0
  • https: passedhttps://levels.io/2015/may
  • mixed: passed0 HTTP embedded resource URL(s)
  • og-title: passedMay 2015 — @levelsio (Pieter Levels)
  • og-description: passed5 posts from May 2015 by @levelsio
  • og-type: passedwebsite
  • og-url: passedhttps://levels.io/2015/may
  • og-image: passedhttps://levels.io/og.jpg?v=1789196712
  • og-alt: failedNo sharing image description
  • twitter-card: passedsummary_large_image
  • readable: passed530 characters of crawler-visible content (minimum 100)
  • jsonld: failed0 of 0 blocks have valid JSON-LD structure
  • html-size: passed41,624 bytes of HTML; budget 500,000
2152
https://levels.io/2015/november200November 2015 — @levelsio (Pieter Levels)
Page checklist evidence
  • title: passedNovember 2015 — @levelsio (Pieter Levels)
  • description: passed4 posts from November 2015 by @levelsio
  • canonical: passedhttps://levels.io/2015/november
  • h1: passed2 H1 element(s)
  • headings: passed0 skipped heading level(s)
  • main: failed0 main landmarks
  • lang: passeden
  • alt: passed0 of 4 images lack an alt attribute
  • img-dimensions: failed4 of 4 images lack width/height attributes or an aspect-ratio style
  • labels: failed1 of 1 controls have no HTML label
  • buttons: passed0 of 1 buttons have no HTML name
  • links-named: failed4 of 20 links have no HTML name
  • link-text: passed0 of 20 links use generic text
  • viewport: passedwidth=device-width, initial-scale=1.0
  • https: passedhttps://levels.io/2015/november
  • mixed: passed0 HTTP embedded resource URL(s)
  • og-title: passedNovember 2015 — @levelsio (Pieter Levels)
  • og-description: passed4 posts from November 2015 by @levelsio
  • og-type: passedwebsite
  • og-url: passedhttps://levels.io/2015/november
  • og-image: passedhttps://levels.io/og.jpg?v=1789196712
  • og-alt: failedNo sharing image description
  • twitter-card: passedsummary_large_image
  • readable: passed503 characters of crawler-visible content (minimum 100)
  • jsonld: failed0 of 0 blocks have valid JSON-LD structure
  • html-size: passed41,648 bytes of HTML; budget 500,000
2153
https://levels.io/2015/october200October 2015 — @levelsio (Pieter Levels)
Page checklist evidence
  • title: passedOctober 2015 — @levelsio (Pieter Levels)
  • description: passed7 posts from October 2015 by @levelsio
  • canonical: passedhttps://levels.io/2015/october
  • h1: passed2 H1 element(s)
  • headings: passed0 skipped heading level(s)
  • main: failed0 main landmarks
  • lang: passeden
  • alt: passed0 of 7 images lack an alt attribute
  • img-dimensions: failed7 of 7 images lack width/height attributes or an aspect-ratio style
  • labels: failed1 of 1 controls have no HTML label
  • buttons: passed0 of 1 buttons have no HTML name
  • links-named: failed7 of 26 links have no HTML name
  • link-text: passed0 of 26 links use generic text
  • viewport: passedwidth=device-width, initial-scale=1.0
  • https: passedhttps://levels.io/2015/october
  • mixed: passed0 HTTP embedded resource URL(s)
  • og-title: passedOctober 2015 — @levelsio (Pieter Levels)
  • og-description: passed7 posts from October 2015 by @levelsio
  • og-type: passedwebsite
  • og-url: passedhttps://levels.io/2015/october
  • og-image: passedhttps://levels.io/og.jpg?v=1789196712
  • og-alt: failedNo sharing image description
  • twitter-card: passedsummary_large_image
  • readable: passed651 characters of crawler-visible content (minimum 100)
  • jsonld: failed0 of 0 blocks have valid JSON-LD structure
  • html-size: passed42,385 bytes of HTML; budget 500,000
2164
https://levels.io/2015/september200September 2015 — @levelsio (Pieter Levels)
Page checklist evidence
  • title: passedSeptember 2015 — @levelsio (Pieter Levels)
  • description: passed2 posts from September 2015 by @levelsio
  • canonical: passedhttps://levels.io/2015/september
  • h1: passed2 H1 element(s)
  • headings: passed0 skipped heading level(s)
  • main: failed0 main landmarks
  • lang: passeden
  • alt: passed0 of 2 images lack an alt attribute
  • img-dimensions: failed2 of 2 images lack width/height attributes or an aspect-ratio style
  • labels: failed1 of 1 controls have no HTML label
  • buttons: passed0 of 1 buttons have no HTML name
  • links-named: failed2 of 16 links have no HTML name
  • link-text: passed0 of 16 links use generic text
  • viewport: passedwidth=device-width, initial-scale=1.0
  • https: passedhttps://levels.io/2015/september
  • mixed: passed0 HTTP embedded resource URL(s)
  • og-title: passedSeptember 2015 — @levelsio (Pieter Levels)
  • og-description: passed2 posts from September 2015 by @levelsio
  • og-type: passedwebsite
  • og-url: passedhttps://levels.io/2015/september
  • og-image: passedhttps://levels.io/og.jpg?v=1789196712
  • og-alt: failedNo sharing image description
  • twitter-card: passedsummary_large_image
  • readable: passed283 characters of crawler-visible content (minimum 100)
  • jsonld: failed0 of 0 blocks have valid JSON-LD structure
  • html-size: passed40,418 bytes of HTML; budget 500,000
2155
https://levels.io/2016/august200August 2016 — @levelsio (Pieter Levels)
Page checklist evidence
  • title: passedAugust 2016 — @levelsio (Pieter Levels)
  • description: passed2 posts from August 2016 by @levelsio
  • canonical: passedhttps://levels.io/2016/august
  • h1: passed2 H1 element(s)
  • headings: passed0 skipped heading level(s)
  • main: failed0 main landmarks
  • lang: passeden
  • alt: passed0 of 2 images lack an alt attribute
  • img-dimensions: failed2 of 2 images lack width/height attributes or an aspect-ratio style
  • labels: failed1 of 1 controls have no HTML label
  • buttons: passed0 of 1 buttons have no HTML name
  • links-named: failed2 of 16 links have no HTML name
  • link-text: passed0 of 16 links use generic text
  • viewport: passedwidth=device-width, initial-scale=1.0
  • https: passedhttps://levels.io/2016/august
  • mixed: passed0 HTTP embedded resource URL(s)
  • og-title: passedAugust 2016 — @levelsio (Pieter Levels)
  • og-description: passed2 posts from August 2016 by @levelsio
  • og-type: passedwebsite
  • og-url: passedhttps://levels.io/2016/august
  • og-image: passedhttps://levels.io/og.jpg?v=1789196712
  • og-alt: failedNo sharing image description
  • twitter-card: passedsummary_large_image
  • readable: passed224 characters of crawler-visible content (minimum 100)
  • jsonld: failed0 of 0 blocks have valid JSON-LD structure
  • html-size: passed40,225 bytes of HTML; budget 500,000
2152
https://levels.io/2016/december200December 2016 — @levelsio (Pieter Levels)
Page checklist evidence
  • title: passedDecember 2016 — @levelsio (Pieter Levels)
  • description: passed1 posts from December 2016 by @levelsio
  • canonical: passedhttps://levels.io/2016/december
  • h1: passed2 H1 element(s)
  • headings: passed0 skipped heading level(s)
  • main: failed0 main landmarks
  • lang: passeden
  • alt: passed0 of 1 images lack an alt attribute
  • img-dimensions: failed1 of 1 images lack width/height attributes or an aspect-ratio style
  • labels: failed1 of 1 controls have no HTML label
  • buttons: passed0 of 1 buttons have no HTML name
  • links-named: failed1 of 14 links have no HTML name
  • link-text: passed0 of 14 links use generic text
  • viewport: passedwidth=device-width, initial-scale=1.0
  • https: passedhttps://levels.io/2016/december
  • mixed: passed0 HTTP embedded resource URL(s)
  • og-title: passedDecember 2016 — @levelsio (Pieter Levels)
  • og-description: passed1 posts from December 2016 by @levelsio
  • og-type: passedwebsite
  • og-url: passedhttps://levels.io/2016/december
  • og-image: passedhttps://levels.io/og.jpg?v=1789196712
  • og-alt: failedNo sharing image description
  • twitter-card: passedsummary_large_image
  • readable: passed232 characters of crawler-visible content (minimum 100)
  • jsonld: failed0 of 0 blocks have valid JSON-LD structure
  • html-size: passed40,084 bytes of HTML; budget 500,000
2150
https://levels.io/2016/february200February 2016 — @levelsio (Pieter Levels)
Page checklist evidence
  • title: passedFebruary 2016 — @levelsio (Pieter Levels)
  • description: passed10 posts from February 2016 by @levelsio
  • canonical: passedhttps://levels.io/2016/february
  • h1: passed2 H1 element(s)
  • headings: passed0 skipped heading level(s)
  • main: failed0 main landmarks
  • lang: passeden
  • alt: passed0 of 10 images lack an alt attribute
  • img-dimensions: failed10 of 10 images lack width/height attributes or an aspect-ratio style
  • labels: failed1 of 1 controls have no HTML label
  • buttons: passed0 of 1 buttons have no HTML name
  • links-named: failed10 of 32 links have no HTML name
  • link-text: passed0 of 32 links use generic text
  • viewport: passedwidth=device-width, initial-scale=1.0
  • https: passedhttps://levels.io/2016/february
  • mixed: passed0 HTTP embedded resource URL(s)
  • og-title: passedFebruary 2016 — @levelsio (Pieter Levels)
  • og-description: passed10 posts from February 2016 by @levelsio
  • og-type: passedwebsite
  • og-url: passedhttps://levels.io/2016/february
  • og-image: passedhttps://levels.io/og.jpg?v=1789196712
  • og-alt: failedNo sharing image description
  • twitter-card: passedsummary_large_image
  • readable: passed938 characters of crawler-visible content (minimum 100)
  • jsonld: failed0 of 0 blocks have valid JSON-LD structure
  • html-size: passed43,695 bytes of HTML; budget 500,000
2178
https://levels.io/2016/january200January 2016 — @levelsio (Pieter Levels)
Page checklist evidence
  • title: passedJanuary 2016 — @levelsio (Pieter Levels)
  • description: passed3 posts from January 2016 by @levelsio
  • canonical: passedhttps://levels.io/2016/january
  • h1: passed2 H1 element(s)
  • headings: passed0 skipped heading level(s)
  • main: failed0 main landmarks
  • lang: passeden
  • alt: passed0 of 3 images lack an alt attribute
  • img-dimensions: failed3 of 3 images lack width/height attributes or an aspect-ratio style
  • labels: failed1 of 1 controls have no HTML label
  • buttons: passed0 of 1 buttons have no HTML name
  • links-named: failed3 of 18 links have no HTML name
  • link-text: passed0 of 18 links use generic text
  • viewport: passedwidth=device-width, initial-scale=1.0
  • https: passedhttps://levels.io/2016/january
  • mixed: passed0 HTTP embedded resource URL(s)
  • og-title: passedJanuary 2016 — @levelsio (Pieter Levels)
  • og-description: passed3 posts from January 2016 by @levelsio
  • og-type: passedwebsite
  • og-url: passedhttps://levels.io/2016/january
  • og-image: passedhttps://levels.io/og.jpg?v=1789196712
  • og-alt: failedNo sharing image description
  • twitter-card: passedsummary_large_image
  • readable: passed449 characters of crawler-visible content (minimum 100)
  • jsonld: failed0 of 0 blocks have valid JSON-LD structure
  • html-size: passed41,069 bytes of HTML; budget 500,000
2152
https://levels.io/2016/july200July 2016 — @levelsio (Pieter Levels)
Page checklist evidence
  • title: passedJuly 2016 — @levelsio (Pieter Levels)
  • description: passed3 posts from July 2016 by @levelsio
  • canonical: passedhttps://levels.io/2016/july
  • h1: passed2 H1 element(s)
  • headings: passed0 skipped heading level(s)
  • main: failed0 main landmarks
  • lang: passeden
  • alt: passed0 of 3 images lack an alt attribute
  • img-dimensions: failed3 of 3 images lack width/height attributes or an aspect-ratio style
  • labels: failed1 of 1 controls have no HTML label
  • buttons: passed0 of 1 buttons have no HTML name
  • links-named: failed3 of 18 links have no HTML name
  • link-text: passed0 of 18 links use generic text
  • viewport: passedwidth=device-width, initial-scale=1.0
  • https: passedhttps://levels.io/2016/july
  • mixed: passed0 HTTP embedded resource URL(s)
  • og-title: passedJuly 2016 — @levelsio (Pieter Levels)
  • og-description: passed3 posts from July 2016 by @levelsio
  • og-type: passedwebsite
  • og-url: passedhttps://levels.io/2016/july
  • og-image: passedhttps://levels.io/og.jpg?v=1789196712
  • og-alt: failedNo sharing image description
  • twitter-card: passedsummary_large_image
  • readable: passed367 characters of crawler-visible content (minimum 100)
  • jsonld: failed0 of 0 blocks have valid JSON-LD structure
  • html-size: passed40,947 bytes of HTML; budget 500,000
2159
https://levels.io/2016/june200June 2016 — @levelsio (Pieter Levels)
Page checklist evidence
  • title: passedJune 2016 — @levelsio (Pieter Levels)
  • description: passed3 posts from June 2016 by @levelsio
  • canonical: passedhttps://levels.io/2016/june
  • h1: passed2 H1 element(s)
  • headings: passed0 skipped heading level(s)
  • main: failed0 main landmarks
  • lang: passeden
  • alt: passed0 of 3 images lack an alt attribute
  • img-dimensions: failed3 of 3 images lack width/height attributes or an aspect-ratio style
  • labels: failed1 of 1 controls have no HTML label
  • buttons: passed0 of 1 buttons have no HTML name
  • links-named: failed3 of 18 links have no HTML name
  • link-text: passed0 of 18 links use generic text
  • viewport: passedwidth=device-width, initial-scale=1.0
  • https: passedhttps://levels.io/2016/june
  • mixed: passed0 HTTP embedded resource URL(s)
  • og-title: passedJune 2016 — @levelsio (Pieter Levels)
  • og-description: passed3 posts from June 2016 by @levelsio
  • og-type: passedwebsite
  • og-url: passedhttps://levels.io/2016/june
  • og-image: passedhttps://levels.io/og.jpg?v=1789196712
  • og-alt: failedNo sharing image description
  • twitter-card: passedsummary_large_image
  • readable: passed380 characters of crawler-visible content (minimum 100)
  • jsonld: failed0 of 0 blocks have valid JSON-LD structure
  • html-size: passed40,940 bytes of HTML; budget 500,000
2166
https://levels.io/2016/march200March 2016 — @levelsio (Pieter Levels)
Page checklist evidence
  • title: passedMarch 2016 — @levelsio (Pieter Levels)
  • description: passed3 posts from March 2016 by @levelsio
  • canonical: passedhttps://levels.io/2016/march
  • h1: passed2 H1 element(s)
  • headings: passed0 skipped heading level(s)
  • main: failed0 main landmarks
  • lang: passeden
  • alt: passed0 of 3 images lack an alt attribute
  • img-dimensions: failed3 of 3 images lack width/height attributes or an aspect-ratio style
  • labels: failed1 of 1 controls have no HTML label
  • buttons: passed0 of 1 buttons have no HTML name
  • links-named: failed3 of 18 links have no HTML name
  • link-text: passed0 of 18 links use generic text
  • viewport: passedwidth=device-width, initial-scale=1.0
  • https: passedhttps://levels.io/2016/march
  • mixed: passed0 HTTP embedded resource URL(s)
  • og-title: passedMarch 2016 — @levelsio (Pieter Levels)
  • og-description: passed3 posts from March 2016 by @levelsio
  • og-type: passedwebsite
  • og-url: passedhttps://levels.io/2016/march
  • og-image: passedhttps://levels.io/og.jpg?v=1789196712
  • og-alt: failedNo sharing image description
  • twitter-card: passedsummary_large_image
  • readable: passed359 characters of crawler-visible content (minimum 100)
  • jsonld: failed0 of 0 blocks have valid JSON-LD structure
  • html-size: passed40,798 bytes of HTML; budget 500,000
2152
https://levels.io/2016/may200May 2016 — @levelsio (Pieter Levels)
Page checklist evidence
  • title: passedMay 2016 — @levelsio (Pieter Levels)
  • description: passed3 posts from May 2016 by @levelsio
  • canonical: passedhttps://levels.io/2016/may
  • h1: passed2 H1 element(s)
  • headings: passed0 skipped heading level(s)
  • main: failed0 main landmarks
  • lang: passeden
  • alt: passed0 of 3 images lack an alt attribute
  • img-dimensions: failed3 of 3 images lack width/height attributes or an aspect-ratio style
  • labels: failed1 of 1 controls have no HTML label
  • buttons: passed0 of 1 buttons have no HTML name
  • links-named: failed3 of 18 links have no HTML name
  • link-text: passed0 of 18 links use generic text
  • viewport: passedwidth=device-width, initial-scale=1.0
  • https: passedhttps://levels.io/2016/may
  • mixed: passed0 HTTP embedded resource URL(s)
  • og-title: passedMay 2016 — @levelsio (Pieter Levels)
  • og-description: passed3 posts from May 2016 by @levelsio
  • og-type: passedwebsite
  • og-url: passedhttps://levels.io/2016/may
  • og-image: passedhttps://levels.io/og.jpg?v=1789196712
  • og-alt: failedNo sharing image description
  • twitter-card: passedsummary_large_image
  • readable: passed337 characters of crawler-visible content (minimum 100)
  • jsonld: failed0 of 0 blocks have valid JSON-LD structure
  • html-size: passed40,824 bytes of HTML; budget 500,000
2161
https://levels.io/2016/november200November 2016 — @levelsio (Pieter Levels)
Page checklist evidence
  • title: passedNovember 2016 — @levelsio (Pieter Levels)
  • description: passed2 posts from November 2016 by @levelsio
  • canonical: passedhttps://levels.io/2016/november
  • h1: passed2 H1 element(s)
  • headings: passed0 skipped heading level(s)
  • main: failed0 main landmarks
  • lang: passeden
  • alt: passed0 of 2 images lack an alt attribute
  • img-dimensions: failed2 of 2 images lack width/height attributes or an aspect-ratio style
  • labels: failed1 of 1 controls have no HTML label
  • buttons: passed0 of 1 buttons have no HTML name
  • links-named: failed2 of 16 links have no HTML name
  • link-text: passed0 of 16 links use generic text
  • viewport: passedwidth=device-width, initial-scale=1.0
  • https: passedhttps://levels.io/2016/november
  • mixed: passed0 HTTP embedded resource URL(s)
  • og-title: passedNovember 2016 — @levelsio (Pieter Levels)
  • og-description: passed2 posts from November 2016 by @levelsio
  • og-type: passedwebsite
  • og-url: passedhttps://levels.io/2016/november
  • og-image: passedhttps://levels.io/og.jpg?v=1789196712
  • og-alt: failedNo sharing image description
  • twitter-card: passedsummary_large_image
  • readable: passed310 characters of crawler-visible content (minimum 100)
  • jsonld: failed0 of 0 blocks have valid JSON-LD structure
  • html-size: passed40,613 bytes of HTML; budget 500,000
2168
https://levels.io/2016/october200October 2016 — @levelsio (Pieter Levels)
Page checklist evidence
  • title: passedOctober 2016 — @levelsio (Pieter Levels)
  • description: passed11 posts from October 2016 by @levelsio
  • canonical: passedhttps://levels.io/2016/october
  • h1: passed2 H1 element(s)
  • headings: passed0 skipped heading level(s)
  • main: failed0 main landmarks
  • lang: passeden
  • alt: passed0 of 11 images lack an alt attribute
  • img-dimensions: failed11 of 11 images lack width/height attributes or an aspect-ratio style
  • labels: failed1 of 1 controls have no HTML label
  • buttons: passed0 of 1 buttons have no HTML name
  • links-named: failed11 of 34 links have no HTML name
  • link-text: passed0 of 34 links use generic text
  • viewport: passedwidth=device-width, initial-scale=1.0
  • https: passedhttps://levels.io/2016/october
  • mixed: passed0 HTTP embedded resource URL(s)
  • og-title: passedOctober 2016 — @levelsio (Pieter Levels)
  • og-description: passed11 posts from October 2016 by @levelsio
  • og-type: passedwebsite
  • og-url: passedhttps://levels.io/2016/october
  • og-image: passedhttps://levels.io/og.jpg?v=1789196712
  • og-alt: failedNo sharing image description
  • twitter-card: passedsummary_large_image
  • readable: passed859 characters of crawler-visible content (minimum 100)
  • jsonld: failed0 of 0 blocks have valid JSON-LD structure
  • html-size: passed44,108 bytes of HTML; budget 500,000
2164
https://levels.io/2016/september200September 2016 — @levelsio (Pieter Levels)
Page checklist evidence
  • title: passedSeptember 2016 — @levelsio (Pieter Levels)
  • description: passed1 posts from September 2016 by @levelsio
  • canonical: passedhttps://levels.io/2016/september
  • h1: passed2 H1 element(s)
  • headings: passed0 skipped heading level(s)
  • main: failed0 main landmarks
  • lang: passeden
  • alt: passed0 of 1 images lack an alt attribute
  • img-dimensions: failed1 of 1 images lack width/height attributes or an aspect-ratio style
  • labels: failed1 of 1 controls have no HTML label
  • buttons: passed0 of 1 buttons have no HTML name
  • links-named: failed1 of 14 links have no HTML name
  • link-text: passed0 of 14 links use generic text
  • viewport: passedwidth=device-width, initial-scale=1.0
  • https: passedhttps://levels.io/2016/september
  • mixed: passed0 HTTP embedded resource URL(s)
  • og-title: passedSeptember 2016 — @levelsio (Pieter Levels)
  • og-description: passed1 posts from September 2016 by @levelsio
  • og-type: passedwebsite
  • og-url: passedhttps://levels.io/2016/september
  • og-image: passedhttps://levels.io/og.jpg?v=1789196712
  • og-alt: failedNo sharing image description
  • twitter-card: passedsummary_large_image
  • readable: passed238 characters of crawler-visible content (minimum 100)
  • jsonld: failed0 of 0 blocks have valid JSON-LD structure
  • html-size: passed40,100 bytes of HTML; budget 500,000
2165
https://levels.io/2017/april200April 2017 — @levelsio (Pieter Levels)
Page checklist evidence
  • title: passedApril 2017 — @levelsio (Pieter Levels)
  • description: passed2 posts from April 2017 by @levelsio
  • canonical: passedhttps://levels.io/2017/april
  • h1: passed2 H1 element(s)
  • headings: passed0 skipped heading level(s)
  • main: failed0 main landmarks
  • lang: passeden
  • alt: passed0 of 2 images lack an alt attribute
  • img-dimensions: failed2 of 2 images lack width/height attributes or an aspect-ratio style
  • labels: failed1 of 1 controls have no HTML label
  • buttons: passed0 of 1 buttons have no HTML name
  • links-named: failed2 of 16 links have no HTML name
  • link-text: passed0 of 16 links use generic text
  • viewport: passedwidth=device-width, initial-scale=1.0
  • https: passedhttps://levels.io/2017/april
  • mixed: passed0 HTTP embedded resource URL(s)
  • og-title: passedApril 2017 — @levelsio (Pieter Levels)
  • og-description: passed2 posts from April 2017 by @levelsio
  • og-type: passedwebsite
  • og-url: passedhttps://levels.io/2017/april
  • og-image: passedhttps://levels.io/og.jpg?v=1789196712
  • og-alt: failedNo sharing image description
  • twitter-card: passedsummary_large_image
  • readable: passed325 characters of crawler-visible content (minimum 100)
  • jsonld: failed0 of 0 blocks have valid JSON-LD structure
  • html-size: passed40,548 bytes of HTML; budget 500,000
2164
https://levels.io/2017/august200August 2017 — @levelsio (Pieter Levels)
Page checklist evidence
  • title: passedAugust 2017 — @levelsio (Pieter Levels)
  • description: passed8 posts from August 2017 by @levelsio
  • canonical: passedhttps://levels.io/2017/august
  • h1: passed2 H1 element(s)
  • headings: passed0 skipped heading level(s)
  • main: failed0 main landmarks
  • lang: passeden
  • alt: passed0 of 8 images lack an alt attribute
  • img-dimensions: failed8 of 8 images lack width/height attributes or an aspect-ratio style
  • labels: failed1 of 1 controls have no HTML label
  • buttons: passed0 of 1 buttons have no HTML name
  • links-named: failed8 of 28 links have no HTML name
  • link-text: passed0 of 28 links use generic text
  • viewport: passedwidth=device-width, initial-scale=1.0
  • https: passedhttps://levels.io/2017/august
  • mixed: passed0 HTTP embedded resource URL(s)
  • og-title: passedAugust 2017 — @levelsio (Pieter Levels)
  • og-description: passed8 posts from August 2017 by @levelsio
  • og-type: passedwebsite
  • og-url: passedhttps://levels.io/2017/august
  • og-image: passedhttps://levels.io/og.jpg?v=1789196712
  • og-alt: failedNo sharing image description
  • twitter-card: passedsummary_large_image
  • readable: passed790 characters of crawler-visible content (minimum 100)
  • jsonld: failed0 of 0 blocks have valid JSON-LD structure
  • html-size: passed43,479 bytes of HTML; budget 500,000
2163
https://levels.io/2017/december200December 2017 — @levelsio (Pieter Levels)
Page checklist evidence
  • title: passedDecember 2017 — @levelsio (Pieter Levels)
  • description: passed9 posts from December 2017 by @levelsio
  • canonical: passedhttps://levels.io/2017/december
  • h1: passed2 H1 element(s)
  • headings: passed0 skipped heading level(s)
  • main: failed0 main landmarks
  • lang: passeden
  • alt: passed0 of 9 images lack an alt attribute
  • img-dimensions: failed9 of 9 images lack width/height attributes or an aspect-ratio style
  • labels: failed1 of 1 controls have no HTML label
  • buttons: passed0 of 1 buttons have no HTML name
  • links-named: failed9 of 30 links have no HTML name
  • link-text: passed0 of 30 links use generic text
  • viewport: passedwidth=device-width, initial-scale=1.0
  • https: passedhttps://levels.io/2017/december
  • mixed: passed0 HTTP embedded resource URL(s)
  • og-title: passedDecember 2017 — @levelsio (Pieter Levels)
  • og-description: passed9 posts from December 2017 by @levelsio
  • og-type: passedwebsite
  • og-url: passedhttps://levels.io/2017/december
  • og-image: passedhttps://levels.io/og.jpg?v=1789196712
  • og-alt: failedNo sharing image description
  • twitter-card: passedsummary_large_image
  • readable: passed869 characters of crawler-visible content (minimum 100)
  • jsonld: failed0 of 0 blocks have valid JSON-LD structure
  • html-size: passed43,906 bytes of HTML; budget 500,000
2169
https://levels.io/2017/february200February 2017 — @levelsio (Pieter Levels)
Page checklist evidence
  • title: passedFebruary 2017 — @levelsio (Pieter Levels)
  • description: passed2 posts from February 2017 by @levelsio
  • canonical: passedhttps://levels.io/2017/february
  • h1: passed2 H1 element(s)
  • headings: passed0 skipped heading level(s)
  • main: failed0 main landmarks
  • lang: passeden
  • alt: passed0 of 2 images lack an alt attribute
  • img-dimensions: failed2 of 2 images lack width/height attributes or an aspect-ratio style
  • labels: failed1 of 1 controls have no HTML label
  • buttons: passed0 of 1 buttons have no HTML name
  • links-named: failed2 of 16 links have no HTML name
  • link-text: passed0 of 16 links use generic text
  • viewport: passedwidth=device-width, initial-scale=1.0
  • https: passedhttps://levels.io/2017/february
  • mixed: passed0 HTTP embedded resource URL(s)
  • og-title: passedFebruary 2017 — @levelsio (Pieter Levels)
  • og-description: passed2 posts from February 2017 by @levelsio
  • og-type: passedwebsite
  • og-url: passedhttps://levels.io/2017/february
  • og-image: passedhttps://levels.io/og.jpg?v=1789196712
  • og-alt: failedNo sharing image description
  • twitter-card: passedsummary_large_image
  • readable: passed334 characters of crawler-visible content (minimum 100)
  • jsonld: failed0 of 0 blocks have valid JSON-LD structure
  • html-size: passed40,522 bytes of HTML; budget 500,000
2150
https://levels.io/2017/january200January 2017 — @levelsio (Pieter Levels)
Page checklist evidence
  • title: passedJanuary 2017 — @levelsio (Pieter Levels)
  • description: passed2 posts from January 2017 by @levelsio
  • canonical: passedhttps://levels.io/2017/january
  • h1: passed2 H1 element(s)
  • headings: passed0 skipped heading level(s)
  • main: failed0 main landmarks
  • lang: passeden
  • alt: passed0 of 2 images lack an alt attribute
  • img-dimensions: failed2 of 2 images lack width/height attributes or an aspect-ratio style
  • labels: failed1 of 1 controls have no HTML label
  • buttons: passed0 of 1 buttons have no HTML name
  • links-named: failed2 of 16 links have no HTML name
  • link-text: passed0 of 16 links use generic text
  • viewport: passedwidth=device-width, initial-scale=1.0
  • https: passedhttps://levels.io/2017/january
  • mixed: passed0 HTTP embedded resource URL(s)
  • og-title: passedJanuary 2017 — @levelsio (Pieter Levels)
  • og-description: passed2 posts from January 2017 by @levelsio
  • og-type: passedwebsite
  • og-url: passedhttps://levels.io/2017/january
  • og-image: passedhttps://levels.io/og.jpg?v=1789196712
  • og-alt: failedNo sharing image description
  • twitter-card: passedsummary_large_image
  • readable: passed311 characters of crawler-visible content (minimum 100)
  • jsonld: failed0 of 0 blocks have valid JSON-LD structure
  • html-size: passed40,472 bytes of HTML; budget 500,000
2168
https://levels.io/2017/july200July 2017 — @levelsio (Pieter Levels)
Page checklist evidence
  • title: passedJuly 2017 — @levelsio (Pieter Levels)
  • description: passed4 posts from July 2017 by @levelsio
  • canonical: passedhttps://levels.io/2017/july
  • h1: passed2 H1 element(s)
  • headings: passed0 skipped heading level(s)
  • main: failed0 main landmarks
  • lang: passeden
  • alt: passed0 of 4 images lack an alt attribute
  • img-dimensions: failed4 of 4 images lack width/height attributes or an aspect-ratio style
  • labels: failed1 of 1 controls have no HTML label
  • buttons: passed0 of 1 buttons have no HTML name
  • links-named: failed4 of 20 links have no HTML name
  • link-text: passed0 of 20 links use generic text
  • viewport: passedwidth=device-width, initial-scale=1.0
  • https: passedhttps://levels.io/2017/july
  • mixed: passed0 HTTP embedded resource URL(s)
  • og-title: passedJuly 2017 — @levelsio (Pieter Levels)
  • og-description: passed4 posts from July 2017 by @levelsio
  • og-type: passedwebsite
  • og-url: passedhttps://levels.io/2017/july
  • og-image: passedhttps://levels.io/og.jpg?v=1789196712
  • og-alt: failedNo sharing image description
  • twitter-card: passedsummary_large_image
  • readable: passed431 characters of crawler-visible content (minimum 100)
  • jsonld: failed0 of 0 blocks have valid JSON-LD structure
  • html-size: passed41,137 bytes of HTML; budget 500,000
2159
https://levels.io/2017/june200June 2017 — @levelsio (Pieter Levels)
Page checklist evidence
  • title: passedJune 2017 — @levelsio (Pieter Levels)
  • description: passed2 posts from June 2017 by @levelsio
  • canonical: passedhttps://levels.io/2017/june
  • h1: passed2 H1 element(s)
  • headings: passed0 skipped heading level(s)
  • main: failed0 main landmarks
  • lang: passeden
  • alt: passed0 of 2 images lack an alt attribute
  • img-dimensions: failed2 of 2 images lack width/height attributes or an aspect-ratio style
  • labels: failed1 of 1 controls have no HTML label
  • buttons: passed0 of 1 buttons have no HTML name
  • links-named: failed2 of 16 links have no HTML name
  • link-text: passed0 of 16 links use generic text
  • viewport: passedwidth=device-width, initial-scale=1.0
  • https: passedhttps://levels.io/2017/june
  • mixed: passed0 HTTP embedded resource URL(s)
  • og-title: passedJune 2017 — @levelsio (Pieter Levels)
  • og-description: passed2 posts from June 2017 by @levelsio
  • og-type: passedwebsite
  • og-url: passedhttps://levels.io/2017/june
  • og-image: passedhttps://levels.io/og.jpg?v=1789196712
  • og-alt: failedNo sharing image description
  • twitter-card: passedsummary_large_image
  • readable: passed328 characters of crawler-visible content (minimum 100)
  • jsonld: failed0 of 0 blocks have valid JSON-LD structure
  • html-size: passed40,595 bytes of HTML; budget 500,000
2145
https://levels.io/2017/march200March 2017 — @levelsio (Pieter Levels)
Page checklist evidence
  • title: passedMarch 2017 — @levelsio (Pieter Levels)
  • description: passed1 posts from March 2017 by @levelsio
  • canonical: passedhttps://levels.io/2017/march
  • h1: passed2 H1 element(s)
  • headings: passed0 skipped heading level(s)
  • main: failed0 main landmarks
  • lang: passeden
  • alt: passed0 of 1 images lack an alt attribute
  • img-dimensions: failed1 of 1 images lack width/height attributes or an aspect-ratio style
  • labels: failed1 of 1 controls have no HTML label
  • buttons: passed0 of 1 buttons have no HTML name
  • links-named: failed1 of 14 links have no HTML name
  • link-text: passed0 of 14 links use generic text
  • viewport: passedwidth=device-width, initial-scale=1.0
  • https: passedhttps://levels.io/2017/march
  • mixed: passed0 HTTP embedded resource URL(s)
  • og-title: passedMarch 2017 — @levelsio (Pieter Levels)
  • og-description: passed1 posts from March 2017 by @levelsio
  • og-type: passedwebsite
  • og-url: passedhttps://levels.io/2017/march
  • og-image: passedhttps://levels.io/og.jpg?v=1789196712
  • og-alt: failedNo sharing image description
  • twitter-card: passedsummary_large_image
  • readable: passed255 characters of crawler-visible content (minimum 100)
  • jsonld: failed0 of 0 blocks have valid JSON-LD structure
  • html-size: passed40,188 bytes of HTML; budget 500,000
2176
https://levels.io/2017/may200May 2017 — @levelsio (Pieter Levels)
Page checklist evidence
  • title: passedMay 2017 — @levelsio (Pieter Levels)
  • description: passed3 posts from May 2017 by @levelsio
  • canonical: passedhttps://levels.io/2017/may
  • h1: passed2 H1 element(s)
  • headings: passed0 skipped heading level(s)
  • main: failed0 main landmarks
  • lang: passeden
  • alt: passed0 of 3 images lack an alt attribute
  • img-dimensions: failed3 of 3 images lack width/height attributes or an aspect-ratio style
  • labels: failed1 of 1 controls have no HTML label
  • buttons: passed0 of 1 buttons have no HTML name
  • links-named: failed3 of 18 links have no HTML name
  • link-text: passed0 of 18 links use generic text
  • viewport: passedwidth=device-width, initial-scale=1.0
  • https: passedhttps://levels.io/2017/may
  • mixed: passed0 HTTP embedded resource URL(s)
  • og-title: passedMay 2017 — @levelsio (Pieter Levels)
  • og-description: passed3 posts from May 2017 by @levelsio
  • og-type: passedwebsite
  • og-url: passedhttps://levels.io/2017/may
  • og-image: passedhttps://levels.io/og.jpg?v=1789196712
  • og-alt: failedNo sharing image description
  • twitter-card: passedsummary_large_image
  • readable: passed361 characters of crawler-visible content (minimum 100)
  • jsonld: failed0 of 0 blocks have valid JSON-LD structure
  • html-size: passed40,760 bytes of HTML; budget 500,000
2180
https://levels.io/2017/november200November 2017 — @levelsio (Pieter Levels)
Page checklist evidence
  • title: passedNovember 2017 — @levelsio (Pieter Levels)
  • description: passed2 posts from November 2017 by @levelsio
  • canonical: passedhttps://levels.io/2017/november
  • h1: passed2 H1 element(s)
  • headings: passed0 skipped heading level(s)
  • main: failed0 main landmarks
  • lang: passeden
  • alt: passed0 of 2 images lack an alt attribute
  • img-dimensions: failed2 of 2 images lack width/height attributes or an aspect-ratio style
  • labels: failed1 of 1 controls have no HTML label
  • buttons: passed0 of 1 buttons have no HTML name
  • links-named: failed2 of 16 links have no HTML name
  • link-text: passed0 of 16 links use generic text
  • viewport: passedwidth=device-width, initial-scale=1.0
  • https: passedhttps://levels.io/2017/november
  • mixed: passed0 HTTP embedded resource URL(s)
  • og-title: passedNovember 2017 — @levelsio (Pieter Levels)
  • og-description: passed2 posts from November 2017 by @levelsio
  • og-type: passedwebsite
  • og-url: passedhttps://levels.io/2017/november
  • og-image: passedhttps://levels.io/og.jpg?v=1789196712
  • og-alt: failedNo sharing image description
  • twitter-card: passedsummary_large_image
  • readable: passed366 characters of crawler-visible content (minimum 100)
  • jsonld: failed0 of 0 blocks have valid JSON-LD structure
  • html-size: passed40,770 bytes of HTML; budget 500,000
2233
https://levels.io/2017/october200October 2017 — @levelsio (Pieter Levels)
Page checklist evidence
  • title: passedOctober 2017 — @levelsio (Pieter Levels)
  • description: passed4 posts from October 2017 by @levelsio
  • canonical: passedhttps://levels.io/2017/october
  • h1: passed2 H1 element(s)
  • headings: passed0 skipped heading level(s)
  • main: failed0 main landmarks
  • lang: passeden
  • alt: passed0 of 4 images lack an alt attribute
  • img-dimensions: failed4 of 4 images lack width/height attributes or an aspect-ratio style
  • labels: failed1 of 1 controls have no HTML label
  • buttons: passed0 of 1 buttons have no HTML name
  • links-named: failed4 of 20 links have no HTML name
  • link-text: passed0 of 20 links use generic text
  • viewport: passedwidth=device-width, initial-scale=1.0
  • https: passedhttps://levels.io/2017/october
  • mixed: passed0 HTTP embedded resource URL(s)
  • og-title: passedOctober 2017 — @levelsio (Pieter Levels)
  • og-description: passed4 posts from October 2017 by @levelsio
  • og-type: passedwebsite
  • og-url: passedhttps://levels.io/2017/october
  • og-image: passedhttps://levels.io/og.jpg?v=1789196712
  • og-alt: failedNo sharing image description
  • twitter-card: passedsummary_large_image
  • readable: passed419 characters of crawler-visible content (minimum 100)
  • jsonld: failed0 of 0 blocks have valid JSON-LD structure
  • html-size: passed41,387 bytes of HTML; budget 500,000
2164
Optional AI signals

Informational signals; these do not certify search visibility or unlock S-Tier.

  • llms.txtGuide for AI agents
  • Structured dataJSON-LD on the homepage
  • Semantic HTMLMain and navigation landmarks
Browser measurements · supplementary

Mobile page report

levels.io

https://levels.io/

Measured · 9/13/2026, 7:30:38 PM UTC

Speed
98
Accessibility
83
SEO basics
100
Main content (LCP)
2.0 s
Layout shifts (CLS)
0
Blocking time (TBT)
0 ms

Your next improvements

Measured findings to investigate, ordered by audit score.

1. Lists do not contain only `<li>` elements and script supporting elements (`<script>` and `<template>`).

Screen readers have a specific way of announcing lists. Ensuring proper list structure aids screen reader output. [Learn more about proper list structure](https://dequeuniversity.com/rules/axe/4.12/list).

body > div.wrap > ul.posts · <ul class="posts covers">
2. Links rely on color to be distinguishable.

Low-contrast text is difficult or impossible for many users to read. Link text that is discernible improves the experience for users with low vision. [Learn how to make links distinguishable](https://dequeuniversity.com/rules/axe/4.12/link-in-text-block).

ul.posts > footer.site > div.site-credit > a · <a href="https://x.ai">
3. Background and foreground colors do not have a sufficient contrast ratio.

Low-contrast text is difficult or impossible for many users to read. [Learn how to provide sufficient color contrast](https://dequeuniversity.com/rules/axe/4.12/color-contrast).

body > a.subscribe-top · <a class="subscribe-top" href="/#subscribe" onclick="if (!window.__cfRLUnblockHandlers) return false; var f=document.querySelec…">
body > div.wrap > nav.topnav · <nav class="topnav">
body > div.wrap > nav.topnav > a · <a href="/">
4. Network dependency tree

[Avoid chaining critical requests](https://developer.chrome.com/docs/performance/insights/network-dependency-tree) by reducing the length of chains, reducing the download size of resources, or deferring the download of unnecessary resources to improve page load.

5. Links do not have a discernible name

Link text (and alternate text for images, when used as links) that is discernible, unique, and focusable improves the navigation experience for screen reader users. [Learn how to make links accessible](https://dequeuniversity.com/rules/axe/4.12/link-name).

div.wrap > ul.posts > li > a.cover-link · <a class="cover-link" href="/ama">
div.wrap > ul.posts > li > a.cover-link · <a class="cover-link" href="/projects">
div.wrap > ul.posts > li > a.cover-link · <a class="cover-link" href="/the-everything-chart">
6. Forced reflow

A forced reflow occurs when JavaScript queries geometric properties (such as `offsetWidth`) after styles have been invalidated by a change to the DOM state. This can result in poor performance. Learn more about [forced reflows](https://developer.chrome.com/docs/performance/insights/forced-reflow) and possible mitigations.

7. First Contentful Paint

First Contentful Paint marks the time at which the first text or image is painted. [Learn more about the First Contentful Paint metric](https://developer.chrome.com/docs/lighthouse/performance/first-contentful-paint/).

8. Largest Contentful Paint

Largest Contentful Paint marks the time at which the largest text or image is painted. [Learn more about the Largest Contentful Paint metric](https://developer.chrome.com/docs/lighthouse/performance/lighthouse-largest-contentful-paint/)

Fix with your coding assistant

Copy a ready-to-use prompt with the issues and affected URLs.

Battle scoring rules

The arena winner follows the verified ranking: internal link health first, then the published two-decimal quality score. Both sites need two agreeing standard observations. Browser performance, accessibility and SEO are complementary diagnostics and do not move the ranking or decide its winner. Page-only battles compare compatible rounds; performance differences up to five points draw, and equal round wins remain a tie. Missing measurements never count as zero. Browser audits do not certify accessibility. Saved results keep their measured evidence; start a rematch for a newer comparison.