긁?

판별 결과 페이지 구조화 데이터, 2026년에 다시 손본 이유

기술 · 2026-09-10 · 긁? 팀

판별 결과 페이지가 검색에 전혀 안 잡힌다는 문의를 받고 렌더링과 구조화 데이터를 다시 점검한 과정입니다.

사용자 한 분이 판별 결과 링크를 지인에게 카톡으로 보냈는데, 정작 그 결과를 검색창에 검색해도 아무것도 안 나온다는 문의를 남겼습니다. 결과 페이지 URL은 분명히 살아 있고 브라우저로 열면 점수와 이미지가 잘 보이는데, 수집기 입장에서는 그 페이지가 존재하지 않는 것처럼 읽힌다는 뜻이었습니다. 판별 결과 페이지 구조화 데이터를 처음부터 다시 들여다본 건 이 문의 때문이었습니다. 페이지는 있는데 색인은 없다는 게 정확히 무슨 상황인지부터 확인해야 했습니다.

문제

페이지 소스를 직접 열어보니 원인이 하나가 아니라 세 가지가 겹쳐 있었습니다.

세 문제가 각자 독립적으로 작동해서, 하나를 고쳐도 나머지 둘 때문에 여전히 색인이 안 되는 상황이 이어졌습니다.

시도한 방법

처음에는 가장 손대기 쉬운 부분부터 건드렸습니다. 페이지 제목만 결과값에 맞춰 동적으로 바꾸면 되겠다고 생각해서, 자바스크립트가 실행된 뒤 document.title을 결과에 맞게 다시 써넣는 방식으로 고쳤습니다. 브라우저로 확인하면 제목이 결과마다 다르게 잘 바뀌었습니다.

그런데 이 방식은 근본적인 문제를 건드리지 못했습니다. 수집기는 자바스크립트를 끝까지 기다려주지 않는 경우가 있고, 설령 실행된다 해도 처음 받는 HTML 응답 자체에는 여전히 똑같은 제목이 박혀 있었습니다. 제목을 바꾼 시점이 이미 늦은 겁니다. 결국 페이지가 처음 도착하는 순간의 응답 자체를 손봐야 한다는 걸 확인만 하고 넘어간 시도였습니다.

해결

구조를 아예 바꿨습니다. 결과 페이지를 서버에서 완성된 형태로 내려주도록 해서, 수집기가 받는 첫 응답에 이미 점수·이미지 설명·제목이 다 들어 있게 만들었습니다. 자바스크립트 실행 여부와 무관하게 페이지 내용을 확인할 수 있어야 한다는 게 기준이었습니다.

제목과 설명도 이 시점에 결과값을 반영해 서버에서 만들어 넣었습니다. 같은 틀을 쓰더라도 결과마다 문구가 달라지니, 수집기가 서로 다른 페이지로 구분할 수 있는 최소한의 조건이 갖춰졌습니다.

구조화 데이터도 타입을 다시 골랐습니다. 일반적인 글 페이지에 쓰는 타입을 그대로 가져다 쓰고 있었는데, 이 페이지는 사실 이미지 하나에 대한 판정 결과를 보여주는 페이지라서 성격이 다릅니다. 페이지 성격에 맞는 타입으로 바꾸고, 그 안에 이미지 관련 정보를 채워 넣었습니다.

마지막으로 색인 정책을 나눴습니다. 사용자가 올린 이미지가 결과 페이지를 통해 공개 검색 결과에 그대로 남는 건 원치 않는 상황이라, 결과 페이지에는 색인 제외 태그를 넣었습니다. 반대로 서비스 설명이나 사용법을 담은 정적 페이지는 그대로 색인이 허용돼야 하니, 이 둘을 같은 규칙으로 묶어두면 안 된다는 걸 이번에 확인했습니다.

<meta name="robots" content="noindex, follow">
<meta property="og:title" content="이 사진, AI 생성일까? — 판별 결과">
<meta property="og:description" content="AI 생성 가능성과 원본 추정 결과를 확인하세요">
결과 페이지 head에는 색인 제외 태그와 결과별로 달라지는 제목·설명을 함께 넣었다.
/how-it-works   → 색인 허용 (설명용 정적 페이지)
/result/[id]    → 색인 제외 (사용자 업로드 결과 페이지)
설명 페이지와 판별 결과 페이지는 같은 규칙을 쓰지 않는다.

결과

수치로 잰 지표는 아니지만, 구조 자체는 명확하게 달라졌습니다.

항목이전이후
렌더 방식자바스크립트 실행 후 내용 표시서버가 완성된 HTML 응답
페이지 제목모든 결과 페이지 동일결과별로 다른 제목·설명
구조화 데이터페이지 성격과 어긋난 타입이미지 판정 결과에 맞는 타입
색인 정책정적 페이지와 동일 규칙결과 페이지만 별도로 색인 제외
결과와 설명은 다른 페이지다사용자가 올린 사진이 걸린 결과 페이지와, 서비스를 설명하는 정적 페이지는 색인 여부를 같은 기준으로 정하면 안 됩니다.

이제 수집기가 받는 첫 응답만으로 이 페이지가 무엇에 관한 결과인지 확인할 수 있습니다. 실제로 검색 결과나 AI 답변에 어떻게 반영되는지는 계속 지켜봐야 할 부분이라 여기서 단정하지는 않겠습니다.

남은 문제

타입을 다시 골랐다고 해서 이게 완전히 맞는 선택인지는 계속 확인이 필요합니다. 이미지 판정 결과라는 페이지 성격을 표현할 수 있는 방법이 하나만 있는 건 아니라서, 지금 고른 방식보다 더 잘 맞는 조합이 있을 수 있습니다. 또 색인 제외를 기본값으로 두다 보니, 사용자가 자기 결과를 일부러 공개해서 공유하고 싶은 경우와 충돌하는 지점이 남아 있습니다. 결과를 비공개로 지킬지, 사용자가 원할 때 공개할 수 있게 열어줄지는 아직 정리되지 않은 정책 문제입니다.

정리

결과 페이지가 빈 페이지로 읽히는 문제, 제목이 다 똑같아서 구분이 안 되는 문제, 구조화 데이터 타입이 어긋난 문제는 각각 따로 고쳐야 했습니다. 서버 렌더로 응답 자체를 바꾸고, 페이지 성격에 맞는 구조화 데이터를 넣고, 결과 페이지와 설명 페이지의 색인 정책을 나눈 것이 이번에 정리한 전부입니다.

이 구조는 이렇게 쓰고 있습니다

이 글에서 다룬 결과 페이지는 사진 한 장을 올리면 AI로 만들어졌을 가능성을 점수로 보여주는 AI 생성 판별 기능이 만들어내는 페이지입니다. 가능한 경우 원본 이미지를 함께 찾아주는 원본 추정 결과도 같은 페이지 안에 들어가기 때문에, 페이지 하나에 담긴 정보가 결과마다 달라질 수밖에 없습니다. 이번에 손본 서버 렌더링과 색인 정책은 이 두 결과가 페이지 안에서 제대로 표현되도록 만드는 밑작업이었습니다.

구조화데이터서버렌더링색인관리SEO메타데이터
긁? 일반 사용자를 위한 서비스 — 자세히 보기