보다 자세한 설명은 도움말을 참고해주세요. WIDBEE

Posted by WIDBEE
2017. 3. 30. 16:04 Blog/TIPS

블로그나 웹사이트를 운영하게되면 한번쯤은 '사이트맵'이란 단어를 듣게 됩니다. 대부분 내가 작성한 글이 제대로 검색이 안될 때 이유를 알아보면서 아니면 '등록해 놓으면 좋다'는 말을 듣고 관심을 갖게 됩니다. '사이트맵'으로 검색을 해보시면, "사이트맵은 어떻게 만들어라, 이렇게 등록해라"하는 글 들은 많습니다. 그런데 이왕 하는 거면 제대로 알고 똑바로 만드는게 좋잖아요? 그러려면, 사이트맵이 무엇이고, 어떻게 생긴건지 제대로 알고 있어야 합니다. 사이트맵을 잘못 만들면 나만 손해보게 되기 때문이죠. 그래서 이번 포스팅에선 사이트맵이 무엇이고, 어떻게 구성되어 있고, 어떻게 만들면 되는지에 대해서 알아볼까 합니다.









사이트맵이란



먼저 사이트맵이란, 말 그대로 사이트(site)의 지도(map)입니다. 즉, 웹사이트나 블로그 페이지에 대한 몇 가지 정보를 담고 있는 목록파일입니다. 이 사이트맵 파일을 통해서 구글, 다음, 네이버 등의 검색엔진에게 자신의 블로그의 구조를 알리는 것이죠. 그래서 사이트맵이 있으면 좋은 것입니다. 검색엔진이 크롤링(정보수집)을 할 때 정확한 정보를 제공해 주어야, 아무래도 더 정확하고 많은 유입이 있을 가능성도 커지게 되구요. 특히 티스토리 블로그 같은 경우, 네이버 입장에서는 외부블로그이기 때문에 네이버가 알아서 잘 챙겨주는 서비스를 기대하긴 힘듭니다. 그래서 '나 여기 있어요~ 난 이렇게 생겼어요~'라고 알려주는 것이 좋구요. 


그럼 사이트맵은 어떻게 만들 수 있을까요? 사이트맵을 만드는 방법은 (1) 직접 만들기, (2) 온라인에서 만들기 (3) 오프라인 프로그램으로 만들기 등 다양한 방법이 존재합니다. 보통은 2번째 온라인에서 만드는 방법들을 많이 알려지고 있죠. 그런데 과연 제대로, 잘 만들어주는걸까요? 제대로 만들어진 것인지를 파악하기 위해선 사이트맵의 기본 구조에 대해서 알고 있어야 합니다. 따라서 사이트맵의 생김새(구조)에 대해서 알아보도록 하자구요.






사이트맵의 생김새




사이트맵은 XML이라는 언어로 만들어져 있습니다. XML은 eXtensible Markup Language의 약자구요. HTML은 다 들어보셨죠? 웹사이트를 만들때 쓰는 언어. XML은 이 HTML을 보완해서 나온 녀석입니다. HTML은 사용할 수 있는 태그도 많지 않았고, 그래서 다양한 문서를 표현하는데 한계가 있었습니다. 특히 문서의 구조를 표현할 수가 없었거든요. 그래서 이러한 단점을 보완한 녀석이 XML이라고 보시면 됩니다. 그래서 XML에서는 사용자가 태그를 정의해서 사용할 수도 있고, 다른 사람들이 해당태그를 사용할 수 있도록 제공도 할 수 있죠. 사이트맵이 웹페이지의 구조를 알려주는 것이므로, XML로 표현하기가 적합한 것이구요.



그런데 사이트맵을 만들 때 UTF-8로 인코딩(encoding)해야 합니다. 이건 또 무슨 말일까요? 일단 사이트맵 파일을 열어보시면, 제일 상단에 다음과 같이 쓰여져 있습니다.



'사이트맵을 만들 때 UTF-8로 인코딩해야 한다'는 말을 이해하기 위해서는 2가지 용어에 대한 이해가 필요합니다. 


먼저 인코딩에 대해서 알아보면, 코딩(coding)이란, 컴퓨터가 알아들을 수 있는 언어로 작성하는 것을 말합니다. 그리고 인코딩(en-coding)이란, 이러한 코딩을 이미 약속된 특정한 방식에 따라 하는 것을 말합니다. 즉, 특정한 방식에 따라 컴퓨터가 알아들을 수 있는 언어로 부호화하는 것을 인코딩이라고 합니다.


