Next.js 블로그 SEO 개선해보기
# Google Search Console, Sitemap, Robots, 구글 애널리틱스를 이용하여 SEO를 개선해봅시다.
2024년 07월 01일
개선 이전 SEO 전략
현재 Next.js 블로그 프로젝트에서 사용되고 있는 SEO 전략은 메인 페이지와 글 상세 페이지로 나뉘는데, 메인 페이지에서는 Layout에서 설정한 기본 메타데이터를 사용하고, 글 상세 페이지에서는 remark-frontmatter
를 이용하여 Frontmatter 구문을 파싱한 후, 이를 remark-mdx-frontmatter
로 넘겨주어 메타데이터를 생성한다.
글 상세페이지
결과
메인 페이지와 글 상세 페이지 각각에 적합한 메타데이터를 설정함으로써, 검색 엔진 최적화(SEO)를 효과적으로 수행하고 있다.
❗ 하지만 나는 아직 배고프다. LightHouse SEO 100점이 목표가 아닌, 내가 만든 블로그에 내가 쓴 글을 구글 상위 검색창에 노출시켜보고 싶다는 목표를 가지고 최대한으로 SEO를 최적화 해볼것이다. (물론 좋은 글이 우선이긴 하다..)
필요한 사전지식
SEO
-> SEO(Search Engine Optimization)는 웹사이트나 웹페이지를 최적화하여 구글과 같은 검색 엔진에서 더 높은 순위를 얻기 위한 작업을 의미한다. 이는 사용자가 특정한 키워드를 검색할 때, 해당 웹사이트나 웹페이지가 검색 결과의 상위에 나타나도록 만드는 과정을 포함하는데, SEO 작업은 광고와는 달리 직접적인 비용이 들지 않으며, 시간이 걸리지만 최적화를 통해 자연스럽게 검색 결과의 상위에 노출될 수 있도록 해준다.
크롤러
-> 크롤러는 웹상의 웹사이트들을 자동으로 방문하여 페이지 정보를 수집하는 프로그램이다. 크롤러는 웹사이트를 방문하여 해당 페이지에 존재하는 다른 페이지나 사이트로 이동하는 링크를 찾아내고, 이를 통해 다음에 크롤링할 페이지 리스트를 작성한다. 이 리스트를 따라가며 크롤러는 계속해서 페이지와 사이트를 탐색하는데, 페이지를 방문할 때 크롤러는 HTTP 요청을 보내고, 서버로부터 받은 Response Body을 가져온다. 이렇게 받은 HTML에서 링크와 데이터를 추출하게 된다.
인덱싱
-> 어떠한 정보에 접근하기 위해 용이하게 만드는것이라는 의미를 갖는데, 크롤러는 크롤링 한 웹 페이지의 페이지를 각 단어로 분리하여 각 단어에 대해 weight와 relevance를 할당하고 최종 결과값을 인덱스한다. 우리가 구글에 검색하면 검색엔진은 일치하는 결과를 인덱스에서 검색한다.
Google Search Console 등록
Google Search Console?
- 구글 검색 엔진에서 웹사이트를 관리하고 최적화하기 위한 무료 도구이다.
- 웹 사이트의 검색 결과에 대해 정보를 확인하고, 검색 엔진 최적화를 위한 중요한 데이터를 얻을 수 있다.
- Search Console 도구와 보고서를 사용하면 사이트의 검색 트래픽 및 실적을 측정하고, 문제를 해결하며, Goole 검색 결과에서 사이트가 돋보이게 할 수 있다.
현재 나의 블로그는 도메인을 구입하여 운영중이므로, 도메인 인증을 통해 서치 콘솔에 등록해주었다.
Sitemap, Robots 추가
sitemap.xml
- 애플리케이션에서 제공하는 웹 페이지의 주소를 나열한 파일
모든 블로그 글들은 /태그/글ID 형태의 주소를 갖기 때문에
post.slug
로 해당 주소를 매칭 시켜주었다.
위 사진처럼 주소/sitemap.xml 으로 이동 했을 때 해당 데이터 형식대로 나온다면 성공
마지막으로 google search console의 사이트맵에 업데이트한 사이트맵 url을 적용해준다.
robots.txt
- 애플리케이션에서 검색엔진 크롤러가 어떻게 동작해야 하는지를 정리한 파일
txt 파일로 직접 만들 수 있지만, Next.js에서는 function robots
으로 간편하게 생성해준다. Disallow
으로 크롤러의 접근을 막을 수도 있지만, 현재 나의 블로그에서는 민감한 데이터가 없기에 따로 설정하진 않았다. 방금 작성한 sitemap 또한 적용시킨 모습이다.
구글 애널리틱스 적용
SEO 최적화를 위해 왜 구글 애널리틱스를 적용해야 할까?
- 사용자 행동 분석: 더 나은 SEO 전략을 세우기 위해서는 광고가 아닌 자연 검색(organic search)을 통해 유입된 사용자의 행동을 분석해야 한다. 구글 애널리틱스를 통해 이러한 유입된 트래픽을 분석하면, 검색 결과로 유입된 사용자들이 어떤 행동을 하는지 알 수 있다.
- 트래픽 패턴 파악: 구글 애널리틱스에서 organic 검색을 통해 유입된 트래픽을 찾아보고, 이러한 사용자의 행동에서 공통점을 발견할 수 있다. 예를 들어, 어떤 키워드를 검색하여 유입되었는지, 각 키워드로 유입된 사용자가 어떤 페이지를 방문했는지, 또는 얼마나 빨리 웹사이트를 떠났는지 등을 분석할 수 있다.
- 전략 수립: 이러한 데이터를 바탕으로, SEO 전략을 더 효과적으로 세울 수 있다. 유입된 사용자의 행동 패턴과 키워드 성과를 분석함으로써, 어떤 키워드와 페이지가 효과적인지, 그리고 개선이 필요한 부분이 무엇인지 명확하게 파악할 수 있다.
💡 즉, SEO 최적화를 위해 구글 애널리틱스를 사용하는 이유는 자연 검색(광고가 아닌 순수 검색)을 통해 유입된 트래픽과 사용자 행동을 분석하여 더 효과적인 SEO 전략을 수립하기 위해서 사용된다.
#1
구글 애널리틱스에서 기본 설정 및 도메인 연결
#2
구글 애널리틱스에서 기본으로 제공하는 코드는 script
지만 NextScript
로 변환해주었다.
#3
페이지뷰와 이벤트 속성 함수를 작성해주었는데,
페이지뷰는 GoogleAnalytics
함수에서 pathname
을 이용하여 특정 페이지 주소를 추출하여 페이지 분석한다
이벤트는 컴포넌트에서 사용 된 이벤트 핸들러 함수에서, event
속성에 맞게 작성해주어 이벤트를 연결해준다