Как изменить URL страницы в WordPress без потери SEO-рейтинга?
Здравствуйте! У меня возникла проблема с изменением URL страницы в WordPress. Необходимо изменить ссылку на одну из страниц моего сайта, чтобы она отображалась в более удобном и понятном формате, но при этом не потерять SEO-рейтинг, который уже был на этой странице.
Пробовал изменить URL просто в настройках страницы, но при этом появились ошибки 404 и страница перестала открываться. Поисковые системы также не смогли проиндексировать новый URL.
Мне нужна помощь в определении правильного способа изменения URL страницы в WordPress без потери SEO-рейтинга и чтобы страница продолжала работать корректно. Прошу помочь с примером кода, который мне потребуется внедрить для решения этой проблемы.
function change_permalink() {
if ( is_page( 'старый-url-страницы' ) ) {
global $wp;
$wp->request = 'новый-url-страницы';
add_filter( 'redirect_canonical', '__return_false' );
}
}
add_action( 'parse_request', 'change_permalink' );
Буду благодарен за любую помощь и рекомендации по данной проблеме!
Ответы:
function change_permalink() {
if ( is_page( 'старый-url-страницы' ) ) {
global $wp;
$wp->request = 'новый-url-страницы';
add_filter( 'redirect_canonical', '__return_false' );
}
}
add_action( 'parse_request', 'change_permalink' );
В этом коде мы создаем функцию change_permalink(). Он использует функцию is_page(), чтобы проверить, является ли текущая страница страницей с вашим старым URL. Если это так, мы используем глобальную переменную $wp, чтобы изменить запрос на новый URL страницы. Мы также добавляем фильтр redirect_canonical, чтобы отключить стандартное перенаправление на правильный URL страницы.
Помимо этого кода, вам может понадобиться проверить, что ваш сервер правильно обрабатывает изменение URL. Часто это можно сделать, создавая файл .htaccess в корневом каталоге вашего сайта с следующим содержимым:
# BEGIN WordPress
<IfModule mod_rewrite.c>
RewriteEngine On
RewriteBase /
RewriteRule ^index.php$ - [L]
RewriteCond %{REQUEST_FILENAME} !-f
RewriteCond %{REQUEST_FILENAME} !-d
RewriteRule . /index.php [L]
</IfModule>
# END WordPress
После добавления этого кода, очистите кэш своего сайта и проверьте, работает ли новый URL страницы корректно.
Надеюсь, эти рекомендации и пример кода помогут вам решить проблему с изменением URL страницы в WordPress без потери SEO-рейтинга и с сохранением корректной работы страницы.
Удачи!