<!-- Generated from ru/llms-txt-hugo/index.html. The canonical document is the HTML page. -->

- [ Главная ](/ru/) 
/
- [ Как создать ](/ru/how-to-create/) 
/
- Руководство по Hugo            
# `llms.txt` для Hugo

Два подхода: статический файл в static/ (без настройки, работает везде) или пользовательский формат вывода, автоматически создающий llms.txt из вашего content во время сборки.

Последнее обновление: 22 апреля 2026 г.

На этой странице

- [ Вариант 1: статический файл (рекомендуется) ](#static)
- [ Вариант 2: пользовательский формат вывода ](#output-format)
- [ Написание шаблона ](#template)
- [ Развёртывание ](#deployment)
- [ Проверить ](#verify)              
Примечание

Какой подход выбрать?

Если ваш  llms.txt  содержимое стабильно и вы обновляете его вручную, используйте
статический файл , нулевая конфигурация, нулевой риск. Если вы хотите, чтобы он
автоматически синхронизировался с контентом при каждом  hugo  собрать, используйте
пользовательский формат вывода .

## Вариант 1: статический файл (рекомендуется)

Hugo копирует всё из `static/` каталог напрямую в `public/` результат сборки.
Разместите `llms.txt`
там, и он будет доступен по адресу `/llms.txt` на любой платформе хостинга, изменения конфигурации
Hugo не требуются.
static/llms.txt, directory structure    Копировать     

```
# Hugo, zero-config static approach
#
# Place your file at: static/llms.txt
# Hugo copies everything in static/ directly to the public/ output directory.
# Your file will be served at /llms.txt on any host.
#
# Project structure:
# your-hugo-site/
# ├── static/
# │   └── llms.txt   ← add this
# ├── content/
# ├── layouts/
# └── hugo.toml
#
# No config changes needed. Run "hugo" and it appears in public/llms.txt.

```

После выполнения `hugo`, вы найдёте `public/llms.txt`
в результатах сборки. Разверните `public/` в Cloudflare Pages, Vercel, GitHub Pages или
на любом статическом хостинге.

## Вариант 2: пользовательский формат вывода

Система выходных форматов Hugo позволяет создавать файлы любого типа из содержимого с помощью
шаблонов Go. Определите новый `LLMSTXT` формат в конфигурации, затем создайте шаблон, Hugo
создаёт `public/llms.txt`
автоматически при каждом `hugo` запуск.

### Шаг 1: добавьте формат вывода в конфигурацию
hugo.toml    Копировать     

```
# hugo.toml, define the llmstxt custom output format

[outputs]
home = ["HTML", "RSS", "LLMSTXT"]

[outputFormats.LLMSTXT]
mediaType = "text/plain"
baseName = "llms"
isPlainText = true
notAlternative = true

```

Используете YAML? Конфигурация та же:
hugo.yaml    Копировать     

```
# hugo.yaml, same config in YAML

outputs:
home:
- HTML
- RSS
- LLMSTXT

outputFormats:
LLMSTXT:
mediaType: text/plain
baseName: llms
isPlainText: true
notAlternative: true

```

Ключевые настройки: `mediaType = "text/plain"` (чтобы Hugo записал обычный текстовый файл),
`baseName = "llms"` (создаёт
`llms.txt`), и `notAlternative = true` (подавляет нежелательный ` ` тег в вашем HTML).

## Написание шаблона

Создайте шаблон в `layouts/index.llmstxt.txt`. Hugo использует *главная* шаблон
для вывода в корне. Вот простая версия, перечисляющая все обычные страницы:
layouts/index.llmstxt.txt, simple    Копировать     

```
{{/* layouts/index.llmstxt.txt */}}
{{/* Hugo home template for the llmstxt output format */}}
# {{ .Site.Title }}

> {{ .Site.Params.description }}

{{ with .Site.Params.llmstxtContext }}{{ . }}

{{ end -}}
## Pages

{{ range .Site.RegularPages -}}
- [{{ .Title }}]({{ .Permalink }}): {{ with .Description }}{{ . }}{{ else }}{{ .Summary | plainify | truncate 120 }}{{ end }}
{{ end }}

```

Для сайта с несколькими разделами содержимого (блог, документация, руководства) организуйте их
по разделам:
layouts/index.llmstxt.txt, by section    Копировать     

```
{{/* layouts/index.llmstxt.txt, organized by section */}}
# {{ .Site.Title }}

> {{ .Site.Params.description }}

{{ range .Site.Sections -}}
## {{ .Title }}

{{ range .Pages -}}
- [{{ .Title }}]({{ .Permalink }}): {{ with .Description }}{{ . }}{{ else }}{{ .Summary | plainify | truncate 100 }}{{ end }}
{{ end }}
{{ end -}}

## Optional

- [Homepage]({{ .Site.BaseURL }}): site entry point.

```

Пример

Используйте frontmatter description

У Hugo  .Summary  извлекается автоматически из первого абзаца каждой страницы, он часто
слишком длинный или слишком общий для хорошей записи в llms.txt. Добавьте  description  поле в frontmatter для точного резюме, составленного вручную:
content/docs/getting-started.md    Копировать     

```
---
# content/docs/getting-started.md
title: "Getting started"
description: "Install the CLI, run your first command, and deploy in under 5 minutes."
draft: false
---

Your content here...

```

## Развёртывание

- **Cloudflare Pages**, задайте команду сборки как `hugo`
и каталог публикации в `public`. Cloudflare Pages будет отдавать
`public/llms.txt` в `/llms.txt` из глобальной CDN. См. [Руководство по Cloudflare Pages](/ru/llms-txt-cloudflare/) для рекомендаций по заголовкам кэша. 
- **Vercel**, Hugo определяется автоматически. Укажите команду сборки как `hugo` и каталог вывода в `public`. См.
[Руководство Vercel](/ru/llms-txt-vercel/) для вариантов кэширования на периферии. 
- **GitHub Pages**, используйте рабочий процесс GitHub Actions, который запускает
`hugo` и развёртывает `public/` в
`gh-pages` ветке. Файл будет доступен по адресу
`https://your-org.github.io/llms.txt`. 
- **Любой статический хостинг**, разверните `public/` каталог. Файл окажется
в корневом каталоге и будет обслуживаться корректно.   
## Проверить

Сначала проверьте локально:
Local verification    Копировать     

```
hugo
ls public/llms.txt          # should exist
cat public/llms.txt          # check content
https_proxy="" hugo server
curl http://localhost:1313/llms.txt
```

После развёртывания:
Production verification    Копировать     

```
curl -I https://yoursite.com/llms.txt
# Expected:
# HTTP/2 200
# content-type: text/plain; charset=utf-8
```

Затем вставьте URL в [валидатор](/ru/validator/) для полной проверки соответствия спецификации.

## Связанные руководства

- [Как создать llms.txt](/ru/how-to-create/), шаблоны, контрольный список и все
стеки. 
- [Руководство по Cloudflare Pages](/ru/llms-txt-cloudflare/), развёртывание Hugo на
CF Pages. 
- [Руководство SvelteKit](/ru/llms-txt-sveltekit/), ещё один подход SSG. 
- [Руководство по Astro](/ru/llms-txt-astro/), конечная точка коллекции содержимого. 
- [Лучшие практики](/ru/best-practices/), что включать и что исключать. 
- [Валидатор](/ru/validator/) · [Генератор](/ru/generator/).        
## Источники

- [ llmstxt.org, предложение сообщества ](https://llmstxt.org/)
- [ Документация Hugo, пользовательские форматы вывода ](https://gohugo.io/configuration/output-formats/)
- [ Документация Hugo, порядок поиска шаблонов ](https://gohugo.io/templates/lookup-order/)
