Как автоматически удалять короткие слова из ссылки на пост

Часто ссылка на пост состоит из его названия (slug). Некоторые считают, что использование слага в ссылке полезно сказывается на его индексации. Лично я никакой взаимосвязи не обнаружил, сколько бы не экспериментировал ЧПУ, но раз кто-то это использует, то пусть так считается. Однако если в названии поста используется много союзов и коротких слов, то оно растягивается на непозволительную длину. Например, название «И как бы нам удалить короткие слова из названия поста» выльется в «site.ru/category/I-kak-by-nam-udalit-korotkie-slova-iz-nazvania-posta«. Союзы и междометия не несут никакой смысловой нагрузки в образованной ссылке, поэтому их можно сократить, существенно укоротив ссылку до «site.ru/category/udalit-korotkie-slova-nazvania-posta«.

Это можно делать автоматически, если использовать следующий код, вставив его в файл functions.php:

add_filter('sanitize_title', 'remove_short_words');
function remove_short_words($slug) {
    if (!is_admin()) return $slug;
    $slug = explode('-', $slug);
    foreach ($slug as $k => $word) {
        if (strlen($word) < 3) {
            unset($slug[$k]);
        }
    }
    return implode('-', $slug);
}

Этот фильтр сокращает все слова, которые меньше 3 символов.

0 0 голоса
Рейтинг статьи
Подписаться
Уведомить о
0 комментариев
Межтекстовые Отзывы
Посмотреть все комментарии