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

Часто ссылка на пост состоит из его названия (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 символов.

1 Звезда2 Звезды3 Звезды4 Звезды5 Звезд (1 оценок, среднее: 5,00 из 5)
Загрузка...

Отправить ответ

Оставьте первый комментарий!

wpDiscuz