스터디/Etc

[SEO] 사이트맵 - 사이트를 홍보하는 가장 기본적인 방법

Dalmangyi 2024. 1. 4.

어렷을 적부터 자주 접해왔던 사이트맵이지만 

프론트앤드를 하고 있는 요즘 사이트맵에 대해 더욱 자세히 알아보기위해 이 글을 작성합니다.

 

사이트 맵이란

사이트를 만들었으면 홍보를 해야되는데

가장 쉽게 하는 방법은 검색엔진에 노출되는것이고

그 검색엔진에게 사이트의 구조를 알려주는 것입니다.

 

그 구조를 알려주는 방법으로 가장 오래된 

sitemap(사이트맵) 이 있습니다.

 

검색엔진이 없던 시절에는 

인터넷 접속도 너무 느렸던 지라.

메인 홈페이지보다는 사이트맵을 보고 사이트를 직접 하나씩 탐색해보곤 했습니다.

 

오랜 시간이 지나면서 검색엔진이 하나둘 생겨나고

그 검색엔진은 사이트 내의 모든 링크를 탐색도 하지만 효율적인 탐색을 위해서 사이트맵을 참조하고 있습니다.

 

 

 

사이트맵 위치

사이트맵의 파일 위치는 사실 어느 경로에 두어도 상관없지만

일반적인 관례로는 도메인 주소의 root 에 두게 됩니다.

예를 들어 제 블로그도 사이트맵은 https://dalgonakit.tistory.com/sitemap.xml 로 존재합니다.

 

 

파일 내용

내용은 주로 xml 형태로 작성됩니다.

가독성이 좋은 json이 많은 요즘. 참 보기 불편하고 딱딱해 보이는 xml 입니다..

 

<?xml version="1.0" encoding="UTF-8" ?>
<urlset
    xmlns="https://www.sitemaps.org/schemas/sitemap/0.9"
    xmlns:xhtml="https://www.w3.org/1999/xhtml"
    xmlns:mobile="https://www.google.com/schemas/sitemap-mobile/1.0"
    xmlns:news="https://www.google.com/schemas/sitemap-news/0.9"
    xmlns:image="https://www.google.com/schemas/sitemap-image/1.1"
    xmlns:video="https://www.google.com/schemas/sitemap-video/1.1"
    xmlns:pagemap="http://www.google.com/schemas/sitemap-pagemap/1.0"
>
    
    
    <!-- <url> 태그들이 들어가는 곳 -->
    
    
</urlset>

 

위 처럼 기본적으로 xml태그와 urlset태그가 들어가며, 수많은 사이트 경로는 url태그로 삽입되게 됩니다.

 

 

url 태그는 사이트 경로를 의미하는 태그이며 구성은 아래와 같습니다.

<url>
    <loc>http://www.example.com/contents/</loc>
    <lastmod>2024-01-01</lastmod>
    <changefreq>monthly</changefreq>
    <priority>0.1</priority>
</url>

 

loc (필수)

경로를 의미하고, 사이트 도메인까지 포함된 주소여야 합니다.

url태그에 사용되는 도메인은 모두 같은 도메인이여야 합니다.

 

lastmod

경로의 최종 갱신일을 작성합니다. 대부분 시간은 생략하고 년월일(yyyy-MM-dd) 형식으로 작성합니다.

 

changefreq

업데이트 빈도를 정합니다.

값은 always(접속시마다) / hourly(매 시간) / daily(매일) / weekly(매주) / monthly(매달) / yearly (매년) / never(변경안됨) 중에 선택합니다.

never여도 검색엔진 크롤링봇이 주기적으로 접속합니다. 

 

priority

웹 사이트내의 모든 경로를 비교했을때 우선순위를 입력합니다.

0.0~1.0 사이에서 정하며, 기본값은 0.5 입니다.

가장 중요한 사이트는 1.0

한 댑스 들어간 경로는 0.8

또 한 댑스 들어간 경로는 0.5

이렇게 주로 적습니다.

 

우선순위는 크롤링 봇에 영향을 주지 않으며,

경로간의 우선순위를 결정하는데 사용됩니다.

 

<?xml version="1.0" encoding="UTF-8" ?>
<urlset
    xmlns="https://www.sitemaps.org/schemas/sitemap/0.9"
    xmlns:xhtml="https://www.w3.org/1999/xhtml"
    xmlns:mobile="https://www.google.com/schemas/sitemap-mobile/1.0"
    xmlns:news="https://www.google.com/schemas/sitemap-news/0.9"
    xmlns:image="https://www.google.com/schemas/sitemap-image/1.1"
    xmlns:video="https://www.google.com/schemas/sitemap-video/1.1"
    xmlns:pagemap="http://www.google.com/schemas/sitemap-pagemap/1.0"
>
    
    <url>
        <loc>http://www.example.com/contents/</loc>
        <lastmod>2024-01-01</lastmod>
        <changefreq>monthly</changefreq>
        <priority>0.1</priority>
    </url>
    
</urlset>

 

직접 작성하면 이런형태가 됩니다.

 

 

 

 

 

 

 

 

작성시 주의점

sitemap.xml파일을 코드로 만들 수 있기 때문에 

수 없이 많은 DB에 있는 경로들을 만들어서 악용해서 만들 수 있기 때문에

대부분 파일 제한을 둡니다.

url은 50,000개 제한을 두며, 파일 크기는 10MB 이하여야 합니다.

 

 

 

 

여러개의 사이트맵 (사이트맵 인덱스)

사이트맵은 주로 메인 페이지만 있는것이 아니고, 

기능별로 나눠진 경로마다 사이트맵이 존재 할 수 있습니다.

그래서 하위에 있는 사이트맵을 알려주는 sitemapindex(사이트맵인덱스)가 존재합니다.

 

<?xml version=”1.0″ encoding=”UTF-8″?>
<sitemapindex 
	xmlns="http://www.sitemaps.org/schemas/sitemap/0.9"
    >
    <sitemap>       
        <loc>http://www.example.com/posts/sitemap.xml</loc>       
        <lastmod>2024-01-01</lastmod>    
    </sitemap>    
    <sitemap>       
        <loc>http://www.example.com/videos/sitemap.xml</loc>       
        <lastmod>2024-01-01</lastmod>    
    </sitemap>
</sitemapindex>

 

example.com/sitemap.xml 파일에는 sitemapindex파일을 넣고

example.com/posts/sitemap.xml 파일에는 포스트에 관련된 사이트맵 파일,

example.com/videos/sitemap.xml 파일에는 동영상 관련된 사이트맵 파일을 넣어보았습니다.

 

이렇게 하면 각 파일당 5만개의 url과 10메가 이하로 유지하면, 수 많은 사이트맵을 등록할 수 있습니다.

 

 

 

 

접속을 막고 싶은 곳

접속을 막으려면 우선 sitemap.xml 파일에 노출시키지 말아야하며,

robots.txt 파일을 작성해서 크롤링한 경로가 검색엔진에 노출되지 않게 해야 합니다.

 

 

사이트맵을 적용하는 방법

간단한 방법으로는 언젠가 노출때까지 기다리는 방법이지만 이는 언제가 될지 모르기 때문에 이런 방법 보다는.

구글 서치 콘솔 (Google Search Console, https://search.google.com/) 에 자신의 사이트를 등록하는걸 추천드립니다.

그리고 네이버에 노출 시키려면 Search Advisor (https://searchadvisor.naver.com/)에 사이트맵을 등록해야 합니다.

 

 

 

댓글