Страница ошибки 404 и карта сайта — это типовые служебные страницы, которые есть почти на любом проекте. Разберём, где они хранятся в 1С-Битрикс, как их отредактировать и как заставить работать корректно с ЧПУ.
/404.php в корне сайта. За его показ отвечает настройка Настройки → Настройки продукта → Настройки модулей → Управление структурой, флаг обработки ошибки «404 Not Found».Что относят к типовым страницам
Под типовыми (служебными) страницами в 1С-Битрикс обычно понимают набор стандартных страниц, которые не относятся к контенту напрямую, но нужны для нормальной работы сайта:
- 404.php — страница, которую видит посетитель, когда запрошенный адрес не существует;
- Карта сайта — HTML-страница со списком разделов и страниц для посетителей (не путать с XML sitemap для поисковиков);
- access.php — служебный файл контроля доступа к разделу;
- Страницы авторизации, регистрации, восстановления пароля — генерируются системными компонентами.
В этой статье сосредоточимся на двух самых востребованных — 404.php и карте сайта для пользователей.
Где хранится страница 404 и как её включить
За обработку несуществующих адресов отвечает файл /404.php в корне сайта и настройка модуля Управление структурой.
Чтобы включить корректную отдачу статуса и показ страницы:
- Перейдите в Настройки → Настройки продукта → Настройки модулей → Управление структурой.
- Найдите блок настроек обработки ошибки «404 Not Found» (Показывать страницу ошибки 404).
- Убедитесь, что задан путь к файлу страницы ошибки — по умолчанию
/404.php. - Включите опцию «Устанавливать статус 404», чтобы сервер отдавал корректный HTTP-статус, а не 200.
Само содержимое страницы редактируется как обычная страница сайта: откройте /404.php в Контент → Структура сайта → Файлы и папки и правьте в визуальном или HTML-режиме.
Как отдаётся корректный статус и работает с ЧПУ
Правильная страница 404 должна возвращать HTTP-статус 404 Not Found. Если этого не сделать, поисковики будут индексировать «пустые» страницы как обычные (мягкая 404).
Для корректной работы важны два условия:
- В
.htaccessпрописано правилоErrorDocument 404 /404.phpи включён mod_rewrite для ЧПУ; - В начале файла
404.phpприсутствует установка статуса. Обычно система подключает служебный код автоматически, но при кастомном шаблоне статус задают явно:
define("ERROR_404", "Y"); — до подключения пролога, и вызов установки заголовка @define("ERROR_404","Y"); в связке с CHTTP::SetStatus("404 Not Found");.
При включённых ЧПУ несуществующий адрес сначала проходит через правила обработки ЧПУ (URL rewrite), и только если ни одно правило не сработало, отдаётся 404. Поэтому проверяйте страницу именно на заведомо несуществующем адресе.
Карта сайта для посетителей
HTML-карта сайта — это страница со ссылками на разделы и страницы, удобная для навигации пользователей. В 1С-Битрикс её проще всего собрать типовым компонентом.
- Создайте страницу, например
/sitemap.php(Карта сайта). - В визуальном редакторе перетащите компонент «Карта сайта» (модуль Управление структурой) или выведите структуру меню компонентом навигации.
- В настройках компонента укажите, какие типы меню и уровни выводить, и включите кэширование.
- Добавьте пункт «Карта сайта» в нижнее меню (обычно
bottom), чтобы страница была доступна из подвала.
Такая карта формируется из существующих меню и структуры разделов, поэтому обновляется автоматически при добавлении новых страниц.
Чем HTML-карта отличается от sitemap.xml
Не путайте два разных инструмента с похожим названием:
| Параметр | HTML-карта сайта | sitemap.xml |
|---|---|---|
| Для кого | Для посетителей | Для поисковых роботов |
| Где настраивается | Компонент на странице | Модуль Поиск / SEO, генератор sitemap |
| Формат | Обычная HTML-страница | XML по стандарту sitemaps.org |
| Обновление | Автоматически из меню | По расписанию (агент) или вручную |
XML-карта генерируется в Маркетинг → Поисковая оптимизация → Настройка sitemap.xml (в редакциях с модулем SEO). HTML-карта — это отдельная страница для людей.
Частые ошибки
Типичные проблемы при работе с типовыми страницами:
- Страница 404 отдаёт статус 200. Не включена опция установки статуса или в кастомном шаблоне не задан заголовок — поисковики считают такие страницы валидными.
- 404 не показывается из-за ЧПУ. Правило URL rewrite перехватывает адрес и отдаёт другую страницу вместо ошибки. Проверьте порядок и условия правил обработки ЧПУ.
- Красивый дизайн, но нет навигации. На странице 404 стоит оставить меню, поиск и ссылку на главную, чтобы посетитель не ушёл с сайта.
- Путаница карт. HTML-карту выдают за sitemap.xml для поисковиков или наоборот — это разные сущности.
- Устаревшая карта сайта. Если карта собрана вручную списком ссылок, а не компонентом, она быстро расходится с реальной структурой.
- Кэш. После правок 404.php или карты изменения не видны из-за автокэширования — очистите кэш компонента или страницы.
Как проверить настройку
После настройки обязательно протестируйте результат:
- Откройте заведомо несуществующий адрес, например
/nesushestvuyushaya-stranica-test/, и убедитесь, что показывается ваша страница 404. - Проверьте HTTP-статус через инструменты разработчика браузера (вкладка Network) — должно быть
404, а не200. - Откройте страницу карты сайта и проверьте, что все актуальные разделы присутствуют и ссылки рабочие.
- Добавьте новую тестовую страницу и убедитесь, что она автоматически появилась в HTML-карте (если карта собирается компонентом).
Итог
Страница 404 и карта сайта — простые, но важные элементы. Ключевые моменты:
- Файл
/404.phpредактируется как обычная страница, а его показ и статус включаются в модуле «Управление структурой»; - Обязательно проверяйте отдачу HTTP-статуса 404 и корректную работу с ЧПУ;
- HTML-карту собирайте типовым компонентом, чтобы она обновлялась автоматически;
- Не путайте HTML-карту для людей и sitemap.xml для поисковых систем.
Настроенные один раз типовые страницы дальше работают без вмешательства и улучшают и удобство, и SEO проекта.