어느날 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
- 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의 차이점
- Linux(Ubuntu)에 Adobe Photoshop, Illustrator 설치하는 방법