php 사이트맵

매출이 오르면 내리는 수수료! 지금 수수료센터에서 전자결제(PG)수수료 비교견적 신청해 보세요!
php 사이트맵

QA

php 사이트맵

답변 3

본문

어떻게 만들고 등록하나요? 초보입니다.ㅜ

이 질문에 댓글 쓰기 :

답변 3

사이트맵(Sitemap)은 웹사이트의 구조를 검색 엔진(크롤러)에 제공하기 위한 파일로,

일반적으로 XML 형식으로 작성합니다.

방법은 많으나 두 가지 소개합니다.

 

1. ♠ 편집기 사용 수작업

*텍스트 편집기를 열어 아래 예제와 같이 작성


<?xml version="1.0" encoding="UTF-8"?>
<urlset xmlns="http://www.sitemaps.org/schemas/sitemap/0.9" xmlns:xhtml="http://www.w3.org/1999/xhtml">
  <url>
    <loc>https://example.com/</loc>
    <lastmod>2024-12-21</lastmod>
    <changefreq>daily</changefreq>
    <priority>1.0</priority>
  </url>
  <url>
    <loc>https://example.com/about/</loc>
    <lastmod>2024-12-20</lastmod>
    <changefreq>monthly</changefreq>
    <priority>0.8</priority>
  </url>
</urlset>

  - <loc> 태그 안에 사이트 URL을 작성.

  - <lastmod>는 마지막 수정일, <changefreq>는 변경 빈도, <priority>는 우선순위

  - <priority>: 홈 페이지(1.0), 주요 페이지(0.8), 기타 페이지(0.5 이하)

  - <changefreq>: 매일 변경되는 페이지(daily), 월별 업데이트(monthly),

                        자주 변경되지 않는 페이지(yearly)

 

*파일 이름을 sitemap.xml로 저장.

  - sitemap.xml를 sitemap.txt로 카피한 파일도 웹사이트 루트 디렉터리에 같이 두세요.

  - sitemap.txt를 추가하는 것은 단순 URL 리스트를 의미하며,

    검색 엔진에 별도로 제공될 수 있기 때문입니다.

*FTP나 서버 파일 매니저를 통해 웹사이트 루트 디렉터리에 업로드.

*Google Search Console, Bing Webmaster Tools 등에 접속 후,

  "Sitemaps" 메뉴에서 "https://example.com/sitemap.xml"을 제출.

 

2. ♠ 파일에서 URL을 읽어 사이트맵을 동적으로 생성하는 PHP 스크립트 

*urls.txt라는 파일에 URL 목록을 작성


/
/about
/contact
/products
/products/item1

*PHP 스크립트


<?php
header("Content-Type: application/xml; charset=utf-8");
$base_url = "https://example.com";
$file_path_txt = "urls.txt";
if (!file_exists($file_path_txt)) {
    die("Error: 'urls.txt' 파일이 존재하지 않습니다.");
}
$urls = file($file_path_txt, FILE_IGNORE_NEW_LINES | FILE_SKIP_EMPTY_LINES);
if (!$urls || count($urls) === 0) {
    die("Error: 'urls.txt'에 URL이 없습니다.");
}
echo "<?xml version=\"1.0\" encoding=\"UTF-8\"?>\n";
echo "<urlset xmlns=\"http://www.sitemaps.org/schemas/sitemap/0.9\">\n";
foreach ($urls as $url) {
    echo "  <url>\n";
    echo "    <loc>{$base_url}{$url}</loc>\n";
    $file_path_html = $_SERVER['DOCUMENT_ROOT'] . "{$url}.html";
    if (file_exists($file_path_html)) {
        $lastmod = date('Y-m-d', filemtime($file_path_html));
        echo "    <lastmod>{$lastmod}</lastmod>\n";
    }
    $changefreq = ($url === '/') ? 'daily' : 'weekly';
    $priority = ($url === '/') ? '1.0' : '0.8';
    echo "    <changefreq>{$changefreq}</changefreq>\n";
    echo "    <priority>{$priority}</priority>\n";
    echo "  </url>\n";
}
echo "</urlset>";

* PHP 파일을 서버 루트 디렉토리에 업로드 후

  "https://example.com/sitemap.php"로 접속하면 XML 형식의 사이트맵이 출력됩니다.

 

3. ☆ 이외의 방법 ☆

https://www.xml-sitemaps.com (온라인 자동 생성 도구 사용)

*WordPress: Yoast SEO 또는 All in One SEO 플러그인 사용.

 

`<urlset>`: 사이트맵의 루트 요소

`<url>`: 각 웹 페이지에 대한 요소

`<loc>`: 페이지의 URL

`<lastmod>`: 페이지의 마지막 수정 날짜(YYYY-MM-DD 형식)

선택적 요소:

`<changefreq>`: 페이지가 얼마나 자주 변경되는지(항상, 매시간, 매일, 매주, 매월, 매년)

`<priority>`: 페이지의 상대적 중요성(0.0~1.0)

`<image>`: 페이지에 있는 이미지의 URL

예시: 다음은 3개의 페이지가 있는 사이트맵의 예입니다.


<?xml version="1.0" encoding="UTF-8"?>
<urlset xmlns="http://www.sitemaps.org/schemas/sitemap/0.9">
  <url>
    <loc>https://example.com/</loc>
    <lastmod>2023-03-08</lastmod>
    <changefreq>weekly</changefreq>
    <priority>1.0</priority>
  </url>
  <url>
    <loc>https://example.com/about</loc>
    <lastmod>2023-03-07</lastmod>
    <changefreq>monthly</changefreq>
    <priority>0.8</priority>
  </url>
  <url>
    <loc>https://example.com/contact</loc>
    <lastmod>2023-03-06</lastmod>
    <changefreq>yearly</changefreq>
    <priority>0.5</priority>
  </url>
</urlset>

 

답변을 작성하시기 전에 로그인 해주세요.
QA 내용 검색
질문등록
전체 0
© SIRSOFT
현재 페이지 제일 처음으로