G

그누보드5 전용 구글사이트맵(SEO) 생성기

· 2014-10-10 (금) 16:36:59 · 34452 · 36
sitemap_ex.png
워드프레스로 블로그 운영하다 분위기 좀 바꿔볼려고 그누보드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_ex.png (15.9 KB)
2회 2014-10-10 16:36
m3googlesitemap.php (2.1 KB) 2424회 2014-10-10 16:44
|

댓글 36개

좋은 정보 감사 드립니다.
2014-10-13 (월) 10:45:11
좋은정보 감사합니다. 잘 사용할게요
좋은정보 감사합니다. 잘 쓰겠습니다.
감사합니다 전 항상 웹에서 만들어서 사용했었는데 한 10분 넘게 걸려요..
2014-10-16 (목) 01:21:49
좋은정보 감사합니다.
좋아요.
GodsTale 님 sitemap.xml 바로 생성되게 살짝? 수정했습니다^^;;
http://sir.co.kr/bbs/board.php?bo_table=g5_plugin&wr_id=446
2016-05-28 (토) 14:49:57
질문드려요 이거 등록해 놓으면 자동으로 사이트맵이 구글에 업데이트 되는건가요?
감사합니다.
대박입니다~ 잘 됩니다 감사드려영
좋은 자료 감사합니다.
2019-08-05 (월) 23:00:12
올려주셔서 감사합니다. 잘 쓰고 있습니다.

특정 게시판은 sitemap 생성 제외시키는 방법도 있는지요?

예) board.php?bo_table=free
2019-08-18 (일) 19:55:07
감사합니다 ^^
2019-10-07 (월) 18:19:59
좋은 정보 감사합니다.
감사합니다.^^
감사합니다.
5.4는 안되네요 ㅠㅠ
php.ini에서 short_open_tag 를 On 시키니깐 되네요.
20년에 좋은자료 받아갑니다~
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>
2020-09-22 (화) 10:19:52
php7.3 사용하고 있는데, 원본이 에러가 생겨, 신비님이 7.2 호환버젼으로 적용하니 되네요. 감사합니다
그런데, 내용물이 몇개 적용이 안되는 것은 왜 그렇지요?
무료 만들기 사이트 가서 xml로 만들면 내용량이 무쟈게 만던데요. 궁금해서 여쭤봅니다.^^
그건 저도 잘...^^;;

ps.
$g5['charset'] --> G5_DB_CHARSET
$g5['time_ymd'] --> G5_TIME_YMD
2020-09-22 (화) 11:20:49
5.4 짧은 주소를 사용하는데요. 그냥 긴 주소로 뽑아오네요. 이거는 짧은 주소 적용이 안되는지요?

그리고 추신으로 적어 넣은

$g5['charset'] --> G5_DB_CHARSET
$g5['time_ymd'] --> G5_TIME_YMD

이거는 무슨 말씀이신지요? ^^
작동되게 걍 코드 변환만 시켜놓은 거라....
아마, 그누4 기반 소스라 그런 듯 싶네요.

위 코드에서 코드 변환 덜 된 부분입니다.
2020-09-22 (화) 11:59:14
구글에서 오류가 뜨며 등록이 안되네요.ㅎㅎ
신비짱님 감사합니다~
배추빌더5에도 사이트맵 관련 소스 있어요. 참고해 보세요.
게시물이 많이지고나서, 해당 사이트맵 파일을 로딩하면 504 게이트웨이 에러가 나면서 싸이트가 뻗어버리는데 어떤 자료를 참조해야할지 궁금합니다.

php7.4 그누보드 나리야 사용중에 있습니다.
감사합니다
2021-01-19 (화) 11:39:37
안녕하세요 혹시 사이트맵 생성 시 주소를 http가 아닌 https로 적용되게 할 수 없을까요?
감사합니다!
2021-03-28 (일) 17:05:46
구글
2022-02-26 (토) 17:43:42
최고네요.. 잘 해결했습니다. 감사합니다.
그냥 루트에 올리면 되는거였네요~
어려운 질문 해서 죄송합니다.
2022-06-28 (화) 17:35:49
이런 좋은 정보가..
사이트맵
헉 구글전용이라니 제가 찾던겁니다 너무 감사해요!!
댓글을 작성하시려면 로그인이 필요합니다.

그누보드5 플러그인

710건

그누보드 호환이거나 독립적으로 실행되는 플러그인을 소개합니다.

+