사이트맵(Sitemap)과 사이트맵 형식

seul_velog·2023년 10월 30일

✍️
이전에 작성한 구글서치콘솔과 구글애널리틱스에 이어서 사이트맵에 대해 조금 더 조사를 해서 정리한 내용이다.
우리 사이트에 사이트맵을 작성, 적용하기 전에 사이트맵에 대해서 알아보자! 😀



사이트맵 이란

웹사이트의 페이지, 동영상, 기타 파일과 각 파일의 관계에 대한 정보를 검색 엔진에게 알려주는 파일이다.

  • 사이트맵은 검색 엔진이 사이트를 더 효과적으로 크롤링하도록 돕기 위해 웹사이트 개발자에 의해 생성되며, 사이트의 구조를 명확하게 설명하여 검색 엔진 최적화(SEO)에 중요한 역할을 한다.

  • 사이트맵은 특히 대형 웹사이트나 새로운 페이지가 자주 생성되거나, 웹사이트 내 일부 페이지가 자연스러운 내비게이션을 통해 쉽게 발견되지 않는 경우, 또는 웹사이트에 풍부한 미디어 콘텐츠(ex. 이미지, 비디오)가 있을 때 특히 중요하다. 이러한 경우 사이트맵은 검색 엔진이 웹사이트의 콘텐츠를 더 완전하고 효과적으로 색인화하는 데 도움을 준다.





사이트맵 형식

XML 사이트맵

주로 검색 엔진용으로 사용되며, 웹사이트의 모든 페이지의 URL을 포함하고 있다. 이 형식은 검색 엔진이 사이트의 구조를 이해하고 모든 페이지를 찾아내서 색인화할 수 있도록 돕는다.

활용도

  • 가장 광범위하게 사용되며, 웹페이지, 이미지, 비디오, 모바일 페이지, 뉴스 기사 등 다양한 콘텐츠 유형을 포함할 수 있다.
  • 페이지의 현지화된 버전을 지원하는 hreflang 태그, 페이지의 상대적 중요도와 마지막 업데이트 시간 등과 같은 추가적인 정보를 제공할 수 있다. 🧐

장점

  • 매우 확장성이 높아서 다양한 종류의 정보와 메타데이터를 포함할 수 있고, 다양한 용도로 사용될 수 있다.
  • 가장 많은 정보를 제공하여 검색 엔진이 사이트를 효과적으로 이해하고 색인화하는 데 도움을 준다.
  • 많은 CMS에서 사이트맵을 자동으로 생성하거나 관리할 수 있는 플러그인이나 도구를 제공한다.

단점

  • 복잡하거나 대형 사이트의 경우 관리가 번거로울 수 있다.
  • 사이트의 구조가 자주 변경될 경우 사이트맵을 지속적으로 업데이트하는 것이 어려울 수 있다.

예시)

<?xml version="1.0" encoding="UTF-8"?>
<urlset xmlns="http://www.sitemaps.org/schemas/sitemap/0.9">
  <url>
     <loc>http://www.example.com/</loc>
     <lastmod>2023-01-01</lastmod>
     <changefreq>daily</changefreq>
     <priority>1.0</priority>
  </url>
  <url>
     <loc>http://www.example.com/about.html</loc>
     <lastmod>2023-01-10</lastmod>
     <changefreq>monthly</changefreq>
     <priority>0.8</priority>
  </url>
  <url>
     <loc>http://www.example.com/contact.html</loc>
     <lastmod>2023-01-15</lastmod>
     <changefreq>yearly</changefreq>
     <priority>0.5</priority>
  </url>
  <!-- 추가적인 페이지 URL들을 계속 나열 -->
</urlset>
  • <loc> : 페이지의 URL
  • <lastmod> : 해당 페이지가 마지막으로 수정된 날짜
  • <changefreq> : 페이지의 변경 빈도
  • <priority> : 웹사이트 내 다른 페이지에 대한 상대적인 중요도

👉 sitemaps.org 에서 복잡한 예와 전체 문서를 확인 할 수 있다.🧐


📌 CMS(Content Management System)이란?
CMS는 콘텐츠 관리 시스템을 의미하며, 웹사이트의 콘텐츠를 생성, 관리, 수정, 게시하는 데 사용되는 소프트웨어 응용 프로그램 관련 프로그램 모음을 말한다. 웹 콘텐츠를 쉽게 관리할 수 있도록 설계되어 있으며, 주로 웹사이트를 유지보수하는데 기술적인 배경지식이 없는 사용자를 대상으로 한다. (ex. WordPress)




RSS, mRSS, Atom 1.0

