자바스크립트 SEO: 구글과 네이버에서 JS를 처리하는 과정과 방법

공정위 광고 문구 Ver 3.1
공정위 광고 문구 Ver 3.2(모바일 전용)

자바스크립트 SEO란 JavaScript로 구축된 웹사이트 or 웹페이지를 검색 엔진이 더 쉽게 크롤링과 렌더링 및 색인화 할 수 있도록 만드는 데 초점을 둔 SEO 기술의 일부입니다. 자바스크립트 SEO를 사용하는 이유는 사용자 경험을 향상시키기 위함입니다.

JavaScript SEO에는 다음과 같은 작업이 있습니다.

  • JavaScript로 삽입된 콘텐츠 최적화
  • 올바른 지연로딩
  • 올바른 내부 링크 구축
  • JavaScript 문제 예방 및 해결

구글이 자바스크립트 SEO에 대해 생각하는 방식

구글은 JavaScript SEO를 세 단계로 웹과 앱을 처리합니다.

  • 크롤링
  • 렌더링
  • 색인 생성
구글의 자바스크립트 SEO 처리 방법
출처: 구글(자바스크립트 검색엔진 최적화의 기본사항)

구글 웹 크롤러(구글봇)는 크롤링 및 렝더링을 위해 페이지를 대기열에 추가한 후에 URL을 크롤링합니다. 구글 봇이 요청하면 서버는 HTML 문서를 보내게 됩니다.

이후에 구글봇이 페이지를 렌더링 하는데 필요한 리소스를 결정하게 되며, HTML을 크롤링 한다는 것을 뜻합니다. 하지만 자바스크립트를 렌더링 하는 것에 대해서는 연기하고 대기열에 넣게 됩니다. 구글봇은 전 세계 20억 개의 웹사이트에서 JavaScript를 다운로드 한 이후 읽고 실행하는데 필요한 서버 리소스를 생각한다면 연기할 수 밖에 없습니다.

1. 서버 사이드 렌더링(SSR)

서버 측 렌더링(SSR)은 웹 페이지의 초기 로딩 시에 서버에서 HTML 콘텐츠를 생성하는 방식입니다. 이 HTML은 브라우저에 더 빠르게 전달되어 사용자에게 보여지며, 이는 페이지의 SEO 성능을 향상시키는 데 도움이 됩니다. SSR을 사용하는 경우 주요 콘텐츠를 빠르게 로드할 수 있고, 레이아웃 변경으로 인한 사용자 경험 저하를 줄일 수 있습니다.

그러나 SSR은 페이지에서 사용자 입력을 처리하는 데 걸리는 시간을 늘릴 수 있습니다. 이는 JavaScript가 브라우저에서 실행되는 클라이언트 측 렌더링(CSR)과 다릅니다. 일부 웹사이트에서는 JS를 많이 활용하는 페이지에는 SSR을 사용하지 않는 이유가 여기에 있습니다. 사용자 입력이 빠르게 처리되어야 하는 페이지에서 SSR을 사용하면 초기 로딩은 빠를 수 있지만 사용자 상호작용이 느려질 수 있기 때문입니다.

따라서 웹사이트는 SSR과 CSR을 적절히 조합하여 성능과 사용자 경험을 균형있게 유지하려고 합니다. SSR은 SEO를 개선하고 초기 렌더링을 빠르게 하지만 사용자 상호작용의 성능에 영향을 줄 수 있으므로, 웹 개발자들은 각 페이지의 요구 사항과 성능 특성을 고려하여 SSR과 CSR(클라이언트 사이드 렌더링)을 적절히 선택하고 구현합니다.

2. 클라이언트 사이드 렌더링

CSR (Client-Side Rendering)은 서버 측 렌더링(SSR)과 반대되는 방식으로, 웹 페이지의 초기 렌더링을 클라이언트(브라우저 또는 검색 엔진)에서 JavaScript를 사용하여 처리하는 방식입니다.

CSR의 주요 특징은 다음과 같습니다:

  1. 클라이언트 측 렌더링: HTML 문서를 받을 때, 초기에는 콘텐츠가 아닌 기본 HTML과 JavaScript 파일을 받아옵니다. 이후 브라우저 내에서 JavaScript가 실행되며, 해당 스크립트는 동적으로 콘텐츠를 생성하고 렌더링합니다.
  2. 사용자 인터페이스와 상호작용: 대부분의 CSR을 사용하는 웹사이트는 사용자 인터페이스가 복잡하거나 많은 상호작용이 필요한 경우에 활용됩니다. 페이지의 다양한 요소가 동적으로 변하고 사용자의 상호작용에 따라 콘텐츠가 변경될 수 있습니다.

CSR과 SSR은 각각의 장단점을 가지고 있으며, 이를 고려하여 웹사이트는 SSR과 CSR을 조합하여 SEO 최적화와 사용자 경험을 적절히 균형있게 유지하는 방식을 선택하기도 합니다.

