본문 바로가기

lingua/Computer

티스토리 업그레이드하기 #5 (sitemap.xml)

사이트맵이란?

앞서 설명하기 전 사이트맵은 검색엔진 등에서 해당 웹 사이트를 쉽게 파악하기 위한 일종의 지도로 문자 그대로 해석할 수 있는 개념이다. 문제는 이 사이트 맵이라는 것을 구성하는 형태가 몇 가지 있다는 것인데, 내가 필요로 하는 것은 네이버, 구글, 빙 검색엔진에 등록할 수 있는 사이트맵을 필요로 하는 것이니 XML 형태를 의미한다. 이에 대한 간략한 설명은 아래 URL을 통해 확인할 수 있다. (영문 URL이긴 하나 매우 간단한 내용이니 원문으로 봐도 크게 문제 될 것 없어 보여 그대로 링크한다. 오히려 백과사전에 정의된 내용이 더 이상해서...)

 

https://www.sitemaps.org/protocol.html

 

sitemaps.org - Protocol

Sitemaps XML format Jump to: XML tag definitions Entity escaping Using Sitemap index files Other Sitemap formats Sitemap file location Validating your Sitemap Extending the Sitemaps protocol Informing search engine crawlers This document describes the XML

www.sitemaps.org

내가 경험해본 사이트맵(온라인생성, 적용, 유입없음, 셀프생성..)

사이트맵 등록과 관련해서는 이미 진행한 바 있었으나.. 몇 일동안 모니터링 해봐도 구글로 부터의 유입이 확인되지 않았다. 먼저 우선 등록을 진행했던 사이트맵 생성 사이트는 바로 https://www.xml-sitemaps.com이다.

 

Create your Google Sitemap Online - XML Sitemaps Generator

Installable version We offer a server-side script written in PHP language that you can install on your server and create sitemap for your website. The script doesn't have the limit on number of pages included in sitemap, although server resources required

www.xml-sitemaps.com

약 50개의 글이 있는 본인 블로그 기준으로 6분 정도의 시간이 소요되었으며, URL이 500개나 나와서 모두 수집된 줄 알았다.. 이 부분에 대해서는 후에 다시 언급하도록 하겠다. 500개가 나온 이유는 500개까지는 무료로 진행할 수 있고 그 이상은 유료로 지원해주는 부분이었기 때문이다. 

 

 

또 중요한 티스토리 sitemap 등록을 위한 절차!!

서식관리

 

파일을 생성한 후 sitemap.xml 파일을 업로드 하면,

우측상단에 있는 "HTML" 체크 박스를 클릭하면,

네모박스 부분이 해당 파일명이 위치한 부분이다.

 

전체가 파일 명이 아니라 cfile부터 xml까지만 파일명임을 명심하자!! 그리고 이에 대한 접근 확인을 위해서는 

(본인블로그주소)/attachment/(위에서 가져온 sitemap.xml 파일명)

예시) https://mingserendipity.tistory.com/attachment/cfile어쩌구저쩌구.xml

 

이런 등록을 했음에도 아래 그림과 같이 검색방문자 수가 비 정상적으로 차이가 나는 것을 확인했다. (물론 이 모든게 무료로 사용한 사이트맵의 문제는 아닐꺼라 하지만, 내손으로 만든 녀석들에 대해 애정이 깊은 나로써는 사이트맵도 내가 만들자라는 생각을 하게 되었다.)

"sitemap python"이래서 한번 검색해서 확인한 것이 https://github.com/c4software/python-sitemap 이다. (사실 가장 위에 있진 않았는데 개발자분이 자랑스럽게 본인 사진을 쓰는 것이 신기해서 이쪽에 더 관심이 갔다.

 

c4software/python-sitemap

Mini website crawler to make sitemap from a website. - c4software/python-sitemap

github.com

실제로 들어가보면 코드 자체는 매우 간단하여 그대로 쓸 수는 없지만, 있을 기능은 모두 있는 것을 확인할 수 있다. 사실 웹페이지 하위에 있는 페이지들에 대해서 수집하며 xml파일에 출력해주는 기능만 있으면 본연의 목적은 달성한 것이니..머 어마어마한 기능이 있진 않지만 쉽게 활용할 수 있다는 점에서 추천할 수 있는 코드라고 할 수 있다. (라이센스도 GPL로 되어 있어 크게 고민하지 않고 사용할 수 있었다. 라이센스에 대한 부분은 추후에 한번 다뤄보도록 하겠다. 이미 작성 중이긴 한데, 너무나 많은 양으로 인해 완료가 언제될지 모르겠다.)

 

사실 결과값을 뽑아내는 과정 중에 문제가 있었던 부분이 따로 없어서 이 부분을 언급할지 고민을 했던 부분인데, 개발자가 제시한 두 가지 방법에 대해 간략히 설명하고 이에 대한 글을 완료하도록 하겠다.

로컬에 설치된 파이썬을 이용한 방법

로컬로 전체 파일을 다운받아서, python main.py를 수행하면 문제 없이 수행되는 것을 확인했다. (python3 기준으로 작업을 하면 다르게 입력해야 할 수도 있다. 나의 경우는 그랬으나 굳이 헷갈릴 수 있어서 원작자가 언급한 방식을 공유한다.

dockerfile을 통한 빌드를 이용한 방법

먼저 docker에서 python-sitemap을 따라가면 된다. 간단히 아래에서 설명하면,

docker build -t python-sitemap:lastest 

docker run -it python-sitemap --domain (사이트주소, https를 포함한)

 

이후에 아래와 같은 화면을 docker ps -a 를 하면 볼 수 있는데 이를 이용하여 다시 수행하거나 파일을 변경하는 작업은 아래와 같은 순서로 할 수 있다.

docker start jovial_tereshkova
docker cp crawler.py jovial_tereshkova:/home/python-sitemap/crawler.py
docker exec jovial_tereshkova python /home/python-sitemap/main.py --config config/config.json
docker cp jovial_tereshkova:/home/python-sitemap/sitemap.xml ~/Documents/sitemap.xml

 

마지막으로,

이런 과정을 거쳐서 내 스스로 만들어낸 sitemap.xml의 일부이며, 이를 자동화하여 주기적으로 관리를 해보려한다. 이걸 위해선 스크립트도 조금 더 손봐야할 것 같긴하지만...

 

sitemap.xml 최종산출물

'lingua > Computer' 카테고리의 다른 글

티스토리 업그레이드하기 #3-2  (0) 2019.08.18
Network forensics  (0) 2019.08.12
SW개발보안  (0) 2019.08.09
Microsoft Visio vs Lucidchart vs draw.io vs ..  (0) 2019.08.05
티스토리 업그레이드하기 #3-1  (2) 2019.08.04