Files
2026-10-20 19:17:49 +04:00

5.1 KiB
Raw Permalink Blame History

SEO для Яндекса и Google

Публичные страницы главной и новостей отдают метатеги и основной HTML до запуска JavaScript. При переходах Inertia обновляет тот же набор тегов через serverHead. Заголовок, описание и текст главной ориентированы на PvP сервер WoW Vanilla, версию клиента и рейты из config/moonwell.php. Название проекта также берётся из конфигурации. Позиции в поиске зависят и от содержания, ссылок и конкуренции; SEO-настройки обеспечивают техническую готовность к индексации.

Настройка production

APP_ENV=production
APP_URL=https://moon-well.online
MOONWELL_SEO_INDEXABLE=true
GOOGLE_SITE_VERIFICATION=
YANDEX_SITE_VERIFICATION=

APP_URL — единственный источник домена для canonical, sitemap и разметки. Используйте основной HTTPS-адрес без www, если сайт работает именно на нём. На уровне внешнего nginx настройте постоянный редирект HTTP и альтернативного домена на этот адрес. Для стендов задайте MOONWELL_SEO_INDEXABLE=false: robots.txt запретит обход, а HTML получит noindex. По умолчанию индексация включается только при APP_ENV=production.

В GOOGLE_SITE_VERIFICATION и YANDEX_SITE_VERIFICATION вставляются только значения content из проверочных метатегов соответствующего сервиса. Пустые значения не создают метатеги. После изменения .env пересоздайте production-контейнер приложения, чтобы загрузить переменные, и обновите кеш:

docker compose -f compose.prod.yaml up -d --no-deps --force-recreate app
docker compose -f compose.prod.yaml exec -T --user app app php artisan config:cache

Подключение поисковых систем

  1. Добавьте сайт в Google Search Console и Яндекс Вебмастер. Для проверки метатегом выберите ресурс по URL в Google и заполните переменные выше. Можно также подтвердить домен через DNS средствами самих сервисов.
  2. Отправьте https://moon-well.online/sitemap.xml в оба сервиса. Карта автоматически содержит главную, список новостей и опубликованные статьи с датами последнего изменения. Черновики, личный кабинет, вход, юридические документы и административные страницы в карту не попадают.
  3. Проверьте главную и одну новость инструментом проверки URL Google и инструментами проверки страниц Яндекса, затем запросите переобход главной.
  4. Проверьте robots.txt: ресурсы /build/, изображения и /storage/ доступны роботам. Закрыты API, файлы лаунчера и техническая проверка состояния. Страницы входа, кабинета и администрации имеют noindex; robots.txt не запрещает их обход, чтобы робот мог прочитать запрет индексации.

У страниц новостей ?page=2 и далее собственный canonical и номер страницы в заголовке. Метки рекламы и другие параметры в canonical не включаются. Несуществующие страницы пагинации и неопубликованные новости возвращают 404.

Разметка JSON-LD описывает сайт и страницы, а для новостей — NewsArticle с заголовком, изображением и датами. Open Graph и Twitter Card поддерживают превью ссылок. Проверочные коды для поисковых систем остаются на всех HTML-страницах.

Реализация учитывает рекомендации Google по JavaScript SEO, Google по sitemap и Яндекса по robots.txt.