WordPress SEO 결정판 가이드

WordPress SEO 결정판 가이드
David Kaufmann
SEO 튜토리얼
46 min read

이러한 디지털 커뮤니케이션 생태계에서 SEO의 중요성을 이야기하기에는 이미 늦었을지 모릅니다. 대기업, 중소기업, 프리랜서, 개인 사용자 모두 웹사이트를 보유할 수 있게 되었고, 여기서 WordPress가 등장합니다: 전 세계에서 가장 많은 사용자를 보유한 CMS(2,700만 개 이상의 사이트가 사용하며, 이는 인터넷 CMS의 50% 이상을 차지함)입니다.

다음 글에서는 가장 기본적인 개념부터 점차 고급 수준으로 올라가며 WordPress SEO에 대해 이야기하겠습니다.

서브도메인 redirect — www 포함 또는 미포함?

WordPress를 설치하실 분들을 위한 권장사항으로 시작합니다: 설치 전에 www가 포함된 도메인 버전과 포함되지 않은 도메인 버전 중 어느 것을 선호하는지 결정하세요. WordPress 설치 앱(예: CPANEL)을 실행하면 선호하는 옵션 아래 전체 설치를 수행할 수 있는 옵션을 제공해, 선택하지 않은 버전이 나중에 redirect되도록 합니다.

이 단계를 건너뛰셨다면 htaccess 파일을 작업해야 합니다. WP HTACCESS EDITOR 같은 플러그인이 파일 편집을 더 쉽게 만들어 주지만, 무엇을 하는지 확신이 없다면 도움을 요청하시길 권장합니다. 이 파일은 웹사이트가 작동하는 데 근본적이기 때문입니다.

그래도 이 옵션으로 작업하기로 결정하셨다면, 추가해야 할 코드는 다음과 같습니다.

www 없는 도메인을 www 포함 도메인으로 redirect

RewriteEngine On

RewriteCond %{HTTP_HOST} ^yourdomain.com [NC]

RewriteRule ^(.)$ http://www.yourdomain.com/$1 [L,R=301]*

www 포함 도메인을 www 없는 도메인으로 redirect

RewriteEngine on RewriteCond %{HTTP_HOST} ^www.yourdomain.com RewriteRule ^(.*)$ http://yourdomain.com/$1 [R=301,L] 그렇긴 해도 htaccess 파일 편집은 매우 명확히 알고 있어야 한다는 점을 다시 강조하고 싶습니다. 편집하실 거라면 먼저 백업하세요.

WordPress 설치: 최적화의 첫 단계

먼저 Google이 어떻게 작동하는지 이해해야 하며, 가능한 한 모든 행동이 Googlebot이 사이트를 방문할 때의 작업을 더 쉽게 만들어야 합니다.

왜 이렇게 말씀드릴까요?

이 점은 WordPress뿐 아니라 모든 웹 디자이너 또는 웹마스터 사용자가 가장 흔히 저지르는 실수 중 하나이기 때문입니다.

콘텐츠가 완성되지 않았다면 Googlebot이 접근하지 못하게 하세요. 그렇지 않으면 URL의 ranking 프로세스가 느려집니다.

그래서 시작 전에 무엇인가 권장한다면 *"검색엔진이 내 콘텐츠를 인덱싱하지 못하게 하라"*입니다.

WordPress 인덱싱: 사이트는 언제 인덱싱해야 하나요?

설치를 진행하는 동안 설정 화면에서 검색엔진의 접근을 차단할 수 있는 옵션이 있습니다. 그러나 이 단계를 건너뛰었다면 Settings > Reading에서 할 수 있습니다.

검색엔진 차단
검색엔진 차단

로봇 접근 차단 옵션

이 "금지"는 인기 있는 Robots.txt 파일에서도 할 수 있습니다. 웹 개발 경험이 더 많은 사용자라면, 호스팅 제공업체가 생성하거나 제공한 FTP 계정을 통해 사이트가 호스팅된 메인 경로에 이 파일을 추가할 수 있습니다.

Robots.txt 파일은 Notepad(Windows)나 TextEdit(Mac)으로 간단히 만들 수 있지만, 텍스트 파일이어야 한다는 점을 기억하세요. 다음 두 줄을 추가합니다:

*User-agent: **

Disallow: / 이 목록에서 가장 인기 있는 Google Crawlers (User-Agents)를 볼 수 있습니다.

Google user agent의 종류
Google user agent의 종류

다양한 Google user agents

코드에서 User-agent: *를 표시하면 모든 봇을 의미하며, 어떤 봇도 웹사이트에 접근할 수 없게 됩니다. 단일 Bot(Googlebot, Googlebot-Video 등)을 지정할 수도 있지만, 이 시점에서는 권장하지 않습니다. 따라서 모두 차단합니다.

URL 구조와 친화적 URL

선호하는 도메인을 명확히 하고 로봇 접근을 차단했다면, URL 구조로 넘어가겠습니다.

