사이트를 임시로 닫을 때 구글에 알려 주기

점검이나 사이트 이전 등으로 사이트를 불가피하게 잠시 닫아야 하는 경우가 있다. 이런 경우 사이트를 그냥 내려 버리면 검색 순위에 악영향을 미칠 수 있다.

이럴 때 대처법을 구글 웹마스터 센터에서 알려 주고 있다: How to deal with planned site downtime(오래된 글이지만 유효하다.)

정상적인 페이지로 보내자

404(Not Found)나 503(Service Unavailable)가 뜨지 않도록 하자 : redirect를 하든 “사이트 점검중입니다”를 띄우든 해서 어쨌든 정상적인 응답을 하도록 하라는 거다.

재접속 시일을 알려 주자

Retry-After header를 알려 주자. 그러면 구글봇이 그 시각 이후에 다시 크롤링을 하러 온다고 한다.

예제는 이렇다.

Retry-After: Fri, 31 Dec 1999 23:59:59 GMT
Retry-After: 120

뒤 예제는 120초, 즉 2분 뒤에 다시 오라는 것이다.

503(Service Unavailable) 코드와 Retry-After 헤더를 섞어서 사용하는 경우

서비스가 아주 잠깐 멈춘 게 아니라 공사중이거나 하드웨어 유지보수 작업 중이라서 시간이 꽤 걸리는 경우에는 HTTP 상태 코드로 503을 보내는 게 낫다고 한다.

PHP에서 헤더를 보내려면 header() 함수를 사용한다. 따라서 PHP에서는 아래처럼 코드를 작성하면 서비스가 잠깐 멈췄으니까 2011년 8월 8일 18시 27분 이후에 다시 오라는 메시지가 된다. (단, 문자열이 하나라도 출력되면 그 이후엔 헤더를 갱신할 수 없으니 주의.)

header('HTTP/1.1 503 Service Temporarily Unavailable');
header('Retry-After: Sat, 8 Oct 2011 18:27:00 GMT');

물론, 503 코드가 너무 오래 지속되면 구글은 해당 페이지가 영구적으로 서비스 불능 상태에 빠진 것으로 판단하고 검색 색인에서 페이지를 삭제하게 된다.

👇 카테고리 글 목록

대표글

댓글 남기기