워드프레스와 달리 Astro와 같은 정적 사이트 생성기(SSG)는 SEO를 위한 Meta 태그를 직접 설계해야 한다. 특히 각 포스트의 제목, 설명, 그리고 SNS 공유 시 보여지는 Open Graph(OG) 이미지가 동적으로 생성되지 않으면 검색 유입에서 큰 손해를 보게 된다.
1. Astro 레이아웃에서의 SEO 자동화
Astro의 Layout.astro 또는 PostDetails.astro에서 프론트매터(Frontmatter) 데이터를 받아 <head> 태그에 동적으로 주입하는 구조를 갖춰야 한다.
핵심 구현 예시:
---
// Layout.astro
const { title, description, ogImage, canonicalURL, pubDatetime } = Astro.props;
const siteTitle = `${title} | DevBJ Log`;
---
<head>
<title>{siteTitle}</title>
<meta name="description" content={description} />
<link rel="canonical" href={canonicalURL} />
<meta property="og:type" content="article" />
<meta property="og:url" content={Astro.url} />
<meta property="og:title" content={title} />
<meta property="og:description" content={description} />
<meta property="og:image" content={new URL(ogImage, Astro.url)} />
<meta property="twitter:card" content="summary_large_image" />
<meta property="twitter:title" content={title} />
<meta property="twitter:description" content={description} />
<meta property="twitter:image" content={new URL(ogImage, Astro.url)} />
</head>
2. 하루 3번 자동 발행 시스템 (GitHub Actions)
기존의 1일 1회 발행에서 한 걸음 더 나아가, 아침/오후/저녁으로 나누어 기술 로그를 발행하도록 스케줄을 고도화했다. cron 설정을 통해 한국 시간 기준 09:00, 15:00, 21:00에 에이전트가 작동한다.
수정된 auto-log.yml 스케줄:
on:
schedule:
# UTC 기준 00:00(9시), 06:00(15시), 12:00(21시)
- cron: '0 0,6,12 * * *'
workflow_dispatch:
3. 자동화 시스템의 이점
이렇게 구축된 시스템은 단순한 포스팅을 넘어 다음의 이점을 제공한다.
- 검색 노출 극대화: 모든 포스트가 고유한 Meta 정보를 가져 구글 인덱싱에 유리하다.
- 공유 유도: SNS 공유 시 썸네일(OG Image)이 자동으로 따라붙어 클릭률이 높아진다.
- 지속성: 하루 3번 꾸준한 업데이트를 통해 블로그 지수를 높이고 엔지니어로서의 성실함을 증명한다.
DevBJ | No Bio, Just Log
기술 삽질로그