어느날 Reactjs 프로젝트에서 정적 사이트맵(static sitemap)을 만들어야 했습니다. 사이트맵을 만드는 과정을 간단히 정리하였습니다.
React에서 static file
react에서 static file을 제공하려면 project folder의 /public에 파일을 넣어주면 됩니다.
저는 sitemap.xml과 robots.txt파일을 만들었고, 실행하면 mydomain.com/sitemap.xml처럼 접근할 수 있습니다.
react-app$ tree -L 1
.
├── node_modules
├── package.json
├── public
│ ├── 404.html
│ ├── favicon.ico
│ ├── index.html
│ ├── manifest.json
│ ├── robots.txt
│ └── sitemap.xml
├── README.md
└── src정적 사이트맵(static sitemap) 생성
동적(dynamic)으로 sitemap을 생성하려면 서버에서 내 domain을 parsing을 하여 sitemap.xml에 write를 해야 할 것 같습니다.
저의 경우 동적으로 sitemap을 생성할 필요가 없어서 간단히 정적 sitemap을 생성하였습니다.
이제 어떻게 sitemap을 만드냐 인데, 모든 url에 대해서 하드코딩으로 sitemap.xml을 만든다는 것은 말이 안되죠.
BotMap은 어떤 사이트를 파싱하여 sitemap을 자동으로 생성해줍니다.
그럼 저희가 할 일은 이 사이트에서 생성해준 sitemap을 react의 /public에 넣어주고 deploy하는 것이 전부입니다.
주의하실 점은 BotMap에서 sitemap 생성기를 이용할 때 아래와 같은 스크립트를 index.html의 body 또는 header에 넣어야 합니다. (스크립트는 사이트 본문에 나와있습니다.)
<!-- Sitemap Generator -->
<script type="text/javascript">
var _0xaea9 = ["sitemapgenerator:: ", "innerHTML", "body", "document", "stringify", "*", "postMessage", "setTimeout"]; window[_0xaea9[7]](function () { parent[_0xaea9[6]](_0xaea9[0] + JSON[_0xaea9[4]](window[_0xaea9[3]][_0xaea9[2]][_0xaea9[1]]), _0xaea9[5]) }, 3000);
</script>스크립트를 넣었다면, BotMap에서 URL과 robots.txt를 입력하고 GO를 누르면 파싱 후 자동 생성된 sitemap 파일을 다운받을 수 있습니다.
참고
Related Posts
- ESLint warning, Expected '===' and instead saw '==' eqeqeq
- Python - Yaml 파일 파싱하는 방법
- Python - pip와 requirements.txt로 패키지 관리
- 유튜브 쇼츠(Shorts) 자막 끄기/켜기
- SOLID 원칙, 객체지향 설계 5가지 원칙
- Ubuntu 20.04 - Nginx로 React를 배포하는 방법
- 애드센스 '구글 검색 기능' 블로그에 추가
- 트위터 이메일 안오게, 알림 끄기
- 인스타그램 동영상, 사진 저장 방법
- Git 설치 방법 (Ubuntu, Windows)
- Python pip 설치 (Ubuntu / Windows)
- 마우스 우클릭 복사 방지 해제 방법 (크롬)
- Python 에러 해결, 'conda' 용어가 cmdlet, 함수, 스크립트 ... 인식되지 않습니다.
- Python 에러 해결, AttributeError: module 'jwt' has no attribute 'encode'
- Atom - 코드 자동 정렬
- Sublime Text - 코드 자동 정렬, 단축키 설정
- VSCode에서 탭 간격 설정 (Tab to 4 spaces)
- Visual Studio Code에서 코드 자동 정렬
- 구글 검색 기록 삭제, 자동 저장 끄기 (PC, 모바일)
- 안드로이드 개발자 옵션 활성화, USB 디버깅 켜기
- 유튜브 채널 차단, 해제 방법 (PC, 모바일)
- 유튜브 미리보기 자동재생 끄기 (자동 소리 끄기/켜기)
- PC에서 유튜브 모바일 버전(m.youtube.com)으로 보기
- 모바일에서 유튜브 PC버전으로 보기
- 유튜브 시간 링크 만들기, 댓글에 시간 태그 입력하기
- 유튜브 스크립트 함께 보기, 자막 추출 방법
- 유튜브 알고리즘 초기화, 검색 기록과 시청 기록 삭제
- 유튜브 '싫어요' 숫자 다시 보이게 하기
- 구글 크롬, 방금 닫은 탭 다시 열기
- Maven으로 Java프로젝트 build하는 방법
- node.js, npm 버전 확인 방법 (터미널, cmd 명령어)
- GitLab - 'pre-receive hook declined' 에러 해결
- Javacript Heap Out Of Memory 문제 해결
- SSH key 생성하고 GitHub에 등록
- GMT, UTC의 차이점