글을 화면에 띄우는 것과 그 글의 제목과 설명, 대표 주소가 맞게 전달되는 것은 함께 확인해야 한다. 나는 글을 계속 발행하는 홈페이지에서 본문과 목록, 검색용 정보를 따로 복사해 관리하기보다 같은 원고의 값을 연결하는 방식을 쓰려 한다.
도구형 프로젝트의 생성기는 목록과 본문의 주요 값을 대조하고 공개 글의 문서를 만든다. 이번 홈페이지의 CMS도 발행 상태의 원고에서 두 언어의 페이지와 메타데이터, 사이트맵을 만든다. 여기서는 현재 구현과 공개 응답을 확인한 범위에서 그 이유와 검수 방법을 남긴다.
제목과 요약은 실제 글의 질문에 답한다
제목은 어떤 문제를 읽게 되는지 알리고 요약은 그 글에서 얻을 판단을 설명해야 한다. 본문은 구현 조건을 다루는데 제목만 모든 문제를 해결해준다고 쓰면 독자의 기대가 어긋날 수 있다. 같은 제목과 설명을 모든 글에 붙이기보다 각 원고의 실제 내용을 짧게 정리한다.
이 CMS는 언어별 제목과 요약을 본문 표제와 메타 설명, 공유 정보에 연결한다. 제목을 수정하면 어느 곳에 같은 값이 들어가는지 확인할 수 있다. 다만 작성한 메타 설명이나 제목이 검색 결과에서 항상 그대로 보인다고 보장하지 않는다. 검색 서비스가 결과 표현을 별도로 선택할 수 있는 범위를 구별한다.
글마다 안정된 상세 주소와 대표 주소를 둔다
글 제목을 다듬을 때마다 주소까지 바꾸면 이전 연결을 관리할 일이 늘어날 수 있다. 이번 작업에서는 원고의 식별자와 공개 주소를 유지하면서 제목을 고쳤다. 상세 주소와 대표 주소는 같은 원고가 어떤 위치에서 공개되는지 연결하는 값이다.
대표 주소는 검색 서비스에 제시하는 선호이며 원하는 주소가 반드시 검색 대표로 선택됐다는 결과는 아니다. 목록과 사이트맵, 이전 주소의 이동도 같은 방향으로 연결해야 한다. 새로 고친 제목이 실제 상세 응답과 대표 주소에 맞는지 확인하는 일은 검색 순위를 확인하는 일과 구별한다.
다른 언어의 본문과 연결도 함께 만든다
한국어와 영어를 읽게 하려면 메뉴 이름만 바꾸는 것보다 원고의 본문을 각 언어로 작성해야 한다. 이 홈페이지는 제목과 요약, 본문을 두 언어의 주소로 발행한다. 각 페이지에는 자기 언어와 다른 언어의 연결을 함께 넣는다.
언어 대체 정보가 있어도 방문자의 국가나 검색 결과가 자동으로 원하는 상태가 됐다고 말하지 않는다. 양쪽 주소가 실제 열리고 같은 글의 두 언어를 가리키는지 확인한다. 특정 영어 화면만 대표로 놓아 한국어 본문의 주소를 혼동시키는 대신 각 본문과 자신의 주소를 일치시키는 구조다.
사이트맵과 피드는 발행 상태를 따른다
본문이 공개되어도 목록과 사이트맵에 빠져 있으면 찾아 들어오는 길이 달라질 수 있다. 반대로 내려간 원고가 발견 문서에 남으면 오래된 공개 상태를 전달할 수 있다. 이번 CMS는 현재 발행 목록에서 상세 주소와 RSS를 생성하고 내린 항목은 제외한다.
사이트맵은 발견할 주소를 전달하는 자료이며 제출이나 응답 성공이 색인과 노출을 보장하지 않는다. 나는 XML 형식과 실제 포함 주소를 검사하고 공개 상세와 목록 반영도 함께 본다. 비공개 원고를 사이트맵에서 뺐다는 사실만으로 본문 보호가 끝나는 것은 아니므로 직접 주소의 상태 검사도 유지한다.
검색용 데이터에 실제보다 큰 주장을 넣지 않는다
구조화된 정보도 화면에 보이는 글과 같은 사실을 설명해야 한다. 실제로 작성하지 않은 저자나 받지 않은 평가, 확인하지 않은 날짜를 검색용 정보에만 추가하지 않는다. 이 CMS는 글의 제목과 설명, 발행·수정 시점과 언어, 대표 주소를 원고 상태에서 연결한다.
태그가 파싱된다고 특정 검색 표현이나 특별한 노출이 승인된 것은 아니다. 필요한 형식과 내용 일치를 확인하고 검색 서비스의 현재 안내도 검토한다. 외부 자료의 문장을 그대로 붙이지 않고 실제 구현을 설명하는 데 필요한 조건으로 정리한다. 검색용 정보가 본문의 근거보다 앞서지 않아야 한다.
현재 응답에서 확인한 것과 검색 결과를 나눈다
이번에는 이미 공개된 네 항목의 두 언어 응답에서 제목과 설명, 대표 주소, 언어 대체 정보, 구조화 데이터와 검색 제외 여부를 확인했다. robots와 사이트맵을 포함한 10개 검사가 통과했다. 원래 프로젝트의 정적 생성기는 소스 조건을 읽었으며 새 운영 빌드를 돌린 결과로 보고하지 않는다.
검색 서비스의 실제 색인과 순위, 전세계 유입은 이번 검사에서 측정하지 않았다. 내가 남기는 완료 상태는 원고와 공개 문서가 일치하고 필요한 연결이 응답에 들어간 범위다. 이후 검색 결과가 다르면 실제 수집 상태와 선택된 주소, 본문의 일치 여부를 그때의 근거로 더 확인해야 한다.