광고 코드 한 줄이 검색 제외 페이지에도 그대로 나가고 있었다
한눈에 답변
광고 스크립트를 넣는 코드는 값이 채워지면 모든 페이지에 예외 없이 나가는 구조였다. 그런데 검색에서 이미 제외한 개인 페이지나 검색 결과 페이지, 두 번째 페이지 이후처럼 광고를 붙이면 안 되는 페이지들이 이미 있었다. 검색 제외 여부와 광고 게재 여부를 하나의 조건으로 묶어, 색인하지 않는 페이지에는 광고도 나가지 않도록 정리했다.
원래 구조는 무엇이 문제였나
광고 스크립트를 화면에 심는 코드는 광고 식별 값이 채워지는 순간 모든 페이지에 무조건 나가는 단순한 구조였다. 이 값을 실제로 채워 넣었다면, 수집한 공고의 상세 페이지나 검색 결과 페이지, 목록의 두 번째 페이지 이후처럼 원래 검색에서 제외해 둔 페이지에도 전부 광고가 붙었을 것이다.
왜 이게 문제인가
검색에서 제외한 페이지는 대개 얇거나 중복되거나 임시적인 페이지다. 그런 페이지에까지 광고를 무차별로 붙이면, 검색엔진이 낮게 평가하는 페이지 유형과 광고 게재 페이지가 겹치게 된다. 게다가 값을 승인받아 채워 넣는 시점에 이 문제를 새로 알아채기는 더 어렵다 — 코드는 이미 짜여 있고, 값만 넣으면 조용히 전 페이지에 퍼지기 때문이다.
어떻게 고쳤나
광고를 보여줄지 말지를 하나의 조건으로 묶었다 — 광고 식별 값이 있고, 그 페이지가 검색 제외 상태가 아니고, 페이지별로 별도로 광고를 끄지 않은 경우에만 보여주도록 했다. 페이지마다 손으로 이 조건을 챙겨 넣는 구조였다면, 앞서 캐러셀 타일이 새 페이지에서 빠졌던 것과 똑같은 방식으로 또 빠뜨릴 가능성이 있었다. 조건을 한 곳에 모아 두면 그럴 위험이 없다.
실제로 검증까지 했나
값을 실제로 채워 넣지 않고는 이 로직이 맞는지 확신할 수 없었기 때문에, 임시로 값을 채운 뒤 열 개 경로를 직접 열어 확인하고 다시 값을 지웠다. 홈이나 목록·데이터 페이지처럼 검색에 잡히는 페이지에는 광고가 나왔고, 두 번째 페이지 이후나 공고 상세, 검색 결과 페이지, 그리고 이해관계를 공개한 비교 글이나 구축 기록처럼 따로 제외 표시를 해 둔 페이지에는 광고가 나오지 않는 것을 확인했다.
이후에 무엇이 더 편해졌나
이제 광고 승인이 나서 실제 식별 값을 채워 넣을 때는 추가 작업이 필요 없다 — 조건이 이미 자동으로 적용되기 때문이다. 반대로 특정 페이지에서만 광고를 빼고 싶다면 그 페이지에 짧은 설정 하나만 추가하면 된다.