그누보드5 전용 구글사이트맵(SEO) 생성기
워드프레스로 블로그 운영하다 분위기 좀 바꿔볼려고 그누보드5로 이래저래 삽질중인 유저입니다.
넘어와서 다른건 별 아쉬움이 없었는데 구글 sitemap 등록 기능을 찾기가 힘드네요.
자료를 구글링하다보니 예전에 그누보드4용으로 올라왔던 사이트맵 생성기 자료가 있어서(말러83 님) 급히 그누보드5 용으로 수정해 봤습니다.
그누보드4 용 원본글 : http://sir.co.kr/bbs/board.php?bo_table=g4_tiptech&wr_id=19952&page=1&sca=&sfl=&stx=&spt=0&page=1&cwin=#c_33937
배포 페이지 : http://bomool.net/bbs/board.php?bo_table=bo0103&wr_id=51
웹 프로그래밍 쪽으로는 잘 몰라서 이리저리 삽질 좀 하면서 닥치는대로 수정한 코드라 하드코딩과 비효율적인 부분들이 눈에 띄실겁니다;;
그냥저냥 동작하는거 같으니 필요하신 분 수정해서 사용하세요.
# 설치방법
1. 다운로드 받은 m3googlesitemap.php 파일 7라인에 자신의 그누보드 설치 경로를 입력 (마지막 / 넣지 않음!)
2. 그누보드 설치 폴더에 m3googlesitemap.php 파일을 올려둔다.
3. 업로드 한 파일을 브라우저에서 열어서 XML 파일이 정상적으로 생성되어 보이는지 확인한다.
4. 구글 웹마스터 도구 페이지에 접속한다. https://www.google.com/webmasters/
5. 로그인(혹은 가입 후 로그인) -> 사이트 추가 -> 자신의 홈페이지를 절차에 따라 등록
6. 추가한 홈페이지를 선택 [웹 마스터 도구 -> 크롤링 -> Sitemaps] 선택
7. [Sitemap 추가/테스트] 선택 -> m3googlesitemap.php 경로 입력
예) http://www.aaa.com/g5/m3googlesitemap.php
8. [Sitemap 테스트] 클릭! --> 만약 오류가 있다면 리포트 됨. m3googlesitemap.php 에서 해당 오류를 수정
9. 오류가 없다면 Sitemap 제출
(Sitemap 제출 후에도 해당 sitemap xml 파일에 오류가 있는지 리포트 됩니다.)
# 원본에서 수정사항
- 그누보드5 용으로 변환
- UTF-8 으로 설정 (변경이 필요하신 분은 m3googlesitemap.php line. 9 를 변경하세요)
- 최신 Google sitemap scheme 0.9 로 name space 변경
- 마지막 수정 날짜를 나타내는 lastmod 태그값을 변경된 형식 [ 2004-10-01T18:23:17+00:00 ] 으로 변경
- 코멘트가 없는 보드의 변경 주기 changefreq 태그값을 monthly --> weekly 로 변경
워드프레스에서는 유명한 SEO 툴이 있어서 그냥 사용했는데, 보유한 문서들의 구글 검색에 꽤 도움이 되는 것 같았습니다.(적어도 기분상으로는...) 홈페이지에 새로운 내용이 추가 될 때 검색엔진에 반영도 빠르구요.
대충 결과는 잘 나오는 것 같은데, 그누보드 구조를 잘 몰라서... 고수님들의 손길을 기다립니다.
넘어와서 다른건 별 아쉬움이 없었는데 구글 sitemap 등록 기능을 찾기가 힘드네요.
자료를 구글링하다보니 예전에 그누보드4용으로 올라왔던 사이트맵 생성기 자료가 있어서(말러83 님) 급히 그누보드5 용으로 수정해 봤습니다.
그누보드4 용 원본글 : http://sir.co.kr/bbs/board.php?bo_table=g4_tiptech&wr_id=19952&page=1&sca=&sfl=&stx=&spt=0&page=1&cwin=#c_33937
배포 페이지 : http://bomool.net/bbs/board.php?bo_table=bo0103&wr_id=51
웹 프로그래밍 쪽으로는 잘 몰라서 이리저리 삽질 좀 하면서 닥치는대로 수정한 코드라 하드코딩과 비효율적인 부분들이 눈에 띄실겁니다;;
그냥저냥 동작하는거 같으니 필요하신 분 수정해서 사용하세요.
# 설치방법
1. 다운로드 받은 m3googlesitemap.php 파일 7라인에 자신의 그누보드 설치 경로를 입력 (마지막 / 넣지 않음!)
2. 그누보드 설치 폴더에 m3googlesitemap.php 파일을 올려둔다.
3. 업로드 한 파일을 브라우저에서 열어서 XML 파일이 정상적으로 생성되어 보이는지 확인한다.
4. 구글 웹마스터 도구 페이지에 접속한다. https://www.google.com/webmasters/
5. 로그인(혹은 가입 후 로그인) -> 사이트 추가 -> 자신의 홈페이지를 절차에 따라 등록
6. 추가한 홈페이지를 선택 [웹 마스터 도구 -> 크롤링 -> Sitemaps] 선택
7. [Sitemap 추가/테스트] 선택 -> m3googlesitemap.php 경로 입력
예) http://www.aaa.com/g5/m3googlesitemap.php
8. [Sitemap 테스트] 클릭! --> 만약 오류가 있다면 리포트 됨. m3googlesitemap.php 에서 해당 오류를 수정
9. 오류가 없다면 Sitemap 제출
(Sitemap 제출 후에도 해당 sitemap xml 파일에 오류가 있는지 리포트 됩니다.)
# 원본에서 수정사항
- 그누보드5 용으로 변환
- UTF-8 으로 설정 (변경이 필요하신 분은 m3googlesitemap.php line. 9 를 변경하세요)
- 최신 Google sitemap scheme 0.9 로 name space 변경
- 마지막 수정 날짜를 나타내는 lastmod 태그값을 변경된 형식 [ 2004-10-01T18:23:17+00:00 ] 으로 변경
- 코멘트가 없는 보드의 변경 주기 changefreq 태그값을 monthly --> weekly 로 변경
워드프레스에서는 유명한 SEO 툴이 있어서 그냥 사용했는데, 보유한 문서들의 구글 검색에 꽤 도움이 되는 것 같았습니다.(적어도 기분상으로는...) 홈페이지에 새로운 내용이 추가 될 때 검색엔진에 반영도 빠르구요.
대충 결과는 잘 나오는 것 같은데, 그누보드 구조를 잘 몰라서... 고수님들의 손길을 기다립니다.
댓글 36개
11년 전
좋은 정보 감사 드립니다.
11년 전
좋은정보 감사합니다. 잘 사용할게요
11년 전
좋은정보 감사합니다. 잘 쓰겠습니다.
11년 전
감사합니다 전 항상 웹에서 만들어서 사용했었는데 한 10분 넘게 걸려요..
열시미살자
11년 전
좋은정보 감사합니다.
11년 전
좋아요.
R3LOAD
10년 전
GodsTale 님 sitemap.xml 바로 생성되게 살짝? 수정했습니다^^;;
http://sir.co.kr/bbs/board.php?bo_table=g5_plugin&wr_id=446
http://sir.co.kr/bbs/board.php?bo_table=g5_plugin&wr_id=446
부자다닷컴
9년 전
질문드려요 이거 등록해 놓으면 자동으로 사이트맵이 구글에 업데이트 되는건가요?
6년 전
감사합니다.
6년 전
대박입니다~ 잘 됩니다 감사드려영
6년 전
좋은 자료 감사합니다.
6년 전
올려주셔서 감사합니다. 잘 쓰고 있습니다.
특정 게시판은 sitemap 생성 제외시키는 방법도 있는지요?
예) board.php?bo_table=free
특정 게시판은 sitemap 생성 제외시키는 방법도 있는지요?
예) board.php?bo_table=free
나무이야기
6년 전
감사합니다 ^^
위버로프트
6년 전
좋은 정보 감사합니다.
6년 전
감사합니다.^^
5년 전
감사합니다.
5년 전
5.4는 안되네요 ㅠㅠ
5년 전
php.ini에서 short_open_tag 를 On 시키니깐 되네요.
5년 전
20년에 좋은자료 받아갑니다~
sinbi
5년 전
PHP 7.2 호환 버전
<?php
// m3 google sitemap ver 1.23 by mahler83 2009-11-16
// please give feedbacks to bomool.net
include_once("./_common.php");
$charset = $g5['charset'];
$url = "http://127.0.0.1/gnu54"; // G5 루트 경로
header("Content-type: text/xml;charset=\"UTF-8\"");
header("Cache-Control: no-cache, must-revalidate");
header("Pragma: no-cache");
echo "<?xml version=\"1.0\" encoding=\"UTF-8\"?>\n";
?>
<urlset xmlns="https://www.sitemaps.org/schemas/sitemap/0.9/">
<?php
$query = sql_query("select bo_table from `{$g5['board_table']}` where bo_read_level='1'");
while($temp = sql_fetch_array($query)) {
$bo_arr[] = $temp['bo_table'];
}
$i = 1;
foreach($bo_arr as $bo) {
// list of bo_table
echo "<url>\n";
echo "<loc>$url/bbs/board.php?bo_table=$bo</loc>\n";
$temp = sql_fetch("select wr_datetime from `{$g5['write_prefix']}{$bo}` order by wr_datetime DESC");
$lastmod = str_replace(" ", "T", substr($temp['wr_datetime'], 0, 30))."+00:00";
// if
if(!$lastmod || strlen($lastmod) < 25 || strcmp($lastmod, "+00:00")) $lastmod = "2014-10-10T00:00:00+00:00";
echo "<lastmod>$lastmod</lastmod>\n";
echo "<changefreq>daily</changefreq>\n";
echo "<priority>0.9</priority>\n";
echo "</url>\n";
$query = sql_query("select wr_id, wr_datetime from `{$g5['write_prefix']}{$bo}` where wr_is_comment='0' AND wr_option NOT LIKE '%secret%'");
while($row = sql_fetch_array($query)) {
// list of each article
echo "<url>";
echo "<loc>$url/bbs/board.php?bo_table=$bo&wr_id={$row['wr_id']}</loc>";
$temp = sql_fetch("select wr_datetime from `{$g5['write_prefix']}{$bo}` where wr_parent='{$row['wr_id']}' order by wr_id DESC");
$lastmod = str_replace(" ", "T", substr($temp['wr_datetime'], 0, 30))."+00:00";
if(!$lastmod) {
$temp = sql_fetch("select wr_datetime from `{$g5['write_prefix']}$bo` where wr_id='{$row['wr_id']}'");
$lastmod = str_replace(" ", "T", substr($temp['wr_datetime'], 0, 30))."+00:00";
}
if(!$lastmod) $lastmod = $g5['time_ymd'];
echo "<lastmod>$lastmod</lastmod>";
echo "<changefreq>weekly</changefreq>";
echo "<priority>0.5</priority>";
echo "</url>\n";
}
$i++;
}
?>
</urlset>
<?php
// m3 google sitemap ver 1.23 by mahler83 2009-11-16
// please give feedbacks to bomool.net
include_once("./_common.php");
$charset = $g5['charset'];
$url = "http://127.0.0.1/gnu54"; // G5 루트 경로
header("Content-type: text/xml;charset=\"UTF-8\"");
header("Cache-Control: no-cache, must-revalidate");
header("Pragma: no-cache");
echo "<?xml version=\"1.0\" encoding=\"UTF-8\"?>\n";
?>
<urlset xmlns="https://www.sitemaps.org/schemas/sitemap/0.9/">
<?php
$query = sql_query("select bo_table from `{$g5['board_table']}` where bo_read_level='1'");
while($temp = sql_fetch_array($query)) {
$bo_arr[] = $temp['bo_table'];
}
$i = 1;
foreach($bo_arr as $bo) {
// list of bo_table
echo "<url>\n";
echo "<loc>$url/bbs/board.php?bo_table=$bo</loc>\n";
$temp = sql_fetch("select wr_datetime from `{$g5['write_prefix']}{$bo}` order by wr_datetime DESC");
$lastmod = str_replace(" ", "T", substr($temp['wr_datetime'], 0, 30))."+00:00";
// if
if(!$lastmod || strlen($lastmod) < 25 || strcmp($lastmod, "+00:00")) $lastmod = "2014-10-10T00:00:00+00:00";
echo "<lastmod>$lastmod</lastmod>\n";
echo "<changefreq>daily</changefreq>\n";
echo "<priority>0.9</priority>\n";
echo "</url>\n";
$query = sql_query("select wr_id, wr_datetime from `{$g5['write_prefix']}{$bo}` where wr_is_comment='0' AND wr_option NOT LIKE '%secret%'");
while($row = sql_fetch_array($query)) {
// list of each article
echo "<url>";
echo "<loc>$url/bbs/board.php?bo_table=$bo&wr_id={$row['wr_id']}</loc>";
$temp = sql_fetch("select wr_datetime from `{$g5['write_prefix']}{$bo}` where wr_parent='{$row['wr_id']}' order by wr_id DESC");
$lastmod = str_replace(" ", "T", substr($temp['wr_datetime'], 0, 30))."+00:00";
if(!$lastmod) {
$temp = sql_fetch("select wr_datetime from `{$g5['write_prefix']}$bo` where wr_id='{$row['wr_id']}'");
$lastmod = str_replace(" ", "T", substr($temp['wr_datetime'], 0, 30))."+00:00";
}
if(!$lastmod) $lastmod = $g5['time_ymd'];
echo "<lastmod>$lastmod</lastmod>";
echo "<changefreq>weekly</changefreq>";
echo "<priority>0.5</priority>";
echo "</url>\n";
}
$i++;
}
?>
</urlset>
5년 전
php7.3 사용하고 있는데, 원본이 에러가 생겨, 신비님이 7.2 호환버젼으로 적용하니 되네요. 감사합니다
그런데, 내용물이 몇개 적용이 안되는 것은 왜 그렇지요?
무료 만들기 사이트 가서 xml로 만들면 내용량이 무쟈게 만던데요. 궁금해서 여쭤봅니다.^^
그런데, 내용물이 몇개 적용이 안되는 것은 왜 그렇지요?
무료 만들기 사이트 가서 xml로 만들면 내용량이 무쟈게 만던데요. 궁금해서 여쭤봅니다.^^
sinbi
5년 전
그건 저도 잘...^^;;
ps.
$g5['charset'] --> G5_DB_CHARSET
$g5['time_ymd'] --> G5_TIME_YMD
ps.
$g5['charset'] --> G5_DB_CHARSET
$g5['time_ymd'] --> G5_TIME_YMD
5년 전
5.4 짧은 주소를 사용하는데요. 그냥 긴 주소로 뽑아오네요. 이거는 짧은 주소 적용이 안되는지요?
그리고 추신으로 적어 넣은
$g5['charset'] --> G5_DB_CHARSET
$g5['time_ymd'] --> G5_TIME_YMD
이거는 무슨 말씀이신지요? ^^
그리고 추신으로 적어 넣은
$g5['charset'] --> G5_DB_CHARSET
$g5['time_ymd'] --> G5_TIME_YMD
이거는 무슨 말씀이신지요? ^^
sinbi
5년 전
작동되게 걍 코드 변환만 시켜놓은 거라....
아마, 그누4 기반 소스라 그런 듯 싶네요.
위 코드에서 코드 변환 덜 된 부분입니다.
아마, 그누4 기반 소스라 그런 듯 싶네요.
위 코드에서 코드 변환 덜 된 부분입니다.
5년 전
구글에서 오류가 뜨며 등록이 안되네요.ㅎㅎ
4년 전
신비짱님 감사합니다~
sinbi
5년 전
배추빌더5에도 사이트맵 관련 소스 있어요. 참고해 보세요.
Daycompany
5년 전
게시물이 많이지고나서, 해당 사이트맵 파일을 로딩하면 504 게이트웨이 에러가 나면서 싸이트가 뻗어버리는데 어떤 자료를 참조해야할지 궁금합니다.
php7.4 그누보드 나리야 사용중에 있습니다.
php7.4 그누보드 나리야 사용중에 있습니다.
4년 전
감사합니다
4년 전
안녕하세요 혹시 사이트맵 생성 시 주소를 http가 아닌 https로 적용되게 할 수 없을까요?
4년 전
감사합니다!
4년 전
구글
그날이오면ㅣ그날
3년 전
최고네요.. 잘 해결했습니다. 감사합니다.
그냥 루트에 올리면 되는거였네요~
어려운 질문 해서 죄송합니다.
그냥 루트에 올리면 되는거였네요~
어려운 질문 해서 죄송합니다.
에어컨22
3년 전
이런 좋은 정보가..
2년 전
사이트맵
2년 전
헉 구글전용이라니 제가 찾던겁니다 너무 감사해요!!
게시판 목록
그누보드5 플러그인
그누보드 호환이거나 독립적으로 실행되는 플러그인을 소개합니다.
| 번호 | 제목 | 글쓴이 | 날짜 | 조회 |
|---|---|---|---|---|
| 9 | 12년 전 | 14744 | ||
| 8 | 12년 전 | 11442 | ||
| 7 | 12년 전 | 14047 | ||
| 6 | 12년 전 | 8227 | ||
| 5 | 12년 전 | 18950 | ||
| 4 | 12년 전 | 9503 | ||
| 3 | 12년 전 | 7951 | ||
| 2 | 12년 전 | 16527 | ||
| 1 |
letsgolee
|
12년 전 | 20316 |
댓글 작성
댓글을 작성하시려면 로그인이 필요합니다.
로그인하기