Hugo를 사용한 다국어 웹사이트 SEO 설정
`canonical`, `lang` 및 `hreflang`을 어떻게 사용해야 할까요?
귀하의 Hugo 웹사이트를 번역 는 Google 및 Bing의 순위를 향상시킬 수 있지만, 번역된 콘텐츠가 고급 품질이며, 지역화되고, 다국어 SEO에 적절하게 구조화되어 있어야 합니다.
지역화된 페이지(단순 번역이 아닌 문화적으로 적응된 페이지)는 종종 이탈률을 줄이고, 사이트 내 머무는 시간을 늘리며, 전환율을 개선합니다. 이러한 사용자 행동 신호는 SEO 순위에 긍정적인 영향을 줄 수 있습니다.
Hugo는 정적 웹사이트 생성기입니다. 본질적으로 Markdown 파일을 매우 유연하게 HTML 페이지로 변환하며, 매우 빠릅니다. 자세한 내용은 여기에서 확인할 수 있습니다 Hugo 체크리스트, 이 페이지 하단에 있는 Hugo 관련 기사 목록도 참고하시기 바랍니다.
주요 질문: SEO를 위해 번역해야 할까요?
시나리오 | 번역이 SEO에 도움이 되나요? | 비고 |
---|---|---|
인간 번역 + 지역화 + SEO 구조화 | ✅ 예, 강력한 이점 | 최선의 선택 |
고품질 AI 번역 + 편집 + hreflang | ✅ 잠재적으로 | 품질이 좋으면 순위를 얻을 수 있음 |
자동 번역만 + canonical | ❌ 아니요 | 순위를 얻지 못함 - UX에만 사용 |
자동 번역 + canonical 또는 hreflang 없음 | ⚠️ 위험 | 중복 벌금을 유발할 수 있음 |
리터럴(자동) 번역 사이트에 필요한 HTML
- 각 페이지는
html
태그에lang
속성이 있어야 합니다. 예시:
<html lang="de">
- 각 페이지는 이 페이지의 다른 언어 버전에 대한 대체 링크 목록이 있어야 합니다. 예시: 아래 HTML은 동일하거나 유사한 페이지의 세 언어 버전에 대한 대체 URL을 설명합니다.
<link rel="alternate" hreflang="en" href="https://www.glukhov.org/post/2025/10/multi-language-website-seo-with-hugo/">
<link rel="alternate" hreflang="de" href="https://www.glukhov.org/de/post/2025/10/multi-language-website-seo-with-hugo/">
<link rel="alternate" hreflang="ru" href="https://www.glukhov.org/ru/post/2025/10/multi-language-website-seo-with-hugo/">
- 각 번역된 웹사이트 페이지는 이 페이지의 canonical URL을 명시해야 합니다(원본 페이지의 첫 번째 언어 또는 언어로 표시된 페이지). 예시:
<link rel="canonical" href="https://www.glukhov.org/post/2025/10/multi-language-website-seo-with-hugo/">
이로 인해 검색 엔진은 canonical이 아닌 페이지의 인덱싱을 건너뛸 것을 권장합니다. 일부 검색 엔진은 이 명령을 무시하고 모든 페이지를 인덱싱할 수 있습니다.
전문적으로/수동으로 번역된 웹 페이지
<link rel="canonical"
을 명시하지 않으면 검색 엔진이 중복 벌금을 부과할 수 있습니다. 그러나 웹사이트 페이지를 수동으로 번역하거나 전문 번역을 주문하는 경우, 검색 엔진이 non-canonical 페이지를 원본으로 인식할 수 있기를 기대할 수 있습니다.
지역화된 웹사이트를 위한 Hugo 템플릿
Hugo 웹사이트 테마 가 이미 이 모든 기능을 지원하고 있을 수 있음을 기억해야 합니다.
<html lang=…
Hugo 웹사이트 폴더 또는 테마 폴더의 layouts/_default/baseof.html
파일을 열고, 다음과 같은 내용이 포함되어 있는지 확인하세요:
<!DOCTYPE html>
<html class="no-js" lang="{{ .Site.Language.Lang }}">
<head>
...
{{ partial "seo-localise.html" . }}
</head>
...
<link rel=“alternate” hreflang= 및 <link rel=“canonical”
이제 layouts/partials/seo-localise.html
파일을 열고, 다음 HTML 템플릿 코드를 추가하세요:
{{ $defaultLang := .Site.Params.defaultContentLanguage | default "en" }}
{{ $canonical := .Permalink }}
{{ if .IsTranslated }}
{{ $original := .Translations.GetByLang $defaultLang }}
{{ if $original }}
{{ $canonical = $original.Permalink }}
{{ end }}
{{ end }}
<!-- Canonical URL -->
<link rel="canonical" href="{{ $canonical }}">
<!-- Hreflang Alternate Tags -->
{{ range .AllTranslations }}
<link rel="alternate" hreflang="{{ .Lang }}" href="{{ .Permalink }}">
{{ end }}
수동으로 웹사이트를 번역하는 경우, 이 코드는 다음과 같을 수 있습니다:
{{ $canonical := .Permalink }}
<!-- Canonical URL -->
<link rel="canonical" href="{{ $canonical }}">
<!-- Hreflang Alternate Tags -->
{{ range .AllTranslations }}
<link rel="alternate" hreflang="{{ .Lang }}" href="{{ .Permalink }}">
{{ end }}
config.toml
config.toml
파일에서 다음 설정을 확인하세요:
# 웹사이트의 언어를 구성합니다
defaultContentLanguage = "en"
[languages]
[languages.en]
weight = 1
languageName = "English"
[languages.es]
weight = 2
languageName = "Español"
[languages.fr]
weight = 3
languageName = "Français"
위 설정을 사이트의 언어에 맞게 조정하세요.
이제 hugo
명령을 실행하여 웹사이트를 생성하고, hugo serve
명령을 실행하여 개발용 웹사이트 호스팅을 시작하세요. 웹사이트를 열고 페이지 소스를 확인하여 <html>
및 <link>
태그가 올바른 속성을 가지고 있는지 확인하세요.
유용한 링크: Hugo 정적 웹사이트 생성기
- Hugo 체크리스트 - 가장 유용한 명령어
- Hugo 생성된 웹사이트를 AWS S3에 배포
- Gitea Actions을 사용하여 Hugo 웹사이트를 AWS S3에 배포
- Hugo에 구조화된 데이터 마크업 추가
- 구글 폼을 Hugo 웹사이트에 제출
- Mainroad Hugo 테마 - 이미지 처리
- Hugo에 가장 인기 있는 테마
- Mainroad 테마를 사용하는 Hugo 사이트에 썸네일 이미지를 페이지 번들 폴더에 저장하는 방법
- Hugo 빠른 시작: https://gohugo.io/getting-started/quick-start/