Если после редактирования контента, переноса сайта или удаления страниц на сайте начали появляться ссылки на несуществующие адреса, их лучше убрать сразу. Битые ссылки портят пользовательский опыт, мешают внутренней перелинковке и часто всплывают только тогда, когда посетитель уже дошёл до ошибки 404. Хорошая новость в том, что для проверки не обязательно ставить отдельный плагин: на небольшом и среднем сайте можно обойтись встроенными средствами WordPress, браузером и, если есть доступ, командами на сервере.
Сразу оговорюсь: без плагинов вы не получите постоянный автоматический мониторинг. Зато можно быстро найти проблемные ссылки после правок и исправить их без лишней нагрузки на сайт. Для разовой проверки это обычно самый практичный вариант.
Что считать битой ссылкой и где она обычно прячется
Битая ссылка — это любой URL, который ведёт не туда, куда должен. Чаще всего это:
- внутренние ссылки на удалённые записи, страницы, рубрики или медиафайлы;
- ссылки после смены адреса страницы без редиректа;
- ошибки в ручной разметке, когда адрес набрали с опечаткой;
- ссылки на внешние сайты, где страница уже удалена или переехала.
На WordPress такие ссылки обычно находятся в записях, страницах, меню, виджетах, блоках в редакторе, шаблонах темы и иногда в произвольных полях. Поэтому проверять нужно не только опубликованные статьи, но и места, где ссылки могли быть вставлены вручную.
Самый быстрый способ: пройтись по проблемным страницам и посмотреть 404
Если вы знаете, после каких изменений могли появиться ошибки, начните с них. Откройте в браузере страницы, которые редактировали или удаляли, и проверьте ссылки внутри контента. Для внутренних ссылок достаточно кликнуть по ним или открыть адрес в новой вкладке. Если вместо страницы видите 404, ссылка битая.
Этот способ особенно полезен после миграции или массового редактирования. Он не требует доступа к серверу и не нагружает сайт. Но у него есть ограничение: так вы найдёте только те ссылки, которые уже подозреваете. Если нужно проверить весь сайт, придётся идти шире.
Проверка через экспорт контента и поиск по базе без плагинов
Когда нужно быстро найти внутренние ссылки на старые адреса, удобно выгрузить контент и искать по нему текстом. Для этого подойдёт стандартный экспорт WordPress в формате WXR: Инструменты → Экспорт. Он не показывает битые ссылки автоматически, но помогает собрать весь контент в одном файле и проверить его поиском.
Если у вас есть доступ к файлам сайта, можно скачать экспорт, открыть его в редакторе и искать старый путь, например /staryj-razdel/ или конкретный домен после переезда. Так вы быстро увидите, где встречается устаревший адрес, и сможете заменить его на новый.
Для сайтов с доступом к базе данных этот подход ещё точнее: ссылки часто лежат в таблице wp_posts в поле post_content, а также в метаданных. Но вручную лезть в базу стоит только если вы понимаете, что именно ищете. Перед любыми правками базы обязательно сделайте резервную копию.
Что искать в первую очередь
- старый домен после переезда;
- изменённые URL рубрик и записей;
- ссылки на удалённые файлы в медиатеке;
- адреса с http вместо https, если сайт уже переведён на защищённый протокол;
- ссылки с опечатками в слагах.
Как проверить сайт через браузерные инструменты и карту сайта
Если сайт небольшой, удобно открыть его карту сайта и пройтись по ключевым страницам вручную. Это не автоматическая проверка, зато она помогает быстро найти явные ошибки после редактирования. Начните с главных разделов, затем откройте последние публикации, архивы и страницы, где много ссылок на внутренние материалы.
Полезно смотреть не только на саму ссылку, но и на то, как она открывается. Иногда адрес формально существует, но ведёт на редирект, цепочку редиректов или страницу с ошибкой доступа. Для пользователя это тоже проблема, особенно если ссылка стоит в меню или в блоке с призывом к действию.
Если хотите проверить конкретную страницу без установки расширений, откройте её в браузере и используйте инструменты разработчика. Вкладка Network покажет, какие запросы возвращают 404 или 410. Это уже ближе к технической диагностике, но на практике помогает быстро поймать битые изображения, скрипты и ссылки в шаблоне.
Поиск битых ссылок через WP-CLI и серверные команды
Если у вас есть SSH-доступ, самый надёжный способ без плагинов — искать ссылки прямо в контенте через командную строку. Для WordPress это особенно удобно на сайтах с большим количеством записей: не нужно открывать каждую страницу вручную.
Сначала проверьте, есть ли у хостинга WP-CLI. Если он установлен, можно искать старый адрес по базе контента. Пример для поиска конкретного домена или пути:
wp db query "SELECT ID, post_title FROM wp_posts WHERE post_content LIKE '%staryj-adres.ru%'"Если таблицы имеют нестандартный префикс, замените wp_ на свой. Запрос покажет записи, где встречается нужная строка. После этого откройте найденные материалы и исправьте ссылки в редакторе WordPress.
Можно искать и по файлам темы, если ссылка зашита в шаблон:
grep -R "staryj-adres.ru" wp-content/themes/Эта команда полезна, когда битая ссылка не в контенте, а в шаблоне, футере или блоке, который выводится темой. Если вы не уверены, где именно лежит ссылка, сначала ищите по всему каталогу wp-content, а не только по теме.
Если на сайте нет WP-CLI, но есть доступ к панели хостинга и phpMyAdmin, можно выполнить тот же поиск через SQL-запрос. Логика та же: найти записи, где в содержимом встречается старый URL, и затем поправить их в редакторе WordPress. Не делайте массовую замену в базе без понимания формата данных, особенно если в контенте есть сериализованные значения.
Как исправить найденные ссылки без лишнего риска
Когда проблемный URL найден, дальше всё зависит от того, куда он ведёт.
- Если страница была удалена случайно — восстановите её из корзины или из резервной копии.
- Если адрес изменился — обновите ссылку в контенте и поставьте редирект со старого URL на новый.
- Если ссылка внешняя и страница исчезла — замените её на актуальный ресурс или удалите совсем.
- Если это опечатка — исправьте адрес вручную в записи, блоке, меню или шаблоне.
Редирект особенно важен, если на старый адрес уже есть трафик или внешние ссылки. Без него посетитель попадёт на 404, а поисковые системы будут считать адрес нерабочим. Для редиректов можно использовать настройки сервера, конфигурацию хостинга или отдельный плагин, но сама статья про поиск и удаление битых ссылок не требует ставить что-то дополнительно.
Если вы редактируете ссылки в массовом порядке, сначала проверьте одну-две записи, потом обновите остальной контент. Так проще заметить, не сломалась ли разметка, и не пропустить ссылки внутри кнопок, таблиц или HTML-блоков.
Как проверить, что битые ссылки действительно исчезли
После исправления не ограничивайтесь визуальной проверкой в редакторе. Откройте страницу в браузере и кликните по ссылкам, которые меняли. Если адрес ведёт на нужную страницу и не отдаёт 404, задача решена.
Для более надёжной проверки можно:
- открыть старый URL напрямую и убедиться, что он либо редиректит на новый адрес, либо больше не используется;
- проверить страницу в режиме инкогнито, чтобы исключить кеш браузера;
- посмотреть код ответа через инструменты разработчика или онлайн-проверку заголовков;
- пройтись по разделам, где были массовые изменения, и проверить внутренние ссылки вручную.
Если после исправления ошибка всё ещё видна, причина часто в кеше: страницы могли сохраниться в плагине кеширования, на сервере или в CDN. Тогда нужно очистить кеш и повторить проверку.
Когда без плагина уже неудобно
Без плагинов удобно делать разовую или периодическую проверку, особенно если сайт небольшой. Но если у вас много контента, частые публикации и несколько авторов, ручной поиск быстро становится тяжёлым. В таком случае без автоматизации уже сложно обойтись: нужен либо внешний сервис, либо отдельный инструмент для мониторинга ссылок.
Для разовой задачи после миграции или чистки контента ручной подход обычно выигрывает. Он не создаёт постоянной нагрузки на сайт, не сканирует каждую страницу фоном и не добавляет лишний код в админку. Если задача именно в том, чтобы быстро найти и убрать несколько битых ссылок, этого достаточно.
Практический порядок такой: сначала ищете проблемный URL в контенте или шаблонах, затем исправляете ссылку или ставите редирект, после этого проверяете страницу в браузере и очищаете кеш. На небольшом сайте этого хватает, чтобы закрыть проблему без установки дополнительного плагина.