Як у WordPress видалити старі слаги постів/записів

Привіт:) У цій короткій замітці покажу як швидко позбутися старих слагів (slug) WordPress.

Нехай на сайті створена та опублікована сторінка чи пост. З якихось причин потрібно змінити їх слаг. Після оновлення публікації слаг буде змінений. Але WordPress за замовчуванням збереже і старий.

Іноді це може призвести до проблем із URL-структурою всього сайту або просто пошукова система розцінить це як дублі сторінок.

Вимкнути функцію збереження можна, додавши у functions.php наступні рядки:

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

Цей код не дозволить зберігати старі слаги у майбутньому. Для видалення вже існуючих виконайте наступний SQL-запит до бази даних свого WordPress-сайту:

DELETE FROM `wp_postmeta` WHERE `meta_key` = '_wp_old_slug';
Якщо для бази даних вашого сайту використовується інший префікс таблиць, не забудьте його вказати замість "wp_" одразу після FROM.

Михайло Петров
Михайло Петров

Мене звати Михайло. Я — WordPress-розробник. Створюю візитки, корпоративні сайти, блоги на WordPress.

Залишити відповідь

Ваша e-mail адреса не оприлюднюватиметься. Обов’язкові поля позначені *