sitemap.xml 생성하기 (2017-01-25 수정) > 그누4 팁자료실

그누4 팁자료실

그누보드4와 관련된 팁을 여러분들과 함께 공유하세요.
나누면 즐거움이 커집니다.

sitemap.xml 생성하기 (2017-01-25 수정) 정보

sitemap.xml 생성하기 (2017-01-25 수정)

본문

구글이나 네이버 웹마스터도구의 sitemap 제출하기 위한 데이타 추출 sitemap 파일입니다.
그누보드4 / m3googlesitemap.php  로 업로드 합니다.

글읽기 = 1, 검색허용 = y 의 게시판의 공개글의 최근 수정일 기준으로 100개씩 추출합니다.
너무 많은 자료를 추출하는 경우에 시간초과 오류가 뜨더군요.


2017-01-25 수정
영카트 설치된 경우엔 그것의 자료도 추출하는 로직을 추가


<?php
// m3 google sitemap ver 1.22 by mahler83 2009-07-30
// please give feedbacks to bomool.net
include_once("./_common.php");

$charset = $g4[charset];
$url = $g4[url]; // adjust if gnuboard is not installed in the root directory

header("Content-type: text/xml;charset=$charset");
header("Cache-Control: no-cache, must-revalidate");
header("Pragma: no-cache");

echo "<?xml version=\"1.0\" encoding=\"$charset\"?>\n";
?>
<urlset xmlns="http://www.sitemaps.org/schemas/sitemap/0.9">
<?php
    $query = sql_query("select bo_table from ".$g4['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
?>
<url>
<loc><?php echo $url ?>/bbs/board.php?bo_table=<?php echo $bo; ?></loc>
<?php
$temp = sql_fetch("select wr_last,wr_datetime from ".$g4['write_prefix'].$bo." order by wr_last DESC");
//$wr_last = $temp['wr_last'];
//$wr_datetime = $temp['wr_datetime'];
if ($temp['wr_last']) {
$lastmod = substr($temp['wr_last'], 0, 10);
} elseif ($temp['wr_datetime']) {
$lastmod = substr($temp['wr_datetime'], 0, 10);
} else {
$lastmod = date(Y)."-".date(m)."-".date(d);
}
?>
<lastmod><?php echo $lastmod; ?></lastmod>
<changefreq>monthly</changefreq>
<priority>1.0</priority>
</url>

<?php
$query = sql_query("select wr_id, wr_last from ".$g4['write_prefix'].$bo." where wr_is_comment='0' AND wr_option NOT LIKE '%secret%' order by wr_id DESC limit 100");
while($row = sql_fetch_array($query)) {
        // list of each article
        ?>
        <url>
            <loc><?php echo $url ?>/bbs/board.php?bo_table=<?php echo $bo;?>&amp;wr_id=<?php echo $row['wr_id']; ?></loc>
            <?php
            $temp = sql_fetch("select wr_last from ".$g4['write_prefix'].$bo." where wr_parent='".$row['wr_id']."' order by wr_id DESC");
            $lastmod = substr($temp['wr_last'], 0, 10); // 2016-01-16
            if(!$lastmod) {
                $temp = sql_fetch("select wr_datetime from ".$g4['write_prefix'].$bo." where wr_id='".$row['wr_id']."'");
                $lastmod = substr($temp['wr_datetime'], 0, 10);
            }
            ?>
            <lastmod><?php echo $lastmod; ?></lastmod>
            <changefreq>daily</changefreq>
            <priority>1.0</priority>
        </url>
        <?php
}
$i++;
}

if ($g4['yc4_item_table']) {
$query = sql_query("select it_id, it_time from ".$g4['yc4_item_table']." where it_use='1' order by it_time desc");
while($row = sql_fetch_array($query)) {
?>
<url>
<loc><?php echo $g4['shop_url'] ?>/item.php?it_id=<?php echo $row['it_id'];?></loc>
<lastmod><?php echo substr($row['it_time'], 0, 10); ?></lastmod>
<changefreq>daily</changefreq>
<priority>1.0</priority>
</url>
<?php
}
}
?>
</urlset>



자료인용
http://sir.kr/g4_tiptech/19952
추천
0

댓글 2개

전체 3,313 |RSS
그누4 팁자료실 내용 검색

회원로그인

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