3. 동적 렌더링

구글의 자바스크립트 SEO-동적 렌더링
출처: 구글 동적 렌더링

동적 렌더링은 콘텐츠가 빠르게 변경되고 빠른 인덱싱이 필요한 대규모 사이트나 소셜 미디어, 채팅 앱과 같이 페이지 콘텐츠에 빈번한 액세스가 필요한 경우 고려될 수 있습니다. 또한, 일부 크롤러가 JavaScript의 일부 기능을 지원하지 않는 경우에도 동적 렌더링이 선택될 수 있습니다.

그러나 장기적으로 동적 렌더링이 항상 최선의 솔루션이 되는 경우는 드뭅니다. Google 가이드라인에서 동적 렌더링 설정 및 대체 접근 방식에 대한 정보를 얻을 수 있습니다.

자바스크립트가 포함된 콘텐츠: 구글 친화적으로 만드는 방법

앞서 언급한 것처럼 자바스크립트는 구글 봇이 바로 가지가지 않습니다. 우선 올바른 크롤링과 렌더링 색인 생성이 되었는지 확인할 수 있습니다.

1. 구글 서치 콘솔 활용 오류 찾기

구글 봇은 크롬의 최신 버전을 기반으로 합니다. 서치 콘솔의 관리 중인 웹사이트 설정으로 접속 해 줍니다.

먼저 상단에 테스트 할 URL을 입력해 줍니다. 결과가 나오면 실제 URL 테스트를 입력해 줍니다.

자바스크립트 SEO-구글 서치 콘솔에서 오류 확인 방법

▼ 실시간 URL 테스트에서 HTML스크린샷추가정보 탭을 확인해 줍니다.

HTML에서 JS 파일 등을 검색하고 추가 정보 탭에서 누락된 콘텐츠를 확인할 수 있습니다. 또 스크린샷에는 자바 스크립트로 이루어진 콘텐츠가 보이는지 여부를 확인할 수 있씁니다.

자바스크립트 SEO - 구글 서치 콘솔의 실시간 테스트

구글이 JS 페이지를 렌더링 할 수 없는 가장 큰 이유는 robots.txt 파일이 렌더링을 차단하기 때문입니다. robots.txt 파일에 코드를 추가해 줍니다.

User-Agent: Googlebot
Allow: .js
Allow: .css

2. J 파일의 렌더링이 되지 않는 이유

  • 클릭 시 JS가 URL을 가리키는 내부 링크를 생성하기 때문에 URL을 찾을 수 없음.
  • Google이 콘텐츠 색인을 생성하는 동안 페이지 시간이 초과.
  • 렌더링 중 오류 발생
  • 자바스크립트 파일에 대한 구글봇의 차단 여부

추가 체크 사항

  • robots.txt 파일에서 .js 파일을 차단하면 Googlebot이 이러한 리소스를 크롤링하지 못할 수 있음.
  • JavaScript를 사용하여 페이지를 지연 로드할 때 색인을 생성해야 하는 콘텐츠 로드를 지연하지 말 것.

네이버 서치 어드바이저: 자바스크립트 SEO

네이버 검색로봇은 여러분이 사용하는 일반 웹브라우저와 동일하게 웹 페이지를 해석(렌더링) 하기 위하여 아래와 같이 처리합니다.

  1. 검색로봇이 자바스크립트를 활용하여 동적으로 HTML을 처리하는 페이지를 발견하는 경우 페이지에 포함된 자바 스크립트 리소스가 수집되어 있는지를 체크합니다.
  2. 자바스크립트가 수집되어 있지 않으면 정적인 HTML의 내용을 먼저 수집하여 색인 처리합니다.
  3. HTML에 포함되어 있는 자바스크립트 리소스는 별도의 수집 과정을 거쳐서 렌더링 서버에 일정 기간 저장됩니다. 간혹 자바스크립트 url에 timestamp 혹은 hash 값을 넣어서 리소스의 최신성을 강제로 처리하는 경우가 발견되고 있습니다. 이 경우 수집 과정에서 페이지의 콘텐츠 해석에 문제가 발생할 수 있으므로 권장하지 않습니다.
  4. 검색로봇이 해당 페이지를 재 방문할 때 확보된 자바 스크립트가 있다면 해당 스크립트를 포함하여 렌더링을 진행합니다.
  5. 렌더링 결과 페이지의 주요 콘텐츠 내용이 변경되어 있는지를 파악한 후 색인을 업데이트 여부를 결정합니다.
출처: 네이버 자바스크립트 검색 최적화

