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

Блог Фрилансера 16 жовт. 2019 р.
 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/ — < /strong>для робота це дві сторінки, і тоді з'являються дублі сторінок у видачі. Щоб цього уникнути, потрібно зробити так, щоб постійно були тільки маленькі літери.

Приклад функції нижче. працює з будь-якими двигунами.

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]

Пишіть у коментарях які ще прийоми вам цікаві. Доповнюватимемо список.