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

그누보드5 플러그인

그누보드는 다양한 기능을 추가하기 쉽습니다.

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

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

첨부파일

m3googlesitemap.php (2.1K) 2282회 다운로드 2014-10-10 16:44:18

본문

워드프레스로 블로그 운영하다 분위기 좀 바꿔볼려고 그누보드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 툴이 있어서 그냥 사용했는데, 보유한 문서들의 구글 검색에 꽤 도움이 되는 것 같았습니다.(적어도 기분상으로는...) 홈페이지에 새로운 내용이 추가 될 때 검색엔진에 반영도 빠르구요.
대충 결과는 잘 나오는 것 같은데, 그누보드 구조를 잘 몰라서... 고수님들의 손길을 기다립니다.
추천
6

댓글 전체

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&amp;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>
php7.3 사용하고 있는데, 원본이 에러가 생겨, 신비님이 7.2 호환버젼으로 적용하니 되네요. 감사합니다
그런데, 내용물이 몇개 적용이 안되는 것은 왜 그렇지요?
무료 만들기 사이트 가서 xml로 만들면 내용량이 무쟈게 만던데요. 궁금해서 여쭤봅니다.^^
5.4 짧은 주소를 사용하는데요. 그냥 긴 주소로 뽑아오네요. 이거는 짧은 주소 적용이 안되는지요?

그리고 추신으로 적어 넣은

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

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

위 코드에서 코드 변환 덜 된 부분입니다.
게시물이 많이지고나서, 해당 사이트맵 파일을 로딩하면 504 게이트웨이 에러가 나면서 싸이트가 뻗어버리는데 어떤 자료를 참조해야할지 궁금합니다.

php7.4 그누보드 나리야 사용중에 있습니다.
전체 503
그누보드5 플러그인 내용 검색

회원로그인

(주)에스아이알소프트 / 대표:홍석명 / (06211) 서울특별시 강남구 역삼동 707-34 한신인터밸리24 서관 1404호 / E-Mail: admin@sir.kr
사업자등록번호: 217-81-36347 / 통신판매업신고번호:2014-서울강남-02098호 / 개인정보보호책임자:김민섭(minsup@sir.kr)
© SIRSOFT