이 단계는 크롤링과 인덱싱 전에 수행해야 합니다. 그렇지 않으면 redirect의 세계로 들어가야 하는데 그것은 이상적이지 않기 때문입니다.

WordPress는 사이트 콘텐츠를 가장 잘 구조화할 수 있는 옵션을 기본으로 제공합니다. 이 선택은 프로젝트와 각 사람에 따라 다릅니다. 프로젝트가 요구하는 모든 옵션이 가능합니다.

설명드리자면:

WordPress 대시보드에 들어가서 Settings > Permalinks로 이동합니다.

그러면 다음 화면이 나타납니다:

WordPress의 URL 구조
WordPress의 URL 구조

permalink로 본 URL 구조

위에서 말씀드렸듯이 선택은 각자 다르지만, SEO를 이야기한다면 더 친화적인 URL 형식으로 작업하는 것이 바람직합니다.

친화적 URL이란?

친화적 URL이란 사용자가 이해할 수 있고 한눈에 URL 콘텐츠의 의미적 해석을 제공하는 URL입니다.

첫 번째 URL은 발견할 콘텐츠에 대한 정보를 제공하지만, 두 번째는 그렇지 않습니다. 그렇다고 Amazon이 잘못하고 있다는 의미는 아닙니다 — 오히려 다양한 제어 매개변수를 사용해 내부적으로 URL을 식별합니다.

수백만 개의 제품과 카테고리를 가지고 있다면, 숫자가 그들에게 더 쉬운 제어 수단이 됩니다.

이 명확화를 마치고 옵션을 보면 3가지 유형의 URL이 있습니다:

  • 날짜 포함
  • 항목이나 게시물 이름 포함
  • 변수를 통해 사용자 지정 가능

날짜 포함 URL

날짜 포함 URL
날짜 포함 URL

많은 SEO 컨설턴트들이 특히 항목 생성 날짜를 노출시키기 때문에 이 URL을 거부하지만, 이 유형의 URL은 콘텐츠 양이 많을 때 매우 유용합니다.

예를 들어, 뉴스 매체의 경우입니다. 모든 URL을 살펴보면 날짜가 있습니다. 뉴스 매체에는 아카이브에 URL을 저장할 수 있는 논리적 구조가 있는 것이 필수적이며, 이는 또한 기사가 언제 게시되었는지 알기에 편리한 식별자이기도 합니다.

El País는 카테고리명, 날짜, 서브카테고리 같은 의미 정보를 포함하고 뉴스 식별자로 끝나는 혼합 유형의 URL을 사용합니다.

다른 신문사들은 뉴스 식별자 외에도 뉴스 헤드라인의 용어를 URL에 포함합니다.

URL 문법을 작업할 때 종종 필터링되는 매우 흥미로운 옵션이 있습니다: stop words.

Stop words는 새 URL을 만들 때 피하고 싶은 용어입니다. 이 작업은 프로그래밍을 통해 수행됩니다 — WordPress의 경우 PHP를 통해.

stop words의 예: 관사, 대명사, 숫자 등.

Rank Math에는 이러한 유형의 용어를 피할 수 있는 옵션이 있습니다.

rank math permalinks
rank math permalinks

URL 생성 시 stop words 제거

항목명 또는 페이지명 포함 URL

URL의 항목명
URL의 항목명

간단하고 널리 사용되는 옵션입니다. URL은 항목명이나 수정된 slug로 구성됩니다.

Slug 또는 permalink는 항목에서 편집할 수 있으므로, WordPress가 자동으로 제공하는 옵션을 원하지 않으면 URL을 수동으로 수정합니다(항목만, 도메인은 아닙니다).

URL을 만들기 위한 slug 편집
URL을 만들기 위한 slug 편집

변수를 사용한 사용자 지정 URL

사용자 지정 가능한 URL
사용자 지정 가능한 URL

보시다시피, 여기서는 다양한 변수가 들어와 우리가 원하는 대로 URL을 구성합니다.

변수는 사용자에게 더 많은 정보를 제공합니다. 변수를 추가해야 하는 방식으로 콘텐츠를 구조화하고 싶다면 이 옵션을 선택하세요.

예시를 들어 보겠습니다: URL에 카테고리, 연도, 게시물명, 식별자를 표시하고 싶다고 가정합니다.

https://seocrawl.com/%category%/%year%/%postname%/%post_id%/

정보 아키텍처: 카테고리, 부모 페이지, 태그

정보 아키텍처를 시작하기 전에 WordPress가 콘텐츠 작업을 위해 제공하는 모든 가능성을 이해해야 합니다.

이미 알고 계실 수도 있지만, WordPress는 그만의 특이점이 있고 게시물과 페이지가 표면적으로는 같아 보일 수 있지만, 기능과 플러그인에서는 차이가 있습니다.

