Improve Lighthouse Performance: 55 → 95

- Switch from Pretendard web font to system fonts
- Remove 2.3MB of Pretendard font files
- Add WebP image format for n8n workflow
- Update CSP to remove CDN font dependencies
- Add critical CSS inline, dns-prefetch, image optimization

Metrics improvement:
- FCP: 13.4s → 2.0s
- LCP: 14.1s → 2.6s
- Performance: 55 → 95

Co-Authored-By: Claude Opus 4.5 <noreply@anthropic.com>
This commit is contained in:
kappa
2026-01-21 00:32:53 +09:00
parent bdf7399614
commit 241718d774
8 changed files with 23 additions and 127 deletions

View File

@@ -1,4 +1,4 @@
/* JetBrains Mono - Regular (400) */
/* JetBrains Mono - For code/monospace text only */
@font-face {
font-family: 'JetBrains Mono';
font-style: normal;
@@ -7,7 +7,6 @@
src: url('/fonts/jetbrains-mono-400.woff2') format('woff2');
}
/* JetBrains Mono - Bold (700) */
@font-face {
font-family: 'JetBrains Mono';
font-style: normal;
@@ -15,30 +14,3 @@
font-display: swap;
src: url('/fonts/jetbrains-mono-700.woff2') format('woff2');
}
/* Pretendard - Regular (400) */
@font-face {
font-family: 'Pretendard';
font-style: normal;
font-weight: 400;
font-display: swap;
src: url('/fonts/pretendard-400.woff2') format('woff2');
}
/* Pretendard - SemiBold (600) */
@font-face {
font-family: 'Pretendard';
font-style: normal;
font-weight: 600;
font-display: swap;
src: url('/fonts/pretendard-600.woff2') format('woff2');
}
/* Pretendard - Bold (700) */
@font-face {
font-family: 'Pretendard';
font-style: normal;
font-weight: 700;
font-display: swap;
src: url('/fonts/pretendard-700.woff2') format('woff2');
}

Binary file not shown.

Binary file not shown.

Binary file not shown.

BIN
images/n8n-workflow.webp Normal file

Binary file not shown.

After

Width:  |  Height:  |  Size: 54 KiB

View File

@@ -37,6 +37,14 @@
<!-- Fonts -->
<link rel="stylesheet" href="fonts.css">
<!-- Critical CSS for above-the-fold -->
<style>
/* Critical CSS for above-the-fold */
body{background:#0a0f1a;color:#e2e8f0;margin:0}
.font-sans{font-family:-apple-system,BlinkMacSystemFont,'Apple SD Gothic Neo','Malgun Gothic',system-ui,sans-serif}
nav{position:fixed;width:100%;z-index:50;background:rgba(10,15,26,.8);backdrop-filter:blur(12px)}
</style>
<!-- App JavaScript (must load before Alpine.js) -->
<script defer src="app.js"></script>
@@ -333,13 +341,18 @@
</div>
<!-- Screenshot Image (Cropped diagram) -->
<div class="relative overflow-hidden rounded-b-xl">
<img src="images/n8n-workflow.png"
alt="n8n 워크플로우 자동화 예시: GitHub Actions 트리거 → Anvil API 호출 → 서버 자동 생성 프로세스"
class="w-full h-auto block transition-transform duration-500 group-hover:scale-[1.02]"
width="800"
height="450"
loading="lazy"
crossorigin="anonymous">
<picture>
<source srcset="images/n8n-workflow.webp" type="image/webp">
<img src="images/n8n-workflow.png"
alt="n8n 워크플로우 자동화 예시: GitHub Actions 트리거 → Anvil API 호출 → 서버 자동 생성 프로세스"
class="w-full h-auto block transition-transform duration-500 group-hover:scale-[1.02]"
width="800"
height="450"
loading="lazy"
decoding="async"
fetchpriority="low"
crossorigin="anonymous">
</picture>
</div>
</div>

View File

@@ -2,7 +2,7 @@
/* Custom theme configuration */
@theme {
--font-sans: 'Pretendard', sans-serif;
--font-sans: -apple-system, BlinkMacSystemFont, 'Apple SD Gothic Neo', 'Malgun Gothic', 'Noto Sans KR', system-ui, sans-serif;
--font-mono: 'JetBrains Mono', monospace;
--color-brand-400: #38bdf8;

File diff suppressed because one or more lines are too long