Super Moderator - Репутация: 2384
- Webmoney BL:
? | Меня жутко бесит слово category в url-адресах категорий сайтов на wordpress. Это слово не имеет абсолютно никакого смысла и не приносит никакой пользы. Нарыл в инете кучу способов, как удалить это слово. Сейчас вот не знаю, какой выбрать и что разумнее использовать с точки зрения seo. Хотелось бы поинтересоваться у форумчан. Собственно, вот способы удалить category из адресов: 1. Плагин seo without category. Плагин не сможет работать, если в ЧПУ-шаблоне ссылок не будет присутствовать %category%! Проверена совместимость до версии WP: 2.5.1. У меня последняя версия wp, %category% в ссылках нет. Не подходит. 2. Добавить запись в htaccess:
PHP код: RewriteRule ^category/(.+)$ http://www.yourblog.com/$1 [R=301,L]
Подходит. 3. Плагин no category parents. Удаляет не только слово категория, но и родителькую рубрику. А мне нужно удалить только слово category. Не подходит. 4. Чтобы удалить слово category из url в WordPress нужно использовать следующую структуру пермалинка: /%category%/%postname%.html или /%category%/%postname%.php, а в поле «Префикс для рубрик» нужно поставить . (точку) У меня нет в url адресах рубрики. Не подходит. 5. Автоматическое удаление category правкой function.php. В файл function.php вставить код:
PHP код: function fix_slash( $string, $type ) { global $wp_rewrite; if ( $wp_rewrite->use_trailing_slashes == false ) { if ( $type != 'single' && $type != 'category' ) return trailingslashit( $string ); if ( $type == 'single' && ( strpos( $string, '.html/' ) !== false ) ) return trailingslashit( $string ); if ( $type == 'category' && ( strpos( $string, 'category' ) !== false ) ) { $aa_g = str_replace( "/category/", "/", $string ); return trailingslashit( $aa_g ); } if ( $type == 'category' ) return trailingslashit( $string ); } return $string; } add_filter( 'user_trailingslashit', 'fix_slash', 55, 2 );
Подходит. 6. Изменение category.php. В файл темы category.php вставить код:
<h1><a href="http://avtovesti.com/<?php echo str_replace(' ','-',strtolower(single_cat_title("", false)));?>/"><?php echo single_cat_title("", false);?></a></h1> Слетит когда изменится тема или будет редизайн. Подходит с оговорками. 7. Плагин wp no category base. По-моему, лучший вариант. Подходитю Так что все-таки выбрать? Как по мне, то проще всего через htaccess и через плагин wp no category base. Последний раз редактировалось grazer; 07.05.2011 в 19:01. |
| |