콘텐츠 구조화는 SEO의 근본적 부분이며, 유사한 콘텐츠를 연결하고 관련짓는 작업, 즉 콘텐츠 클러스터를 만드는 데 필수적입니다.

이를 위해 다음을 작업할 수 있습니다:

  • 카테고리
  • 태그
  • 항목 (Posts)
  • 페이지
  • 서브페이지

카테고리, 태그, 항목 (Posts)

WordPress에서 항목을 자동으로 그룹화하는 두 가지 방법이 있습니다: 카테고리와 태그입니다.

언제 카테고리를 사용하고 언제 태그를 사용하나요?

카테고리와 태그가 콘텐츠 그룹화에 도움이 된다는 것을 이해하면, 사용 결정은 항상 우리가 생성할 콘텐츠 양에 종속되어야 합니다. 그렇지 않으면 콘텐츠를 중복할 수 있기 때문입니다.

카테고리와 태그 모두 internal linking과 Google이 모든 콘텐츠를 크롤링하는 데 도움이 되지만, 말씀드렸듯이 사용 방법을 알아야 합니다.

저의 조언은 사이트 주제 내에서 콘텐츠를 자주 생성할 때는 카테고리를 사용하라는 것입니다.

특정 주제 내에서 공통점이 있는 많은 콘텐츠가 있다면 태그를 사용합니다.

예시를 들어 보겠습니다:

스포츠는 카테고리겠지만, 크리스티아누 호날두는 태그가 될 수 있습니다 — 그렇긴 해도 자문해 봐야 합니다: 크리스티아누 호날두에 대해 몇 개의 기사를 만들 것인가?

페이지 그룹화가 실제로 서로 다를 만큼 충분한 콘텐츠를 생성하지 않을 거라면, 두 가지 옵션이 있습니다: 카테고리/태그를 만들지 않거나 인덱싱하지 않습니다.

카테고리와 태그를 작업할 때, 콘텐츠가 유사한 콘텐츠와 관련되도록 도와주는 다른 add-on이 있습니다.

WordPress는 카테고리와 게시물의 구조화된 콘텐츠를 통해 탐색 경로를 구축하므로, 콘텐츠가 잘 연결되도록 breadcrumb을 사용하려면 이러한 유형의 아키텍처를 선택해야 합니다.

따라서 게시물은 다음과 같이 보입니다:

  • URL: sitename.com/category/category-name/post-name
  • Breadcrumb: Home > Category Name > Post Name

breadcrumb을 추가하는 플러그인이 있지만 모두 WordPress의 DB 구조에서 가져옵니다. 지금까지 정의에서 유연성을 제공하는 플러그인은 알지 못합니다.

이미 알아채셨겠지만, 카테고리가 있는 게시물의 URL에는 CATEGORY 용어가 들어갑니다.

이는 WordPress의 기본값이며, 모든 WordPress에서 발견할 수 있고, permalinks에서 제공되는 옵션은 이름 하나를 다른 이름으로 바꾸는 것뿐(category를 다른 용어로)입니다.

이를 해결하기 위한 여러 옵션이 있습니다 — 다시 한번 Rank Math가 옵션을 제공합니다:

URL에서 category 제거
URL에서 category 제거

또한 이 용어를 제거해 더 깔끔한 URL을 남길 수 있도록 도와주는 플러그인도 있습니다.

category 제거 플러그인
category 제거 플러그인

WordPress URL에서 Category를 제거하는 플러그인

부모 페이지와 서브페이지

콘텐츠 구조로 돌아가서, 제가 좋아하는 작업 방식이 하나 있습니다. 페이지와 서브페이지를 사용하는 것입니다. 보통 서비스 랜딩 페이지나 허브 페이지에 이러한 구조를 사용합니다.

차이점은 주로 페이지가 제공하는 디자인 유연성에 있으며, 카테고리에는 없습니다. 카테고리와 게시물 모두 WordPress 테마 또는 템플릿에 의해 결정되지만, 페이지는 Page Builder(블록을 사용해 사이트를 사용자 지정하는 플러그인 또는 add-on)의 도움으로 원하는 대로 디자인할 수 있습니다.

언제 페이지와 서브페이지를 사용해야 하나요?

가장 명확한 예시는 일반 서비스와 더 구체적인 서비스가 여러 개 있을 때입니다. 일반 서비스를 위한 페이지를 만들고, 구체적인 서비스를 위한 서브페이지를 만듭니다.

  • 일반 랜딩 페이지: Design
  • 구체적 랜딩 페이지: Web Design, Graphic Design, Product Design, Industrial Design...

URL 예시:

sitename.com/design/web/

sitename.com/design/graphic/

sitename.com/design/product/

Breadcrumb: Home > Design > Web Design

이를 위해 글 편집기(post 또는 entry)에서 상단에 있는 Page Attributes 패널을 활성화해야 합니다.

page attributes 메뉴
page attributes 메뉴

이제 페이지 오른쪽에 페이지 속성이 있는 모듈이 추가되었습니다.

