본문 바로가기
블로그시작

블로그시작 7강. 티스토리 사이트맵 만들기 (온라인 사이트맵 생성기)

by 친절한 재민 2019. 8. 30.

티스토리는 RSS를 제공하지만 사이트맵 XML 을 별도로 제공하지 않아서 별도의 사이트맵을 생성하는 사이트를 찾아가서 생성해야하는 번거로움이 있더군요. 생성된 내역을 분석해보고 표준문서를 검토하니 그다지 어려운 작업이 아닌 것같아 사이트맵을 생성하는 기능을 간단하게 만들어 보았습니다. RSS 를 기준으로 생성하기 때문에 RSS에서 발행하는 목록의 개수에 의존적이라는 부분을 참고해 주시기 바랍니다.

 

 

사이트맵을 만들기 위해서 URL을 입력하면 사이트맵 XML을 생성해주는 사이트들을 많이 이용하시는 것 같더군요. URL 입력하면 되는 것이라 쉽게 사용할 수 있을 것 같습니다. 그런데 영어메뉴들의 압박감과 XML을 받기 위해서는 장시간을 기다려야 하는 불편함이 있더군요. 사이트의 링크들을 하나씩 체크해보는 형태라 검색 노출에 적합하지 않은 페이지도 노출되고요.

 

 

사이트맵이 XML구조라 그렇게 복잡해 보이지는 않아서 몇가지 자료를 찾아보았습니다.

 

https://www.sitemaps.org/ko/

 

sitemaps.org – 홈

Sitemap이란 무엇입니까? Sitemap은 웹마스터가 크롤링에 사용할 수 있는 사이트의 페이지에 대한 정보를 검색 엔진에 알리는 손쉬운 방법입니다. Sitemap의 가장 간단한 형식은 검색 엔진에서 사이트를 보다 지능적으로 크롤링할 수 있도록 각 URL에 대한 추가 메타데이터(마지막 업데이트된 날짜, 변경 빈도, 사이트의 다른 URL에 상대적인 중요도)와 함께 사이트에 대한 URL을 나열하는 XML 파일입니다. 웹크롤러는 보통 해당 사이트 및 기타 사

www.sitemaps.org

사이트맵에 관련한 표준을 정의한 사이트가 있더군요. 한글로도 깔끔하게 정리되어 있어서 쉽게 파악할 수 있었습니다.

 

이렇게  XML에 대한 스키마정의도 확인할 수 있고요. 사이트를 통해 생성되는 내역들에 대해서 쉽게 파악할 수가 있더군요.

 

궁금해하던 사이트맵에 대한 Q&A들도 있더군요. URL 50,000개, 50MB 이내의 사이트맵을 만들어야 하는 제약 사항이 있는 것 같네요. 각 검색엔진들이 이러한 제약사항을 적용했는지는 의문이지만 표준에서 제시하고 있는 부분을 발견하여 흥미로운 부분입니다.

 

티스토리는 RSS를 기본으로 제공하고 있어서 사이트 URL 뒤에 RSS를 더해주면 설정된 포스팅 항목의 개수만큼 최신 내용을 RSS로 만들어 줍니다. 앞에서 소개한 글들에서 검색엔진에  이 RSS를 등록했었죠. 참고하시기 바랍니다.

https://kindjm.tistory.com/5

 

블로그시작 4강. 구글검색에 블로그 등록하기

블로그를 생성하고 꾸며도 사람들이 찾아오지 않는다면 안되겠죠? 웹의 생태계에 대한 이해가 없이 블로그를 처음 하시는 분들은 아무도 찾지 않는 블로그를보며 희망을 잃게될 것입니다. 사람들이 블로그를 찾아..

kindjm.tistory.com

https://kindjm.tistory.com/6

 

블로그시작 5강. 네이버검색에 블로그 등록하기

티스토리 블로그는 다음카카오에서 제공하고 있습니다. 따라서 구글이나 네이버와 같은 검색엔진에서 블로그를 검색하기 위해서는 약간의 노력이 필요합니다. 물론 블로그가 유명해지면 구글이나 네이버 검색에서..

kindjm.tistory.com

