5.1 KiB
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
Подключение поисковых систем
- Добавьте сайт в Google Search Console и Яндекс Вебмастер. Для проверки метатегом выберите ресурс по URL в Google и заполните переменные выше. Можно также подтвердить домен через DNS средствами самих сервисов.
- Отправьте
https://moon-well.online/sitemap.xmlв оба сервиса. Карта автоматически содержит главную, список новостей и опубликованные статьи с датами последнего изменения. Черновики, личный кабинет, вход, юридические документы и административные страницы в карту не попадают. - Проверьте главную и одну новость инструментом проверки URL Google и инструментами проверки страниц Яндекса, затем запросите переобход главной.
- Проверьте 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.