글쓴이: 작두뉴스 운영자 / 기록일: 2026년 8월 24일
기사 325편의 제목과 본문이 서로 다른지 확인한 뒤 검색 미리보기 쪽을 보았다. 기사 화면의 큰 제목은 각 글에 맞게 나왔지만 브라우저 탭과 검색엔진에 전달되는 제목은 사이트 공통 이름을 사용하고 있었다.
방문자가 화면 안으로 들어오면 글의 차이를 알 수 있지만, 검색 결과에서는 여러 주소가 비슷한 이름으로 보일 수 있는 상태였다. 콘텐츠가 고유하다는 사실과 검색 정보가 고유하게 전달된다는 사실은 별개였다.
먼저 기사 화면이 어떤 자료로 메타데이터를 만드는지 확인했다. 공통 레이아웃의 사이트 제목은 있었지만 개별 기사의 제목, 요약, 대표 이미지, 정규 주소를 연결하는 부분이 충분하지 않았다. 그래서 기사 자료를 읽어 각 항목을 생성하도록 바꿨다.
제목에는 현재 기사의 제목을 넣었다. 설명에는 관리자에 저장된 요약을 사용했다. 대표 이미지가 있는 글은 해당 이미지 주소를 연결하고, 정규 주소는 현재 슬러그의 `/blog/` 주소로 고정했다. 정규 주소는 같은 내용이 여러 주소로 보일 때 어느 주소가 중심인지 알려 주는 값이다.
코드를 고친 뒤 빌드 성공만으로 끝내지 않았다. 운영에 올리고 실제 기사 HTML을 새로 받아 제목과 설명, 정규 주소가 한 번씩 들어 있는지 확인했다. 화면에서 보이는 큰 제목만 확인하면 검색용 정보의 문제를 놓칠 수 있다.
여러 기사를 표본으로 골랐다. 첫 기사 하나만 보면 공통 값이 우연히 맞는 경우가 있다. 서로 다른 카테고리와 제목을 가진 글을 열어 각 HTML 값이 실제 기사 자료에 따라 바뀌는지 비교했다.
대표 이미지도 무조건 있다고 가정하지 않았다. 이미지가 없는 글에 잘못된 공통 이미지를 붙이면 검색 미리보기가 본문과 어긋난다. 없을 때의 처리와 있을 때의 처리를 나눴다.
이 문제를 고치며 기사 수와 품질을 다시 생각하게 됐다. 글이 많이 있다는 수치만으로는 검색엔진이나 독자가 각 글의 차이를 이해하지 못한다. 제목, 요약, 주소, 본문이 한 글을 같은 주제로 설명해야 한다.
검색 정보는 눈에 잘 띄지 않아 수정 뒤 검증을 빼먹기 쉽다. 브라우저 개발 도구나 원문 HTML에서 `title`, 설명, 정규 주소를 직접 확인하는 이유다. 화면 디자인이 멀쩡해도 이 값은 틀릴 수 있다.
캐시도 고려했다. 이전 HTML이 남아 있으면 수정 전 공통 제목이 계속 보일 수 있다. 새 요청에서 실제 운영 결과를 받아 확인하고, 필요하면 서로 다른 기사 주소를 비교했다.
이날 구조화 자료도 함께 살폈지만, 검색 정보와 구조화 자료를 같은 것으로 취급하지 않았다. 기사별 제목과 설명은 기본 정보이고, 별도 구조 자료는 보조 기능이다. 보조 기능을 넣다가 중복이 생기면 기본 정보의 정합성을 먼저 지키는 편이 낫다.
다른 사이트에서 같은 문제를 확인하려면 기사 두세 편의 탭 제목과 원문 HTML을 비교하면 된다. 주소만 달라지고 제목과 설명이 계속 같다면 공통 레이아웃 값만 쓰고 있을 가능성이 있다. 각 기사 자료가 메타데이터 생성 단계까지 전달되는지 찾아야 한다.
오늘 작업은 본문을 새로 쓰는 일이 아니었다. 이미 서로 달랐던 글들이 검색 결과에서도 서로 다른 글로 보이게 연결하는 일이었다. 콘텐츠의 고유성은 데이터베이스 안에서 끝나지 않는다. 방문자가 처음 만나는 제목과 설명까지 이어져야 한다.
댓글 0