피드로 돌아가기
Building an OG Previewer: Per-Platform Fallback Chains
Dev.toDev.to
Backend

분기문 제거와 데이터 중심 Fallback Chain 설계를 통한 플랫폼별 OG 렌더링 최적화

Building an OG Previewer: Per-Platform Fallback Chains

Mehul Jain2026년 6월 4일7intermediate

Context

플랫폼마다 서로 다른 Open Graph 태그 해석 규칙으로 인해 단순 태그 추출 방식의 프리뷰어는 실제 렌더링 결과와 불일치 발생. 태그 존재 여부와 실제 이미지 도달 가능성 사이의 간극 및 플랫폼별 상이한 Fallback 전략이 시스템의 핵심 병목 지점으로 작용.

Technical Solution

  • 하드코딩된 분기 로직을 제거하고 플랫폼별 우선순위를 정의한 Ordered List 기반의 Fallback Chain 데이터 구조 도입
  • page: 접두사를 활용해 메타 태그와 페이지 레벨 기본값(title, description)을 동일한 리스트 내에서 처리하는 범용 Resolver 설계
  • 단순 태그 존재 확인을 넘어 Server-side HEAD request(5초 timeout)를 통한 이미지 Reachability 검증 로직 구현
  • Relative URL, CDN hotlink block, Redirect 등 렌더링 실패를 유발하는 네트워크 레벨의 예외 케이스를 식별하는 검증 프로세스 구축
  • CMS 특성에 따른 태그 위치 변동성 대응을 위해 HTML spec보다 실제 Crawler의 동작 방식을 우선하는 Lenient Parsing 전략 채택
  • 태그 누락의 심각도에 따라 Critical Error(카드 렌더링 불가)와 Warning(기본 레이아웃 적용)으로 구분하는 Severity Model 적용

1. 소비자별 상이한 요구사항을 if-else 분기로 처리하기 전, 이를 데이터(Table/List)로 추상화할 수 있는지 검토할 것

2. 외부 리소스의 유효성은 Markup 존재 여부가 아닌 실제 HTTP 응답 상태와 Reachability로 검증할 것

3. 엄격한 스펙 준수보다 실제 타겟 시스템(Crawler 등)의 관대함(Lenience)을 모델링하여 실효성 있는 예측치를 제공할 것

원문 읽기