RSS, mRSS, Atom 1.0 사이트맵은 XML 사이트맵과 구조는 비슷하지만, CMS에서 자동으로 생성되므로 가장 간편하게 제공할 수 있다.

  • RSS(Really Simple Syndication), mRSS(media RSS), 그리고 Atom 1.0은 웹 콘텐츠를 쉽게 공유하고 구독할 수 있도록 해주는 웹 피드 형식이다. 주로 뉴스 사이트, 블로그 및 기타 온라인 출판 플랫폼에서 새로운 콘텐츠를 자도으로 받아볼 수 있도록 하는 데 사용된다.

활용도

  • 주로 뉴스 사이트나 콘텐츠가 자주 업데이트되는 블로그에서 사용되며, 구독자에게 새로운 콘텐츠를 통보하는 용도로도 사용된다.
  • 또한, 동영상 콘텐츠 정보를 Google에 제공할 때 사용된다.

장점

  • 많은 CMS가 자동으로 이러한 피드를 생성한다.
  • 최신 콘텐츠에 대한 정보를 신속하게 제공한다.

단점

  • 주로 최신 콘텐츠에 한정되어 사용되므로 전체 웹사이트의 콘텐츠를 반영하지 못할 수 있다.
  • HTML 사이트맵이나 전체 XML 사이트맵만큼 정보를 포괄적으로 제공하지 못할 수 있다.

✍️ 각각의 예시코드는 어떤 느낌인지만 알고 넘어가자!

RSS 예시)

<?xml version="1.0" encoding="UTF-8" ?>
<rss version="2.0">
<channel>
  <title>Your Website Title</title>
  <link>http://www.yourwebsite.com</link>
  <description>This is an example of an RSS feed</description>
  <item>
    <title>Post Title</title>
    <link>http://www.yourwebsite.com/post-url</link>
    <description>This is a summary of the post</description>
    <pubDate>Tue, 10 Aug 2021 04:00:00 GMT</pubDate>
  </item>
  <!-- Additional item elements here -->
</channel>
</rss>

mRSS (media RSS) 예시)

<?xml version="1.0" encoding="UTF-8"?>
<rss version="2.0" xmlns:media="http://search.yahoo.com/mrss/">
<channel>
  <title>Your Website Title</title>
  <link>http://www.yourwebsite.com</link>
  <description>This is an example of a media RSS feed</description>
  <item>
    <title>Media Post Title</title>
    <link>http://www.yourwebsite.com/media-post-url</link>
    <description>This is a summary of the media post</description>
    <media:content url="http://www.yourwebsite.com/media.mp4" type="video/mp4">
      <media:title type="plain">Media Title</media:title>
      <media:description type="plain">Description of the media</media:description>
      <media:thumbnail url="http://www.yourwebsite.com/thumbnail.jpg" />
    </media:content>
  </item>
  <!-- Additional item elements here -->
</channel>
</rss>

Atom 1.0 예시)

<?xml version="1.0" encoding="utf-8"?>
<feed xmlns="http://www.w3.org/2005/Atom">

  <title>Your Website Title</title>
  <link href="http://www.yourwebsite.com" />
  <updated>2021-08-10T04:00:00Z</updated>
  <author>
    <name>Your Name</name>
  </author>
  <id>http://www.yourwebsite.com</id>

  <entry>
    <title>Entry Title</title>
    <link href="http://www.yourwebsite.com/entry-url" />
    <id>http://www.yourwebsite.com/entry-url</id>
    <updated>2021-08-10T04:00:00Z</updated>
    <summary>This is a summary of the entry.</summary>
  </entry>
  <!-- Additional entry elements here -->
  
</feed>

📌 피드(feed) 형식이란?
웹 콘텐츠의 업데이트를 구독하고, 자동으로 받아볼 수 있도록 하는 데이터 형식을 말한다. 이러한 피드는 주로 XML(Extensible Markup Language)을 기반으로 하며, 콘텐츠가 변경되거나 새로운 콘텐츠가 추가될 때마다 이를 구독자에게 신속하게 전달할 수 있는 구조로 되어 있다.

주로 사용되는 피드 형식
RSS: 가장 널리 알려진 피드 형식으로, 간단한 XML 형식을 사용해 콘텐츠 업데이트를 제공
Atom: RSS와 유사한 기능을 가지지만, 좀 더 복잡한 콘텐츠를 다룰 수 있는 구조로 설계됨
mRSS: 멀티미디어 콘텐츠를 위한 RSS 확장으로, 비디오, 오디오 등의 미디어 파일 정보를 포함할 수 있음




텍스트 사이트맵

가장 간단한 사이트맵 형식으로 HTML 및 기타 색인 생성이 가능한 페이지의 URL만 표시할 수 있다.

  • 간단히 말해 웹사이트의 각 페이지에 대한 정적인 URL 리스트를 제공한다는 뜻이다.
  • 이때 '색인 생성이 가능한 페이지'란, 검색 엔진이 읽고 색인할 수 있는, 즉 검색 결과에 포함될 수 있는 모든 웹페이지를 말한다.🤔

