저번에 이어서 스터디 블로그를 netlify로 정적 웹페이지를 작업하는 것까지 마무리하고,
analytics(GA), giscus(github discussions open source) 연동하는 작업만이 남았다.
보통 벨로그 같은 블로그 서비스에서는 자체 분석 기능을 제공하지만, 분석 기능을 제공하지 않는 커스텀 블로그의 경우에는 Analytics를 따로 setup 해줘야된다.
anlytics platform은 다양하게 있다. (가격 정책 조심해야 함)
GA는 funnel 분석에 사용한 경험이 있어서, 가능한 빠르게 연동 가능한 것을 선정했다.
많은 기능은 필요 없어서 단순하게 1페이지만 보고 싶은데, GA는 너무 많은 분석 정보를 제공하는게 그렇게 필요한가 싶었다. 또 GA는 확실히 대시보드가 열리기까지 뭔가 페이지가 너무 느린 느낌(무거움)에 다른걸로 바꾸는게 좋을 듯하다.
일단 GA는 연동했고, 빠른 시일 내에 측정 도구를 바꿔 볼 예정이다.
Google Analytics에 접속 후 측정시작을 누르고, 설정을 해준다.
계정 설정
속성 설정
비즈니스 설정
데이터 스트림 선택
데이터 스트림 환경 설정
환경 설정 확인
분석 측정 방법 선택하기
utterances, disqus도 있지만, github discussions 기반의 giscus를 연동하는게 나을 것 같아서 giscus를 선택했다.
연동하는데는 크게 어렵지 않아서 analytics와 마찬가지로 본인이 선택한 옵션대로 script generator를 지원해서 giscus를 활성화 할 수 있다.
이외에도 야크털을 좀 깎았는데 giscus를 설정할 때, CSP(Conetent-Security-Policy
) 설정이 필요하다는 경고창을 보고 header를 설정해줬다.
CSP는 대충 XSS
, Data injection
등의 보안 취약점을 완화시키기 위해 설정할 수 있는 meta tag인데 털릴 정보는 없으나 설정함.. (특 쫄보임)
mdn 문서를 참고해보자면,
<meta http-equiv="Content-Security-Policy"
content="default-src 'self'; img-src https://*; child-src 'none';">
위와 같이 <meta>
요소를 사용하여 정책을 설정할 수 있다.
Content value에는 다양한 옵션이 존재한다.
최종적으로 Example usecase를 참고하여 default-src
에 GA와 giscus app, localhost를 화이트리스트로 추가했다.
API Key나, ID, PW 등 외부에 노출되지 말아야하는 key pair들의 정보는 env 파일로 따로 관리해야하는데, 작성 후에 외부 노출을 방지하기 위해 .gitignore에서 블랙 리스트를 추가해서 관리하는 편이다.
웬만하면 react project나 기타 프레임워크에서 프로젝트 init시에 gitignore에 설정되어 있느니, env.production, env.development와 같이 cross-env plugin을 쓰거나, react dot env를 쓸때에는 build script 등 따로 설정해야할 부분은 꼭 체크하고 넘어가자!
build process 를 제공하는 vercel이나 netlify 등 env를 따로 쉽게 서비스 상에서 설정할 수 있으니, 해당 공식 사이트 문서를 참고하면 좋음.
gitignore를 설정했다면 github repo에는 env 파일이 push 되지 않습니다.
simple is best
가 최고임...