Skip to content

[FEAT] OG 이미지 메타데이터 설정#249

Open
kimminna wants to merge 1 commit into
developfrom
feat/web/248-og-image-metadata
Open

[FEAT] OG 이미지 메타데이터 설정#249
kimminna wants to merge 1 commit into
developfrom
feat/web/248-og-image-metadata

Conversation

@kimminna

Copy link
Copy Markdown
Member

ISSUE 🔗

close #248



What is this PR? 🔍

카카오톡/슬랙/트위터 등에 링크를 공유했을 때 OG 이미지가 노출되도록 메타데이터를 설정했습니다.

배경

  • 기존 구조: public/og.png는 이미 저장소에 추가되어 있었지만 generateMetadataopenGraph/twitter 블록에는 images 필드가 없었습니다.
  • 발생 문제: 링크를 공유해도 이미지 없이 제목/설명 텍스트만 노출됐습니다.
  • 해결 방향: metadataBase(https://timo.kr)가 이미 설정되어 있어, 절대 URL 없이 /og.png 상대 경로만 추가하면 됩니다.

OG / Twitter 메타데이터

  • 변경 요약: openGraph.imagestwitter.images/og.png를 연결하고, twitter 카드 타입을 summary에서 summary_large_image로 바꿨습니다.
  • 이유: summary는 정사각형 썸네일용 카드라 큰 배너 이미지에는 summary_large_image가 맞는 카드 타입입니다.
  • 구현 방식: openGraph.images{ url, width, height, alt } 객체 배열로, 실제 og.png 파일의 픽셀 크기(4800×2520, 1.91:1 비율)를 그대로 명시했습니다. alt는 기존 title 값을 재사용했습니다.
  • 경계 · 제약: 없음.



To Reviewers

이미지 크기(4800×2520, 437KB)가 일반적인 OG 권장 사이즈(1200×630)보다 4배 큽니다. 화면에는 항상 축소되어 노출되므로 기능상 문제는 없지만, 로딩 크기를 줄이고 싶으면 리사이즈된 원본으로 교체하는 것도 고려해볼 수 있습니다.



Screenshot 📷



Test Checklist ✔

  • pnpm check-types 통과
  • pnpm lint 통과
  • 카카오톡/슬랙 링크 공유 프리뷰에서 이미지 노출 확인 — 미실행: 배포 후 확인 필요

- public/og.png를 openGraph.images와 twitter.images에 연결했습니다
- twitter 카드 타입을 summary에서 summary_large_image로 변경했습니다
@vercel

vercel Bot commented Jul 15, 2026

Copy link
Copy Markdown

The latest updates on your projects. Learn more about Vercel for GitHub.

Project Deployment Actions Updated (UTC)
timo Ready Ready Preview, Comment Jul 15, 2026 8:16pm

Request Review

@github-actions github-actions Bot requested review from ehye1 and jjangminii July 15, 2026 20:15
@github-actions github-actions Bot added the ⏰ Timo-web Timo 웹 서비스 label Jul 15, 2026
@coderabbitai

coderabbitai Bot commented Jul 15, 2026

Copy link
Copy Markdown

Warning

Review limit reached

@kimminna, you've reached your PR review limit, so we couldn't start this review.

Next review available in: 48 minutes

Enable usage-based reviews in Billing to review now. Otherwise, wait until the next included review is available.
You're only billed for reviews past your plan's rate limits ($0.25/file).

How can I continue?

After more reviews become available, a review can be triggered using the @coderabbitai review command as a PR comment. Alternatively, push new commits to this PR.

To avoid repeated limits, reduce automatic review volume by pausing incremental auto-reviews earlier, using label-based review opt-in, excluding WIP or generated PR titles, or requesting reviews manually when the PR is ready. If your team needs uninterrupted high-volume reviews, an organization admin can enable usage-based reviews.

How do review limits work?

CodeRabbit enforces per-developer PR review limits for each organization. Most developers receive the normal plan review availability.

For paid Pro and Pro+ PR reviews, CodeRabbit uses adaptive limits for sustained high-volume activity. When a developer's recent PR review activity reaches the 95th percentile or higher among CodeRabbit users, additional reviews become available more gradually as earlier reviews age out of the rolling window.

Please refer docs for additional details.

Review details
⚙️ Run configuration

Configuration used: Path: .coderabbit.yaml

Review profile: ASSERTIVE

Plan: Pro Plus

Run ID: d3d64c00-8a7d-4d30-aa6b-71f87b477be5

📥 Commits

Reviewing files that changed from the base of the PR and between dd18e8a and f5e9608.

⛔ Files ignored due to path filters (1)
  • apps/timo-web/public/og.png is excluded by !**/*.png
📒 Files selected for processing (1)
  • apps/timo-web/app/[locale]/layout.tsx
✨ Finishing Touches
🧪 Generate unit tests (beta)
  • Create PR with unit tests
  • Commit unit tests in branch feat/web/248-og-image-metadata

Thanks for using CodeRabbit! It's free for OSS, and your support helps us grow. If you like it, consider giving us a shout-out.

❤️ Share

Comment @coderabbitai help to get the list of available commands.

@github-actions github-actions Bot added ✨ Feature 새로운 기능(기능성) 구현 ♦️ 민아 민아상 labels Jul 15, 2026
@github-actions

Copy link
Copy Markdown

Timo Performance Report

Bundle Size — timo-web
라우트 크기 First Load JS
/[locale]/home 211.32 kB 🔴 417.18 kB
/[locale]/today 195.43 kB 🔴 401.29 kB
/[locale]/focus 160.58 kB 🔴 366.43 kB
/[locale]/settings 167.12 kB 🔴 372.97 kB
/[locale]/statistics 233.44 kB 🔴 439.30 kB
/[locale]/[...rest] 0 B 🟡 205.86 kB
/[locale]/login 212.96 kB 🔴 418.82 kB
/[locale]/oauth/callback 119.66 kB 🟡 325.51 kB
/[locale]/onboarding 233.42 kB 🔴 439.27 kB
/[locale] 118.97 kB 🟡 324.83 kB
/[locale]/policy 125.09 kB 🟡 330.95 kB

공유 번들: 205.86 kB
🟢 < 200kB  |  🟡 < 350kB  |  🔴 ≥ 350kB (First Load JS · gzip)

Lighthouse — timo-web
URL Perf A11y LCP CLS TBT
/en/home 🔴 60 🟢 95 🔴 15.7s 🟢 0.000 🟡 559ms
/en/today 🔴 61 🟢 95 🔴 15.5s 🟢 0.000 🟡 531ms
/en/focus 🔴 58 🟢 95 🔴 15.2s 🟢 0.000 🔴 661ms
/en/statistics 🔴 59 🟢 95 🔴 15.2s 🟢 0.000 🟡 597ms

Perf ≥ 70 / A11y ≥ 85 목표
LCP 🟢 < 2.5s 🟡 < 4s 🔴 ≥ 4s  |  CLS 🟢 < 0.1 🟡 < 0.25 🔴 ≥ 0.25  |  TBT 🟢 < 200ms 🟡 < 600ms 🔴 ≥ 600ms

Image Optimization — timo-web
파일 크기 포맷 상태
favicon.png 27.84 kB PNG ⚠️ 🟢
images/google-calendar.png 36.20 kB PNG ⚠️ 🟢
images/google-logo.png 26.79 kB PNG ⚠️ 🟢
og.png 437.44 kB PNG ⚠️ 🟡

총 4개 · 528.28 kB  |  🟢 < 200KB  |  🟡 < 500KB  |  🔴 ≥ 500KB
⚠️ 4개 파일 WebP/AVIF 변환 권장

측정 커밋: 118e679

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

✨ Feature 새로운 기능(기능성) 구현 ⏰ Timo-web Timo 웹 서비스 ♦️ 민아 민아상

Projects

None yet

Development

Successfully merging this pull request may close these issues.

[FEAT] OG 이미지 메타데이터 설정

1 participant