Как найти и удалить битые ссылки в WordPress

Если на сайте копятся битые ссылки, пользователь уходит в 404, а поисковик видит плохой пользовательский опыт. На практике задача обычно сводится к двум шагам: сначала быстро найти все ссылки, которые ведут на несуществующие страницы, а затем аккуратно исправить их в контенте, меню, виджетах или настройках темы. Делать это вручную по всему сайту неудобно, поэтому лучше сразу выбрать способ проверки, который подходит вашему объёму сайта и доступу к серверу.

Самый простой путь — использовать плагин для поиска битых ссылок. Если сайт небольшой, этого обычно достаточно. Если страниц много или вы не хотите ставить лишние плагины, можно проверить сайт через внешние сервисы или краулеры. А если у вас есть доступ к хостингу и базе данных, часть ссылок можно найти быстрее через поиск по контенту и массовую замену. Ниже — рабочие варианты без лишней теории.

С чего начать: что именно считать битой ссылкой

Битая ссылка — это ссылка, которая ведёт не туда, куда должна. Чаще всего это:

  • внутренние ссылки на удалённые или переименованные страницы;
  • ссылки на старые изображения и файлы в медиатеке;
  • ссылки в меню, виджетах и футере;
  • внешние ссылки на сайты, где страница уже удалена или адрес изменился;
  • ссылки с ошибкой в URL, например лишний символ, неправильный протокол или опечатка в домене.

Не каждая 404-ошибка означает проблему именно в контенте. Иногда страница удалена намеренно и ссылка на неё больше не нужна. Поэтому сначала важно понять источник: это старая запись, меню, кнопка, блок в конструкторе, комментарий или внешний ресурс.

Как быстро найти битые ссылки в WordPress

Способ 1. Плагин для проверки ссылок

Для большинства сайтов это самый практичный вариант. Плагин сканирует записи, страницы, комментарии, пользовательские поля и иногда меню, а затем показывает список URL со статусом ошибки. Удобство в том, что не нужно вручную открывать каждую страницу сайта.

Из популярных решений часто используют Broken Link Checker, но перед установкой стоит посмотреть, как именно он работает в вашей версии WordPress и на вашем хостинге. Такие плагины могут заметно нагружать сайт, особенно на больших проектах. Если у вас общий хостинг и много контента, лучше запускать проверку в период низкой нагрузки и после неё отключать плагин, если он не нужен постоянно.

Типичный порядок действий такой:

  1. Установите и активируйте плагин.
  2. Дайте ему время просканировать сайт.
  3. Откройте список найденных битых ссылок.
  4. Проверьте, действительно ли URL недоступен, а не временно отвечает с ошибкой.
  5. Исправьте ссылку, удалите её или замените на актуальную.

Плюс этого способа в том, что он показывает, где именно находится проблемная ссылка. Минус — нагрузка на сайт и зависимость от качества самого плагина.

Способ 2. Внешний краулер или сервис проверки

Если не хотите ставить плагин, можно просканировать сайт внешним инструментом. Подход удобен для разовой проверки: вы получаете список URL с кодами ответа, включая 404. Такой способ не трогает WordPress изнутри и не создаёт дополнительной нагрузки на сайт во время работы посетителей.

Этот вариант особенно полезен, если нужно проверить большой сайт перед редизайном, переносом или после массового обновления контента. Но у него есть ограничение: внешний сервис видит только то, что доступно по ссылкам на страницах. Если битая ссылка спрятана в блоке, который не попадает в обход, или формируется динамически, сервис может её не заметить.

Способ 3. Поиск в админке и в базе данных

Если вы уже примерно знаете, где искать, иногда быстрее проверить конкретные места: записи, страницы, меню, виджеты, шаблоны блоков, поля конструктора. В редакторе WordPress можно открыть нужную страницу и посмотреть, нет ли там старого URL. Для массового поиска по сайту удобнее использовать поиск по базе данных или по файлам темы, но это уже требует аккуратности.

Если у вас есть доступ к phpMyAdmin или другому инструменту работы с базой, можно искать старый адрес по таблице wp_posts и связанным данным. Но перед любыми изменениями обязательно сделайте резервную копию базы. Неправильная массовая замена может повредить сериализованные данные, если делать её обычным поиском и заменой без учёта структуры WordPress.

Как безопасно исправить найденные ссылки

