Содержание SEO-кейс #5:
- Оптимальная структура сайта. Вложенность. URL и ЧПУ. Правила написания URL. Пример для WordPress. Практика. Как делать ЧПУ для WP, Bitrix, Joomla.
- Сервис для поиска дублей.
- Дублирование контента, редиректы. Примеры. Практика. Дублирование и rel canonical.
- Возможности Яндекс Вебмастера и Google Search Console.
Как проверить дубли в поиске:
Google Search Console -> Вид в поиске ->Оптимизация HTML -> Повторяющиеся метаописания
Как делать редиректы:
Все приведённые ниже команды вносятся в файл .htaccess, он обычно находится в корне сайта. Он должен называться именно так, если он называется ht.access или htaccess.txt, то его нужно переименовать в .htaccess. ОС Windows не позволяет делать пустые названия, поэтому это можно сделать с помощью программ TotalCommander или FileZilla.
Базовый файл htaccess можно скачать здесь: https://yadi.sk/d/htheN6nBrTTNX . Для разных CMS настройки этого файла могут отличаться.
Обратите внимание на то, что одна неверно написанная команда или лишний символ могут сделать недоступным весь сайт. Поэтому. Перед работой с файлом htaccess обязательно нужно делать резервную копию этого файла у себя на компьютере, а после внесённых изменений проверяйте корректность работы сайта.
Все изменения вносятся после
RewriteEngine On
RewriteBase /
Примеры редиректов:
# Редирект со страницы site.ru/index.php на site.ru
RewriteCond %{THE_REQUEST} ^[A-Z]{3,9}\ /index\.php\ HTTP/
RewriteRule ^index\.php$ http://site.ru/ [R=301,L]
# Редирект со всех страниц с www на страницы без www
RewriteCond %{HTTP_HOST} ^www\.site\.ru$ [NC]
RewriteRule ^(.*)$ http://site.ru/$1 [R=301,L]
# Редирект со всех страниц без www на страницы с www
RewriteCond %{HTTP_HOST} ^site.ru$ [NC]
RewriteRule ^(.*)$ http://www.site.ru/$1 [R=301,L]
# Редирект со всех страниц site.ru/article и site.ru/article/ на страницы site.ru/article.html
RewriteCond %{REQUEST_URI} (.*/[^/.]+)($|\?)
RewriteRule .* %1.html [R=301,L]
RewriteRule ^(.*)/$ /$1.html [R=301,L]
# Редирект со страниц с .html на страницы без .html
RewriteBase /
RewriteRule (.*)\.html$ $1 [R=301,L]
# Редирект со всех страниц с параметрами, например site.ru/blog?limitstart=0 на site.ru/blog
RewriteCond %{QUERY_STRING} ^limitstart=0$ [NC]
RewriteRule (.*) $1? [R=301,L]
# Редирект со всех страниц из старой категории на эти же страницы в новой категории
# Например, из site.ru/blog/raznoe/article в site.ru/blog/article
RewriteRule ^blog/raznoe/(.*)$ http://site.ru/blog/$1 [R=permanent,L]
# Редирект со страницы site.ru/catalog/category/category1/pagename на страницу #site.ru/category/pagename1
Redirect 301 /catalog/category/category1/pagename http://site.ru/category/pagename1
# Редирект со страниц без слэша на страницы со слэем site.ru/article на site.ru/article/
RewriteCond %{REQUEST_URI} (.*/[^/.]+)($|\?)
RewriteRule .* %1/ [R=301,L]
# Редирект со всех страниц с слэшем на страницы без слэша: site.ru/article/ на site.ru/article
RewriteCond %{REQUEST_FILENAME} !-d
RewriteRule ^(.+)/$ /$1 [R=301,L]
# Редирект со страниц, где в url участвовал index.php на страницы без index.php
RewriteRule ^index.php/(.*)$ http://mysite.ru/$1 [R=permanent,L]
Если нет возможности сделать редирект (например, если есть страницы site.ru/blog и site.ru/blog?id=2), то на этих страницах мы внутри <head></head> должны написать:
<link rel=»canonical» href=»http://site.ru/blog»/>
Google Search Console:
Для того, чтобы указать основную версию сайта, нужно: настройка -> настройки сайта.