[typescript] Angular SEO 최적화

Angular는 SPA(Single Page Application)를 만들기 위한 강력한 프레임워크이지만, 기본적으로 검색 엔진 최적화(SEO)에는 취약하다고 알려져 있습니다. 하지만 Angular 애플리케이션을 SEO에 친화적으로 개선하는 방법들이 있습니다.

SEO란?

SEO(Search Engine Optimization)는 웹 사이트가 검색 엔진에서 잘 노출될 수 있도록 하는 과정을 가리킵니다. Angular 애플리케이션의 SEO를 개선하는 것은 검색 엔진에서 해당 페이지를 쉽게 찾을 수 있도록 하는 것을 의미합니다.

Angular SEO 문제

Angular는 초기 렌더링 시에 검색 엔진에 쉽게 인덱싱되지 않는다는 문제가 있습니다. 이는 Angular의 기본 동작 방식 때문에 발생하는데, 검색 엔진이 페이지를 크롤링할 때 JavaScript를 실행하지 못하기 때문입니다.

Angular SEO 최적화 방법

Angular 애플리케이션의 SEO를 최적화하기 위해 다음과 같은 방법을 사용할 수 있습니다.

1. 프리렌더링(Prerendering)

프리렌더링은 서버 측에서 페이지의 HTML을 생성하여 검색 엔진에 제공하는 과정을 말합니다. 이를 통해 검색 엔진은 JavaScript를 실행하지 않아도 페이지의 콘텐츠를 읽을 수 있게 됩니다. 프리렌더링은 Angular Universal을 사용하여 구현할 수 있습니다.

// Angular Universal을 사용한 프리렌더링 예제
ng add @nguniversal/express-engine

2. 메타 태그 추가

검색 엔진이 페이지의 제목, 설명, 키워드 등을 쉽게 찾을 수 있도록 메타 태그를 추가해야 합니다. Angular에서는 Meta 서비스를 사용하여 동적으로 메타 태그를 추가할 수 있습니다.

// Meta 서비스를 사용한 메타 태그 추가 예제
import { Meta } from '@angular/platform-browser';

constructor(private meta: Meta) {
  this.meta.addTag({ name: 'description', content: '페이지 설명' });
}

3. 사이트맵 제공

검색 엔진이 애플리케이션의 모든 페이지를 쉽게 찾을 수 있도록 사이트맵을 제공해야 합니다. Angular에서는 sitemap.xml 파일을 생성하여 검색 엔진에 제공할 수 있습니다.

결론

Angular 애플리케이션의 SEO를 최적화하기 위해서는 프리렌더링, 메타 태그 추가, 사이트맵 제공 등의 방법을 사용할 수 있습니다. 이를 통해 검색 엔진에서 Angular 애플리케이션이 더 잘 인덱싱되고 노출될 수 있도록 할 수 있습니다.

참고 자료