Когда список битых ссылок уже есть, не спешите удалять всё подряд. Сначала определите, что должно быть вместо старого адреса.

  • Если страница просто переехала, замените ссылку на новый URL.
  • Если материал удалён, а замены нет, удалите ссылку из текста или замените её на более подходящую страницу.
  • Если ссылка ведёт на файл из медиатеки, проверьте, не был ли он удалён или переименован.
  • Если ошибка в меню или виджете, исправьте адрес в настройках соответствующего блока, а не в тексте записи.

Для редактирования обычных ссылок достаточно открыть запись или страницу в редакторе WordPress и заменить URL вручную. Если таких ссылок много, удобнее работать через плагин, который показывает, где именно находится проблемный адрес. Это снижает риск пропустить старую ссылку в длинной статье или в нескольких одинаковых блоках.

Если нужно массово заменить один старый адрес на новый, делайте это только после резервной копии и только если вы точно понимаете, где хранится ссылка. Для контента в базе WordPress безопаснее использовать инструменты, которые умеют корректно работать с сериализованными данными. Обычная замена в SQL без понимания структуры может сломать настройки виджетов, блоков и некоторых плагинов.

Как проверить, что проблема действительно решена

После правок откройте страницы, где была ссылка, и нажмите по ней вручную. Если всё исправлено, вы должны попадать на нужную страницу без 404. Но одной ручной проверки обычно мало: иногда ссылка исправлена в одном месте, а копия осталась в другом.

Поэтому после изменений полезно сделать повторную проверку одним из тех же способов, которым вы искали ошибки:

  • пересканировать сайт плагином;
  • запустить повторный обход внешним краулером;
  • проверить конкретные URL в браузере или через инструмент проверки ответа сервера.

Если ссылка по-прежнему отдаёт 404, проверьте не только сам URL, но и наличие редиректа, регистр букв в адресе, слэш в конце и правильность домена. Для WordPress это особенно заметно после смены структуры постоянных ссылок или переноса сайта.

Когда лучше не удалять ссылку, а настроить редирект

Иногда старая ссылка уже где-то опубликована, на неё ведут внешние сайты или она индексировалась поисковиками. В таком случае простое удаление не всегда лучший вариант. Если у страницы есть очевидный новый аналог, настройте 301-редирект со старого адреса на новый. Тогда посетитель и поисковый робот попадут на актуальную страницу, а не на 404.

Редирект особенно полезен для:

  • переименованных материалов;
  • изменённых URL после редизайна;
  • удалённых страниц, у которых есть близкая замена;
  • товаров, услуг или статей, которые были перенесены в другую структуру.

Если замены нет и страница действительно больше не нужна, редирект не обязателен. В этом случае лучше убрать ссылку из сайта и оставить 404 только там, где она неизбежна. Но если битая ссылка уже успела попасть в важные внешние источники, редирект помогает сохранить трафик и не терять пользователей.

Что обычно мешает найти все битые ссылки

На практике проблемы чаще всего связаны не с самим поиском, а с тем, где именно спрятан URL. Вот типичные случаи:

  • ссылка находится в шаблоне темы, а не в записи;
  • URL вставлен в блок, созданный конструктором страниц;
  • адрес прописан в меню, а не в контенте;
  • битая ссылка есть в старой версии записи или в дублирующем блоке;
  • ошибка появляется только у незалогиненного пользователя из-за кэша или условий отображения.

Если вы проверили запись, но ошибка остаётся, ищите ссылку в других слоях сайта: меню, футер, сайдбар, шаблоны блоков, настройки темы, плагины для конструкторов. На небольших сайтах это занимает немного времени, но на проектах с большим количеством шаблонов без системной проверки легко что-то пропустить.

Практичный порядок действий для обычного сайта

Если нужен короткий и безопасный сценарий, действуйте так:

  1. Сначала просканируйте сайт плагином или внешним сервисом.
  2. Соберите список всех URL с 404.
  3. Определите, где находится каждая ссылка: запись, меню, виджет, шаблон, файл.
  4. Исправьте адрес, удалите ссылку или поставьте редирект, если есть новая страница.
  5. Повторно проверьте сайт тем же способом.

Такой порядок экономит время и снижает риск случайно удалить нужную ссылку. Если сайт большой, не пытайтесь искать всё вручную по страницам — это долго и легко пропустить часть проблем. Лучше один раз нормально просканировать сайт и потом точечно исправить найденные адреса.

Если нужен именно инструмент для чистки и уменьшения лишнего мусора на сайте, в экосистеме WPShop есть Clearfy Pro, но для поиска битых ссылок он не заменяет полноценную проверку ссылок и не решает задачу сам по себе.

⭐⭐⭐⭐⭐