구글 JSON-LD 파싱 방식 변경, 스키마 깨졌다면 이것부터
구글이 JSON-LD 구조화 데이터의 HTML 이스케이프 처리 방식을 한 번만 적용하도록 바꿨습니다. 리치 결과가 깨졌다면 이중 이스케이프부터 확인하세요.
결론부터 말하면 이렇다. 구글이 2026년 8월 구글봇의 JSON-LD 구조화 데이터 처리 방식을 바꿔, HTML 이스케이프 문자를 한 번만(single-pass) 풀어서 해석하도록 했다. 예전에는 "처럼 이중으로 이스케이프된 값도 알아서 두 번 풀어 정상 인식했지만, 이제는 한 번만 풀기 때문에 이런 표기에 기대고 있던 사이트는 리치 결과가 갑자기 사라지거나 깨질 수 있다. 구글의 게리 일리예스가 JSON 표준 규격인 RFC 8259 7절을 근거로 직접 밝힌 내용이다.
오래된 CMS 템플릿이나 자동화 플러그인으로 구조화 데이터를 만들고 있다면 지금 점검해 볼 만하다. 무엇이 바뀌었는지, 내 사이트가 영향받는지 확인하는 법, 흔한 실수를 고치는 법을 짧게 정리한다.
정확히 무엇이 바뀌었나
구글봇이 JSON-LD 값 안의 HTML 이스케이프 문자를 풀어주는 횟수가 두 번에서 한 번으로 줄었다. 예전에는 "처럼 이스케이프가 중첩된 값도 구글이 두 번 풀어 정상적인 따옴표(")로 인식해 줬다. 이제는 한 번만 풀기 때문에, 이중으로 이스케이프된 값은 " 같은 깨진 문자열 그대로 남는다.
| 구분 | 기존(이중 언이스케이핑) | 현재(단일 패스) |
|---|---|---|
" 처리 |
두 번 풀어 " 로 인식 |
한 번만 풀려 " 그대로 남음 |
& 처리 |
두 번 풀어 & 로 인식 |
한 번만 풀려 & 그대로 남음 |
| 표준 준수 | RFC 8259 규격과 불일치 | RFC 8259 7절과 일치 |
| 권장 표기 | HTML 엔티티 중첩도 그럭저럭 인식됨 | \", & 같은 JSON 표준 이스케이프 |
구글이 바꾼 것은 태그나 스키마 자체가 아니라 JSON 문자열을 해석하는 파싱 규칙이다. 정상적으로 이스케이프된 JSON-LD는 이번 변경과 무관하다.
내 사이트가 영향받는지 어떻게 확인하나
가장 빠른 방법은 구글 리치 결과 테스트에 해당 페이지 URL을 넣어보는 것이다. 결과 화면에서 상품명, 리뷰 본문, 회사명처럼 텍스트 값을 담는 필드에 &, " 같은 문자가 그대로 노출되는지 확인한다. 정상이라면 따옴표나 앰퍼샌드가 깔끔하게 보여야 한다.
페이지 소스에서 직접 확인하는 방법도 있다. view-source: 로 페이지를 열어 application/ld+json 스크립트 블록을 찾은 뒤, 값 안에 &나 "처럼 앰퍼샌드가 두 번 겹친 표기가 있는지 눈으로 살핀다. 이런 중첩 표기가 보인다면 이번 변경의 영향을 받을 가능성이 크다.
워드프레스 같은 CMS를 쓴다면 SEO 플러그인이나 커스텀 코드가 이미 HTML 이스케이프된 문자열을 다시 JSON으로 감싸는 구조인지부터 의심해야 한다. 값을 화면에 표시할 때 쓰던 이스케이프 처리 함수를 그대로 JSON-LD 생성에도 재사용하는 경우 이런 문제가 자주 생긴다.
지금 무엇을 고쳐야 하나
해결책은 HTML 이스케이프와 JSON 이스케이프를 섞어 쓰지 않는 것이다. JSON-LD에 들어가는 문자열은 원본 그대로(이스케이프하지 않은 값)를 JSON.stringify 같은 JSON 표준 직렬화 함수에 넣어야 한다. 그러면 따옴표는 \", 앰퍼샌드가 필요한 경우는 & 형태로 자동 변환되어 이번 변경과 무관하게 항상 정상 인식된다.
- 템플릿 엔진의 자동 이스케이프 기능을 JSON-LD 블록에는 끄거나 우회한다. 화면 출력용으로 이미 이스케이프된 값을 그대로 JSON 변수에 넣지 않는다.
- HTML 엔티티(
&,"등)를 JSON-LD 값 안에 직접 입력하지 않는다. 원본 문자(&,")를 그대로 넣고, 직렬화 함수가 이스케이프를 처리하게 둔다. - 수정 후에는 반드시 리치 결과 테스트로 재검증한다. 값이 깨끗하게 표시되면 정상이다.
플러그인이나 API가 자동으로 JSON을 생성해 준다면 대부분 이 표준을 이미 따르고 있어 손댈 필요가 없다. 문제는 대개 값을 수동으로 문자열 결합해 JSON-LD를 직접 만든 코드에서 생긴다.
이번 기회에 구조화 데이터 전반을 점검하고 싶다면 JSON-LD란 무엇인가와 리치 결과 테스트 사용법을 함께 참고하면 도움이 된다. 크롤러와 인덱서가 JSON-LD를 각각 어떻게 처리하는지는 구글봇과 인덱서의 역할 차이에서 더 자세히 다뤘다.
리치 결과가 갑자기 사라지거나 스키마 오류가 늘었다면 원인을 정확히 짚어드리겠습니다. 이루웹의 SEO 컨설팅에서 구조화 데이터 점검과 수정까지 함께 도와드리고 있으니, 무료 상담으로 현재 상태를 편하게 확인해 보시기 바랍니다.
함께 보면 좋은 글
전체 보기구글 비디오 스키마에 '크리에이터' 속성 추가됐다
구글이 VideoObject 구조화 데이터에 creator·interactionStatistic 속성을 공식 문서화했습니다. 무엇이 달라졌고 왜 지금 넣어야 하는지 정리합니다.
7분 분량리치 결과 테스트로 구조화 데이터 오류 잡는 법
구글 리치 결과 테스트 도구 사용법과 자주 나오는 오류 유형, 서치 콘솔 향상 기능 보고서와 연계해 확인하는 방법을 예시로 정리했습니다.
25분 분량페이지네이션 vs 무한스크롤, 색인엔 뭐가 유리할까
블로그·상품 목록에서 페이지네이션과 무한스크롤 중 구글 크롤링에 유리한 쪽과, 무한스크롤 SEO 손해를 줄이는 실전 구현법을 정리했습니다.
5분 분량구글 hreflang 예시, 왜 대문자로 바뀌었나
구글이 국제화 문서의 hreflang 예시를 소문자에서 대문자로 바꿨습니다. 실제 랭킹에 영향이 있는지, 지금 무엇을 확인해야 하는지 정리했습니다.
5분 분량