Max Potential First Input Delay
1,560 ms
The maximum potential First Input Delay that your users could experience is the duration of the longest task. Learn more about the Maximum Potential First Input Delay metric.
正文
1132
操作候选
10
图片
60
HTML
352 KB
主要入口
Learn more →
Tailwind
移动端模拟 · 性能评分
2026-09-10 · 本次测试有警告,结果可能不完整。
移动端模拟 · 实验室数据,非真实用户体验数据
2026-09-10T09:28:44.113Z · Lighthouse 13.4.1
本次测试有警告,结果可能不完整: The page loaded too slowly to finish within the time limit. Results may be incomplete.
分数会受服务器、网络和测试环境影响,独立于品味/转化评分。诊断保留 Lighthouse 原文。
1,560 ms
The maximum potential First Input Delay that your users could experience is the duration of the longest task. Learn more about the Maximum Potential First Input Delay metric.
Errors logged to the console indicate unresolved problems. They can come from network request failures and other browser concerns. Learn more about this errors in console diagnostic audit
{
"type": "table",
"items": [
{
"source": "exception",
"description": "Error: Minified React error #421; visit https://reactjs.org/docs/error-decoder.html?invariant=421 for the full message or use the non-minified dev environment for full errors and additional helpful warnings.\n at cc (https://railway.com/assets/react-dom-DnBidG4-.js:8:9367)\n at ac (https://railway.com/assets/react-dom-DnBidG4-.js:8:7321)\n at Wl (https://railway.com/assets/react-dom-DnBidG4-.js:8:45245)\n at Pl (https://railway.com/assets/react-dom-DnBidG4-.js:8:39294)\n at Ml (https://railway.com/assets/react-dom-DnBidG4-.js:8:39225)\n at jl (https://railway.com/assets/react-dom-DnBidG4-.js:8:39085)\n at vl (https://railway.com/assets/react-dom-DnBidG4-.js:8:34264)\n at te (https://railway.com/assets/react-dom-DnBidG4-.js:1:1616)\n at MessagePort.se (https://railway.com/assets/react-dom-DnBidG4-.js:1:1986)",
"sourceLocation": {
"url": "https://railway.com/assets/main-D2KTMh0D.js",
"line": 129,
"type": "source-location",
"column": 149466,
"urlProvider": "network"
}
},
{
"source": "exception",
"description": "Error: Minified React error #421; visit https://reactjs.org/docs/error-decoder.html?invariant=421 for the full message or use the non-minified dev environment for full errors and additional helpful warnings.\n at cc (https://railway.com/assets/react-dom-DnBidG4-.js:8:9367)\n at ac (https://railway.com/assets/react-dom-DnBidG4-.js:8:7321)\n at Wl (https://railway.com/assets/react-dom-DnBidG4-.js:8:45245)\n at Pl (https://railway.com/assets/react-dom-DnBidG4-.js:8:39294)\n at Ml (https://railway.com/assets/react-dom-DnBidG4-.js:8:39225)\n at jl (https://railway.com/assets/react-dom-DnBidG4-.js:8:39085)\n at vl (https://railway.com/assets/react-dom-DnBidG4-.js:8:34264)\n at te (https://railway.com/assets/react-dom-DnBidG4-.js:1:1616)\n at MessagePort.se (https://railway.com/assets/react-dom-DnBidG4-.js:1:1986)",
"sourceLocation": {
"url": "https://railway.com/assets/main-D2KTMh0D.js",
"line": 129,
"type": "source-location",
"column": 149466,
"urlProvider": "network"
}
},
{
"source": "exception",
"description": "Error: Minified React error #421; visit https://reactjs.org/docs/error-decoder.html?invariant=421 for the full message or use the non-minified dev environment for full errors and additional helpful warnings.\n at cc (https://railway.com/assets/react-dom-DnBidG4-.js:8:9367)\n at ac (https://railway.com/assets/react-dom-DnBidG4-.js:8:7321)\n at Wl (https://railway.com/assets/react-dom-DnBidG4-.js:8:45245)\n at Pl (https://railway.com/assets/react-dom-DnBidG4-.js:8:39294)\n at Ml (https://railway.com/assets/react-dom-DnBidG4-.js:8:39225)\n at jl (https://railway.com/assets/react-dom-DnBidG4-.js:8:39085)\n at vl (https://railway.com/assets/react-dom-DnBidG4-.js:8:34264)\n at te (https://railway.com/assets/react-dom-DnBidG4-.js:1:1616)\n at MessagePort.se (https://railway.com/assets/react-dom-DnBidG4-.js:1:1986)",
"sourceLocation": {
"url": "https://railway.com/assets/main-D2KTMh0D.js",
"line": 129,
"type": "source-location",
"column": 149466,
"urlProvider": "network"
}
}
],
"headings": [
{
"key": "sourceLocation",
"label": "Source",
"valueType": "source-location"
},
{
"key": "description",
"label": "Description",
"valueType": "code"
}
]
}26.2 s
Time to Interactive is the amount of time it takes for the page to become fully interactive. Learn more about the Time to Interactive metric.
1 cookie found
Third-party cookies may be blocked in some contexts. Learn more about preparing for third-party cookie restrictions.
{
"type": "table",
"items": [
{
"url": "https://googleads.g.doubleclick.net/pagead/viewthroughconversion/17509959674/?random=1789032537272&cv=11&fst=1789032537272&bg=ffffff&guid=ON&async=1&en=gtag.config>m=45be6980v9228268922za200zd9228268922xec&gcd=13t3t3t3t5l1&dma=0&tag_exp=115938465~115938468~118897920~118897930~120032689~120213116~120385423~120469145~120469153~121045160&u_w=412&u_h=823&url=https%3A%2F%2Frailway.com%2F&rcb=9&frm=0&tiba=Railway%20%7C%20The%20all-in-one%20intelligent%20cloud%20provider&hn=www.googleadservices.com&npa=0&pscdl=noapi&auid=1202266241.1789032537&uaa=&uab=64&uafvl=Chromium%3B151.0.7922.34%7CNot%253DA%253FBrand%3B99.0.0.0&uamb=1&uam=moto%20g%20power%20(2022)&uap=Android&uapv=11.0&uaw=0&data=event%3Dgtag.config&ept=9&rfmt=3&fmt=4",
"name": "test_cookie"
}
],
"headings": [
{
"key": "name",
"label": "Name",
"valueType": "text"
},
{
"key": "url",
"label": "URL",
"valueType": "url"
}
]
}14.7 s
Consider reducing the time spent parsing, compiling and executing JS. You may find delivering smaller JS payloads helps with this. Learn how to minimize main-thread work
{
"type": "table",
"items": [
{
"group": "scriptEvaluation",
"duration": 5622.939999999855,
"groupLabel": "Script Evaluation"
},
{
"group": "other",
"duration": 5604.792000000056,
"groupLabel": "Other"
},
{
"group": "styleLayout",
"duration": 1863.9999999999993,
"groupLabel": "Style & Layout"
},
{
"group": "garbageCollection",
"duration": 691.9000000000005,
"groupLabel": "Garbage Collection"
},
{
"group": "paintCompositeRender",
"duration": 588.1720000000023,
"groupLabel": "Rendering"
},
{
"group": "scriptParseCompile",
"duration": 190.60799999999998,
"groupLabel": "Script Parsing & Compilation"
},
{
"group": "parseHTML",
"duration": 110.36000000000007,
"groupLabel": "Parse HTML & CSS"
}
],
"headings": [
{
"key": "groupLabel",
"label": "Category",
"valueType": "text"
},
{
"key": "duration",
"label": "Time Spent",
"valueType": "ms",
"granularity": 1
}
],
"sortedBy": [
"duration"
]
}5.6 s
Consider reducing the time spent parsing, compiling, and executing JS. You may find delivering smaller JS payloads helps with this. Learn how to reduce Javascript execution time.
{
"type": "table",
"items": [
{
"url": "Unattributable",
"total": 4731.295999999886,
"scripting": 1178.2399999999818,
"scriptParseCompile": 0
},
{
"url": "https://railway.com/assets/react-dom-DnBidG4-.js",
"total": 3759.4559999999265,
"scripting": 3409.0079999999257,
"scriptParseCompile": 0.172
},
{
"url": "https://railway.com/",
"total": 3472.716000000002,
"scripting": 76.78799999999997,
"scriptParseCompile": 34.083999999999996
},
{
"url": "https://railway.com/assets/use-constant-mCn3svpG.js",
"total": 537.1320000000001,
"scripting": 39.55599999999998,
"scriptParseCompile": 0.056
},
{
"url": "https://cmp.osano.com/qVHEV4lSSU/738deb1e-f024-459e-ae0a-2e6a0d461ea8/osano.js",
"total": 406.9039999999999,
"scripting": 329.3639999999999,
"scriptParseCompile": 10.16
},
{
"url": "https://www.googletagmanager.com/gtag/js?id=AW-17509959674",
"total": 353.94799999999964,
"scripting": 301.5879999999996,
"scriptParseCompile": 48.760000000000005
},
{
"url": "https://railway.com/assets/modal-Bzr_UYzv.js",
"total": 153.76,
"scripting": 73.02800000000003,
"scriptParseCompile": 13.732
},
{
"url": "https://railway.com/assets/ClientHead-B2uoCLPZ.js",
"total": 114.848,
"scripting": 0,
"scriptParseCompile": 0.088
},
{
"url": "https://railway.com/assets/extends-L-OGrCwB.js",
"total": 80.048,
"scripting": 0,
"scriptParseCompile": 0.092
},
{
"url": "https://cmp.osano.com/qVHEV4lSSU/738deb1e-f024-459e-ae0a-2e6a0d461ea8/osano-ui.js",
"total": 61.944,
"scripting": 34.64000000000001,
"scriptParseCompile": 17.287999999999997
},
{
"url": "https://railway.com/assets/json-ld-BNIkTYD-.js",
"total": 52.068,
"scripting": 0,
"scriptParseCompile": 0.168
}
],
"summary": {
"wastedMs": 5566.811999999907
},
"headings": [
{
"key": "url",
"label": "URL",
"valueType": "url"
},
{
"key": "total",
"label": "Total CPU Time",
"valueType": "ms",
"granularity": 1
},
{
"key": "scripting",
"label": "Script Evaluation",
"valueType": "ms",
"granularity": 1
},
{
"key": "scriptParseCompile",
"label": "Script Parse",
"valueType": "ms",
"granularity": 1
}
],
"sortedBy": [
"total"
]
}5 layout shifts found
These are the largest layout shifts observed on the page. Each table item represents a single layout shift, and shows the element that shifted the most. Below each item are possible root causes that led to the layout shift. Some of these layout shifts may not be included in the CLS metric value due to windowing. Learn how to improve CLS
{
"type": "table",
"items": [
{
"node": {
"lhId": "page-5-DIV",
"path": "1,HTML,1,BODY,1,DIV,2,DIV,2,DIV",
"type": "node",
"snippet": "<div class=\"bg-sl-footer border-t border-sl-border/10\">",
"selector": "body > div > div.secret-landing > div.bg-sl-footer",
"nodeLabel": "Product\n\nFeatures\n\nMobile app\n\nPricing\n\nAgents\n\nChangelog\n\nTemplates\n\nTemplate …",
"boundingRect": {
"top": 11857,
"left": 0,
"right": 412,
"width": 412,
"bottom": 13035,
"height": 1178
}
},
"score": 0.2332928311057108,
"subItems": {
"type": "subitems",
"items": [
{
"cause": "Media element lacking an explicit size",
"extra": {
"lhId": "page-9-IMG",
"path": "1,HTML,1,BODY,1,DIV,2,DIV,1,MAIN,1,DIV,0,SECTION,0,DIV,1,DIV,0,IMG",
"type": "node",
"snippet": "<img class=\"absolute bottom-0 left-0 w-full object-cover object-bottom\" src=\"/secret-landing/build-and-deploy/maskgroup-forest.webp\" alt=\"\">",
"selector": "section.relative > div.max-w-[1696px] > div.absolute > img.absolute",
"nodeLabel": "section.relative > div.max-w-[1696px] > div.absolute > img.absolute",
"boundingRect": {
"top": 1676,
"left": 16,
"right": 396,
"width": 380,
"bottom": 1956,
"height": 280
}
}
}
]
}
},
{
"node": {
"lhId": "page-3-DIV",
"path": "1,HTML,1,BODY,1,DIV,2,DIV,1,MAIN,0,SECTION,0,DIV,0,DIV,3,DIV",
"type": "node",
"snippet": "<div class=\"absolute left-0 right-0 bottom-0 w-full h-[390px] bg-cover bg-center point…\">",
"selector": "section.px-4 > div.max-w-[1696px] > div.absolute > div.absolute",
"nodeLabel": "section.px-4 > div.max-w-[1696px] > div.absolute > div.absolute",
"boundingRect": {
"top": 225,
"left": 16,
"right": 396,
"width": 380,
"bottom": 615,
"height": 390
}
},
"score": 0.03745148911729765,
"subItems": {
"type": "subitems",
"items": [
{
"cause": "Web font loaded",
"extra": {
"type": "url",
"value": "https://fonts.gstatic.com/s/inter/v20/UcC73FwrK3iLTeHuS_nVMrMxCp50SjIa1ZL7W0Q5nw.woff2"
}
}
]
}
},
{
"node": {
"lhId": "page-2-H1",
"path": "1,HTML,1,BODY,1,DIV,2,DIV,1,MAIN,0,SECTION,0,DIV,1,DIV,0,H1",
"type": "node",
"snippet": "<h1 class=\"font-plexSerif font-medium text-white tracking-[-1.96px] leading-[1.12] te…\">",
"selector": "section.px-4 > div.max-w-[1696px] > div.relative > h1.font-plexSerif",
"nodeLabel": "Ship software peacefully",
"boundingRect": {
"top": 162,
"left": 32,
"right": 380,
"width": 348,
"bottom": 252,
"height": 90
}
},
"score": 0.002603207828602947,
"subItems": {
"type": "subitems",
"items": [
{
"cause": "Web font loaded",
"extra": {
"type": "url",
"value": "https://fonts.gstatic.com/s/ibmplexserif/v20/jizAREVNn1dOx-zrZ2X3pZvkTi3s-CI0q1vjitOh.woff2"
}
}
]
}
},
{
"score": 0.0002614495741962572,
"subItems": {
"type": "subitems",
"items": [
{
"cause": "Web font loaded",
"extra": {
"type": "url",
"value": "https://fonts.gstatic.com/s/ibmplexserif/v20/jizDREVNn1dOx-zrZ2X3pZvkTiUf2zcZiVbJ.woff2"
}
}
]
}
},
{
"node": {
"lhId": "page-4-IMG",
"path": "1,HTML,1,BODY,1,DIV,2,DIV,1,MAIN,0,SECTION,0,DIV,3,DIV,0,DIV,0,DIV,1,DIV,4,DIV,0,IMG",
"type": "node",
"snippet": "<img alt=\"Reducto\" src=\"https://cms.railway.com/media/website-original-aaa25f3fa0403baeea3be0442ad…\" width=\"71\" height=\"24\" class=\"max-h-4 sm:max-h-none max-w-[100px] sm:max-w-none h-6 object-contain w-aut…\" loading=\"lazy\">",
"selector": "div.relative > div.relative > div.flex > img.max-h-4",
"nodeLabel": "Reducto",
"boundingRect": {
"top": 583,
"left": 60,
"right": 150,
"width": 90,
"bottom": 599,
"height": 16
}
},
"score": 0.0001107021788768897,
"subItems": {
"type": "subitems",
"items": [
{
"cause": "Media element lacking an explicit size",
"extra": {
"lhId": "page-4-IMG",
"path": "1,HTML,1,BODY,1,DIV,2,DIV,1,MAIN,0,SECTION,0,DIV,3,DIV,0,DIV,0,DIV,1,DIV,4,DIV,0,IMG",
"type": "node",
"snippet": "<img alt=\"Reducto\" src=\"https://cms.railway.com/media/website-original-aaa25f3fa0403baeea3be0442ad…\" width=\"71\" height=\"24\" class=\"max-h-4 sm:max-h-none max-w-[100px] sm:max-w-none h-6 object-contain w-aut…\" loading=\"lazy\">",
"selector": "div.relative > div.relative > div.flex > img.max-h-4",
"nodeLabel": "Reducto",
"boundingRect": {
"top": 583,
"left": 60,
"right": 150,
"width": 90,
"bottom": 599,
"height": 16
}
}
}
]
}
}
],
"headings": [
{
"key": "node",
"label": "Element",
"valueType": "node",
"subItemsHeading": {
"key": "extra"
}
},
{
"key": "score",
"label": "Layout shift score",
"valueType": "numeric",
"granularity": 0.001,
"subItemsHeading": {
"key": "cause",
"valueType": "text"
}
}
]
}Set an explicit width and height on image elements to reduce layout shifts and improve CLS. Learn how to set image dimensions
{
"type": "table",
"items": [
{
"url": "https://railway.com/secret-landing/trust/logo-g2x.svg",
"node": {
"lhId": "1-111-IMG",
"path": "1,HTML,1,BODY,1,DIV,2,DIV,1,MAIN,2,SECTION,0,DIV,0,DIV,1,DIV,1,DIV,2,DIV,0,IMG",
"type": "node",
"snippet": "<img alt=\"\" src=\"/secret-landing/trust/logo-g2x.svg\" class=\"h-8 w-auto brightness-0 invert\" loading=\"lazy\">",
"selector": "div.mt-16 > div.bg-white/5 > div.relative > img.h-8",
"nodeLabel": "div.mt-16 > div.bg-white/5 > div.relative > img.h-8",
"boundingRect": {
"top": 8413,
"left": 80,
"right": 168,
"width": 88,
"bottom": 8445,
"height": 32
}
}
},
{
"url": "https://railway.com/secret-landing/trust/logo-bilt.svg",
"node": {
"lhId": "1-109-IMG",
"path": "1,HTML,1,BODY,1,DIV,2,DIV,1,MAIN,2,SECTION,0,DIV,0,DIV,1,DIV,0,DIV,2,DIV,0,IMG",
"type": "node",
"snippet": "<img alt=\"\" src=\"/secret-landing/trust/logo-bilt.svg\" class=\"h-8 w-auto brightness-0 invert\" loading=\"lazy\">",
"selector": "div.mt-16 > div.bg-white/5 > div.relative > img.h-8",
"nodeLabel": "div.mt-16 > div.bg-white/5 > div.relative > img.h-8",
"boundingRect": {
"top": 7945,
"left": 80,
"right": 199,
"width": 119,
"bottom": 7977,
"height": 32
}
}
},
{
"url": "https://railway.com/landing-2/logos/comp/logo-digitalocean.svg",
"node": {
"lhId": "1-81-IMG",
"path": "1,HTML,1,BODY,1,DIV,2,DIV,1,MAIN,1,DIV,0,SECTION,0,DIV,0,DIV,1,DIV,1,DIV,1,DIV,1,DIV,1,DIV,3,IMG",
"type": "node",
"snippet": "<img src=\"/landing-2/logos/comp/logo-digitalocean.svg\" alt=\"Digitalocean logo\" class=\"h-6 brightness-0 invert\" loading=\"lazy\">",
"selector": "div.mt-0 > div.flex > div.flex > img.h-6",
"nodeLabel": "Digitalocean logo",
"boundingRect": {
"top": 1868,
"left": 170,
"right": 194,
"width": 24,
"bottom": 1892,
"height": 24
}
}
},
{
"url": "https://railway.com/landing-2/logos/comp/logo-cloudrun.svg",
"node": {
"lhId": "1-82-IMG",
"path": "1,HTML,1,BODY,1,DIV,2,DIV,1,MAIN,1,DIV,0,SECTION,0,DIV,0,DIV,1,DIV,1,DIV,1,DIV,1,DIV,1,DIV,4,IMG",
"type": "node",
"snippet": "<img src=\"/landing-2/logos/comp/logo-cloudrun.svg\" alt=\"Cloudrun logo\" class=\"h-6 brightness-0 invert\" loading=\"lazy\">",
"selector": "div.mt-0 > div.flex > div.flex > img.h-6",
"nodeLabel": "Cloudrun logo",
"boundingRect": {
"top": 1868,
"left": 210,
"right": 234,
"width": 24,
"bottom": 1892,
"height": 24
}
}
},
{
"url": "https://railway.com/landing-2/logos/comp/logo-opentelemetry.svg",
"node": {
"lhId": "1-101-IMG",
"path": "1,HTML,1,BODY,1,DIV,2,DIV,1,MAIN,1,DIV,3,SECTION,0,DIV,0,DIV,1,DIV,1,DIV,1,DIV,1,DIV,1,DIV,2,IMG",
"type": "node",
"snippet": "<img src=\"/landing-2/logos/comp/logo-opentelemetry.svg\" alt=\"Opentelemetry logo\" class=\"h-6 brightness-0 invert\" loading=\"lazy\">",
"selector": "div.mt-0 > div.flex > div.flex > img.h-6",
"nodeLabel": "Opentelemetry logo",
"boundingRect": {
"top": 5940,
"left": 130,
"right": 154,
"width": 24,
"bottom": 5964,
"height": 24
}
}
},
{
"url": "https://railway.com/secret-landing/trust/logo-mappa.svg",
"node": {
"lhId": "1-113-IMG",
"path": "1,HTML,1,BODY,1,DIV,2,DIV,1,MAIN,2,SECTION,0,DIV,0,DIV,1,DIV,2,DIV,2,DIV,0,IMG",
"type": "node",
"snippet": "<img alt=\"\" src=\"/secret-landing/trust/logo-mappa.svg\" class=\"h-8 w-auto brightness-0 invert\" loading=\"lazy\">",
"selector": "div.mt-16 > div.bg-white/5 > div.relative > img.h-8",
"nodeLabel": "div.mt-16 > div.bg-white/5 > div.relative > img.h-8",
"boundingRect": {
"top": 8881,
"left": 80,
"right": 237,
"width": 157,
"bottom": 8913,
"height": 32
}
}
},
{
"url": "https://railway.com/landing-2/logos/comp/logo-helm.svg",
"node": {
"lhId": "1-79-IMG",
"path": "1,HTML,1,BODY,1,DIV,2,DIV,1,MAIN,1,DIV,0,SECTION,0,DIV,0,DIV,1,DIV,1,DIV,1,DIV,1,DIV,1,DIV,1,IMG",
"type": "node",
"snippet": "<img src=\"/landing-2/logos/comp/logo-helm.svg\" alt=\"Helm logo\" class=\"h-6 brightness-0 invert\" loading=\"lazy\">",
"selector": "div.mt-0 > div.flex > div.flex > img.h-6",
"nodeLabel": "Helm logo",
"boundingRect": {
"top": 1868,
"left": 89,
"right": 113,
"width": 24,
"bottom": 1892,
"height": 24
}
}
},
{
"url": "https://railway.com/landing-2/logos/comp/logo-docker.svg",
"node": {
"lhId": "1-78-IMG",
"path": "1,HTML,1,BODY,1,DIV,2,DIV,1,MAIN,1,DIV,0,SECTION,0,DIV,0,DIV,1,DIV,1,DIV,1,DIV,1,DIV,1,DIV,0,IMG",
"type": "node",
"snippet": "<img src=\"/landing-2/logos/comp/logo-docker.svg\" alt=\"Docker logo\" class=\"h-6 brightness-0 invert\" loading=\"lazy\">",
"selector": "div.mt-0 > div.flex > div.flex > img.h-6",
"nodeLabel": "Docker logo",
"boundingRect": {
"top": 1868,
"left": 48,
"right": 73,
"width": 25,
"bottom": 1892,
"height": 24
}
}
},
{
"url": "https://railway.com/landing-2/logos/comp/logo-heroku.svg",
"node": {
"lhId": "1-80-IMG",
"path": "1,HTML,1,BODY,1,DIV,2,DIV,1,MAIN,1,DIV,0,SECTION,0,DIV,0,DIV,1,DIV,1,DIV,1,DIV,1,DIV,1,DIV,2,IMG",
"type": "node",
"snippet": "<img src=\"/landing-2/logos/comp/logo-heroku.svg\" alt=\"Heroku logo\" class=\"h-6 brightness-0 invert\" loading=\"lazy\">",
"selector": "div.mt-0 > div.flex > div.flex > img.h-6",
"nodeLabel": "Heroku logo",
"boundingRect": {
"top": 1868,
"left": 129,
"right": 154,
"width": 25,
"bottom": 1892,
"height": 24
}
}
},
{
"url": "https://railway.com/landing-2/logos/comp/logo-cilium.svg",
"node": {
"lhId": "1-89-IMG",
"path": "1,HTML,1,BODY,1,DIV,2,DIV,1,MAIN,1,DIV,1,SECTION,0,DIV,0,DIV,0,DIV,1,DIV,2,DIV,1,DIV,0,DIV,1,DIV,1,IMG",
"type": "node",
"snippet": "<img src=\"/landing-2/logos/comp/logo-cilium.svg\" alt=\"Cilium logo\" class=\"h-6 brightness-0 invert\" loading=\"lazy\">",
"selector": "div.mt-6 > div.flex > div.flex > img.h-6",
"nodeLabel": "Cilium logo",
"boundingRect": {
"top": 2630,
"left": 68,
"right": 91,
"width": 23,
"bottom": 2654,
"height": 24
}
}
},
{
"url": "https://railway.com/landing-2/logos/comp/logo-kubernetes.svg",
"node": {
"lhId": "1-94-IMG",
"path": "1,HTML,1,BODY,1,DIV,2,DIV,1,MAIN,1,DIV,2,SECTION,0,DIV,0,DIV,0,DIV,1,DIV,2,DIV,1,DIV,0,DIV,1,DIV,0,IMG",
"type": "node",
"snippet": "<img src=\"/landing-2/logos/comp/logo-kubernetes.svg\" alt=\"Kubernetes logo\" class=\"h-6 brightness-0 invert\" loading=\"lazy\">",
"selector": "div.mt-6 > div.flex > div.flex > img.h-6",
"nodeLabel": "Kubernetes logo",
"boundingRect": {
"top": 3953,
"left": 28,
"right": 51,
"width": 23,
"bottom": 3977,
"height": 24
}
}
},
{
"url": "https://railway.com/landing-2/logos/comp/logo-amazon-ecs.svg",
"node": {
"lhId": "1-95-IMG",
"path": "1,HTML,1,BODY,1,DIV,2,DIV,1,MAIN,1,DIV,2,SECTION,0,DIV,0,DIV,0,DIV,1,DIV,2,DIV,1,DIV,0,DIV,1,DIV,1,IMG",
"type": "node",
"snippet": "<img src=\"/landing-2/logos/comp/logo-amazon-ecs.svg\" alt=\"Amazon-ecs logo\" class=\"h-6 brightness-0 invert\" loading=\"lazy\">",
"selector": "div.mt-6 > div.flex > div.flex > img.h-6",
"nodeLabel": "Amazon-ecs logo",
"boundingRect": {
"top": 3953,
"left": 67,
"right": 90,
"width": 23,
"bottom": 3977,
"height": 24
}
}
},
{
"url": "https://railway.com/landing-2/logos/comp/logo-nomad.svg",
"node": {
"lhId": "1-96-IMG",
"path": "1,HTML,1,BODY,1,DIV,2,DIV,1,MAIN,1,DIV,2,SECTION,0,DIV,0,DIV,0,DIV,1,DIV,2,DIV,1,DIV,0,DIV,1,DIV,2,IMG",
"type": "node",
"snippet": "<img src=\"/landing-2/logos/comp/logo-nomad.svg\" alt=\"Nomad logo\" class=\"h-6 brightness-0 invert\" loading=\"lazy\">",
"selector": "div.mt-6 > div.flex > div.flex > img.h-6",
"nodeLabel": "Nomad logo",
"boundingRect": {
"top": 3953,
"left": 106,
"right": 129,
"width": 23,
"bottom": 3977,
"height": 24
}
}
},
{
"url": "https://railway.com/landing-2/logos/comp/logo-betterstack.svg",
"node": {
"lhId": "1-97-IMG",
"path": "1,HTML,1,BODY,1,DIV,2,DIV,1,MAIN,1,DIV,2,SECTION,0,DIV,0,DIV,0,DIV,1,DIV,2,DIV,1,DIV,0,DIV,1,DIV,3,IMG",
"type": "node",
"snippet": "<img src=\"/landing-2/logos/comp/logo-betterstack.svg\" alt=\"Betterstack logo\" class=\"h-6 brightness-0 invert\" loading=\"lazy\">",
"selector": "div.mt-6 > div.flex > div.flex > img.h-6",
"nodeLabel": "Betterstack logo",
"boundingRect": {
"top": 3953,
"left": 145,
"right": 168,
"width": 23,
"bottom": 3977,
"height": 24
}
}
},
{
"url": "https://railway.com/landing-2/logos/comp/logo-datadog.svg",
"node": {
"lhId": "1-99-IMG",
"path": "1,HTML,1,BODY,1,DIV,2,DIV,1,MAIN,1,DIV,3,SECTION,0,DIV,0,DIV,1,DIV,1,DIV,1,DIV,1,DIV,1,DIV,0,IMG",
"type": "node",
"snippet": "<img src=\"/landing-2/logos/comp/logo-datadog.svg\" alt=\"Datadog logo\" class=\"h-6 brightness-0 invert\" loading=\"lazy\">",
"selector": "div.mt-0 > div.flex > div.flex > img.h-6",
"nodeLabel": "Datadog logo",
"boundingRect": {
"top": 5940,
"left": 48,
"right": 73,
"width": 25,
"bottom": 5964,
"height": 24
}
}
},
{
"url": "https://railway.com/landing-2/logos/comp/logo-sentry.svg",
"node": {
"lhId": "1-100-IMG",
"path": "1,HTML,1,BODY,1,DIV,2,DIV,1,MAIN,1,DIV,3,SECTION,0,DIV,0,DIV,1,DIV,1,DIV,1,DIV,1,DIV,1,DIV,1,IMG",
"type": "node",
"snippet": "<img src=\"/landing-2/logos/comp/logo-sentry.svg\" alt=\"Sentry logo\" class=\"h-6 brightness-0 invert\" loading=\"lazy\">",
"selector": "div.mt-0 > div.flex > div.flex > img.h-6",
"nodeLabel": "Sentry logo",
"boundingRect": {
"top": 5940,
"left": 89,
"right": 114,
"width": 25,
"bottom": 5964,
"height": 24
}
}
},
{
"url": "https://railway.com/landing-2/logos/comp/logo-envoy.svg",
"node": {
"lhId": "1-88-IMG",
"path": "1,HTML,1,BODY,1,DIV,2,DIV,1,MAIN,1,DIV,1,SECTION,0,DIV,0,DIV,0,DIV,1,DIV,2,DIV,1,DIV,0,DIV,1,DIV,0,IMG",
"type": "node",
"snippet": "<img src=\"/landing-2/logos/comp/logo-envoy.svg\" alt=\"Envoy logo\" class=\"h-6 brightness-0 invert\" loading=\"lazy\">",
"selector": "div.mt-6 > div.flex > div.flex > img.h-6",
"nodeLabel": "Envoy logo",
"boundingRect": {
"top": 2630,
"left": 28,
"right": 52,
"width": 24,
"bottom": 2654,
"height": 24
}
}
},
{
"url": "https://railway.com/landing-2/logos/comp/logo-nginx.svg",
"node": {
"lhId": "1-90-IMG",
"path": "1,HTML,1,BODY,1,DIV,2,DIV,1,MAIN,1,DIV,1,SECTION,0,DIV,0,DIV,0,DIV,1,DIV,2,DIV,1,DIV,0,DIV,1,DIV,2,IMG",
"type": "node",
"snippet": "<img src=\"/landing-2/logos/comp/logo-nginx.svg\" alt=\"Nginx logo\" class=\"h-6 brightness-0 invert\" loading=\"lazy\">",
"selector": "div.mt-6 > div.flex > div.flex > img.h-6",
"nodeLabel": "Nginx logo",
"boundingRect": {
"top": 2630,
"left": 107,
"right": 131,
"width": 24,
"bottom": 2654,
"height": 24
}
}
},
{
"url": "https://railway.com/landing-2/logos/comp/logo-istio.svg",
"node": {
"lhId": "1-91-IMG",
"path": "1,HTML,1,BODY,1,DIV,2,DIV,1,MAIN,1,DIV,1,SECTION,0,DIV,0,DIV,0,DIV,1,DIV,2,DIV,1,DIV,0,DIV,1,DIV,3,IMG",
"type": "node",
"snippet": "<img src=\"/landing-2/logos/comp/logo-istio.svg\" alt=\"Istio logo\" class=\"h-6 brightness-0 invert\" loading=\"lazy\">",
"selector": "div.mt-6 > div.flex > div.flex > img.h-6",
"nodeLabel": "Istio logo",
"boundingRect": {
"top": 2630,
"left": 147,
"right": 171,
"width": 24,
"bottom": 2654,
"height": 24
}
}
},
{
"url": "https://railway.com/landing-2/logos/comp/logo-haproxy.svg",
"node": {
"lhId": "1-92-IMG",
"path": "1,HTML,1,BODY,1,DIV,2,DIV,1,MAIN,1,DIV,1,SECTION,0,DIV,0,DIV,0,DIV,1,DIV,2,DIV,1,DIV,0,DIV,1,DIV,4,IMG",
"type": "node",
"snippet": "<img src=\"/landing-2/logos/comp/logo-haproxy.svg\" alt=\"Haproxy logo\" class=\"h-6 brightness-0 invert\" loading=\"lazy\">",
"selector": "div.mt-6 > div.flex > div.flex > img.h-6",
"nodeLabel": "Haproxy logo",
"boundingRect": {
"top": 2630,
"left": 187,
"right": 211,
"width": 24,
"bottom": 2654,
"height": 24
}
}
},
{
"url": "https://railway.com/landing-2/logos/comp/logo-terraform.svg",
"node": {
"lhId": "1-107-IMG",
"path": "1,HTML,1,BODY,1,DIV,2,DIV,1,MAIN,1,DIV,4,SECTION,0,DIV,0,DIV,0,DIV,4,DIV,2,DIV,1,DIV,0,IMG",
"type": "node",
"snippet": "<img src=\"/landing-2/logos/comp/logo-terraform.svg\" alt=\"Terraform logo\" class=\"h-6 brightness-0 invert\" loading=\"lazy\">",
"selector": "div.md:col-start-2 > div.flex > div.flex > img.h-6",
"nodeLabel": "Terraform logo",
"boundingRect": {
"top": 7349,
"left": 40,
"right": 64,
"width": 24,
"bottom": 7373,
"height": 24
}
}
},
{
"url": "https://railway.com/landing-2/logos/comp/logo-spacelift.svg",
"node": {
"lhId": "1-108-IMG",
"path": "1,HTML,1,BODY,1,DIV,2,DIV,1,MAIN,1,DIV,4,SECTION,0,DIV,0,DIV,0,DIV,4,DIV,2,DIV,1,DIV,1,IMG",
"type": "node",
"snippet": "<img src=\"/landing-2/logos/comp/logo-spacelift.svg\" alt=\"Spacelift logo\" class=\"h-6 brightness-0 invert\" loading=\"lazy\">",
"selector": "div.md:col-start-2 > div.flex > div.flex > img.h-6",
"nodeLabel": "Spacelift logo",
"boundingRect": {
"top": 7349,
"left": 80,
"right": 104,
"width": 24,
"bottom": 7373,
"height": 24
}
}
},
{
"url": "",
"node": {
"lhId": "1-127-IMG",
"path": "1,HTML,1,BODY,1,DIV,2,DIV,1,MAIN,3,SECTION,2,DIV,0,DIV,0,DIV,2,DIV,0,IMG",
"type": "node",
"snippet": "<img src=\"\" alt=\"\" loading=\"lazy\" class=\"h-[210px] block max-w-full max-h-full object-cover\">",
"selector": "div.relative > div.relative > div.flex > img.h-[210px]",
"nodeLabel": "div.relative > div.relative > div.flex > img.h-[210px]",
"boundingRect": {
"top": 11647,
"left": 0,
"right": 412,
"width": 412,
"bottom": 11857,
"height": 210
}
}
}
],
"headings": [
{
"key": "node",
"label": "",
"valueType": "node"
},
{
"key": "url",
"label": "URL",
"valueType": "url"
}
]
}Source maps translate minified code to the original source code. This helps developers debug in production. In addition, Lighthouse is able to provide further insights. Consider deploying source maps to take advantage of these benefits. Learn more about source maps.
{
"type": "table",
"items": [
{
"subItems": {
"type": "subitems",
"items": [
{
"error": "Large JavaScript file is missing a source map"
}
]
},
"scriptUrl": "https://railway.com/assets/ScaleAndGrowAnimation-DySs9KdL.js"
},
{
"subItems": {
"type": "subitems",
"items": [
{
"error": "Large JavaScript file is missing a source map"
}
]
},
"scriptUrl": "https://railway.com/assets/modal-Bzr_UYzv.js"
},
{
"subItems": {
"type": "subitems",
"items": [
{
"error": "Large JavaScript file is missing a source map"
}
]
},
"scriptUrl": "https://railway.com/assets/main-D2KTMh0D.js"
},
{
"subItems": {
"type": "subitems",
"items": [
{
"error": "Large JavaScript file is missing a source map"
}
]
},
"scriptUrl": "https://railway.com/assets/EvolveAndCollaborateAnimation-BI5N3ctA.js"
},
{
"subItems": {
"type": "subitems",
"items": [
{
"error": "Error: Map has no `mappings` field"
}
]
},
"scriptUrl": "https://cmp.osano.com/qVHEV4lSSU/738deb1e-f024-459e-ae0a-2e6a0d461ea8/osano.js",
"sourceMapUrl": "https://cmp.osano.com/qVHEV4lSSU/738deb1e-f024-459e-ae0a-2e6a0d461ea8/osano.js.map"
},
{
"subItems": {
"type": "subitems",
"items": [
{
"error": "Error: Map has no `mappings` field"
}
]
},
"scriptUrl": "https://cmp.osano.com/qVHEV4lSSU/738deb1e-f024-459e-ae0a-2e6a0d461ea8/osano-ui.js",
"sourceMapUrl": "https://cmp.osano.com/qVHEV4lSSU/738deb1e-f024-459e-ae0a-2e6a0d461ea8/osano-ui.js.map"
}
],
"headings": [
{
"key": "scriptUrl",
"label": "URL",
"valueType": "url",
"subItemsHeading": {
"key": "error"
}
},
{
"key": "sourceMapUrl",
"label": "Map URL",
"valueType": "url"
}
]
}Low-contrast text is difficult or impossible for many users to read. Learn how to provide sufficient color contrast.
{
"type": "table",
"items": [
{
"node": {
"lhId": "1-0-DIV",
"path": "1,HTML,1,BODY,1,DIV,2,DIV,1,MAIN,1,DIV,4,SECTION,0,DIV,0,DIV,0,DIV,4,DIV,2,DIV,0,DIV,1,DIV",
"type": "node",
"snippet": "<div class=\"text-base leading-6 font-medium text-white\">",
"selector": "div.md:col-start-2 > div.flex > div.flex > div.text-base",
"nodeLabel": "Alternative to",
"explanation": "Fix any of the following:\n Element has insufficient color contrast of 3.81 (foreground color: #717077, background color: #13111c, font size: 12.0pt (16px), font weight: normal). Expected contrast ratio of 4.5:1",
"boundingRect": {
"top": 7313,
"left": 76,
"right": 178,
"width": 102,
"bottom": 7337,
"height": 24
}
},
"subItems": {
"type": "subitems",
"items": [
{
"relatedNode": {
"lhId": "1-1-DIV",
"path": "1,HTML,1,BODY,1,DIV,2,DIV,1,MAIN,1,DIV,4,SECTION,0,DIV",
"type": "node",
"snippet": "<div class=\"max-w-[1696px] mx-auto relative rounded-2xl overflow-clip bg-oatmeal\">",
"selector": "main > div.px-4 > section.relative > div.max-w-[1696px]",
"nodeLabel": "Evolve and collaborate\nFinally, a development workflow that actually flows.\n\nSp…",
"boundingRect": {
"top": 6028,
"left": 16,
"right": 396,
"width": 380,
"bottom": 7373,
"height": 1345
}
}
}
]
}
},
{
"node": {
"lhId": "1-2-DIV",
"path": "1,HTML,1,BODY,1,DIV,2,DIV,1,MAIN,2,SECTION,0,DIV,1,DIV,0,DIV,0,DIV,1,DIV,0,DIV,1,DIV,1,DIV",
"type": "node",
"snippet": "<div class=\"text-white/50\">",
"selector": "div.bg-white/5 > div.flex > div.text-sm > div.text-white/50",
"nodeLabel": "@PraveenTcom",
"explanation": "Fix any of the following:\n Element has insufficient color contrast of 3.4 (foreground color: #7c747b, background color: #2d212b, font size: 10.5pt (14px), font weight: normal). Expected contrast ratio of 4.5:1",
"boundingRect": {
"top": 9705,
"left": -64,
"right": 94,
"width": 157,
"bottom": 9725,
"height": 20
}
},
"subItems": {
"type": "subitems",
"items": [
{
"relatedNode": {
"lhId": "1-3-DIV",
"path": "1,HTML,1,BODY,1,DIV,2,DIV,1,MAIN,2,SECTION,0,DIV,1,DIV,0,DIV,0,DIV,1,DIV",
"type": "node",
"snippet": "<div class=\"bg-white/5 outline outline-1 outline-offset-[-1px] outline-white/25 rounde…\">",
"selector": "div.pb-20 > div.group > div.flex > div.bg-white/5",
"nodeLabel": "Praveen Thirumurugan\n@PraveenTcom\nInitial impressions on using @Railway is amaz…",
"boundingRect": {
"top": 9661,
"left": -140,
"right": 220,
"width": 360,
"bottom": 9907,
"height": 246
}
}
},
{
"relatedNode": {
"lhId": "1-4-DIV",
"path": "1,HTML,1,BODY,1,DIV,2,DIV,1,MAIN,2,SECTION,0,DIV",
"type": "node",
"snippet": "<div class=\"max-w-[1696px] mx-auto rounded-2xl overflow-hidden bg-[#55394f] dark:bg-[#…\">",
"selector": "div.secret-landing > main > section.px-4 > div.max-w-[1696px]",
"nodeLabel": "Trusted by the best in business\n\nRailway supports great software teams wherever…",
"boundingRect": {
"top": 7469,
"left": 16,
"right": 396,
"width": 380,
"bottom": 9987,
"height": 2518
}
}
}
]
}
},
{
"node": {
"lhId": "1-5-DIV",
"path": "1,HTML,1,BODY,1,DIV,2,DIV,1,MAIN,2,SECTION,0,DIV,1,DIV,0,DIV,0,DIV,2,DIV,0,DIV,1,DIV,1,DIV",
"type": "node",
"snippet": "<div class=\"text-white/50\">",
"selector": "div.bg-white/5 > div.flex > div.text-sm > div.text-white/50",
"nodeLabel": "@spanish_vanish",
"explanation": "Fix any of the following:\n Element has insufficient color contrast of 3.4 (foreground color: #7c747b, background color: #2d212b, font size: 10.5pt (14px), font weight: normal). Expected contrast ratio of 4.5:1",
"boundingRect": {
"top": 9705,
"left": 304,
"right": 417,
"width": 113,
"bottom": 9725,
"height": 20
}
},
"subItems": {
"type": "subitems",
"items": [
{
"relatedNode": {
"lhId": "1-6-DIV",
"path": "1,HTML,1,BODY,1,DIV,2,DIV,1,MAIN,2,SECTION,0,DIV,1,DIV,0,DIV,0,DIV,2,DIV",
"type": "node",
"snippet": "<div class=\"bg-white/5 outline outline-1 outline-offset-[-1px] outline-white/25 rounde…\">",
"selector": "div.pb-20 > div.group > div.flex > div.bg-white/5",
"nodeLabel": "Brib\n@spanish_vanish\nI'm super bullish for the @Railway. They just started with…",
"boundingRect": {
"top": 9661,
"left": 228,
"right": 588,
"width": 360,
"bottom": 9907,
"height": 246
}
}
},
{
"relatedNode": {
"lhId": "1-4-DIV",
"path": "1,HTML,1,BODY,1,DIV,2,DIV,1,MAIN,2,SECTION,0,DIV",
"type": "node",
"snippet": "<div class=\"max-w-[1696px] mx-auto rounded-2xl overflow-hidden bg-[#55394f] dark:bg-[#…\">",
"selector": "div.secret-landing > main > section.px-4 > div.max-w-[1696px]",
"nodeLabel": "Trusted by the best in business\n\nRailway supports great software teams wherever…",
"boundingRect": {
"top": 7469,
"left": 16,
"right": 396,
"width": 380,
"bottom": 9987,
"height": 2518
}
}
}
]
}
}
],
"headings": [
{
"key": "node",
"label": "Failing Elements",
"valueType": "node",
"subItemsHeading": {
"key": "relatedNode",
"valueType": "node"
}
}
],
"debugData": {
"tags": [
"cat.color",
"wcag2aa",
"wcag143",
"TTv5",
"TT13.c",
"EN-301-549",
"EN-9.1.4.3",
"ACT",
"RGAAv4",
"RGAA-3.2.1"
],
"type": "debugdata",
"impact": "serious"
}
}Total size was 3,679 KiB
Large network payloads cost users real money and are highly correlated with long load times. Learn how to reduce payload sizes.
{
"type": "table",
"items": [
{
"url": "https://railway.com/assets/modal-Bzr_UYzv.js",
"totalBytes": 500823
},
{
"url": "https://railway.com/",
"totalBytes": 360930
},
{
"url": "https://railway.com/secret-landing/build-and-deploy/maskgroup-forest.webp",
"totalBytes": 299915
},
{
"url": "https://railway.com/assets/main-D2KTMh0D.js",
"totalBytes": 199447
},
{
"url": "https://www.googletagmanager.com/gtag/js?id=AW-17509959674",
"totalBytes": 156031
},
{
"url": "https://railway.com/landing-2/trains/station-floor--light.svg",
"totalBytes": 150364
},
{
"url": "https://railway.com/assets/EvolveAndCollaborateAnimation-BI5N3ctA.js",
"totalBytes": 140190
},
{
"url": "https://railway.com/assets/ScaleAndGrowAnimation-DySs9KdL.js",
"totalBytes": 118201
},
{
"url": "https://railway.com/assets/BuildAndDeployAnimation-Djv3peX4.js",
"totalBytes": 95406
},
{
"url": "https://railway.com/secret-landing/hero/bg-train-dusk-960.webp",
"totalBytes": 94246
}
],
"headings": [
{
"key": "url",
"label": "URL",
"valueType": "url"
},
{
"key": "totalBytes",
"label": "Transfer Size",
"valueType": "bytes"
}
],
"sortedBy": [
"totalBytes"
]
}Est savings of 51 KiB
Reduce unused rules from stylesheets and defer CSS not used for above-the-fold content to decrease bytes consumed by network activity. Learn how to reduce unused CSS.
{
"type": "opportunity",
"items": [
{
"url": "https://railway.com/assets/globals-BaWOyD57.css",
"totalBytes": 55906,
"wastedBytes": 51867,
"wastedPercent": 92.77454172928003
}
],
"headings": [
{
"key": "url",
"label": "URL",
"valueType": "url"
},
{
"key": "totalBytes",
"label": "Transfer Size",
"valueType": "bytes"
},
{
"key": "wastedBytes",
"label": "Est Savings",
"valueType": "bytes"
}
],
"sortedBy": [
"wastedBytes"
],
"debugData": {
"type": "debugdata",
"metricSavings": {
"FCP": 0,
"LCP": 0
}
},
"overallSavingsMs": 0,
"overallSavingsBytes": 51867
}{
"finalUrl": "https://railway.com/",
"userAgent": "Mozilla/5.0 (X11; Linux x86_64) AppleWebKit/537.36 (KHTML, like Gecko) HeadlessChrome/151.0.0.0 Safari/537.36",
"formFactor": "mobile",
"throttlingMethod": "simulate",
"throttling": {
"rttMs": 150,
"throughputKbps": 1638.4,
"requestLatencyMs": 562.5,
"uploadThroughputKbps": 675,
"cpuSlowdownMultiplier": 4,
"downloadThroughputKbps": 1474.5600000000002
},
"metrics": [
{
"id": "largest-contentful-paint",
"unit": "millisecond",
"value": 5376.0655
},
{
"id": "cumulative-layout-shift",
"unit": "unitless",
"value": 0.2332928311057108
},
{
"id": "total-blocking-time",
"unit": "millisecond",
"value": 3422.5335000000014
},
{
"id": "first-contentful-paint",
"unit": "millisecond",
"value": 4784.832
},
{
"id": "speed-index",
"unit": "millisecond",
"value": 11845.895371657523
}
]
}01 / 值得借鉴
主标题采用 IBM Plex Serif 衬线体,搭配深邃的紫黑底色(#13111c)与星空云层插画,营造出在开发者基础设施领域少有的静谧与克制美感。
在移动端视口中,Tripadvisor、Cognizant、Mercado Libre 和 Automattic 等头部客户 Logo 紧随首屏行动按钮以 2x3 细线网格呈现,在进入细节模块前迅速建立品牌信任。
02 / 下一步
当动态计数器未水合或加载滞后时,页面会直接显示 '0+ deploys per month' 和 'Users 0000000',极易给访问者留下平台无流量或功能损坏的错误印象。
在服务端渲染的静态 HTML 中植入合理的保底数值(如最近的实际里程碑数字),确保搜索引擎爬虫、未执行脚本的用户以及水合前的首屏都能展现真实的企业级规模。
连续 5 个核心功能板块均采用完全相同的 'Learn more →' 锚点文字,既错失了表达具体产品价值的机会,也影响了无障碍阅读体验。
将各功能板块的链接文案更新为对应内容,如'探索可视化画布 →'、'查看网络架构文档 →'、'了解自动扩缩容 →'。验证每个链接在无障碍树中具有唯一名称。
03 / 设计语言
背景
#13111c文字
#ffffff强调
#553f83表达也可以更准确
0+ deploys per month (and counting)
Millions of deploys per month (and counting)
避免在动态遥测计数加载中或不可用时直接向用户暴露 0 这种空指标。04 / 检查依据
逐项查看观察、建议与采集记录。
三张一模一样的卡片横排,是生成器默认的功能区块。它在说话的是布局,不是立场。
拆掉这三列。改成两列、列表,或只突出一项。不要把同一张卡复制三次。
grid-cols-3 with repeating cards
没有 alt,读屏到这里就断了,搜索也会减分。装饰图可以 alt="",内容图不行。
产品和照片写短 alt。纯装饰才用空 alt。
29 images without alt
标签、分享卡、首屏各说各的,访客就记不住这是同一个产品。
让 title、og:title 和 H1 共用同一个名词。
title="Railway | The all-in-one intelligent cloud provider" h1="Ship software peacefully"
原始 DOM 中包含类似 'Users 0000000, Services 000000000' 的占位字符,在网络较慢或脚本阻塞时会直接暴露给用户,削弱开发者对平台技术实力的信任。
在 HTML 模板中预先渲染缓存的聚合统计数据,随后在此基础上水合更新,而不是将数字默认值设为 0。
Users 0000000, Services 000000000, Deployments 000000000, Requests 00000000000000, Logs 00000000000000
5 个各具特色的架构功能板块全部使用相同的 'Learn more →',在移动端长滚动过程中无法激发针对特定功能的点击欲望。
为每个功能板块分配专属的行动文案,并通过无障碍审查确保链接文本指向清晰独立。
Learn more → -> /features#build-and-deploy
没有 Strict-Transport-Security,第一次访问仍可能被降到 http。浏览器不会钉死 HTTPS。
在边缘设置 Strict-Transport-Security: max-age=31536000; includeSubDomains。
strict-transport-security missing
首包超过 350 KB,多半是内联垃圾:整份 CSS、JSON,或整个应用。手机还没看到标题就已经在付钱。
把 CSS 和数据移出文档。首包 HTML 控制在 200 KB 以内。
352 KB HTML
没有 nosniff,浏览器可能按错误类型解释文件。这是一行响应头。
设置 X-Content-Type-Options: nosniff。
x-content-type-options missing
默认 referrer 可能把站内路径和查询串漏给第三方。
设置 Referrer-Policy: strict-origin-when-cross-origin。
referrer-policy missing

Railway is a full-stack cloud for deploying web apps, servers, databases, and more with automatic scaling, monitoring, and security.
05 / 开始动手
优化指令用于调整这个页面;设计指令用于借鉴它的视觉语言。「做同款」会附带截图与实施步骤。复制后粘贴到你的代码助手中。
修复 Railway 落地页上的遥测计数器水合问题及重复的功能锚点文案。在用量统计模块中,将初始回退的纯零字符('0+ deploys per month'、'Users 0000000')替换为合理的服务端预渲染基线数字或里程碑缓存值,确保水合前页面依然具备可信度。随后检查指向 /features#* 锚点的 5 个功能卡片,将通用的 'Learn more →' 改为对应具体业务场景的描述性文案(如可视化画布、零配置网络、横向扩缩容、统一监控日志与 PR 预览环境)。保持 #13111c 深色背景、IBM Plex Serif 标题字体、8px 按钮圆角及既有色彩体系不变。