페이지와 서브페이지
페이지와 서브페이지

기존 페이지 중 하나를 선택하면 현재 페이지가 선택된 페이지에 종속되어 그것의 서브페이지가 됩니다.

WordPress용 SEO 플러그인: Rank Math, Yoast...

URL 구조와 정보 아키텍처의 일부가 명확해진 후, 이 시점에서 SEO 플러그인 설치(Rank Math, Yoast, All In One SEO...)를 포함하고자 했습니다. 현재 이러한 플러그인은 콘텐츠 SEO를 작업하기 위한 필수 도구가 있어 SEO 측면에서 삶을 더 쉽게 만들어 줍니다.

이 플러그인이 설치되면 추적하려는 웹사이트의 추적 및 인증 코드를 추가할 시간입니다. 분석 도구로는 Google Analytics와 Search Console보다 더 좋은 도구는 없습니다.

Tracking 코드 또는 Google Analytics 코드

WordPress에서 보시다시피 — 아직 안 보셨다면 — 프로세스를 수행하는 여러 방법이 항상 있습니다.

Analytics 추적 코드 또는 추적 ID를 삽입하기 위해 페이지의 자체 HTML에 코드로, 보통 헤더에 코드를 삽입할 공간을 제공하는 템플릿을 통해, 또는 플러그인으로 할 수 있습니다.

Analytics 추적 ID를 얻는 방법을 모르신다면, Google의 지원 페이지에서 안내합니다 https://support.google.com/sites/answer/97459?hl=en

Google에는 자체 WordPress 플러그인(Site Kit Google)이 있으며, 여기서 완전한 분석 부분을 가질 수 있습니다.

google plugin
google plugin

Google Analytics 추적 코드를 추가할 수 있는 간단한 옵션도 있습니다.

google analytics 추적용 플러그인
google analytics 추적용 플러그인

요즘 디자이너들은 이러한 웹마스터의 요구사항을 이미 고려해, 템플릿 구성에서 헤더에 코드를 삽입할 박스를 제공합니다.

google analytics 코드 삽입
google analytics 코드 삽입

Search Console에서 WordPress 인증

**Search Console**에서 도메인을 인증하는 다양한 방법이 있는데, 2가지를 말씀드리겠습니다: Google의 인증 파일과 우리가 작업할 SEO 플러그인을 사용한 방법입니다.

  • Google Search Console 인증 파일.
  • 속성의 인증 코드 사용

쉬운 인증을 위해 다시 Rank Math를 사용할 수 있습니다.

rank math로 search console 인증
rank math로 search console 인증

첫 번째 필드에 Search Console 인증 부분에서 발견되는 ID를 직접 입력할 수 있습니다(박스의 텍스트를 클릭하면 해당 정보를 제공하는 URL로 직접 이동합니다).

그런 다음 아래에 빨간색으로 표시된 ID만 추가하면 됩니다.

<meta name="google-site-verification" content="example code" />

WordPress에서 Sitemap 만드는 방법

SEO 분야에서 논란을 일으키는 또 다른 지점은 sitemap입니다. 이 파일은 Google이 우리의 모든 URL에 접근할 수 있도록 하는 데 중요했습니다.

상황이 바뀌어서 Google은 이제 사이트를 완전히 크롤링하는 데 파일이 필요하지 않다는 것이 사실입니다. 그러나 마찬가지로 Search Console과 sitemap이 있으면 향후 URL 문제를 해결하는 데 도움이 되는 추가 정보를 얻을 수 있습니다.

Sitemap을 만드는 방법은 많지만, 이상적인 것은 새 항목이나 페이지로 업데이트되는 동적 파일이라는 것입니다.

Yoast나 Rank Math 또는 다른 유형의 SEO 플러그인을 사용하든, 이 기능에 접근하려면 표시하기만 하면 됩니다.

설명을 위해 Rank Math가 제공하는 도구를 사용하고 Sitemap Settings 옵션으로 이동해 보겠습니다.

wordpress sitemap 구성
wordpress sitemap 구성

Rank Math의 sitemap 구성 예시

이미지에서 보듯이 작업할 URL 유형에 대한 다양한 옵션을 사용자 지정할 수 있습니다.

  • Sitemap당 링크: 1,000 (사전 정의된 옵션을 그대로 두며, 이는 파일에 원하는 URL 수를 의미합니다)
  • Sitemap의 이미지: 이미지가 원본이고 글에 정보를 제공한다면 이 옵션을 활성화할 것을 권장합니다.

어쨌든 콘텐츠에서 이미지를 사용한다면 Google은 쉽게 크롤링합니다.

wordpress용 sitemap
wordpress용 sitemap

이 부분의 구성에서 첫 두 박스는 sitemap에 추가하고 싶지 않은 항목이나 페이지를 제외하기 위한 것입니다.

이는 식별자를 통해 수행되며, 다음과 같이 찾을 수 있습니다.

