SEO 최적화 - 사이트맵 만들기

sujin·2023년 2월 5일
1
post-thumbnail
post-custom-banner

최근 회사 홈페이지 리뉴얼 작업을 들어갔다.
회사 홈페이지는 결국 회사를 홍보하기 위한 사이트이기 때문에 얼마나 노출 시킬 수 있느냐가 중요했다.
따라서, 홈페이지 방문자와 트래픽을 더 늘리기 위해 검색엔진 최적화(SEO: Search Engine Optimization) 가 필요했고 이를 위한 방법 중 하나로 기존에는 없었던 사이트맵을 생성해 보기로 했다!!

✋🏻 여기서 잠깐, SEO란 ?

키워드 검색으로 인한 결과나 랭킹을 결정하는 것이 "크롤봇" 인데, 이 크롤봇의 알고리즘에 의해 검색이 잘 되도록 설정해주는 것이 검색엔진 최적화이다.
즉, 크롤봇 눈에 잘 띄도록 하는 것이라고 이해하면 쉽다!


사이트맵이란?

사이트에 있는 페이지, 동영상 및 기타 파일과 그 관계에 관한 정보를 제공하는 것을 말한다. 크롤봇에게 페이지 구성 및 기타 파일의 관계를 알려줌으로써 일반적은 크롤링 과정에서 발견되지 않는 웹페이지를 모두 크롤링할 수 있게 도와주는 녀석이다.

크롤봇에게 페이지의 구조를 알려주는 것만으로도 비교적 많은 콘텐츠를 담은 페이지를 상위 랭크에 올려 방문을 유도할 수 있게 한다고 한다!

이 사이트맵을 만들기 위해서는 두가지 파일을 만들어야 한다. 바로 Sitemap.xmlRobot.txt 이다! 이 두 파일이 무엇이고 어떻게 만들어야 하는지 알아보자!


1. Sitemap.xml

  • Sitemap.xml 파일은 검색 엔진 크롤링 로봇에게 웹 사이트에서 크롤링 해야 할 URL 을 전달한다.

1-1) 필요성

  • 검색 노출 향상
  • 지속적인 업데이트 환경
  • 하위 페이지 링크 발견

1-2) 유형

  • HTML Sitemap
    • 사이트 방문자를 위한 사이트 맵으로 사이트 탐색에 어려움이 있을 경우 도움이 될 수 있다.
  • XML Sitemap
    • 검색 엔진을 위한 사이트맵으로 페이지, 게시물, 동영상, 이미지 혹은 제품등의 URL을 나열한다.

1-3) 기본 형식

<?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>2005-01-01</lastmod>
      <changefreq>monthly</changefreq>
      <priority>0.8</priority>
   </url>
</urlset>

🔎 기본 형식 XML태그 정의

  • <urlset>
    필수 / 파일을 캡슐화하고 현재 프로토콜 표준을 참조
  • <url>
    필수 / 각 URL 항목의 상위 태그. 나머지 태그는 이 태그의 하위 태그
  • <loc>
    필수 / 페이지의 URL. 해당 URL은 http 같은 프로토콜로 시작해야 하며 웹서버에 따라 슬래시로 끝남
  • <lastmod>
    옵션 / 파일을 마지막으로 수정한 날짜 YYYY-MM-DD 형식
  • <changefreq>
    옵션 / 페이지가 변경되는 빈도 (always, hourly, daily, weekly, monthly, yearly, never)
  • <priority>
    옵션 / 해당 사이트의 기타 URL에 대한 특정 URL의 상대적 우선순위. 유효값 범위는 0.0-1.0 (페이지의 기본 우선순위는 0.5)

1-4) 그룹 형식

