사이트맵 만들기

View Comments

강아지 블로그가 이제 어느정도 자세를 잡았네요.

남은 것은 검색엔진에 등록을 해서 많이 알려야 하는데요,
강아지는 개인적으로 구글의 웹마스터 도구를 좋아 합니다.

사이트도 잘 찾아주고, 더불어 다른 검색엔진에 전파도 잘되는 듯 합니다.

먼저, 구글에 sitemap을 제출 하려면 당근 계정이 있어야 합니다.
로그인하고, 내계정에서 메뉴를 보면 "웹마스터 도구"가 있습니다.

이 곳에 관리하는 사이트 주소를 먼저 등록하구요,
등록된 사이트를 클릭해서 왼쪽의 "사이트구성"을 클릭하시면,
"sitemaps" 라는 메뉴를 찾을 수 있습니다.

이 곳에 sitemap을 등록하려면 가정 편한 방법은,
블로그의 경우 atom feed를 제공하는 블로그라면 그 주소를 입력하는 것입니다.

강아지의 블로그처럼 textcube라면,
전체 전체 atom feed의 주소는  "http://www.lnlsoft.net/atom" 입니다.

그런데, 이와같이 atom feed를 제출하는 것이 가장 좋은 방법이지만,
일반 웹사이트는 atom feed를 생성하지 않는 사이트가 많습니다.

이럴 때, 강아지가 사용하는 sitemap생성도구가 바로 "python sitemap generator" 입니다.
리눅스 환경에서 python script을 이용해서,
표준(?) sitemap protocol을 따르는 sitemap을 작성해주는 도구입니다.
데이터는 아파치 웹서버의 로그파일을 사용하구요.
설정은 간단합니다.
첨부된 example_config.xml을 수정하면 되는데요,
강아지는 이렇게 셋팅했습니다.
<?xml version="1.0" encoding="UTF-8"?>
<site
  base_url="http://www.lnlsoft.net/"
  store_into="/var/www/lnlsoft/sitemap.xml.gz"
  verbose="1" > 
     <accesslog  path="/etc/httpd/logs/lnlsoft.net-access_log" encoding="UTF-8"  />
     <filter  action="drop"  type="wildcard"  pattern="*/owner/*"  />
     <filter  action="drop"  type="wildcard"  pattern="*/cache/*"  />
     <filter  action="drop"  type="wildcard"  pattern="*/document/*"  />
     <filter  action="drop"  type="wildcard"  pattern="*/framework/*"  />
     <filter  action="drop"  type="wildcard"  pattern="*/interface/*"  />
     <filter  action="drop"  type="wildcard"  pattern="*/library/*"  />
     <filter  action="drop"  type="wildcard"  pattern="*/plugins/*"  />
     <filter  action="drop"  type="wildcard"  pattern="*/resources/*"  />
     <filter  action="drop"  type="wildcard"  pattern="*/skin/*"  />
     <filter  action="drop"  type="wildcard"  pattern="*/syntaxhighlighter/*"  />
</site>

4번 줄의 store_info속성은 생성된 sitemap 파일을 저장할 경로입니다.
구글에 제출해야 하므로 웹사이트 안쪽 경로로 지정해 주셔야합니다.
(구글의 "웹마스터도구"에서 해당 url을 등록해야 하니까요.)

6번줄은 사용할 아파치 웹서버의 로그파일 경로입니다.

밑으로는, filter를 설정하는 것입니다.
필터로 지정된 저런 url까지 검색엔진에 등록할 필요는 없으니까요.

이외에도, 여러가지 detail한 설정이 가능하지만 강아지는 이정도면 충분합니다.

이렇게 설정한 xml파일을 적당한 이름으로 저장하시고,
이렇게 실행하시면 됩니다.
#
#python /var/www/sitemap_gen-1.4/sitemap_gen.py --config=/var/www/sitemap_gen-1.4/lnlsoft_config.xml
#

생성된 sitemap 파일(sitemap.xml.gz)은 구글에 한번만 등록해주면,
이후로 이 script가 실행될 때마다 자동으로 구글에 제출됩니다.

이제, 하루에 한번씩 script를 자동으로 실행 시켜야 하는데,
crond를 사용해서 반복작업을 등록할 것입니다.
#crontab -e

편집창이 열리면,
이렇게 등록합니다.
....
0 0 * * * python /var/www/sitemap_gen-1.4/sitemap_gen.py --config=/var/www/sitemap_gen-1.4/lnlsoft_config.xml
....

이렇게 하면, 매일 0시 0분에 script를 실행하여,
구글에 sitemap을 제출하게 됩니다.

참고로, crond가 실행이 안되시면,
#ps -ef|grep crond 하셔서 데몬 실행 중인지 확인 하시고, 실행중인 데몬이 없으면
#service crond start  하셔서 실행 시키시고,

데몬이 실행중인 중인데 작업이 실행 안되면,
#crontab -l   로 작업이 잘 등록되었는지 확인해보세요.

2010/07/28 23:47 2010/07/28 23:47

댓글0 Comments (+add yours?)

트랙백0 Tracbacks (+view to the desc.)

Trackback Address :: http://www.lnlsoft.net/trackback/6

Newer Entries Older Entries