그렇다면 UTF-8은 무엇일까요?


이미 파악하셨겠지만, UTF-8은 인코딩 방식 중 하나입니다. 문자에 관련된 인코딩 방식이구요. 컴퓨터에서 문자를 다루는 방식에도 여러가지 표준들이 있습니다. 세계에는 다양한 형태의 문자들이 존재하기 때문에, 이러한 다양한 문자들을 컴퓨터가 통일성 있게 이해하고 표현할 수 있도록 하기 위해 만들어진 표준들이죠. 이 중에 유니코드(Unicode)라는 표준이 있습니다. 이 유니코드는 모든 나라의 문자들을 표현할 수 있도록 만들어진 표준이구요. UTF-8은 이 유니코드를 인코딩하는 방식 중의 하나입니다. 즉, Encoding='UTF-8'은 "'유니코드라고 하는 문자표현 방식에 따라 이 문서를 변환해라"라는 의미입니다.



사이트맵 문서는 <urlset> ~ </urlset> 이라는 태그(tag)로 둘러싸여 있습니다. 말 그대로 URL들의 모음(set)이죠. (URL은 인터넷에서 주소를 나타내는 방식을 말합니다.)  그래서 기본적인 구조는 아래와 같은 형태가 됩니다.



   
		페이지1에 관한 정보
   
   
		페이지2에 관한 정보
   
   
		페이지3에 관한 정보
   


그런데 위에 보시면, urlset 옆에 xmlns라는 것이 붙어있습니다. 이건 네임스페이스(name space)라고 부르는데, 쉽게 말해서 내가 쓰는 태그(tag)들에 대한 정보를 정의해 놓은 위치를 알려주는 것입니다. 아까 XML은 직접 태그들을 정의해서 쓸 수 있다고 했던 것 기억하시죠? 그런데 여러 XML문서에서 그 안에 있는 요소들을 뽑아내서 쓸 때, 같은 이름이 있는 경우가 있을 수도 있겠죠? 이러한 경우 헷갈리지 않고 구별할 수 있는 기능을 해주는 것도 네임스페이스입니다. 즉, '내가 쓰는 tag들에 대한 정보는 저기가서 참조해'라는 의미입니다.


그럼 이제 각 URL안에 쓸 수 있는 4가지 태그(tag)에 대해서 알아보도록 하겠습니다. 이 태그들에 적힌 정보를 검색엔진에서 참조해가게 됩니다. URL태그 안에 쓸 수 있는 태그는 아래와 같습니다.




   
	 1. 페이지 주소 
	 2. 최종 수정일 
	 3. 변경 주기 
	 4. 중요도 	
   


각각의 태그들에 대해서 간략히 알아보면, (1)은 페이지의 주소를 입력하는 곳이고, (2)는 마지막으로 페이지를 수정한 날짜를 입력하는 곳입니다. (3)은 페이지가 변경되는 빈도를 나타내며, always, hourly, daily, weekily, monthly, yearly, never 의 값을 사용할 수 있습니다. 블로그의 경우 한 번 포스팅을 하면 거의 변경을 하는 경우가 드물기 때문에 daily 정도로 설정해주시면 됩니다. (4)는 페이지의 상대적인 중요도를 나타내는 것으로 0.0 ~ 1.0의 범위 안의 숫자로 표현할 수 있고, 기본 중요도는 0.5이며 숫자가 클수록 중요도가 높다는 의미입니다. 참고로 변경빈도나, 중요도 같은 것들은 참고용도로 제공되는 것일 뿐, 강제성이 있는 것은 아닙니다. 즉, 검색엔진이 크롤링(정보수집)을 할 때, 위 정보들을 참고용도로 활용할 뿐, 강제성은 없으며, 자체적인 기준에 따라 크롤링을 하게 됩니다. 그리고 URL만 적어줘도 무방합니다. 4가지 속성 모두를 반드시 적어야 하는 것은 아닙니다.


따라서 사이트맵의 최종적인 모습은 아래와 같습니다.




http://widbee.tistory.com/daily1.00
http://widbee.tistory.com/tagdaily0.85
http://widbee.tistory.com/guestbookdaily0.85
http://widbee.tistory.com/categorydaily0.85






