Url fix на wordpres и не только /

Удаление слеша в конце url, редирект с больших букв на маленькие, Добавление слеша в конце url

16 / 10 / 2019 136 php, htaccess Aвтор: Фрилансер

Url fix на wordpres и не только

При seo аудите часть нужно сделать некоторые манипуляции с url.

Некоторые примеры я покажу как реализовать.

1. Удаление слеша(«/») в конце url и редирект на страницу без «/».
Например https://example.con/contacts/ → https://example.con/contacts

Добавляем в .htaccess

RewriteRule (.+)/$ /$1 [L,R=301]

Этот способ не сильно подходит для wordpress — в админке иногда есть конфликт.

add_filter('user_trailingslashit', 'no_page_slash', 70, 2);
function no_page_slash( $string, $type ){
   global $wp_rewrite;
  if( $type == 'page' && $wp_rewrite->using_permalinks() && $wp_rewrite->use_trailing_slashes )
    $string = untrailingslashit($string);
   return $string;
}

 Рекомендую использовать эту функцию. Код для functions.php


2. Редирект с больших букв на маленькие.

Поисковики индексируют странички  и  url регистр зависимы. Например https://example.con/contacts/ и https://example.con/Сontacts/ — для робота это 2 странички, и тогда появляются дубли страничек в выдаче. Чтобы этого избежать нужно сделать так, чтобы постоянно были только маленькие буквы.

Пример функции ниже. работает с любыми движками.

if ( $_SERVER['REQUEST_URI'] != strtolower( $_SERVER['REQUEST_URI']) ) {
    header('Location: http://'.$_SERVER['HTTP_HOST'] . 
            strtolower($_SERVER['REQUEST_URI']), true, 301);
    exit();
}

3.В некоторых случаях нужно всем url добавить слеш в конце. 

RewriteCond %{REQUEST_URI} !/$
RewriteCond %{REQUEST_URI} !\.
RewriteRule ^(.*) %{REQUEST_URI}/ [R=301,L]

Пишите в комментариях какие еще приемы вам интересны. Будем дополнять список.

3 случайных Поста

Card image cap
Загружам сss Асинхронно
Card image cap
Картинка товара Contact form 7
Card image cap
Woocommerce Перевод цены товара по курсу приват банка

коммент.

© SiteBlog designer