- 등록일2026.08.07
- 조회수7
sitemap.php(2.1K / 다운로드:0)다운로드 download
sitemap.xml(1.2K / 다운로드:0)다운로드 download
.htaccess(1.2K / 다운로드:0)다운로드 download
1. 홈페이지 메인 서브 사이트맵 작성(기본)
아래 소스에서 홈페이지 주소 변경 후 sitemap.xml로 저장 후 업로드
<?xml version="1.0" encoding="UTF-8"?>
<urlset xmlns="http://www.sitemaps.org/schemas/sitemap/0.9">
<url>
<loc>http://travelpick.kr/</loc>
<changefreq>daily</changefreq>
<priority>1.0</priority>
</url>
<url>
<loc>http://travelpick.kr/bbs/content.php?co_id=travel</loc>
<changefreq>daily</changefreq>
<priority>0.8</priority>
</url>
<url>
<loc>http://travelpick.kr/bbs/content.php?co_id=festival</loc>
<changefreq>daily</changefreq>
<priority>0.8</priority>
</url>
<url>
<loc>http://travelpick.kr/bbs/board.php?bo_table=travel_them</loc>
<changefreq>daily</changefreq>
<priority>0.8</priority>
</url>
<url>
<loc>http://travelpick.kr/bbs/content.php?co_id=hotel</loc>
<changefreq>daily</changefreq>
<priority>0.8</priority>
</url>
<url>
<loc>http://travelpick.kr/bbs/content.php?co_id=camping</loc>
<changefreq>daily</changefreq>
<priority>0.8</priority>
</url>
<url>
<loc>http://travelpick.kr/bbs/board.php?bo_table=info</loc>
<changefreq>daily</changefreq>
<priority>0.8</priority>
</url>
</urlset>
2. 페이지가 많을 경우 사이트맵 자동 생성 프로그램 이용
1. XML-Sitemaps (가장 많이 사용)
- 무료로 최대 500페이지 생성
- XML Sitemap 다운로드 가능
- Google, Naver 모두 사용 가능
- 사이트 주소만 입력하면 생성
2. XML Sitemap Generator
- 간단하게 사이트맵 생성
- 소규모 사이트에 적합
3. Slickplan
https://slickplan.com/xml-sitemap-generator
- 온라인 사이트맵 생성
- 대형 사이트도 지원(유료 기능 포함)
3. 그누보드에서 자동 생성되는 방식
아래 소스로 sitemap.php 파일을 만들어 업로드 시킨 후 그누보드 루트의 .htaccess 파일 끝에 아래 두 줄을 추가합니다.
RewriteEngine On
RewriteRule ^sitemap\.xml$ sitemap.php [L]
이때 sitemap.xml은 별도로 만들지 않아도 됩니다.
sitemap.php 파일
<?php
// 이전 출력 버퍼 모두 비우기
while (ob_get_level()) {
ob_end_clean();
}
include_once('./common.php');
// HTTP 헤더를 XML로 지정
header("Content-Type: text/xml; charset=utf-8");
echo '<?xml version="1.0" encoding="UTF-8"?>' . PHP_EOL;
echo '<urlset xmlns="http://www.sitemaps.org/schemas/sitemap/0.9">' . PHP_EOL;
// 1. 메인페이지
echo ' <url>' . PHP_EOL;
echo ' <loc>' . G5_URL . '/</loc>' . PHP_EOL;
echo ' <lastmod>' . date('Y-m-d') . '</lastmod>' . PHP_EOL;
echo ' <changefreq>daily</changefreq>' . PHP_EOL;
echo ' <priority>1.0</priority>' . PHP_EOL;
echo ' </url>' . PHP_EOL;
// 2. 게시판 목록에서 비회원 읽기 가능 게시글 추출
$bo_sql = " SELECT bo_table FROM {$g5['board_table']} WHERE bo_read_level <= 1 ";
$bo_result = sql_query($bo_sql);
while ($bo = sql_fetch_array($bo_result)) {
$bo_table = $bo['bo_table'];
$write_table = $g5['write_prefix'] . $bo_table;
// 게시판당 최근 글 200개씩 추출 (답글/비밀글 제외)
$wr_sql = " SELECT wr_id, wr_datetime
FROM {$write_table}
WHERE wr_is_comment = 0
AND wr_option NOT LIKE '%secret%'
ORDER BY wr_id DESC
LIMIT 200 ";
$wr_result = @sql_query($wr_sql);
if ($wr_result) {
while ($wr = sql_fetch_array($wr_result)) {
$post_url = G5_BBS_URL . '/board.php?bo_table=' . $bo_table . '&wr_id=' . $wr['wr_id'];
$date = date('Y-m-d', strtotime($wr['wr_datetime']));
echo ' <url>' . PHP_EOL;
echo ' <loc>' . $post_url . '</loc>' . PHP_EOL;
echo ' <lastmod>' . $date . '</lastmod>' . PHP_EOL;
echo ' <changefreq>weekly</changefreq>' . PHP_EOL;
echo ' <priority>0.8</priority>' . PHP_EOL;
echo ' </url>' . PHP_EOL;
}
}
}
echo '</urlset>';
// 버퍼 출력 및 강제 완전 종료 (이후 코드 삽입 불가능하게 처리)
if (function_exists('fastcgi_finish_request')) {
fastcgi_finish_request();
}
die();
?>
4. 확인방법
웹 브라우저 주소창에 [https://내도메인.com/sitemap.xml 또는 http://내도메인.com/sitemap.xml]을 입력하고 접속합니다.
최신 게시글 목록이 깔끔한 XML 구조로 바로 출력되는지 확인합니다.
이상이 없다면 네이버 서치어드바이저의 [요청]-[사이트맵 제출] 메뉴에서 sitemap.xml을 제출하면 됩니다.
댓글목록
등록된 댓글이 없습니다.
KOR
ENG
CHN
JPN