Безлимитный хостинг на сверхбыстрых SSD-дисках от 57р в месяц   •   Реклама
1 860 просм
2 комм
Поделиться:

Удаляем префикс category из URL рубрик в WordPress без плагина

Я думаю, многие знают, что настройка адресов в WordPress находится в панели управления, раздел «Настройки», пункт «Постоянные ссылки».

Если вы используете произвольный тип ссылок, подобный этому:

Удаляем префикс category из URL рубрик в WordPress без плагина

то могли встречать такой нюанс, когда к ссылкам рубрик (категорий) добавляется так называемый префикс category. И выглядит это примерно так:

https://www.pandoge.com/category/haki/

Эта приставка бесполезна по нескольким причинам, первая из которых – на ее основе строится URL-адрес рубрик и при попытке перейти по адресу типа:

https://www.pandoge.com/category/

мы получим 404 ошибку, хотя по логике вещей мы должны попасть в родительскую категорию /category/.

Вторая причина – приставка добавляет длины конечному URL-адресу. А как мы знаем, чем короче адрес – тем лучше, с точки зрения SEO и юзабилити, учитывая и тот факт, что у вас и без этого может быть большая вложенность категорий.

Поскольку нам совсем не нужна эта часть адреса на своем сайте (что интересно – у записей этот префикс отсутствует без каких-либо дополнительных настроек), я покажу вам способ, как ее можно убрать.

Удаление префикса category из URL-рубрик в WordPress через небольшую функцию

1. Авторизуйтесь в панели управления вашим сайтом.

2. Перейдите в раздел «Настройки», пункт «Постоянные ссылки». В нем (если это еще не сделано) выставите тип «Произвольно» с видом:

/%category%/%postname%.html

По необходимости можете оставить или убрать окончание .html.

3. Далее подключитесь к вашему сайту по FTP.

4. В папке вашей темы найдите и откройте файл functions.php. В самый его низ вставьте:

add_filter("category_link", function($a) {

	return str_replace("category/", "", $a);

}, 9999);

Сохраните изменения, отправьте файл обратно на сайт и проверяйте результат.

Если изменений не произошло, то после установки скрипта пересохраните настройки постоянных ссылок.

Для решения этой задачи существуют и различные плагины, но здесь, думаю, они ни к чему.

Если ваш сайт уже проиндексирован поисковыми системами, то рекомендую настроить 301 редирект, чтобы ускорить переиндексацию рубрик по новым адресам. Для этого в корне сайта откройте файл .htaccess и сразу после строки:

RewriteBase /

вставьте:

RewriteRule ^(.*)category/(.+)$ /$1$2 [R=301,L]

и сохраните изменения.

Если у вас префикс, отличный от category, – замените в каждом коде его на свой.

2
комментария
Гостям запрещено участвовать в обсуждениях сайта. Авторизуйтесь, чтобы расширить привилегии гостевого посещения и получить необходимую помощь от сообщества Pandoge.
Администратор758

Miko, в настройках, насколько я помню, настраивается вид адресов постов. У рубрик вид URL остается без изменений. Но изменение вида постоянных ссылок помогает (в связке со скриптом) удалить не нужный префикс у рубрик.

25 авг в 15:53
  • 0
Гости679

Не понял, в адресной строке просто появляется слово "category"? А что если его убрать в настройках /%category/%?

11 июн в 09:59
  • 0
Подняться наверх
«Pandoge» - помощник веб-мастера