{
    "id": "aud_znJ1WAanXI6erw6eMWV8",
    "object": "audit",
    "result_url": "https://lightscore.dev/api/v1/audits/aud_znJ1WAanXI6erw6eMWV8",
    "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": 98,
                "accessibility": 100,
                "seo": 92,
                "best_practices": 100
            },
            "metrics": {
                "lcp_ms": 1777,
                "cls": 0,
                "tbt_ms": 142,
                "fcp_ms": 1084,
                "speed_index_ms": 1084,
                "tti_ms": 1777
            },
            "report": {
                "json_url": "https://lightscore-reports.b-cdn.net/aud_znJ1WAanXI6erw6eMWV8/fra.json?token=HS256-jN96Phbejdv0ShmOtP7cqCRnJn_Djaso9O-OlyF5GtY&expires=1785333818",
                "html_url": "https://lightscore-reports.b-cdn.net/aud_znJ1WAanXI6erw6eMWV8/fra.html?token=HS256-7Las2hcRgNhWQBNQ-u7TmK3ZmtR2wKo5xMto3HD3Nx8&expires=1785333818"
            },
            "checks": {
                "reachability": {
                    "status": "ok",
                    "duration_ms": 120,
                    "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": "Aug 27 02:17:38 2026 GMT",
                        "days_to_expiry": 31
                    },
                    "ttfb_ms": 40,
                    "total_ms": 120,
                    "phases": {
                        "dns_ms": 60,
                        "tcp_ms": 20,
                        "tls_ms": 0,
                        "ttfb_ms": 40,
                        "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": 0,
                    "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": 616,
                    "archived": true,
                    "bytes": 22888
                },
                "lighthouse": {
                    "status": "ok",
                    "duration_ms": 50455,
                    "scores": {
                        "performance": 98,
                        "accessibility": 100,
                        "seo": 92,
                        "best_practices": 100
                    },
                    "metrics": {
                        "lcp_ms": 1777,
                        "cls": 0,
                        "tbt_ms": 142,
                        "fcp_ms": 1084,
                        "speed_index_ms": 1084,
                        "tti_ms": 1777
                    },
                    "network": {
                        "total": 25,
                        "kept": 25,
                        "requests": [
                            {
                                "url": "https://blog.nickesselman.nl/",
                                "type": "Document",
                                "status": 200,
                                "mime": "text/html",
                                "start_ms": 0,
                                "duration_ms": 117,
                                "transfer_size": 7098
                            },
                            {
                                "url": "https://blog.nickesselman.nl/_app/immutable/assets/0.DwP-Uoey.css",
                                "type": "Stylesheet",
                                "status": 200,
                                "mime": "text/css",
                                "start_ms": 137,
                                "duration_ms": 20,
                                "transfer_size": 4921
                            },
                            {
                                "url": "https://blog.nickesselman.nl/_app/immutable/entry/start.IGGym10A.js",
                                "type": "Script",
                                "status": 200,
                                "mime": "text/javascript",
                                "start_ms": 137,
                                "duration_ms": 20,
                                "transfer_size": 436
                            },
                            {
                                "url": "https://blog.nickesselman.nl/_app/immutable/chunks/hCD5FAOW.js",
                                "type": "Script",
                                "status": 200,
                                "mime": "text/javascript",
                                "start_ms": 163,
                                "duration_ms": 83,
                                "transfer_size": 12552
                            },
                            {
                                "url": "https://blog.nickesselman.nl/_app/immutable/chunks/D3IvBkcx.js",
                                "type": "Script",
                                "status": 200,
                                "mime": "text/javascript",
                                "start_ms": 164,
                                "duration_ms": 83,
                                "transfer_size": 4294
                            },
                            {
                                "url": "https://blog.nickesselman.nl/_app/immutable/entry/app.BuzL-Y1R.js",
                                "type": "Script",
                                "status": 200,
                                "mime": "text/javascript",
                                "start_ms": 164,
                                "duration_ms": 82,
                                "transfer_size": 3211
                            },
                            {
                                "url": "https://blog.nickesselman.nl/_app/immutable/chunks/IHki7fMi.js",
                                "type": "Script",
                                "status": 200,
                                "mime": "text/javascript",
                                "start_ms": 165,
                                "duration_ms": 81,
                                "transfer_size": 612
                            },
                            {
                                "url": "https://blog.nickesselman.nl/_app/immutable/nodes/0.CvQFtcYp.js",
                                "type": "Script",
                                "status": 200,
                                "mime": "text/javascript",
                                "start_ms": 167,
                                "duration_ms": 80,
                                "transfer_size": 7037
                            },
                            {
                                "url": "https://blog.nickesselman.nl/_app/immutable/chunks/C9SYxZpl.js",
                                "type": "Script",
                                "status": 200,
                                "mime": "text/javascript",
                                "start_ms": 168,
                                "duration_ms": 79,
                                "transfer_size": 790
                            },
                            {
                                "url": "https://blog.nickesselman.nl/_app/immutable/chunks/DwcjVfHG.js",
                                "type": "Script",
                                "status": 200,
                                "mime": "text/javascript",
                                "start_ms": 169,
                                "duration_ms": 78,
                                "transfer_size": 1024
                            },
                            {
                                "url": "https://blog.nickesselman.nl/_app/immutable/chunks/Bkqkpa1_.js",
                                "type": "Script",
                                "status": 200,
                                "mime": "text/javascript",
                                "start_ms": 169,
                                "duration_ms": 78,
                                "transfer_size": 682
                            },
                            {
                                "url": "https://blog.nickesselman.nl/_app/immutable/chunks/ChWq6yJE.js",
                                "type": "Script",
                                "status": 200,
                                "mime": "text/javascript",
                                "start_ms": 170,
                                "duration_ms": 78,
                                "transfer_size": 2472
                            },
                            {
                                "url": "https://blog.nickesselman.nl/_app/immutable/nodes/2.CK1dfQ4z.js",
                                "type": "Script",
                                "status": 200,
                                "mime": "text/javascript",
                                "start_ms": 170,
                                "duration_ms": 81,
                                "transfer_size": 4241
                            },
                            {
                                "url": "https://blog.nickesselman.nl/_app/immutable/chunks/mvvQfFEW.js",
                                "type": "Script",
                                "status": 200,
                                "mime": "text/javascript",
                                "start_ms": 171,
                                "duration_ms": 80,
                                "transfer_size": 2210
                            },
                            {
                                "url": "https://blog.nickesselman.nl/_app/immutable/chunks/C-4-9hcP.js",
                                "type": "Script",
                                "status": 200,
                                "mime": "text/javascript",
                                "start_ms": 171,
                                "duration_ms": 81,
                                "transfer_size": 869
                            },
                            {
                                "url": "https://blog.nickesselman.nl/fonts/space-grotesk-latin.woff2",
                                "type": "Font",
                                "status": 200,
                                "mime": "font/woff2",
                                "start_ms": 176,
                                "duration_ms": 73,
                                "transfer_size": 22821
                            },
                            {
                                "url": "https://cdn.nickesselman.nl/blogimages/moonshot/cover-w480.webp",
                                "type": "Image",
                                "status": 200,
                                "mime": "image/webp",
                                "start_ms": 181,
                                "duration_ms": 135,
                                "transfer_size": 24595
                            },
                            {
                                "url": "https://blog.nickesselman.nl/cdn-cgi/scripts/5c5dd728/cloudflare-static/email-decode.min.js",
                                "type": "Script",
                                "status": 200,
                                "mime": "application/javascript",
                                "start_ms": 181,
                                "duration_ms": 15,
                                "transfer_size": 1094
                            },
                            {
                                "url": "https://cdn.nickesselman.nl/blogimages/shipwrecked/campfiremain-w960.webp",
                                "type": "Image",
                                "status": 200,
                                "mime": "image/webp",
                                "start_ms": 277,
                                "duration_ms": 60,
                                "transfer_size": 16907
                            },
                            {
                                "url": "https://cdn.nickesselman.nl/blogimages/neighborhood/populated-w960.webp",
                                "type": "Image",
                                "status": 200,
                                "mime": "image/webp",
                                "start_ms": 277,
                                "duration_ms": 60,
                                "transfer_size": 80699
                            },
                            {
                                "url": "https://cdn.nickesselman.nl/blogimages/undercity/group-w960.webp",
                                "type": "Image",
                                "status": 200,
                                "mime": "image/webp",
                                "start_ms": 277,
                                "duration_ms": 60,
                                "transfer_size": 74952
                            },
                            {
                                "url": "https://cdn.nickesselman.nl/blogimages/juice/main-w960.webp",
                                "type": "Image",
                                "status": 200,
                                "mime": "image/webp",
                                "start_ms": 297,
                                "duration_ms": 80,
                                "transfer_size": 54306
                            },
                            {
                                "url": "https://blog.nickesselman.nl/_app/immutable/nodes/1.DCLZoQUl.js",
                                "type": "Script",
                                "status": 200,
                                "mime": "text/javascript",
                                "start_ms": 317,
                                "duration_ms": 20,
                                "transfer_size": 1382
                            },
                            {
                                "url": "https://blog.nickesselman.nl/favicon.ico",
                                "type": "Other",
                                "status": 200,
                                "mime": "image/x-icon",
                                "start_ms": 377,
                                "duration_ms": 60,
                                "transfer_size": 2987
                            },
                            {
                                "url": "https://blog.nickesselman.nl/api/readers",
                                "type": "Fetch",
                                "status": 200,
                                "mime": "application/json",
                                "start_ms": 397,
                                "duration_ms": 80,
                                "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": 11056,
                        "bootup_ms": 291,
                        "total_bytes": 333088,
                        "server_latency_ms": 67
                    },
                    "resource_summary": [
                        {
                            "type": "total",
                            "count": 24,
                            "transfer_bytes": 330101
                        },
                        {
                            "type": "image",
                            "count": 5,
                            "transfer_bytes": 251459
                        },
                        {
                            "type": "script",
                            "count": 15,
                            "transfer_bytes": 42906
                        },
                        {
                            "type": "font",
                            "count": 1,
                            "transfer_bytes": 22821
                        },
                        {
                            "type": "document",
                            "count": 1,
                            "transfer_bytes": 7098
                        },
                        {
                            "type": "stylesheet",
                            "count": 1,
                            "transfer_bytes": 4921
                        },
                        {
                            "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": 98,
                                "accessibility": 100,
                                "seo": 92,
                                "best_practices": 100
                            },
                            "benchmark_index": 1863
                        }
                    ]
                },
                "crawlability": {
                    "status": "ok",
                    "duration_ms": 170,
                    "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-26T17:57:33Z"
        },
        {
            "region": "iad",
            "status": "completed",
            "scores": {
                "performance": 98,
                "accessibility": 100,
                "seo": 92,
                "best_practices": 96
            },
            "metrics": {
                "lcp_ms": 2183,
                "cls": 0.0003431525661325876,
                "tbt_ms": 0,
                "fcp_ms": 1676,
                "speed_index_ms": 1676,
                "tti_ms": 2183
            },
            "report": {
                "json_url": "https://lightscore-reports.b-cdn.net/aud_znJ1WAanXI6erw6eMWV8/iad.json?token=HS256-LSps4VHq9xv5vy4PC5Vu2wMHdqFaT5-YL7U3LgY6xsc&expires=1785333818",
                "html_url": "https://lightscore-reports.b-cdn.net/aud_znJ1WAanXI6erw6eMWV8/iad.html?token=HS256-hJGZuCVk1b2PHmx70Y64oE_I-a-TX96EwJDAz-i8E5k&expires=1785333818"
            },
            "checks": {
                "reachability": {
                    "status": "ok",
                    "duration_ms": 528,
                    "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": "Aug 27 02:17:38 2026 GMT",
                        "days_to_expiry": 31
                    },
                    "ttfb_ms": 360,
                    "total_ms": 522,
                    "phases": {
                        "dns_ms": 148,
                        "tcp_ms": 3,
                        "tls_ms": 9,
                        "ttfb_ms": 360,
                        "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": 96,
                    "archived": true,
                    "bytes": 23247
                },
                "lighthouse": {
                    "status": "ok",
                    "duration_ms": 10628,
                    "scores": {
                        "performance": 98,
                        "accessibility": 100,
                        "seo": 92,
                        "best_practices": 96
                    },
                    "metrics": {
                        "lcp_ms": 2183,
                        "cls": 0.0003431525661325876,
                        "tbt_ms": 0,
                        "fcp_ms": 1676,
                        "speed_index_ms": 1676,
                        "tti_ms": 2183
                    },
                    "network": {
                        "total": 27,
                        "kept": 27,
                        "requests": [
                            {
                                "url": "https://blog.nickesselman.nl/",
                                "type": "Document",
                                "status": 200,
                                "mime": "text/html",
                                "start_ms": 0,
                                "duration_ms": 387,
                                "transfer_size": 7399
                            },
                            {
                                "url": "https://blog.nickesselman.nl/_app/immutable/assets/0.DwP-Uoey.css",
                                "type": "Stylesheet",
                                "status": 200,
                                "mime": "text/css",
                                "start_ms": 397,
                                "duration_ms": 22,
                                "transfer_size": 4916
                            },
                            {
                                "url": "https://blog.nickesselman.nl/_app/immutable/entry/start.IGGym10A.js",
                                "type": "Script",
                                "status": 200,
                                "mime": "text/javascript",
                                "start_ms": 412,
                                "duration_ms": 50,
                                "transfer_size": 411
                            },
                            {
                                "url": "https://blog.nickesselman.nl/_app/immutable/chunks/hCD5FAOW.js",
                                "type": "Script",
                                "status": 200,
                                "mime": "text/javascript",
                                "start_ms": 412,
                                "duration_ms": 47,
                                "transfer_size": 12339
                            },
                            {
                                "url": "https://blog.nickesselman.nl/_app/immutable/chunks/D3IvBkcx.js",
                                "type": "Script",
                                "status": 200,
                                "mime": "text/javascript",
                                "start_ms": 413,
                                "duration_ms": 52,
                                "transfer_size": 4050
                            },
                            {
                                "url": "https://blog.nickesselman.nl/_app/immutable/entry/app.BuzL-Y1R.js",
                                "type": "Script",
                                "status": 200,
                                "mime": "text/javascript",
                                "start_ms": 413,
                                "duration_ms": 50,
                                "transfer_size": 2983
                            },
                            {
                                "url": "https://blog.nickesselman.nl/_app/immutable/chunks/IHki7fMi.js",
                                "type": "Script",
                                "status": 200,
                                "mime": "text/javascript",
                                "start_ms": 413,
                                "duration_ms": 53,
                                "transfer_size": 388
                            },
                            {
                                "url": "https://blog.nickesselman.nl/_app/immutable/nodes/0.CvQFtcYp.js",
                                "type": "Script",
                                "status": 200,
                                "mime": "text/javascript",
                                "start_ms": 414,
                                "duration_ms": 66,
                                "transfer_size": 7031
                            },
                            {
                                "url": "https://blog.nickesselman.nl/_app/immutable/chunks/C9SYxZpl.js",
                                "type": "Script",
                                "status": 200,
                                "mime": "text/javascript",
                                "start_ms": 414,
                                "duration_ms": 66,
                                "transfer_size": 796
                            },
                            {
                                "url": "https://blog.nickesselman.nl/_app/immutable/chunks/DwcjVfHG.js",
                                "type": "Script",
                                "status": 200,
                                "mime": "text/javascript",
                                "start_ms": 415,
                                "duration_ms": 61,
                                "transfer_size": 1022
                            },
                            {
                                "url": "https://blog.nickesselman.nl/_app/immutable/chunks/Bkqkpa1_.js",
                                "type": "Script",
                                "status": 200,
                                "mime": "text/javascript",
                                "start_ms": 420,
                                "duration_ms": 47,
                                "transfer_size": 680
                            },
                            {
                                "url": "https://blog.nickesselman.nl/_app/immutable/chunks/ChWq6yJE.js",
                                "type": "Script",
                                "status": 200,
                                "mime": "text/javascript",
                                "start_ms": 423,
                                "duration_ms": 57,
                                "transfer_size": 2474
                            },
                            {
                                "url": "https://blog.nickesselman.nl/_app/immutable/nodes/2.CK1dfQ4z.js",
                                "type": "Script",
                                "status": 200,
                                "mime": "text/javascript",
                                "start_ms": 426,
                                "duration_ms": 55,
                                "transfer_size": 4236
                            },
                            {
                                "url": "https://blog.nickesselman.nl/_app/immutable/chunks/mvvQfFEW.js",
                                "type": "Script",
                                "status": 200,
                                "mime": "text/javascript",
                                "start_ms": 427,
                                "duration_ms": 52,
                                "transfer_size": 2208
                            },
                            {
                                "url": "https://blog.nickesselman.nl/_app/immutable/chunks/C-4-9hcP.js",
                                "type": "Script",
                                "status": 200,
                                "mime": "text/javascript",
                                "start_ms": 428,
                                "duration_ms": 52,
                                "transfer_size": 869
                            },
                            {
                                "url": "https://blog.nickesselman.nl/fonts/space-grotesk-latin.woff2",
                                "type": "Font",
                                "status": 200,
                                "mime": "font/woff2",
                                "start_ms": 429,
                                "duration_ms": 338,
                                "transfer_size": 22809
                            },
                            {
                                "url": "https://cdn.nickesselman.nl/blogimages/moonshot/cover-w480.webp",
                                "type": "Image",
                                "status": 200,
                                "mime": "image/webp",
                                "start_ms": 430,
                                "duration_ms": 453,
                                "transfer_size": 24604
                            },
                            {
                                "url": "https://blog.nickesselman.nl/cdn-cgi/scripts/5c5dd728/cloudflare-static/email-decode.min.js",
                                "type": "Script",
                                "status": 200,
                                "mime": "application/javascript",
                                "start_ms": 431,
                                "duration_ms": 13,
                                "transfer_size": 1090
                            },
                            {
                                "url": "https://static.cloudflareinsights.com/beacon.min.js/v4513226cdae34746b4dedf0b4dfa099e1781791509496",
                                "type": "Script",
                                "status": 200,
                                "mime": "text/javascript",
                                "start_ms": 432,
                                "duration_ms": 88,
                                "transfer_size": 11577
                            },
                            {
                                "url": "https://blog.nickesselman.nl/_app/immutable/nodes/1.DCLZoQUl.js",
                                "type": "Script",
                                "status": 200,
                                "mime": "text/javascript",
                                "start_ms": 505,
                                "duration_ms": 13,
                                "transfer_size": 1380
                            },
                            {
                                "url": "https://cdn.nickesselman.nl/blogimages/shipwrecked/campfiremain-w960.webp",
                                "type": "Image",
                                "status": 200,
                                "mime": "image/webp",
                                "start_ms": 586,
                                "duration_ms": 320,
                                "transfer_size": 16965
                            },
                            {
                                "url": "https://cdn.nickesselman.nl/blogimages/neighborhood/populated-w960.webp",
                                "type": "Image",
                                "status": 200,
                                "mime": "image/webp",
                                "start_ms": 586,
                                "duration_ms": 349,
                                "transfer_size": 80725
                            },
                            {
                                "url": "https://cdn.nickesselman.nl/blogimages/undercity/group-w960.webp",
                                "type": "Image",
                                "status": 200,
                                "mime": "image/webp",
                                "start_ms": 587,
                                "duration_ms": 333,
                                "transfer_size": 74940
                            },
                            {
                                "url": "https://cdn.nickesselman.nl/blogimages/juice/main-w960.webp",
                                "type": "Image",
                                "status": 200,
                                "mime": "image/webp",
                                "start_ms": 587,
                                "duration_ms": 337,
                                "transfer_size": 54224
                            },
                            {
                                "url": "https://blog.nickesselman.nl/api/readers",
                                "type": "Fetch",
                                "status": 200,
                                "mime": "application/json",
                                "start_ms": 594,
                                "duration_ms": 352,
                                "transfer_size": 897
                            },
                            {
                                "url": "https://blog.nickesselman.nl/cdn-cgi/rum",
                                "type": "XHR",
                                "status": 204,
                                "mime": "text/plain",
                                "start_ms": 890,
                                "duration_ms": 82,
                                "transfer_size": 465
                            },
                            {
                                "url": "https://blog.nickesselman.nl/favicon.ico",
                                "type": "Other",
                                "status": 200,
                                "mime": "image/x-icon",
                                "start_ms": 899,
                                "duration_ms": 332,
                                "transfer_size": 2982
                            }
                        ]
                    },
                    "opportunities": [
                        {
                            "id": "uses-responsive-images",
                            "title": "Properly size images",
                            "savings_ms": 0,
                            "savings_bytes": 57958
                        }
                    ],
                    "diagnostics": {
                        "dom_nodes": 82,
                        "main_thread_ms": 904,
                        "bootup_ms": 248,
                        "total_bytes": 344460,
                        "server_latency_ms": 359
                    },
                    "resource_summary": [
                        {
                            "type": "total",
                            "count": 26,
                            "transfer_bytes": 341478
                        },
                        {
                            "type": "image",
                            "count": 5,
                            "transfer_bytes": 251458
                        },
                        {
                            "type": "script",
                            "count": 16,
                            "transfer_bytes": 53534
                        },
                        {
                            "type": "font",
                            "count": 1,
                            "transfer_bytes": 22809
                        },
                        {
                            "type": "document",
                            "count": 1,
                            "transfer_bytes": 7399
                        },
                        {
                            "type": "stylesheet",
                            "count": 1,
                            "transfer_bytes": 4916
                        },
                        {
                            "type": "other",
                            "count": 2,
                            "transfer_bytes": 1362
                        },
                        {
                            "type": "media",
                            "count": 0,
                            "transfer_bytes": 0
                        },
                        {
                            "type": "third-party",
                            "count": 1,
                            "transfer_bytes": 11577
                        }
                    ],
                    "third_parties": [
                        {
                            "entity": "Cloudflare",
                            "blocking_ms": 0,
                            "transfer_bytes": 11577
                        }
                    ],
                    "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": 98,
                                "accessibility": 100,
                                "seo": 92,
                                "best_practices": 96
                            },
                            "benchmark_index": 1934
                        }
                    ]
                },
                "crawlability": {
                    "status": "ok",
                    "duration_ms": 372,
                    "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-26T17:57:09Z"
        }
    ],
    "error": null,
    "monitor": null,
    "project": "prj_public",
    "metadata": {
        "source": "public_report"
    },
    "created_at": "2026-07-26T17:56:40Z",
    "completed_at": "2026-07-26T17:57:33Z",
    "permalink": "https://lightscore.dev/report/blog.nickesselman.nl/aud_znJ1WAanXI6erw6eMWV8",
    "json_url": "https://lightscore.dev/report/blog.nickesselman.nl/aud_znJ1WAanXI6erw6eMWV8.json",
    "status_url": "https://lightscore.dev/report/blog.nickesselman.nl/aud_znJ1WAanXI6erw6eMWV8/status"
}