본문으로 건너뛰기
유환호 연락하기

홈 / 기록

용어 19개를 한 페이지에 묶어 두고 있었다

한눈에 답변

용어사전 페이지 하나에 19개 용어가 앵커 링크로만 묶여 있었다. 답변엔진은 페이지 내 앵커를 독립된 문서로 인식하지 못해 답변 후보로 고르기 어렵다. 이미 전용 페이지가 있는 4개를 뺀 15개를 각자의 URL로 쪼개면서, 제목에 조사를 붙이는 로직이 '인용률란?' 같은 어색한 결과를 내고 있던 것도 함께 발견해 고쳤다.

무엇이 문제였나

경쟁사 사이트를 조사하다가 차이를 발견했다. 경쟁사는 용어사전의 용어 하나하나가 각자의 URL을 갖는데, 이 사이트는 19개 용어가 페이지 하나 안에 앵커 링크(페이지 내 특정 위치로 이동하는 링크)로만 묶여 있었다. 앵커는 독립된 문서가 아니라서, 답변엔진이 특정 질문에 대한 답으로 고르기 어렵다.

왜 전부 쪼개지 않았나

19개 중 4개는 이미 전용 페이지가 따로 있었다. 이 4개까지 용어사전에도 별도로 만들면, 같은 질문 의도를 두 개의 다른 페이지가 나눠 가지면서 서로의 순위를 깎아 먹는 문제가 생긴다. 그래서 전용 페이지가 없는 나머지만 개별 URL로 쪼갰다.

단순히 정의만 옮기지 않은 이유

정의 한 문장만 있는 용어 페이지는 이미 인터넷에 아주 많다. 그래서 각 용어 페이지에 ‘혼동하기 쉬운 것’이라는 절을 추가했다 — 비슷해 보이지만 다른 두 개념을 구분해 주는 절이다. 이 부분이 다른 용어사전에는 없는, 이 자료실만의 값어치라고 판단했다.

관련 글 링크가 사라지는 버그도 있었나

있었다. 용어 페이지에서 관련 인사이트 글로 가는 링크 12개가 화면에서 전부 사라지고 있었다. 원인은 링크를 만드는 함수가, 등록되지 않은 경로를 만나면 깨진 링크를 막기 위해 조용히 빈 값을 돌려주는 방식이었기 때문이다. 인사이트 개별 글들이 애초에 그 등록 목록에 없어서 전부 걸러지고 있었다. 등록 목록을 보는 대신 실제 글 모음을 직접 조회하도록 바꿨다.

조사 버그는 어떻게 발견했나

용어 페이지 제목을 자동으로 조합하는 과정에서 조사를 그냥 이어 붙이고 있어 “인용률란?” 같은 어색한 결과가 나가고 있었다. 이 저장소가 예전에 지역 페이지에서 겪었던 것과 같은 유형의 조사 버그였다. 그때 만든 조사 판정 함수에 이번 사례를 추가해, 같은 종류의 실수가 앞으로도 한 곳에서만 관리되게 했다.