항목 또는 페이지 섹션으로 이동했을 때, 클릭하지 않고 항목 위에 커서를 올리면 하단에 URL이 나타납니다.

wordpress의 항목 및 페이지 식별자
wordpress의 항목 및 페이지 식별자

하단의 빨간 박스를 보면 post=5745가 보이는데, 이 숫자가 이 페이지가 sitemap에 나타나지 않도록 사용해야 할 식별자입니다.

다음 옵션은 Taxonomies, 즉 TAGS와 카테고리에 대해 같은 작업을 하는 것입니다.

Rank Math 옵션은 제한적이며 5가지 유형의 sitemap(항목, 페이지, 미디어, 카테고리, 태그)을 생성하도록 사전 정의되어 있습니다.

wordpress의 태그
wordpress의 태그

어떤 sitemap을 원하지 않는지는 여러분의 결정이지만, 제 조언은 Google이 보지 않기를 원하는 URL의 sitemap(noindex 또는 robots에 의해 차단됨)을 만들지 말라는 것입니다.

이 초기 부분이 끝나면 콘텐츠 부분으로 넘어가 어떤 요소를 인지해야 하는지, 그리고 콘텐츠 최적화를 위해 WordPress가 어떻게 작동하는지 설명하겠습니다.

WordPress용 콘텐츠 최적화

페이지나 항목을 최적화하기 시작할 때 무엇을 고려해야 하는지 알아야 합니다.

콘텐츠 최적화에서 가장 중요한 태그는 다음과 같습니다:

  • Title <title> HTML
  • Description <meta name="description" content="설명 텍스트" >
  • 헤딩 계층 <h1, h2, h3, h4… >
  • ALT 태그 <img src="image url" alt="이미지 설명">

WordPress 페이지 속도 최적화 (WPO)

이제 진지해질 시간입니다 — 이 부분은 많은 변수가 로딩에 영향을 미치기 때문에 모든 웹마스터에게 두통을 줍니다. 로딩 속도를 측정하는 다양한 도구가 있는데, 제가 사용하는 도구와 사용 방법을 말씀드리겠습니다.

기본 개념

WPO(Web Performance Optimization) 분석은 사이트 로딩을 개선하기 위해 수행됩니다. 사용되는 도구는 100% 정확하지 않으며, 각 사용자가 사이트에 대해 다른 로드 시간을 얻을 수 있습니다.

그래서 사이트를 최적화할 때 목표는 사용된 audit 도구에서 가능한 한 최대 점수를 얻는 것이 아니라, 사용자에 관계없이 사이트 로딩에서 개선을 보게 될 특정 측면을 개선하는 것입니다.

WPO를 작업할 때 우리가 최적화하려는 것은 우리의 손이 닿는 범위입니다:

  • Request: 리소스가 origin(우리 서버 또는 다른 외부 서버)에 한 요청
  • Total Page Size: 페이지가 로드하는 리소스 크기
  • Fully Loaded Time: 총 페이지 로드 시간

서버 응답 같은 다른 측면은 개선을 위해 작업할 수 있지만 우리에게 그만큼 접근하기 쉽지 않습니다.

Gtmetrix와 Lighthouse

접근하기 쉽고 무료인 두 도구로 접근해 보겠습니다 — Gtmetrix에는 유료 버전이 있지만 무료 버전의 기능으로도 우리에게는 충분합니다.

설명을 위해 최적화에 도움이 되는 플러그인을 비활성화한 제 소유 사이트를 사용하겠습니다.

gtmetrix 분석
gtmetrix 분석

도구가 (플러그인이 활성화된) 오래된 캐시 버전을 읽고 있어서 새 캐시 버전을 사용해야 했고, 그것이 좋은 최적화 결과를 주고 있어서 제 예시에는 원하는 것이 아니었습니다.

기억하세요, 새 캐시 버전을 원한다면 URL에 ?를 추가한 후 어떤 종류의 문자든 추가하면 됩니다, 예: url?version1

앞서 말씀드렸듯이, 요청은 우리가 작업해야 할 기본 요소 중 하나입니다. 이를 위해 Waterfall 또는 실행 시간의 폭포라고 알려진 것을 분석해 보겠습니다.

Waterfall

gtmetrix waterfall
gtmetrix waterfall

이 폭포에서 보다시피 87개의 요청이 이루어졌습니다. 이러한 각 요청에는 이름, 상태, 위치, 크기가 있습니다.

어떻게 작업을 시작할까요?

이미지

최적화되지 않은 사이트에서 WPO 분석 도구를 보면, 이미지 리소스에 4가지 유형의 액션을 권장하는 것을 볼 수 있습니다.

해상도 줄이기