검색엔진에 등록할 때에 요구하는 기본사항은 사실 사이트맵입니다. 다른 블로그들은 사이트맵을 RSS와 같이 제공하는 기능도 있지만 티스토리는 RSS만을 제공하고 사이트맵은 동적제공이 안되기 때문에 불편함이 있는 것 같습니다. 그런데 약간 손을 보면 RSS를 통해서 사이트맵을 만들 수 있을 것 같아서 간단하게 Javascript를 끄적거려서 사이트맵 XML을 만드는 기능을 블로그에 임포트 시켰습니다.

 

이것은 Javascript CORS 제약사항이 걸려 있기 때문인데요. 철저하게 클라이언트 페이지 기반의 기능을 만들었기 때문에 몇가지 조치가 필요합니다. 일단 메인으로 크롬을 쓰시는 분들이 많기 때문에 CORS 제약을 피해서 사이트를 불러보시는 것은 파이어폭스 같은 구별된 브라우저를 사용하기를 권장합니다. 저같은 경우도 파이어폭스를 깔았습니다.

파이어폭스를 정상적으로 설치하면 플러그인 설정에서 CORS 제약사항을 제거하는 CORS Everwhere 를 설치할 수 있습니다. 이것은 Javascript 소스코드로 구성한 기능을 사용하기 위한 일종의 편법이기 때문에 보조 브라우저에 설정하는 것이 좋습니다.

이제 사이트맵 생성기능을 제공하는 제 페이지를 로딩해 볼까요?

https://kindjm.tistory.com/11

불러오는 중입니다...

사이트를 로딩하고 우측 상단의 CORS 버튼이 녹색이 되도록 합니다. 녹색이 CORS 예외를 활성화시키는 기능입니다.

 

이제 파이어폭스를 실행하고 CORS예외를 활성화한 후에 사이트맵 생성 기능이 있는 이 블로그 페이지를 로딩합니다. 그리고 사이트맵 생성 기능이 있는 아래 UI로 이동합니다. 아래 Site URL 부분에 본인의  티스토리 URL을 넣고 "Generate Sitemap XML" 버튼을 누릅니다. 누르면 다운로드 가능한 XML 파일 링크가  나타납니다.

 

 

 

 

[사이트맵 생성 기능]

Site URL :

*파이어폭스에서 CORS 플러그인을 활성화하고 본인의 티스토리 주소를 넣어야 합니다 ("https://kindjm.tistory.com/"  < 이것은 제 블로그, kindjm 부분이 본인의 티스토리 블로그 이름으로 바뀌겠죠. RSS 기능이 활성화 되어 있어야 합니다.)

 

 

"Generate Sitemap XML" 버튼을 누르면 아래와 같이 다운로드 가능한 XML 링크가 나타납니다.

해당 XML링크를 다운로드 하면 sitemap.xml 이라는 파일을 다운로드 폴더에서 찾을 수 있습니다. 그러면 이 sitemap 파일을 내 블로그와 같은 도메인에 파일로 올려야겠죠? 티스토리 블로그 관리자 설정에서 에디터기를 아래와 같이 예전버전으로 설정합니다. 그러면 첨부파일을 올릴 수 있는 기능이 나타납니다.

 

 

첨부파일 업로드 기능을 통해 다운로드한 sitemap.xml을 업로드 합니다. 그러면 아래와 같이 에디터기에 올라간 것을 확인할 수 있습니다.

 

이제 글을 저장하고 해당 첨부파일에 대한 링크를 확인할 수 있습니다. 아래와 같은 형식과 유사한 사이트맵 주소를 획득할 수 있습니다.

 

[사이트맵 첨부파일 URL 샘플경로]

https://kindjm.tistory.com/attachment/cfile7.uf@9923~~~~~~~~~~~.xml

 

 

그러면 해당 URL을 통해 이제 검색엔진의 사이트맵을 갱신해보겠습니다.

구글에서 사이트맵을 RSS와 함께 추가하도록 하겠습니다. 정형화된 사이트맵 구조가 검색에서 글들을 구조적으로 더 잘 나타내줄 것 기대할 수 있습니다.

 

네이버도 사이트맵 제출을 안한 것으로 들어온 경고등을 끌 수 있습니다. 위와 같이 사이트맵을 등록하여 네이버에서 글이 더 잘 검색되도록 합니다.

 

Sitemap 만드는 로직을 만드는데 기력을 쏟다보니 블로깅 속도가 약간 느려졌네요. 포스팅 한 후에 새롭게 다른 주제들을 올려보겠습니다.

댓글