활용도

  • 간단한 텍스트 파일에 각 줄에 하나씩 전체 URL 목록을 포함한다.

장점

  • 구조가 매우 단순하여 만들기 쉽고 관리가 간편하다.
  • 특히 용량이 큰 사이트에서 쉽게 사용하고 관리할 수 있는 방법이다.

단점

  • 페이지에 대한 추가적인 메타데이터나 정보를 제공할 수 없다.
  • 주로 색인 생성이 가능한 HTML 페이지에 한해서 사용된다.

예시)

http://www.yourwebsite.com
http://www.yourwebsite.com/about
http://www.yourwebsite.com/contact
http://www.yourwebsite.com/products/product1
http://www.yourwebsite.com/products/product2
  • 텍스트 사이트맵은 단순히 웹사이트의 각 페이지 URL을 텍스트 파일에 나열한 것이다. 파일의 각 줄에 하나의 URL이 들어간다.
  • 이 파일은 sitemap.txt 라는 이름으로 저장되며, 검색 엔진에 제출할 수 있다.





Google에 사이트맵 제출하기

Google에 사이트맵을 제출하는 방법들 중 몇가지만 정리해 보았다.✨

(1) Google Search Console 사용

가장 일반적인 방법은 Google Search Console을 통해 사이트맵을 제출하는 것이다. 이를 통해 제출한 사이트맵에 대한 통계와 검색 엔진의 크롤링 상태를 확인할 수 있다.


(2) Search Console API

API를 통해 프로그래밍 방식으로 사이트맵을 제출할 수 있다. 이 방법은 자동화된 시스템에서 유용하게 사용된다.


(3) robots.txt

robots.txt 파일에 Sitemap: 지시문을 추가하여 사이트맵의 위치를 명시할 수 있다. 검색 엔진이 robots.txt 파일을 크롤링할 때 사이트맵의 위치를 인지하게 된다.


(4) 교차 사이트맵 제출

여러 사이트에 걸쳐 하나의 사이트맵을 사용할 수 있으며, 이를 통해 모든 사이트의 URL을 관리할 수 있다. 이는 모든 사이트의 소유권을 확인한 후에 가능하다.


✍️
이 방법들은 Google이 웹사이트를 효율적으로 크롤링하고 색인화하는 데 도움을 줄 수 있다. 그러나 Google은 사이트맵을 제출받았다고 해서 반드시 모든 URL을 크롤링하거나 색인화한다는 것을 보장하지 않는다고 한다.😮 사이트맵은 검색 엔진에 대한 '힌트'이며, 실제 색인화는 Google의 알고리즘과 크롤링 정책에 따라 결정된다!




✍️ 내가 제출한 방식은?

내 경우 robot.txtSitemap:'Sitemap: https://test.com/sitemap.xml' 로 기재하고, google search console에 https://test.com/sitemap.xml 를 제출했다.
이 둘중 하나만 해도 사이트맵 제출이 된다는 걸까? 🧐

👉 robots.txt파일에 Sitemap: 항목을 추가하거나 구글 서치 콘솔을 통해 직접 사이트맵을 제출하는 방법 둘 중 하나만으로도 Google에게 사이트맵을 알릴 수 있다고 한다. 그러나 두 방법을 모두 사용하는 것이 여러가지 이유로 권장된다고..!

robots.txt를 사용하는 경우
: 이 방법은 Google 뿐만 아니라 다른 검색 엔진에게도 사이트맵의 위치를 알려준다.
검색 엔진이 언제든지 robots.txt를 확인하면 자동으로 사이트맵을 발견할 수 있다.

Google Search Console을 사용하는 경우
: 사이트맵을 직접 제출함으로써 Google에게 즉시 알릴 수 있다.
제출 후에는 Google Search Console에서 사이트맵의 처리 상태와 크롤링된 페이지, 발견된 오류 등에 대한 자세한 정보를 얻을 수 있다.

이처럼 두 방법을 모두 사용함으로써, 사이트맵의 발견 가능성을 최대화하고, Google이 사이트맵을 크롤링하고 처리하는 과정에 대한 더 상세한 피드백을 받을 수 있게 되는 것이다.😎 따라서 사이트의 SEO 관리에 있어 좀 더 효과적인 접근 방식이 될 수 있다.


또한, 사이트 맵에는 xml 형식만 있는 줄 알았는데 그외에도 다른 형식이 있다는 것을 알게되었다. 😤





reference)
구글검색센터

profile
기억보단 기록을 ✨

0개의 댓글