온라인이든 PC 또는 MAC용이든 사용할 수 있는 도구가 수백만 개 있습니다. 저는 모든 것을 Photoshop으로 하는 것을 좋아하지만, 물론 최적화해야 할 이미지 수에 따라 다릅니다. 온라인 도구로 Kraken.io를 사용할 수 있지만, 앞서 말씀드렸듯이 저는 더 정밀한 최적화를 할 수 있어서 Photoshop을 고수합니다.

이미지를 최대 읽기 크기로 제공

매우 흔한 실수입니다. 스톡 사진 사이트를 사용해 2,800 x 1,600 이미지를 다운로드하고 사이트에서 900 x 400 해상도로 사용하는 것입니다.

제 권장사항은 페이지의 최대 크기로 인스펙터를 사용해 사용 중인 크기를 확인하는 것입니다.

이미지 크기 조정
이미지 크기 조정

블로그 이미지에서 사용 중인 최대 크기를 인스펙터가 알려주는 것을 볼 수 있는데, 그것이 우리 이미지의 크기여야 합니다.

차세대 형식 또는 좋은 압축이 있는 형식 사용

webp(Google이 개발했지만 아직 100% 브라우저에서 지원되지 않음) 같은 형식으로 인생을 너무 복잡하게 만들고 싶지 않다면, JPEG를 사용하고 투명 채널이 필요한 경우가 아니면 PNG를 피하세요.

lazy loading 함수 사용

Lazy load 또는 지연 로딩은 이미지나 비디오 같은 요소가 처음에 로드되지 않도록 방지하는 가장 흥미로운 기능 중 하나입니다. 이것이 하는 일은 처음 순간에 이미지의 로딩을 지연시키는 것입니다.

페이지 하단의 이미지를 생각해 보세요 — 사용자가 아직 도달하지 않았다면 왜 이미지를 로드하고 싶을까요?

이미지 최적화용 플러그인

개인적으로 이러한 유형의 플러그인의 큰 팬은 아니지만, 이미지가 많은 사이트를 만난다면 최적화 문제를 해결할 수 있는 것을 추천하겠습니다.

  • Imagify
  • EWWW Image Optimizer
  • WP Smush

CSS, HTML, JavaScript 압축 및 결합

압축 작업은 이러한 리소스의 무게를 줄이는 것을 목표로 합니다 — 페이지가 로드해야 할 무게가 적을수록 그 로드는 더 빨라집니다.

기본적인 액션처럼 보이지만(모두가 권장하기 때문에), 큰 결과를 얻을 수 있는 액션은 아닙니다.

반면, 결합 작업은 더 유용하지만 더 섬세합니다.

이상적인 것은 무엇일까요?

이상적인 것은 그 HTML에서 실제로 사용되는 JS 함수나 CSS 스타일이 있는 작은 파일을 갖는 것입니다. 그러나 각 디자이너와 각 프로그래머는 자신의 CSS와 JS에 무엇을 넣을지 결정합니다. 최적화 전 제 사이트의 예시를 보세요. 사실 거짓말입니다. 플러그인을 비활성화했지만 여전히 압축된 파일을 가지고 있기 때문입니다.

최적화된 css
최적화된 css

JavaScript만 29개의 요청. 이는 터무니없지만, YouTube 비디오를 임베드하는 것 같은 작업을 할 때 JS(JavaScript) 리소스를 로드하므로, 비디오가 여러 개 있다면 모든 것이 곱해진다는 점을 기억하세요.

이제 최적화된 후의 리소스 로딩을 보여드리겠습니다.

최적화된 js
최적화된 js

이제 JS가 4개뿐입니다. 이는 결합 함수 덕분입니다.

CSS도 같은 일이 일어났습니다 — before를 보세요:

gtmetrix에서 css 최적화
gtmetrix에서 css 최적화

그리고 after:

압축된 css
압축된 css

요청 감소는 CSS와 JS 결합 덕분만이 아닙니다 — 일반적인 Wp-emoji-release.js(WordPress의 emoji) 같은 불필요한 특정 리소스를 더 이상 로드하지 않게 된 것도 있습니다.

우리에게 남은 것은 무엇일까요?

계속 최적화하려면 JS를 개별적으로 공격하고 지연 또는 비동기 로드를 수행할 수 있는지 확인해야 합니다.

  • JS Async: 리소스는 HTML 로드를 멈추지 않고 다운로드되지만, 다운로드되면 JS를 실행하기 위해 로드를 멈춥니다.
  • JS defer: 리소스도 HTML 로드와 병렬로 다운로드되지만 로드 끝에 실행됩니다 — 스크립트에 의한 차단이 없습니다.

이 속성은 INLINE(같은 HTML에서)으로 실행되지 않는 외부 JS를 위한 것이라는 점이 분명해야 합니다.

캐시 최적화

의심할 여지 없이 로딩 속도 최적화의 가장 중요한 부분 중 하나이지만, 이것이 유용하려면 사용자가 이전에 사이트에 들어와 브라우저가 필요로 하는 리소스를 다운로드한 적이 있어야 한다는 점을 고려해야 합니다.