<?xml version="1.0" encoding="UTF-8"?>
<sitemapindex xmlns="http://www.sitemaps.org/schemas/sitemap/0.9">
   <sitemap>
      <loc>http://www.example.com/sitemap1.xml.gz</loc>
      <lastmod>2004-10-01T18:23:17+00:00</lastmod>
   </sitemap>
   <sitemap>
      <loc>http://www.example.com/sitemap2.xml.gz</loc>
      <lastmod>2005-01-01</lastmod>
   </sitemap>
</sitemapindex>

🔎 그룹 형식 XML태그 정의

  • sitemapindex
    필수 / 파일에 있는 모든 sitemap에 대한 정보를 포함
  • sitemap
    필수 / 개별 sitemap에 대한 정보를 포함
  • loc
    필수 / sitemap의 위치를 식별
  • lastmod
    옵션 / 해당 sitemap 파일이 수정된 시간을 식별

2. Robot.txt

  • 검색의 크롤링 로봇이 웹에 접근할 때 로봇이 지켜야하는 규칙과 사이트맵(sitemap.xml) 파일의 위치를 알려주는 역할을 하는 파일

2-1) 역할

  • 웹사이트 내의 특정 콘텐츠, 웹페이지, 서브 폴더, 디렉토리로의 크롤러 접근 제어
    • 사이트의 리뉴얼, 외부 팀과의 협업 등 외부에서 콘텐츠로의 접근은 가능하지만 검색 결과에는 나타나지 않도록 해야할 경우 사용 한다.
  • 사이트 맵 위치 전달
  • 검색 크롤러에 의한 과부하 방지
    • 구글, 네이버 외에도 많은 검색 엔진이 존재하는데 이 많은 크롤러가 한 번에 여러 콘텐츠를 로드 하면 서버에 큰 부담이 발생한다. 따라서 이런 과부하가 발생하지 않도록 크롤링 지연 등을 지정하는 역할도 할 수 있다.

❓ 만약 robots.txt파일을 설정하지 않는다면?

구글, 네이버 등의 각종 검색엔진봇들이 웹 사이트에서 찾을 수 있는 모든 정보를 크롤링하여 검색엔진 결과에 노출시킨다.
따라서, 웹 사이트 내부의 특정 페이지를 검색엔진에 노출시키지 않고자 할 때 robots.txt 를 설정한다.

2-2) 예시

// 일반적인 사용 예시
User-agent: *
Allow: /wp-admin/admin-ajax.php
Disallow: /wp-admin/
Disallow: /user-profile/
Disallow: /scripts/

// 모든 정보를 차단하는 예시
User-agent: *
Disallow: /

// 사이트 맵의 위치를 알리즌 설정 예시
User-agent: *
Disallow:
Sitemap: http://www.ascentkorea.com/sitemap.xml
  • User-agent
    크롤링을 허용할 검색엔진 설정 (* 는 전체를 허용한다는 의미)
  • Disallow
    웹 크롤러의 접근을 차단할 루트
  • Allow
    웹 크롤러의 접근을 허용할 루트

2-3) 기타

  • robots.txt 파일은 모든 사람이 접근할 수 있기 때문에 보안의 수단으로 사용해선 안된다.
  • 검색엔진 크롤링 로봇이 robots.txt 내용을 반드시 따르는 것은 아니란 것을 기억해야한다.

아직 사이트맵이라는 것이 낯설지만 그래도 이 녀석이 어떤 역할을 하는 앤지 감이 많이 잡힌것 같다. 이제는 단순히 서비스를 만드는 것에서 끝나는 것이 아니라 그 이후에 어떻게 운영을 해나가고 어떻게 소비자에게 더 많이 노출 시킬 수 있는지 등 성능개선에 대한 점도 고려해 나가야 겠다는 생각이 들었다!




Reference

SEO 개선 초심자 가이드

SEO: robots.txt와 sitemap.xml에 대하여

Robots.txt와 Sitemap.xml 제대로 설정하기 - 어센트 코리아

profile
개발댕발
post-custom-banner

2개의 댓글

comment-user-thumbnail
2023년 2월 12일

와... 확실히 제법이네요....

1개의 답글