
몇 달 전 검색 유입이 갑자기 줄었다는 사이트를 봤다. 운영자는 글 제목을 고치고 있었는데, 서버 이전 뒤 주요 페이지가 검색 로봇에게 오류를 돌려주고 있었다. 홈페이지SEO를 점검할 때 나는 문구보다 먼저 페이지가 제대로 열리고 수집되는지 확인한다. 검색엔진이 읽지 못하는 글은 아무리 잘 써도 검색 결과에 나오기 어렵다.
검색 로봇이 페이지를 읽을 수 있는지 확인한다
먼저 대표 페이지 5~10개를 고른다. 첫 화면, 서비스 소개, 인기 글, 최근 글, 문의 페이지처럼 실제 방문자가 들어올 만한 곳이면 된다. 브라우저에서 보이는 화면만 확인하지 말고 검색 도구의 페이지 검사 결과도 본다. 구글 서치 콘솔과 네이버 서치어드바이저에서 수집 여부와 제외 사유를 확인할 수 있다.
정상 페이지는 성공 상태를 반환하고 본문 내용이 보여야 한다. 화면에는 글이 보이는데 로봇에게는 빈 화면이 전달되는 경우도 있다. 자바스크립트로 내용을 늦게 불러오는 사이트에서 종종 만난다. 이때는 렌더링된 페이지에서 제목과 본문이 실제로 잡히는지 확인한다.
차단 설정도 자주 놓친다. 개발 중에 켜 둔 noindex가 운영 화면에 남거나, robots.txt 규칙이 필요한 경로까지 막는 식이다. 둘은 역할이 다르다. robots.txt는 수집 요청을 제한하고, noindex는 수집한 페이지를 검색 결과에서 제외하라는 지시다. 검색 결과에서 빼려는 페이지에 noindex를 썼다면 로봇이 그 지시를 읽을 수 있어야 한다. 차단 규칙과 함께 걸어 두면 의도대로 처리되지 않을 수 있다.
같은 내용이 여러 페이지로 열리는지 본다
한 글이 분류, 검색 결과, 인쇄 화면 등 여러 경로에서 거의 똑같이 열리면 검색엔진이 어느 쪽을 대표로 삼을지 판단해야 한다. 구글 검색 센터도 대표 페이지 지정은 검색엔진에 주는 신호이며, 지정한 주소가 반드시 선택되는 것은 아니라고 안내한다. 운영자는 먼저 한 콘텐츠의 대표 경로를 정하고, 내부 메뉴와 본문 링크가 그 경로를 가리키게 만드는 편이 좋다.
페이지를 옮겼다면 이전 경로에서 새 경로로 영구 이동을 설정한다. 이전 경로를 한꺼번에 첫 화면으로 보내면 방문자는 원하던 내용을 다시 찾아야 한다. 글 200개를 이전한다면 적어도 유입이 있는 글과 외부에서 연결된 글은 각각 대응하는 새 글로 보내야 한다. 없어진 글을 대신할 내용이 없다면 없는 페이지라는 상태를 정확히 돌려주는 편이 낫다.
사이트맵에는 검색에 노출할 대표 페이지만 넣는다. 사이트맵을 제출했다고 수집이나 상위 노출이 보장되는 건 아니다. 그래도 새 글과 이동한 글의 위치를 알리는 데 도움이 된다. 제출 뒤에는 등록 건수만 보지 말고 실제로 제외된 페이지가 무엇인지 살핀다. 중복, 차단, 오류가 섞여 있으면 원인별로 손봐야 한다.
속도 문제는 서버 비용보다 병목부터 찾는다
페이지가 느리면 곧바로 VPS 사양을 올리자는 이야기가 나온다. 그런데 이미지 한 장이 몇 메가바이트이거나, 캐시가 꺼져 있거나, 매 요청마다 무거운 데이터베이스 조회가 일어나는 경우가 더 많다. 서버를 키우기 전에 모바일에서 첫 화면이 뜨는 과정과 서버 응답 시간을 따로 확인한다. 구글의 페이지 경험 안내도 속도 지표만 좋다고 검색 순위가 보장되지는 않는다고 설명한다. 방문자가 읽기 불편한 부분을 찾는 지표로 쓰는 게 현실적이다.
예를 들어 하루 1만 회의 페이지 요청은 하루 전체로 나누면 초당 평균 약 0.12회다. 물론 점심시간에 요청이 몰릴 수 있고, 관리자 작업이나 검색 로봇 수집이 겹치면 순간 부하는 달라진다. 그래도 이 숫자만으로 고가 서버가 필요하다고 판단할 수는 없다. 접속 기록에서 피크 시간의 요청 수와 응답 시간을 보고, 메모리 부족이나 데이터베이스 대기가 실제로 발생하는지 확인해야 한다.
운영 순서는 단순하다. 큰 이미지를 줄이고, 바뀌지 않는 파일에 캐시를 적용하고, 반복되는 조회를 줄인다. 그다음에도 피크 시간에 응답이 밀리면 서버 자원을 늘린다. 비용을 쓸 지점이 분명해지고, 같은 문제가 다시 생겨도 원인을 찾기 쉽다.
이전과 장애에 대비해야 검색 유입도 지킨다
서버 이전은 SEO 설정이 틀어지기 쉬운 순간이다. 이전 전에 주요 페이지 목록, 현재 이동 규칙, 사이트맵, 검색 도구의 수집 현황을 저장해 둔다. 파일과 데이터베이스 백업도 함께 만들고, 별도 장소에 보관한 사본을 실제로 복원해 본다. 백업 파일이 존재하는 것과 복구할 수 있는 것은 다른 얘기다.
전환 직후에는 첫 화면만 열어보고 끝내지 않는다. 주요 글 몇 개를 직접 열어 상태와 본문을 확인하고, 이전 경로가 새 글로 이동하는지 시험한다. 인증서 문제, 무한 이동, 운영 페이지에 남은 noindex도 이때 발견할 수 있다. 검색 도구의 제외 건수와 서버 오류 기록은 며칠간 같이 본다. 일시적인 서버 오류가 반복된다면 글을 더 쓰기 전에 그 원인을 고쳐야 한다.
홈페이지SEO는 한 번 설정하고 끝나는 작업이 아니다. 새 글을 발행할 때 제목과 내용이 분명한지 보고, 운영 중에는 검색 로봇과 사람이 같은 내용을 안정적으로 읽는지 확인한다. 내가 현장에서 먼저 지키는 것도 그 순서다. 페이지가 꾸준히 열리고 복구까지 가능한 사이트가 검색 유입을 오래 받아낼 수 있다.