즉, 캐시 최적화는 중요하지만, "그 사용자"가 사이트를 다시 방문하지 않는다면 결정적이지 않을 수 있습니다.

캐시 최적화는 모든 로드 audit 도구가 가장 가치 있게 평가하는 부분 중 하나입니다. 아래에서 고려해야 할 부분을 설명하겠습니다.

캐시 플러그인은 무엇을 하나요?

캐시 플러그인이 하는 일은 사이트의 처리된 다양한 부분(페이지, 객체, DB 쿼리)의 사본을 만들어 서버에 요청할 때 대기 시간을 절약하기 위해 제공하는 것입니다.

  • 유효 수명 또는 다시 캐시되기 전 최대 캐시 수명: 이 요소는 사이트 유형에 따라 매우 다릅니다 — 콘텐츠가 자주 변경되지 않는다면 더 긴 기간을 사용할 수 있고, 사이트가 자주 또는 하루에 여러 번 업데이트된다면 그 기간을 단축합니다.

곧 살펴볼 시장의 캐시 플러그인 중 하나로 이 작업을 수행했다면, Chrome 개발자 도구에서 이 함수에 어떻게 작업했는지 확인할 수 있습니다:

여러 캐싱 방법이 있습니다:

  • Last-Modified
  • ETag (Entity Tag)
  • Expires
  • Max-age

Chrome 개발자 도구를 열고 사이트를 로드하고 Network 옵션을 선택해 보겠습니다 — 이제 브라우저가 한 모든 리소스 요청을 볼 수 있습니다. 이 리소스 중 하나를 클릭하고 Headers 옵션을 선택하면 이 파일들의 헤더 응답과 캐싱이 활성화되어 있는지, 어떤 방법이 사용되는지 확인할 수 있습니다.

SEOcrawl에서는 MAX-AGE를 통한 것임을 볼 수 있습니다. 이 부분에서 서버에서 GZIP 압축이 수행되고 있는지도 볼 수 있습니다.

캐시의 유효 수명
캐시의 유효 수명

  • 로그인된 사용자용 캐시: 이 함수는 WordPress를 업데이트하는 로그인된 사용자에게 캐시된 페이지를 제공하지 않도록 하는 데 중요합니다. 그렇지 않으면 만들고 있는 변경사항을 보지 못할 것입니다.
  • 모바일 캐시: 많은 플러그인이 다양한 디바이스용으로 다양한 "캐시"를 생성하는 옵션을 제공합니다 — 모바일 버전이 사용자 지정되었고 반응형 버전이 아니라면 권장합니다.

WordPress의 로딩 속도 최적화 플러그인

플러그인 주제로 들어가기 전에 최적화 수행을 위한 가장 중요한 부분을 설명하고 싶었습니다. 거의 모든 플러그인에서 위에서 설명한 것은 활성화 옵션이고 활성화 여부는 여러분이 결정해야 합니다.

그래서 어떤 플러그인을 가지고 이러한 액션을 수행해야 하는지 말씀드리기 전에, 이해할 수 있도록 설명하는 것을 선호했습니다. WordPress용 가장 인기 있는 플러그인은 다음과 같습니다.

  • WP Rocket
  • W3 Total Cache
  • WP Fastest Cache
  • Autooptimize

이들 모두에서 위에서 논의한 옵션을 가지고 있지만, JS와 작업할 때 로드 유형 측면에서 더 제한적일 수 있습니다.

로딩 속도 측정 도구

상상하시듯이, 사이트의 로딩 속도를 알 수 있도록 도와주는 다양한 도구가 있습니다.

WordPress는 다양한 유형의 페이지로 구성되어 있고 각각이 다르게 응답할 것이므로, WPO audit를 수행해야 한다면 다음의 audit를 수행하세요:

  • 카테고리
  • 페이지
  • 항목

또한 Google Analytics에는 사이트의 속도를 측정하는 지표가 있다는 것을 알아두는 것도 중요합니다. 요일이나 월별로 지표를 가져오면 결론을 도출하는 데 유용할 수 있습니다.

google analytics로 페이지 속도
google analytics로 페이지 속도

WPO audit를 수행하는 가장 인기 있는 도구는 다음과 같습니다:

  • Google PageSpeed Insights
  • GTmetrix
  • Pingdom Tools

WordPress의 구조화 데이터

SEO를 막 시작하셨다면 시맨틱 웹 개념을 알지 못하실 수도 있지만, 오늘날 이 개념을 이해하지 않고 SEO를 하기는 어렵습니다.

Google은 매일 웹사이트의 읽기와 해석을 개선하기 위해 작업하며, 시맨틱 메타데이터 구현을 통한 데이터 마크업이 이 작업을 더 쉽게 만들어 줍니다.

이를 위해 사이트 페이지의 다양한 콘텐츠를 마크업하는 데 도움이 되는 다양한 플러그인이 있습니다.

