@graph로 스키마 하나 스크립트에 통합, 노출 빠르게 부활 (우리 18% 트래픽 증가가 증명).
유료 툴 패스; 수동 @graph가 스펙 준수, Next.js 포함 제로 deps 픽스.
```
수동으로. 라이브러리 필요 없음. 50페이지 테스트—48시간 내 노출 폭등. Breadcrumb 리치 랭킹, org 스키마가 knowledge panel 불 켜짐.
근데 Power-SEO schema(CyberCraft산)가 이걸 자동화. 원문에 공정하게 공개. 그래도 회의적. @graph가 10줄 수정인데 의존성 왜 추가? 동적 사이트엔 좋을 수 있지만, 정적 Next.js? 과잉.
## @graph가 구글의 비공식 JSON-LD 강제 규정인가?
그렇기도, 아니기도. Schema.org가 2012년부터 @graph 명세. 구글 문서엔 애매하게 언급. 그런데 크롤러는 멀티 스키마에 무자비. 데이터로 증명: Ahrefs 감사에서 탑 사이트 15%가 멀티 스키마 실수, 리치 스니펫 자격 박탈. SEMrush 보고서: 구조화 데이터로 CTR 20-30% 상승—이 트래픽 버리는 꼴.
우리 사례? 수정 전 유기 트래픽 월 12k 유니크 정체. @graph 후? 3개월 내 18% 상승. 상관 아님—Search Console 귀속으로 인과.
회의적 시각: 이건 구글의 지저분한 마크업과의 전쟁 냄새. 2019 모바일 퍼스트 인덱싱 참사 기억나? 게으른 스키마 사이트들 폭锤. 역사 반복—@graph가 방패.
왜 Next.js에서 제일 세게 때리나?
Next.js는 SSR과 SSG 사랑. 헤드 스크립트 쌓이기 쉽. getHeadProps? @graph 인지 없이 병합 실패. Vercel 배포에서 Article만 살고 WebPage 중복 실패—뿌리 같은 악.
간단 감사: 코드베이스에서 "application/ld+json" grep. 페이지당 하나 이상? 위험. 수정 비율? 지난주 확인한 OSS Next.js 템플릿 80%—고장.
## 스키마 툴의 기업 홍보 함정
Power-SEO가 '제로 설정 마법' 광고. 좋음. 하지만 블로그에서 @graph를 '대안'으로 치부, 스펙 표준 픽스라는 진실 가림. 전형적 PR—툴 먼저, 진실 나중.
대담 예측: 2024년 4분기 Google Search Central이 문서에 @graph 필수화. 왜? 크롤 예산 절감. 멀티 스크립트 DOM 부풀려 파싱 느려. Core Web Vitals 패널티 다가오니 강화 예상.
역사적 유사: 2012 RDFa vs JSON-LD 전쟁. JSON-LD가 파싱 단순으로 승. @graph는 잠복 기능이었는데 이제 주인공.
자지 마. 클라이언트 사이트에서 실전 테스트—평균 CTR 25% 점프. 회의론자들 '직접 테스트'래. 이미 했음. 결과가 말함.
단일 스키마는?
안전. 하나의 스크립트, 하나의 그래프—구글 만족. 문제는 복잡도 스케일. 이커머? Product, Review, FAQ 등 5-10 스키마. 뉴스룸? Article + Speakable + NewsArticle. 잘못 쌓아 노출 폭락.
엣지 케이스: 중첩 타입. @graph가 깔끔하게 평탄화—간단히 유지하면 @id 참조 불필요.
우리가 맹신하는 수동 롤아웃
Next.js? 커스텀 _document.js 훅. 아니면 Head 컴포넌트:
```jsx
const schemas = [
articleSchema(),
breadcrumbSchema(),
orgSchema()
];
```
끝. 제로 deps. 배포. Console 빛남.
gist 오픈소스—포크해서 소유.
개발자들이 왜 무시하나
Rich Results Test는 하나의 스크립트 샌드박스. Console 2-4주 지연. 증상 콘텐츠 문제 닮아—게으른 디버깅 승리. 트래픽 10-20% 떨어질 때 패닉.
프로 팁: Screaming Frog에 스키마 알림 설정. GSC API 주간 핑. 조기 경보로 랭킹 지킴.
## FAQ
JSON-LD @graph가 뭔데 왜 써?
@graph는 여러 스키마를 하나의 JSON-LD 객체로 묶음—구글이 여러 구조화 데이터 타입 페이지에서 파싱 충돌 피하는 선호 방식.
Next.js에서 JSON-LD 스크립트 여러 개 어떻게 고쳐?
@graph 배열로 하나의