사이트맵 만들기


그럼 제대로 된 사이트맵을 만들어보도록 하겠습니다. 가장 좋은 방식은 온라인이나 오프라인 프로그램을 통해 사이트맵을 자동생성하고 나서 한번 더 수정을 해주는 것입니다. 사이트맵을 만들 수 있는 여러 사이트들이 있지만, 개인적으로 추천하는 곳http://www.web-site-map.com/ 입니다. https://www.xml-sitemaps.com/ 도 인지도가 있긴 하지만, 최대 500페이지까지만 생성이 가능하기 때문에 사이트 맵을 제대로 만들기가 어렵습니다. 따라서 두번째 사이트블로그를 시작하신지 얼마 안되셨다면 사용하셔도 무방하지만, 본인이 글을 작성하고 태그를 많이 써주셨다면, 모든 태그마다 URL을 생성시키기 때문에 500페이지는 금방 넘게되고, 페이지 제한 때문에 정작 중요한 페이지는 빼먹게 되므로 좋지 않습니다. 반면에 첫번째 사이트는 이러한 페이지 제한이 없기 때문에 상대적으로 권장하는 것입니다.


일단 아래의 링크를 통해 사이트맵 생성사이트로 이동하시면, 아래와 같은 화면을 보실 수 있습니다.







화면 우측 상단에 있는 박스에 블로그 주소를 입력하고 아래 버튼을 클릭합니다.





그리고 순서대로 정보를 입력해 줍니다. 이미 XML의 구조에 대해서 알아보았기 때문에 어떤 의미인지는 다 아실 것으로 생각되지만, 대략적으로 설명을 드리면, Last modified date와 Page priority 항목에 체크된 것은 서버에서 가져다 쓰고, 자동으로 할당하라는 것입니다. 설정을 완료하고 아래에 있는 버튼을 클릭하시면 사이트맵 생성이 시작됩니다.






시간이 좀 걸릴 수 있으니, 다른 작업을 하시면서 기다리시는게 좋습니다. 사이트맵 생성이 완료되면 위와 같이 다운로드 링크가 나옵니다. 클릭하시면 다른 다운로드 페이지로 이동하게 됩니다.





위 화면에서 우측에 있는 download링크를 클릭해주시면 생성된 사이트맵 파일의 다운로드가 완료됩니다.






사이트맵 수정하기


다운로드한 사이트맵을 Notepad++과 같은 에디터에서 열어보시면, 구조는 익숙하게 알아보실 수 있으실 겁니다. 그런데 자동으로 생성된 사이트맵이다보니 쓸데없는 것들도 좀 있습니다. 대표적인 것이 아래와 같은 URL입니다.


# Notepad++ 최신버전 설치 및 사용팁



   http://widbee.tistory.com/like/?uid=.......
   daily
   0.56


   http://widbee.tistory.com/toolbar/popup/abuseReport/?......
   daily
   0.56


위에서 첫번째 URL/like/ 라는 부분이 보이실텐데요. 바로 공감버튼 URL입니다. 티스토리에서 따로 제공하는 것이다보니 저렇게 URL로 자동으로 긁어오게 되구요. 두번째 URL에서는 /abuseReport/라는 부분이 보이실텐데, 게시물 신고 팝업 URL입니다. 위와 같은 URL은 블로그 페이지에서 중요한 것도 아니고 필요한 것도 아니기 때문에 사이트맵에서 제거해주시는 것이 좋습니다. 티스토리에서 게시글 작성하실 때 보통 외부로 발행하시는 경우라면 저러한 URL이 게시글 숫자만큼 있게 됩니다. Notepad++을 이용하면 금방 찾아서 제거가 가능하니까 그리 어려운 작업은 아닙니다. 


이제 "내가 한 번 만들어볼까?"라는 자신감도 생기셨을꺼라 생각됩니다. 일단 메인주소 URL만들어주고, 카테고리 별로 URL을 만들어주고, 각 카테고리 별 게시물 URL만 적어주면 되니까... 딱히 어려운 작업은 아니죠. ^^ 그럼 이제 사이트맵을 직접 만들 수 있는 스킬이 생성되셨으니 자신의 블로그를 검색엔진에게 만천하에 알리라고 명하시기 바랍니다~ 




본 글이 도움이 되셨다면

아래 ♡공감 버튼 클릭

부탁드립니다~