Rank Math를 설치하셨다면 Rich Snippet 탭에서 표시되는 플러그인을 통해 콘텐츠의 메타데이터 목록을 가지고 있습니다.

rank math snippets
rank math snippets

이 옵션의 단점은 콘텐츠 한 조각이 둘 이상의 데이터 마크업을 가질 수 있다는 점입니다 — 예시:

콘텐츠를 Blog Posting으로 태그할 수 있고 콘텐츠에 마크되지 않은 비디오가 3개 있을 수 있습니다.

구조화 데이터에 익숙하다면 Gutenberg(WordPress 블록 편집기)로 HTML 블록을 추가하고 수동으로 추가할 수 있습니다.

Google은 구조화 데이터가 올바르게 구현되었는지 검증할 수 있는 도구를 제공합니다.

WordPress에서 SEO를 개선하기 위한 권장 플러그인

이 글을 마무리하면서 사이트 개선에 도움이 될 수 있는 WordPress용 SEO 플러그인을 추천하고 싶습니다.

목차

이 플러그인은 HTML로 쉽게 만들 수 있지만, 제공하는 스타일과 디자인 옵션이 페이지에서의 사용자 탐색을 개선하는 데 기본이 됩니다.

wordpress의 목차
wordpress의 목차

관련 게시물

요즘 많은 플러그인이 관련 항목 옵션을 가지고 있지만, 여러분의 것이 그렇지 않다면 콘텐츠가 항상 서로 연결되도록 이 옵션이 매우 중요하다는 점을 기억하세요.

특정 템플릿에서 저에게 많은 도움이 된 이 플러그인을 남겨드립니다.

관련 및 최근 게시물
관련 및 최근 게시물

AMP

AMP에서 페이지를 개발하는 것은 다양한 이유로 좋은 옵션이 될 수 있습니다: 속도, 사용성... 또는 모바일 버전의 뉴스 캐러셀처럼 이러한 종류의 기술이 우선시되는 캐러셀에서 위치 작업을 위해서입니다.

따라서 페이지를 AMP로 가지고 싶다면 플러그인을 남겨드립니다 — 사용 가능한 옵션은 많지만요.

amp 구현 플러그인
amp 구현 플러그인

Video Sitemap과 Google News

많은 SEO들이 더 이상 sitemap을 사용하지 않지만, 저는 항상 콘텐츠의 인덱싱을 더 잘 제어하기 위해 sitemap에 의지합니다. 비디오 sitemap을 만들 수 있는 플러그인과 Google News용 플러그인을 남겨드립니다.

비디오 sitemap 플러그인
비디오 sitemap 플러그인

google news sitemap
google news sitemap

이 글이 일부 부분에서 여러분에게 유용하고 흥미롭기를 바라며, 물론 답변할 수 있는 질문이 있다면, 댓글로 저에게 연락하실 수 있습니다.

저자: David Kaufmann

David Kaufmann

지난 10년 넘게 SEO에 완전히 빠져 살아왔습니다 — 솔직히 다른 길을 가고 싶지도 않았어요.

제 커리어가 한 단계 도약한 것은 인터넷 전체에서 방문자가 가장 많은 100개 사이트 중 하나인 Chess.com에서 시니어 SEO 스페셜리스트로 일했을 때입니다. 수백만 페이지, 수십 개 언어, 그리고 가장 경쟁이 치열한 SERP 중 하나에서 일한 경험은 어떤 강의나 자격증도 가르쳐주지 못하는 것들을 알려주었습니다. 이 경험은 진정으로 훌륭한 SEO가 어떤 모습이어야 하는지에 대한 제 관점을 완전히 바꾸어 놓았고, 이후 제가 만든 모든 것의 기초가 되었습니다.

이 경험을 바탕으로 SEO Alive를 창업했습니다 — 오가닉 성장에 진심인 브랜드를 위한 에이전시입니다. 우리는 대시보드와 월간 리포트를 파는 것이 목표가 아닙니다. 실제로 결과를 움직이는 전략을 만들어, 클래식 SEO의 최고와 흥미진진한 새로운 Generative Engine Optimization(GEO) 세계를 결합합니다 — 여러분의 브랜드가 Google의 파란 링크뿐 아니라 ChatGPT, Perplexity, Google AI Overviews가 매일 수백만 명에게 전달하는 AI 생성 답변 안에도 노출되도록 합니다.

그리고 이 두 세계를 제대로 다루는 도구를 찾을 수 없어서 직접 만들었습니다 — SEOcrawl입니다. 랭킹, 기술 감사, 백링크 모니터링, 크롤 건전성, AI 브랜드 가시성 추적을 한 곳에서 통합하는 엔터프라이즈 SEO 인텔리전스 플랫폼이죠. 항상 존재하기를 바랐던 바로 그 플랫폼입니다.

→ David님의 모든 글 읽기
더 많은 글: David Kaufmann

이 저자의 더 많은 콘텐츠를 만나보세요