{
    "id": "aud_Iei5LKMGsdbctGO4azWV",
    "object": "audit",
    "result_url": "https://lightscore.dev/api/v1/audits/aud_Iei5LKMGsdbctGO4azWV",
    "status": "completed",
    "url": "https://blog.nickesselman.nl/",
    "device": "mobile",
    "categories": [
        "performance",
        "accessibility",
        "seo",
        "best_practices"
    ],
    "runs": 1,
    "regions": [
        "fra",
        "iad"
    ],
    "lighthouse_version": "12.8.2",
    "credits_cost": 0,
    "results": [
        {
            "region": "fra",
            "status": "completed",
            "scores": {
                "performance": 69,
                "accessibility": 100,
                "seo": 92,
                "best_practices": 100
            },
            "metrics": {
                "lcp_ms": 1885,
                "cls": 0,
                "tbt_ms": 9826,
                "fcp_ms": 1227,
                "speed_index_ms": 1227,
                "tti_ms": 11208
            },
            "report": {
                "json_url": "https://lightscore-reports.b-cdn.net/aud_Iei5LKMGsdbctGO4azWV/fra.json?token=HS256-rHvnkPYzLj4RiKOMqUbsgCQvpdgHCJymt_0La-GjTzM&expires=1785330579",
                "html_url": "https://lightscore-reports.b-cdn.net/aud_Iei5LKMGsdbctGO4azWV/fra.html?token=HS256-MR1TNtGmjUrWJP10_W428W2hbYTRr1y41rHXyZj7pE4&expires=1785330579"
            },
            "checks": {
                "reachability": {
                    "status": "ok",
                    "duration_ms": 157,
                    "http_status": 200,
                    "final_url": "https://blog.nickesselman.nl/",
                    "redirects": 0,
                    "ip": "172.67.141.120",
                    "http_version": "1.1",
                    "tls": {
                        "protocol": "TLSv1.3",
                        "cipher": "TLS_AES_256_GCM_SHA384",
                        "issuer": "Google Trust Services",
                        "valid_to": "Oct 25 06:12:58 2026 GMT",
                        "days_to_expiry": 88
                    },
                    "ttfb_ms": 68,
                    "total_ms": 153,
                    "phases": {
                        "dns_ms": 77,
                        "tcp_ms": 0,
                        "tls_ms": 8,
                        "ttfb_ms": 68,
                        "download_ms": 0
                    }
                },
                "headers": {
                    "status": "ok",
                    "duration_ms": 0,
                    "server": "cloudflare",
                    "content_type": "text/html",
                    "cdn": "cloudflare",
                    "cookies": null,
                    "security": {
                        "hsts": true,
                        "csp": false,
                        "x_frame_options": "DENY",
                        "x_content_type_options": "nosniff",
                        "referrer_policy": "strict-origin-when-cross-origin",
                        "permissions_policy": "camera=(), microphone=(), geolocation=()",
                        "coop": null,
                        "coep": false,
                        "corp": null
                    },
                    "security_grade": {
                        "score": 70,
                        "grade": "C"
                    }
                },
                "caching": {
                    "status": "ok",
                    "duration_ms": 0,
                    "cache_control": null,
                    "etag": false,
                    "last_modified": false,
                    "expires": null,
                    "age_s": null,
                    "max_age_s": null,
                    "cacheable": null
                },
                "seo": {
                    "status": "ok",
                    "duration_ms": 28,
                    "title": "Travel Journals &amp; Build Notes | Nick Esselman’s Blog",
                    "title_length": 56,
                    "meta_description": "Read Nick Esselman’s firsthand travel journals and build notes from Hack Club events, creative projects, and adventures around the world.",
                    "meta_description_length": 137,
                    "canonical": "https://blog.nickesselman.nl/",
                    "meta_robots": "index,follow,max-snippet:-1,max-image-preview:large,max-video-preview:-1",
                    "viewport": true,
                    "lang": "en",
                    "h1_count": 1,
                    "favicon": true,
                    "open_graph": {
                        "title": "Travel Journals &amp; Build Notes | Nick Esselman’s Blog",
                        "description": "Read Nick Esselman’s firsthand travel journals and build notes from Hack Club events, creative projects, and adventures around the world.",
                        "image": "https://cdn.nickesselman.nl/blogimages/moonshot/cover.png",
                        "type": "website",
                        "url": "https://blog.nickesselman.nl/"
                    },
                    "twitter_card": {
                        "card": "summary_large_image",
                        "title": "Travel Journals &amp; Build Notes | Nick Esselman’s Blog",
                        "description": "Read Nick Esselman’s firsthand travel journals and build notes from Hack Club events, creative projects, and adventures around the world.",
                        "image": "https://cdn.nickesselman.nl/blogimages/moonshot/cover.png"
                    },
                    "json_ld": {
                        "present": true,
                        "count": 3,
                        "types": [
                            "WebSite",
                            "CollectionPage",
                            "ItemList"
                        ]
                    },
                    "hreflang": [
                        "en",
                        "nl",
                        "x-default"
                    ]
                },
                "archive": {
                    "status": "ok",
                    "duration_ms": 451,
                    "archived": true,
                    "bytes": 22888
                },
                "lighthouse": {
                    "status": "ok",
                    "duration_ms": 34105,
                    "scores": {
                        "performance": 69,
                        "accessibility": 100,
                        "seo": 92,
                        "best_practices": 100
                    },
                    "metrics": {
                        "lcp_ms": 1885,
                        "cls": 0,
                        "tbt_ms": 9826,
                        "fcp_ms": 1227,
                        "speed_index_ms": 1227,
                        "tti_ms": 11208
                    },
                    "network": {
                        "total": 25,
                        "kept": 25,
                        "requests": [
                            {
                                "url": "https://blog.nickesselman.nl/",
                                "type": "Document",
                                "status": 200,
                                "mime": "text/html",
                                "start_ms": 0,
                                "duration_ms": 110,
                                "transfer_size": 7082
                            },
                            {
                                "url": "https://blog.nickesselman.nl/_app/immutable/assets/0.DwP-Uoey.css",
                                "type": "Stylesheet",
                                "status": 200,
                                "mime": "text/css",
                                "start_ms": 126,
                                "duration_ms": 68,
                                "transfer_size": 4852
                            },
                            {
                                "url": "https://blog.nickesselman.nl/_app/immutable/entry/start.IGGym10A.js",
                                "type": "Script",
                                "status": 200,
                                "mime": "text/javascript",
                                "start_ms": 133,
                                "duration_ms": 61,
                                "transfer_size": 413
                            },
                            {
                                "url": "https://blog.nickesselman.nl/_app/immutable/chunks/hCD5FAOW.js",
                                "type": "Script",
                                "status": 200,
                                "mime": "text/javascript",
                                "start_ms": 133,
                                "duration_ms": 33,
                                "transfer_size": 12401
                            },
                            {
                                "url": "https://blog.nickesselman.nl/_app/immutable/chunks/D3IvBkcx.js",
                                "type": "Script",
                                "status": 200,
                                "mime": "text/javascript",
                                "start_ms": 138,
                                "duration_ms": 124,
                                "transfer_size": 4282
                            },
                            {
                                "url": "https://blog.nickesselman.nl/_app/immutable/entry/app.BuzL-Y1R.js",
                                "type": "Script",
                                "status": 200,
                                "mime": "text/javascript",
                                "start_ms": 139,
                                "duration_ms": 123,
                                "transfer_size": 3202
                            },
                            {
                                "url": "https://blog.nickesselman.nl/_app/immutable/chunks/IHki7fMi.js",
                                "type": "Script",
                                "status": 200,
                                "mime": "text/javascript",
                                "start_ms": 140,
                                "duration_ms": 122,
                                "transfer_size": 605
                            },
                            {
                                "url": "https://blog.nickesselman.nl/_app/immutable/nodes/0.CvQFtcYp.js",
                                "type": "Script",
                                "status": 200,
                                "mime": "text/javascript",
                                "start_ms": 140,
                                "duration_ms": 149,
                                "transfer_size": 7023
                            },
                            {
                                "url": "https://blog.nickesselman.nl/_app/immutable/chunks/C9SYxZpl.js",
                                "type": "Script",
                                "status": 200,
                                "mime": "text/javascript",
                                "start_ms": 141,
                                "duration_ms": 29,
                                "transfer_size": 795
                            },
                            {
                                "url": "https://blog.nickesselman.nl/_app/immutable/chunks/DwcjVfHG.js",
                                "type": "Script",
                                "status": 200,
                                "mime": "text/javascript",
                                "start_ms": 141,
                                "duration_ms": 29,
                                "transfer_size": 1018
                            },
                            {
                                "url": "https://blog.nickesselman.nl/_app/immutable/chunks/Bkqkpa1_.js",
                                "type": "Script",
                                "status": 200,
                                "mime": "text/javascript",
                                "start_ms": 142,
                                "duration_ms": 80,
                                "transfer_size": 677
                            },
                            {
                                "url": "https://blog.nickesselman.nl/_app/immutable/chunks/ChWq6yJE.js",
                                "type": "Script",
                                "status": 200,
                                "mime": "text/javascript",
                                "start_ms": 142,
                                "duration_ms": 120,
                                "transfer_size": 2468
                            },
                            {
                                "url": "https://blog.nickesselman.nl/_app/immutable/nodes/2.CK1dfQ4z.js",
                                "type": "Script",
                                "status": 200,
                                "mime": "text/javascript",
                                "start_ms": 143,
                                "duration_ms": 151,
                                "transfer_size": 4230
                            },
                            {
                                "url": "https://blog.nickesselman.nl/_app/immutable/chunks/mvvQfFEW.js",
                                "type": "Script",
                                "status": 200,
                                "mime": "text/javascript",
                                "start_ms": 144,
                                "duration_ms": 82,
                                "transfer_size": 2209
                            },
                            {
                                "url": "https://blog.nickesselman.nl/_app/immutable/chunks/C-4-9hcP.js",
                                "type": "Script",
                                "status": 200,
                                "mime": "text/javascript",
                                "start_ms": 147,
                                "duration_ms": 79,
                                "transfer_size": 861
                            },
                            {
                                "url": "https://blog.nickesselman.nl/fonts/space-grotesk-latin.woff2",
                                "type": "Font",
                                "status": 200,
                                "mime": "font/woff2",
                                "start_ms": 148,
                                "duration_ms": 112,
                                "transfer_size": 22806
                            },
                            {
                                "url": "https://cdn.nickesselman.nl/blogimages/moonshot/cover-w480.webp",
                                "type": "Image",
                                "status": 200,
                                "mime": "image/webp",
                                "start_ms": 149,
                                "duration_ms": 109,
                                "transfer_size": 24621
                            },
                            {
                                "url": "https://blog.nickesselman.nl/cdn-cgi/scripts/5c5dd728/cloudflare-static/email-decode.min.js",
                                "type": "Script",
                                "status": 200,
                                "mime": "application/javascript",
                                "start_ms": 150,
                                "duration_ms": 10,
                                "transfer_size": 1091
                            },
                            {
                                "url": "https://cdn.nickesselman.nl/blogimages/shipwrecked/campfiremain-w960.webp",
                                "type": "Image",
                                "status": 200,
                                "mime": "image/webp",
                                "start_ms": 278,
                                "duration_ms": 60,
                                "transfer_size": 17063
                            },
                            {
                                "url": "https://cdn.nickesselman.nl/blogimages/neighborhood/populated-w960.webp",
                                "type": "Image",
                                "status": 200,
                                "mime": "image/webp",
                                "start_ms": 286,
                                "duration_ms": 356,
                                "transfer_size": 80811
                            },
                            {
                                "url": "https://cdn.nickesselman.nl/blogimages/undercity/group-w960.webp",
                                "type": "Image",
                                "status": 200,
                                "mime": "image/webp",
                                "start_ms": 286,
                                "duration_ms": 256,
                                "transfer_size": 75041
                            },
                            {
                                "url": "https://cdn.nickesselman.nl/blogimages/juice/main-w960.webp",
                                "type": "Image",
                                "status": 200,
                                "mime": "image/webp",
                                "start_ms": 298,
                                "duration_ms": 432,
                                "transfer_size": 54348
                            },
                            {
                                "url": "https://blog.nickesselman.nl/_app/immutable/nodes/1.DCLZoQUl.js",
                                "type": "Script",
                                "status": 200,
                                "mime": "text/javascript",
                                "start_ms": 314,
                                "duration_ms": 356,
                                "transfer_size": 1378
                            },
                            {
                                "url": "https://blog.nickesselman.nl/favicon.ico",
                                "type": "Other",
                                "status": 200,
                                "mime": "image/x-icon",
                                "start_ms": 322,
                                "duration_ms": 348,
                                "transfer_size": 2976
                            },
                            {
                                "url": "https://blog.nickesselman.nl/api/readers",
                                "type": "Fetch",
                                "status": 200,
                                "mime": "application/json",
                                "start_ms": 393,
                                "duration_ms": 277,
                                "transfer_size": 896
                            }
                        ]
                    },
                    "opportunities": [
                        {
                            "id": "uses-responsive-images",
                            "title": "Properly size images",
                            "savings_ms": 0,
                            "savings_bytes": 57958
                        }
                    ],
                    "diagnostics": {
                        "dom_nodes": 81,
                        "main_thread_ms": 36961,
                        "bootup_ms": 311,
                        "total_bytes": 333149,
                        "server_latency_ms": 90
                    },
                    "resource_summary": [
                        {
                            "type": "total",
                            "count": 24,
                            "transfer_bytes": 330173
                        },
                        {
                            "type": "image",
                            "count": 5,
                            "transfer_bytes": 251884
                        },
                        {
                            "type": "script",
                            "count": 15,
                            "transfer_bytes": 42653
                        },
                        {
                            "type": "font",
                            "count": 1,
                            "transfer_bytes": 22806
                        },
                        {
                            "type": "document",
                            "count": 1,
                            "transfer_bytes": 7082
                        },
                        {
                            "type": "stylesheet",
                            "count": 1,
                            "transfer_bytes": 4852
                        },
                        {
                            "type": "other",
                            "count": 1,
                            "transfer_bytes": 896
                        },
                        {
                            "type": "media",
                            "count": 0,
                            "transfer_bytes": 0
                        },
                        {
                            "type": "third-party",
                            "count": 0,
                            "transfer_bytes": 0
                        }
                    ],
                    "audit_details": {
                        "seo": [
                            {
                                "id": "robots-txt",
                                "title": "robots.txt is not valid",
                                "score": 0
                            }
                        ]
                    },
                    "lh_version": "12.8.2",
                    "machine_class": "fly-performance-2x",
                    "per_run": [
                        {
                            "scores": {
                                "performance": 69,
                                "accessibility": 100,
                                "seo": 92,
                                "best_practices": 100
                            },
                            "benchmark_index": 1532
                        }
                    ]
                },
                "crawlability": {
                    "status": "ok",
                    "duration_ms": 135,
                    "robots_txt": {
                        "present": true,
                        "blocks_all": false,
                        "sitemap_declared": true
                    },
                    "sitemap": {
                        "present": true,
                        "url_count": 14
                    }
                }
            },
            "credits_cost": 1,
            "error": null,
            "completed_at": "2026-07-28T08:57:25Z"
        },
        {
            "region": "iad",
            "status": "completed",
            "scores": {
                "performance": 99,
                "accessibility": 100,
                "seo": 92,
                "best_practices": 96
            },
            "metrics": {
                "lcp_ms": 1884,
                "cls": 0.0003431525661325876,
                "tbt_ms": 12,
                "fcp_ms": 1725,
                "speed_index_ms": 1725,
                "tti_ms": 1884
            },
            "report": {
                "json_url": "https://lightscore-reports.b-cdn.net/aud_Iei5LKMGsdbctGO4azWV/iad.json?token=HS256-BBCyvuCjJbxcvkGLuE5hDsnbfTA1cocFMvA4WhPL9GE&expires=1785330579",
                "html_url": "https://lightscore-reports.b-cdn.net/aud_Iei5LKMGsdbctGO4azWV/iad.html?token=HS256-9iTClYHNOeZUdRd0MmFuHL4kTTlnVE2P5hIJq-ESD4E&expires=1785330579"
            },
            "checks": {
                "reachability": {
                    "status": "ok",
                    "duration_ms": 448,
                    "http_status": 200,
                    "final_url": "https://blog.nickesselman.nl/",
                    "redirects": 0,
                    "ip": "172.67.141.120",
                    "http_version": "1.1",
                    "tls": {
                        "protocol": "TLSv1.3",
                        "cipher": "TLS_AES_256_GCM_SHA384",
                        "issuer": "Google Trust Services",
                        "valid_to": "Oct 25 06:12:58 2026 GMT",
                        "days_to_expiry": 88
                    },
                    "ttfb_ms": 368,
                    "total_ms": 443,
                    "phases": {
                        "dns_ms": 61,
                        "tcp_ms": 2,
                        "tls_ms": 9,
                        "ttfb_ms": 368,
                        "download_ms": 3
                    }
                },
                "headers": {
                    "status": "ok",
                    "duration_ms": 0,
                    "server": "cloudflare",
                    "content_type": "text/html",
                    "cdn": "cloudflare",
                    "cookies": null,
                    "security": {
                        "hsts": true,
                        "csp": false,
                        "x_frame_options": "DENY",
                        "x_content_type_options": "nosniff",
                        "referrer_policy": "strict-origin-when-cross-origin",
                        "permissions_policy": "camera=(), microphone=(), geolocation=()",
                        "coop": null,
                        "coep": false,
                        "corp": null
                    },
                    "security_grade": {
                        "score": 70,
                        "grade": "C"
                    }
                },
                "caching": {
                    "status": "ok",
                    "duration_ms": 0,
                    "cache_control": null,
                    "etag": false,
                    "last_modified": false,
                    "expires": null,
                    "age_s": null,
                    "max_age_s": null,
                    "cacheable": null
                },
                "seo": {
                    "status": "ok",
                    "duration_ms": 2,
                    "title": "Travel Journals &amp; Build Notes | Nick Esselman’s Blog",
                    "title_length": 56,
                    "meta_description": "Read Nick Esselman’s firsthand travel journals and build notes from Hack Club events, creative projects, and adventures around the world.",
                    "meta_description_length": 137,
                    "canonical": "https://blog.nickesselman.nl/",
                    "meta_robots": "index,follow,max-snippet:-1,max-image-preview:large,max-video-preview:-1",
                    "viewport": true,
                    "lang": "en",
                    "h1_count": 1,
                    "favicon": true,
                    "open_graph": {
                        "title": "Travel Journals &amp; Build Notes | Nick Esselman’s Blog",
                        "description": "Read Nick Esselman’s firsthand travel journals and build notes from Hack Club events, creative projects, and adventures around the world.",
                        "image": "https://cdn.nickesselman.nl/blogimages/moonshot/cover.png",
                        "type": "website",
                        "url": "https://blog.nickesselman.nl/"
                    },
                    "twitter_card": {
                        "card": "summary_large_image",
                        "title": "Travel Journals &amp; Build Notes | Nick Esselman’s Blog",
                        "description": "Read Nick Esselman’s firsthand travel journals and build notes from Hack Club events, creative projects, and adventures around the world.",
                        "image": "https://cdn.nickesselman.nl/blogimages/moonshot/cover.png"
                    },
                    "json_ld": {
                        "present": true,
                        "count": 3,
                        "types": [
                            "WebSite",
                            "CollectionPage",
                            "ItemList"
                        ]
                    },
                    "hreflang": [
                        "en",
                        "nl",
                        "x-default"
                    ]
                },
                "archive": {
                    "status": "ok",
                    "duration_ms": 158,
                    "archived": true,
                    "bytes": 23247
                },
                "lighthouse": {
                    "status": "ok",
                    "duration_ms": 10274,
                    "scores": {
                        "performance": 99,
                        "accessibility": 100,
                        "seo": 92,
                        "best_practices": 96
                    },
                    "metrics": {
                        "lcp_ms": 1884,
                        "cls": 0.0003431525661325876,
                        "tbt_ms": 12,
                        "fcp_ms": 1725,
                        "speed_index_ms": 1725,
                        "tti_ms": 1884
                    },
                    "network": {
                        "total": 27,
                        "kept": 27,
                        "requests": [
                            {
                                "url": "https://blog.nickesselman.nl/",
                                "type": "Document",
                                "status": 200,
                                "mime": "text/html",
                                "start_ms": 0,
                                "duration_ms": 373,
                                "transfer_size": 7401
                            },
                            {
                                "url": "https://blog.nickesselman.nl/_app/immutable/assets/0.DwP-Uoey.css",
                                "type": "Stylesheet",
                                "status": 200,
                                "mime": "text/css",
                                "start_ms": 398,
                                "duration_ms": 28,
                                "transfer_size": 4918
                            },
                            {
                                "url": "https://blog.nickesselman.nl/_app/immutable/entry/start.IGGym10A.js",
                                "type": "Script",
                                "status": 200,
                                "mime": "text/javascript",
                                "start_ms": 405,
                                "duration_ms": 42,
                                "transfer_size": 404
                            },
                            {
                                "url": "https://blog.nickesselman.nl/_app/immutable/chunks/hCD5FAOW.js",
                                "type": "Script",
                                "status": 200,
                                "mime": "text/javascript",
                                "start_ms": 406,
                                "duration_ms": 59,
                                "transfer_size": 12552
                            },
                            {
                                "url": "https://blog.nickesselman.nl/_app/immutable/chunks/D3IvBkcx.js",
                                "type": "Script",
                                "status": 200,
                                "mime": "text/javascript",
                                "start_ms": 406,
                                "duration_ms": 394,
                                "transfer_size": 4280
                            },
                            {
                                "url": "https://blog.nickesselman.nl/_app/immutable/entry/app.BuzL-Y1R.js",
                                "type": "Script",
                                "status": 200,
                                "mime": "text/javascript",
                                "start_ms": 407,
                                "duration_ms": 362,
                                "transfer_size": 3207
                            },
                            {
                                "url": "https://blog.nickesselman.nl/_app/immutable/chunks/IHki7fMi.js",
                                "type": "Script",
                                "status": 200,
                                "mime": "text/javascript",
                                "start_ms": 407,
                                "duration_ms": 58,
                                "transfer_size": 618
                            },
                            {
                                "url": "https://blog.nickesselman.nl/_app/immutable/nodes/0.CvQFtcYp.js",
                                "type": "Script",
                                "status": 200,
                                "mime": "text/javascript",
                                "start_ms": 414,
                                "duration_ms": 51,
                                "transfer_size": 7032
                            },
                            {
                                "url": "https://blog.nickesselman.nl/_app/immutable/chunks/C9SYxZpl.js",
                                "type": "Script",
                                "status": 200,
                                "mime": "text/javascript",
                                "start_ms": 415,
                                "duration_ms": 49,
                                "transfer_size": 793
                            },
                            {
                                "url": "https://blog.nickesselman.nl/_app/immutable/chunks/DwcjVfHG.js",
                                "type": "Script",
                                "status": 200,
                                "mime": "text/javascript",
                                "start_ms": 416,
                                "duration_ms": 50,
                                "transfer_size": 1017
                            },
                            {
                                "url": "https://blog.nickesselman.nl/_app/immutable/chunks/Bkqkpa1_.js",
                                "type": "Script",
                                "status": 200,
                                "mime": "text/javascript",
                                "start_ms": 417,
                                "duration_ms": 381,
                                "transfer_size": 684
                            },
                            {
                                "url": "https://blog.nickesselman.nl/_app/immutable/chunks/ChWq6yJE.js",
                                "type": "Script",
                                "status": 200,
                                "mime": "text/javascript",
                                "start_ms": 419,
                                "duration_ms": 47,
                                "transfer_size": 2478
                            },
                            {
                                "url": "https://blog.nickesselman.nl/_app/immutable/nodes/2.CK1dfQ4z.js",
                                "type": "Script",
                                "status": 200,
                                "mime": "text/javascript",
                                "start_ms": 420,
                                "duration_ms": 45,
                                "transfer_size": 4243
                            },
                            {
                                "url": "https://blog.nickesselman.nl/_app/immutable/chunks/mvvQfFEW.js",
                                "type": "Script",
                                "status": 200,
                                "mime": "text/javascript",
                                "start_ms": 420,
                                "duration_ms": 39,
                                "transfer_size": 2220
                            },
                            {
                                "url": "https://blog.nickesselman.nl/_app/immutable/chunks/C-4-9hcP.js",
                                "type": "Script",
                                "status": 200,
                                "mime": "text/javascript",
                                "start_ms": 426,
                                "duration_ms": 40,
                                "transfer_size": 872
                            },
                            {
                                "url": "https://blog.nickesselman.nl/fonts/space-grotesk-latin.woff2",
                                "type": "Font",
                                "status": 200,
                                "mime": "font/woff2",
                                "start_ms": 427,
                                "duration_ms": 342,
                                "transfer_size": 22807
                            },
                            {
                                "url": "https://cdn.nickesselman.nl/blogimages/moonshot/cover-w480.webp",
                                "type": "Image",
                                "status": 200,
                                "mime": "image/webp",
                                "start_ms": 427,
                                "duration_ms": 432,
                                "transfer_size": 24563
                            },
                            {
                                "url": "https://blog.nickesselman.nl/cdn-cgi/scripts/5c5dd728/cloudflare-static/email-decode.min.js",
                                "type": "Script",
                                "status": 200,
                                "mime": "application/javascript",
                                "start_ms": 428,
                                "duration_ms": 12,
                                "transfer_size": 1089
                            },
                            {
                                "url": "https://static.cloudflareinsights.com/beacon.min.js/v4513226cdae34746b4dedf0b4dfa099e1781791509496",
                                "type": "Script",
                                "status": 200,
                                "mime": "text/javascript",
                                "start_ms": 428,
                                "duration_ms": 63,
                                "transfer_size": 11576
                            },
                            {
                                "url": "https://cdn.nickesselman.nl/blogimages/shipwrecked/campfiremain-w960.webp",
                                "type": "Image",
                                "status": 200,
                                "mime": "image/webp",
                                "start_ms": 557,
                                "duration_ms": 331,
                                "transfer_size": 16994
                            },
                            {
                                "url": "https://cdn.nickesselman.nl/blogimages/neighborhood/populated-w960.webp",
                                "type": "Image",
                                "status": 200,
                                "mime": "image/webp",
                                "start_ms": 558,
                                "duration_ms": 24,
                                "transfer_size": 80751
                            },
                            {
                                "url": "https://cdn.nickesselman.nl/blogimages/undercity/group-w960.webp",
                                "type": "Image",
                                "status": 200,
                                "mime": "image/webp",
                                "start_ms": 558,
                                "duration_ms": 30,
                                "transfer_size": 74935
                            },
                            {
                                "url": "https://cdn.nickesselman.nl/blogimages/juice/main-w960.webp",
                                "type": "Image",
                                "status": 200,
                                "mime": "image/webp",
                                "start_ms": 559,
                                "duration_ms": 34,
                                "transfer_size": 54229
                            },
                            {
                                "url": "https://blog.nickesselman.nl/_app/immutable/nodes/1.DCLZoQUl.js",
                                "type": "Script",
                                "status": 200,
                                "mime": "text/javascript",
                                "start_ms": 811,
                                "duration_ms": 337,
                                "transfer_size": 1382
                            },
                            {
                                "url": "https://blog.nickesselman.nl/api/readers",
                                "type": "Fetch",
                                "status": 200,
                                "mime": "application/json",
                                "start_ms": 851,
                                "duration_ms": 339,
                                "transfer_size": 898
                            },
                            {
                                "url": "https://blog.nickesselman.nl/cdn-cgi/rum",
                                "type": "XHR",
                                "status": 204,
                                "mime": "text/plain",
                                "start_ms": 867,
                                "duration_ms": 79,
                                "transfer_size": 463
                            },
                            {
                                "url": "https://blog.nickesselman.nl/favicon.ico",
                                "type": "Other",
                                "status": 200,
                                "mime": "image/x-icon",
                                "start_ms": 870,
                                "duration_ms": 326,
                                "transfer_size": 2989
                            }
                        ]
                    },
                    "opportunities": [
                        {
                            "id": "uses-responsive-images",
                            "title": "Properly size images",
                            "savings_ms": 0,
                            "savings_bytes": 57958
                        }
                    ],
                    "diagnostics": {
                        "dom_nodes": 82,
                        "main_thread_ms": 868,
                        "bootup_ms": 177,
                        "total_bytes": 345395,
                        "server_latency_ms": 346
                    },
                    "resource_summary": [
                        {
                            "type": "total",
                            "count": 26,
                            "transfer_bytes": 342406
                        },
                        {
                            "type": "image",
                            "count": 5,
                            "transfer_bytes": 251472
                        },
                        {
                            "type": "script",
                            "count": 16,
                            "transfer_bytes": 54447
                        },
                        {
                            "type": "font",
                            "count": 1,
                            "transfer_bytes": 22807
                        },
                        {
                            "type": "document",
                            "count": 1,
                            "transfer_bytes": 7401
                        },
                        {
                            "type": "stylesheet",
                            "count": 1,
                            "transfer_bytes": 4918
                        },
                        {
                            "type": "other",
                            "count": 2,
                            "transfer_bytes": 1361
                        },
                        {
                            "type": "media",
                            "count": 0,
                            "transfer_bytes": 0
                        },
                        {
                            "type": "third-party",
                            "count": 1,
                            "transfer_bytes": 11576
                        }
                    ],
                    "third_parties": [
                        {
                            "entity": "Cloudflare",
                            "blocking_ms": 0,
                            "transfer_bytes": 11576
                        }
                    ],
                    "audit_details": {
                        "seo": [
                            {
                                "id": "robots-txt",
                                "title": "robots.txt is not valid",
                                "score": 0
                            }
                        ],
                        "best_practices": [
                            {
                                "id": "inspector-issues",
                                "title": "Issues were logged in the `Issues` panel in Chrome Devtools",
                                "score": 0
                            }
                        ]
                    },
                    "lh_version": "12.8.2",
                    "machine_class": "fly-performance-2x",
                    "per_run": [
                        {
                            "scores": {
                                "performance": 99,
                                "accessibility": 100,
                                "seo": 92,
                                "best_practices": 96
                            },
                            "benchmark_index": 2090
                        }
                    ]
                },
                "crawlability": {
                    "status": "ok",
                    "duration_ms": 367,
                    "robots_txt": {
                        "present": true,
                        "blocks_all": false,
                        "sitemap_declared": true
                    },
                    "sitemap": {
                        "present": true,
                        "url_count": 14
                    }
                }
            },
            "credits_cost": 1,
            "error": null,
            "completed_at": "2026-07-28T08:53:17Z"
        }
    ],
    "error": null,
    "monitor": null,
    "project": "prj_public",
    "metadata": {
        "source": "public_report"
    },
    "created_at": "2026-07-28T08:49:33Z",
    "completed_at": "2026-07-28T08:57:25Z",
    "permalink": "https://lightscore.dev/report/blog.nickesselman.nl/aud_Iei5LKMGsdbctGO4azWV",
    "json_url": "https://lightscore.dev/report/blog.nickesselman.nl/aud_Iei5LKMGsdbctGO4azWV.json",
    "status_url": "https://lightscore.dev/report/blog.nickesselman.nl/aud_Iei5LKMGsdbctGO4azWV/status"
}