레이블이 다운인 게시물을 표시합니다. 모든 게시물 표시
레이블이 다운인 게시물을 표시합니다. 모든 게시물 표시

2015년 4월 6일 월요일

웹사이트 임시점검, 공사중 페이지 검색엔진에 알리기

웹사이트를 운영하다보면 장비교체, 서비스 점검등으로 길게는 몇시간 짧게는 몇분정도 서비스를 셧다운 시킬때가 있다.

보통은 그냥 셧다운 시키던가 공사중 페이지를 만들고 DNS, 아파치, 자바스크립트등 으로 페이지를 리디렉션 시키는 방법으로 사용자에게 알리곤 한다.

네이버 임시점검중 페이지

임시점검 페이지를 만들어 정상화 시점을 알리고 폐쇄된 것이 아니라 점검중 임을 알리는 것은 잘된 선택이다. 그렇다면 검색엔진의 로봇(크롤러)는 어떻게 판단하고 색인을 갱신 할 것인가도 생각해 보아야 한다.

여러가지 가능성을 생각해보자.
1. 점검페이지 없이 셧다운(404)
    페이지가 삭제 되었다고 인지(색인된 주소 삭제?)
2. 301 리디렉션
    페이지 주소가 영구적으로 변경 되었다고 인지(색인된 주소 갱신?)

이런 문제점을 해결하기 위한 방법들이다.
How to deal with planned site downtime
SEO Friendly Downtimes
How To Handle Downtime During Site Maintenance

내용인 즉
임시점검 페이지로 302 리디렉션 후 header에 503에러 후 서비스 정상화 시점을 적는 방법에 대한 설명이다. 검색엔진과 사용자 모두에게 동일한 결과를 노출 시키기 위한 방법이다.

<?php
header("HTTP/1.1 503 Service Temporarily Unavailable");
header("Status: 503 Service Temporarily Unavailable"); 
header("Retry-After: 3600");
//OR
hdader("Retry-After: Sun, 5 Jan 2012 13:00:00 GMT"); 
?>


물론 서비스 점검을 목적으로 사이트를 다운 시켰다고 구글등의 검색엔진에서 404에러만 믿고 바로 모든 색인을 삭제 하지는 않는다. 또한 503에러가 난다고 몇 주일씩 서비스가 정상화 될때까지 검색엔진이 색인을 보유하고 기다려 주지도 않는다고 한다.

검색엔진에 최적화 하기 위한 방법으로 사용하되 기간에 따라 맹신할 필요는 없다.