Старые слаги в WordPress

Дмитрий Скородумов  /   5 ноября 2021 г.

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

Отключить функцию сохранения можно, вписав в functions.php следующее:

remove_action( 'template_redirect', 'wp_old_slug_redirect' );
remove_action( 'post_updated', 'wp_check_for_changed_slugs', 12, 3 );

Помимо прочего придётся удалить архив в базе данных:

DELETE FROM $wpdb->postmeta WHERE meta_key = '_wp_old_slug'

Помимо полного отключения, можно выборочно работать с сохранёнными слагами при помощи хуков old_slug_redirect_post_id и old_slug_redirect_url.