ℹ️ 제휴 안내
본 사이트의 콘텐츠에는 제휴 링크가 포함되어 있습니다. 방문자가 이 링크를 통해 상품 또는 서비스를 구매하면 본 사이트는 판매처로부터 수수료를 지급받습니다. 이 과정에서 구매자가 지불하는 금액(이벤트 할인 시 금액이 내려갑니다↓)은 오르지 않습니다. 게시된 가격·할인·재고 정보는 작성 시점 기준이며 실제와 다를 수 있으므로, 구매 전 판매처에서 최종 확인하시기 바랍니다. 상품 선정과 평가는 자체 기준에 따라 작성되며, 수수료 지급 여부가 소개 순서나 평가 내용에 영향을 주지 않습니다.

Similar Posts

  • [SEO] IndexNow 프로토콜 정의 | 5가지 이점

    IndexNow 프로토콜은 웹 마스터와 웹 사이트 소유자가 검색 엔진에 콘텐츠의 변경 사항을 알려주는 간단한 방법입니다. 간단하면서도 기본적인 기능은 검색 엔진이 URL과 해당 콘텐츠의 ⓐ추가, ⓑ업데이트, ⓒ 삭제 되었을 경우 알 수 있도록 변경 사항을 핑으로 알려줘서 빠른 반영이 가능합니다. Microsoft가 개발한 새로운 SEO(검색 엔진 최적화) 기능으로, 웹 사이트의 콘텐츠가 검색 엔진에서 더 빠르게…

  • [네이티브 광고] 타불라(Taboola) 광고 특징

    타불라(Taboola)는 오늘날 전세계에서 가장 거대한 규모의 컨텐츠 추천 플랫폼 중 하나입니다. 네이티브 광고로 유명한 타불라는 사용자가 웹사이트에 방문 했을 때 분석된 데이터를 기반으로 사용자가 좋아할 만한 콘텐츠와 광고를 자동을로 추천해 노출하는 것이 가장 대표적인 특징입니다. ✅ 타불라(Taboola) 광고의 주요 특성 사용자의 성향 분석을 통해 좋아할 만한 콘텐츠를 제공하는 타불라는 디스커버리 플랫폼으로 제공함으로써 네이티브…

  • [Chorome]구글 세이프 서치 해제 방법(PC&모바일-1분 미만)

    구글링 중 원하는 자료를 찾기 위해 구글 세이프서치 해제를 해야 하는 경우가 생길 수 있습니다. 구글의 고유 기능 중 하나인 구글 세이프 서치는 구글링 결과에 선정적인 콘텐츠가 표시되는 것을 필터링 하는 기능입니다. 폭력적이거나 선정적이고 성적인 콘텐츠가 노출되지 않게 필터링 된 구글의 기능으로 자녀가 있는 가정의 PC에서는 유용한 기능일 수 있지만 선정적인 콘텐츠를 찾지…

  • 구글 계정 로그아웃 하는 방법(PC&모바일)

    구글의 지메일(Gmail), 즐겨찾기 항목, 유튜브 등을 공공장소에서 사용 후 그 PC에서 구글 계정 로그아웃을 하지 못한 경우 내 PC 또는 모바일에서 다른 기기 로그아웃을 진행할 수 있습니다. PC와 핸드폰에서 구글 계정 로그아웃을 하는 방법에 대해 알아 보겠습니다. 1. 구글 계정 로그아웃 방법(PC) 노트북이나 PC에서 구글 계정 로그아웃을 진행하는 방법입니다. 1.1 구글 계정 관리…

  • 크롬 개발자 도구 성능 탭 활용

    웹사이트의 성능을 정확하게 평가하려면 단순한 속도 점수보다, 브라우저가 실제로 렌더링과 스크립트를 어떤 순서로 처리하는지를 살펴보는 것이 더 중요합니다. 크롬 개발자 도구 성능 탭은 페이지 로딩 과정과 사용자 상호작용에 따른 성능 저하를 시각적으로 분석할 수 있는 도구입니다. 렌더링 지연, 자바스크립트 실행 순서, LCP·FCP·CLS와 같은 Core Web Vitals 지표까지 모두 한 화면에서 확인할 수 있어,…

  • 구글링 개요 | 효율적인 구글 검색 방법 10가지

    구글링(Googling)이란 Google에 -ing가 붙여져 만들어진 동사입니다. 영어권에서 구글의 영향력으로 구글링 단어 자체가 “검색 엔진에서 검색한다.”의 뜻을 가지게 되었습니다. 전 세계 어느 검색엔진보다 더 높은 신뢰성을 기반으로 점유율을 가지게 된 결과이기도 합니다. 구글링 방법: 연산자 사용으로 검색 세분화 하기 구글 검색 하는법을 몇 가지 알고 있으면 유용하게 사용할 수 있습니다. 연산자를 이용해서 구글링 검색이…

답글 남기기

이메일 주소는 공개되지 않습니다. 필수 필드는 *로 표시됩니다

Prove your humanity: 1   +   9   =