DevLog:-)

SEO와 Next.js: 검색엔진 최적화와 효율적인 웹 렌더링 방법 본문

프론트엔드

SEO와 Next.js: 검색엔진 최적화와 효율적인 웹 렌더링 방법

hyeon200 2024. 8. 7. 01:51
반응형

 

프로젝트 캠프 : Next.js 2기를 수강하며 배운 내용을 정리했습니다.

 

웹 개발에서 SEO(Search Engine Optimization)는 검색 결과에서 웹사이트 노출을 극대화하는 중요한 요소입니다. 특히 B2C 기업처럼 검색 트래픽이 중요한 비즈니스라면, 검색엔진이 잘 이해할 수 있는 구조로 웹사이트를 개발하는 것이 필수입니다.

하지만 React와 같은 CSR(Client-Side Rendering) 프레임워크는 SEO에 불리할 수 있습니다. SEO 최적화의 핵심 원리Next.js를 활용해 이를 극복하는 방법을 정리했습니다.😊


 

CSR의 한계와 SEO 문제

CSR 방식에서는 초기 HTML이 거의 비어 있습니다. React 사이트의 소스코드를 보면 <script> 태그만 포함된 것을 확인할 수 있습니다. 이는 검색엔진 크롤러가 콘텐츠를 인식하지 못하게 만들어 SEO에 불리합니다.

예: 검색엔진이 HTML을 분석할 때, 렌더링되지 않은 JavaScript는 콘텐츠로 포함되지 않습니다. 따라서 검색엔진은 페이지의 본문 내용을 인식하지 못할 수 있습니다.

 

 


SSR과 Next.js의 렌더링 방식

Next.js는 어떻게 SEO를 지원할까?

Next.js는 SSR(Server-Side Rendering)을 지원해 SEO 문제를 효과적으로 해결합니다.
다음은 Next.js의 렌더링 과정입니다:

  1. 초기 요청 시, HTML/CSS 뼈대 전달
    • 사용자가 페이지를 요청하면 서버는 HTML/CSS로만 구성된 페이지 뼈대를 전달합니다.
    • 이 단계에서 검색엔진 크롤러는 주요 콘텐츠를 바로 확인할 수 있습니다.
  2. 하이드레이션(Hydration)
    • 클라이언트가 서버로부터 JavaScript를 다운로드한 뒤 하이드레이션 과정에서 인터랙션 가능 상태로 전환됩니다.
    • 즉, 처음에는 단순한 뼈대만 렌더링되지만, 이후 JavaScript가 적용되면서 완전한 기능이 활성화됩니다.

Next.js의 장점

  • SEO 친화적: HTML 뼈대를 검색엔진이 쉽게 분석.
  • 빠른 초기 렌더링: 서버에서 HTML만 전달하므로 로딩 속도가 빨라짐.
  • 유저 경험 개선: 순차적으로 콘텐츠를 보여줌으로써 최적의 로딩 체감 제공.

SEO 최적화를 위한 개발 방법

  1. SSR 사용:
    • Next.js와 같은 SSR 프레임워크를 활용해 검색엔진이 콘텐츠를 인식할 수 있도록 지원.
  2. 시멘틱 태그 활용:
    • <header>, <main>, <article> 등의 태그를 적절히 사용해 콘텐츠의 구조를 명확히 표현.
    • 검색엔진 크롤러는 시멘틱 태그를 기반으로 콘텐츠의 중요도를 판단합니다.
  3. Lighthouse 점검:
    • Google Lighthouse로 사이트의 SEO, 성능, 접근성을 점검 및 개선.
    • SEO, Best Practices, Accessibility 점수는 100점이 가능하며, Performance는 로딩 속도에 따라 개선 가능.

CSR과 SSR의 비교

구분CSR (Client-Side Rendering)SSR (Server-Side Rendering)

렌더링 주체 클라이언트가 렌더링 서버가 렌더링
SEO 친화성 낮음 (HTML에 콘텐츠 없음) 높음 (HTML에 콘텐츠 포함)
초기 로딩 속도 느림 (모든 작업을 클라이언트가 처리) 빠름 (HTML 뼈대 먼저 제공)
적합한 사용 사례 웹 애플리케이션 중심의 사이트 검색 트래픽이 중요한 사이트

Lighthouse를 활용한 점수 최적화

Next.js를 사용하면 아래 항목에서 높은 점수를 받을 수 있습니다:

  • SEO: 시멘틱 태그와 SSR로 최적화.
  • Best Practices: 최신 웹 표준 준수.
  • Accessibility: 접근성 기준에 따라 UI 설계.

단, Performance 점수는 최적화가 까다로울 수 있습니다. 특히 대규모 트래픽 사이트에서는 모든 조건을 만족시키기 어렵지만, 이미지 최적화, 코드 스플리팅 등을 활용하면 개선할 수 있습니다.


요약

  • SEO 최적화의 핵심: SSR이나 Next.js로 검색엔진이 콘텐츠를 쉽게 크롤링할 수 있도록 지원.
  • 효율적인 렌더링: 초기 HTML/CSS 뼈대를 제공한 뒤 하이드레이션으로 완전한 UI 완성.
  • Lighthouse 점수 활용: 성능, SEO, 접근성을 분석 및 개선.

검색엔진 노출이 중요한 프로젝트를 준비 중이라면 Next.js를 고려하여 빠른 렌더링과 SEO 최적화를 동시에 달성할 수 있습니다.

반응형