Рабочие редиректы, необходимые каждому сайту

Рабочие редиректы, необходимые каждому сайту
редирект настройка
Проверив в очередной раз свой сайт (а это иногда делать полезно), обнаружилось, что количество  проиндексированных страниц в поисковых системах разнится. При чем разница эта составляла большую цифру. Ошибки были в технической оптимизации. 

Доступ к сайту по https. Настройка редиректа с http на https

Получив сертификат ,и выполнив все требования в аннотациях к установке... Сайт перестал быть доступным. Вернее, при обращении к сайту всплывала ошибка о небезопасном подключении. 

Сам редирект прописывается в .htaccess и имеет вот такой вид

RewriteCond %{SERVER_PORT} !^443$
RewriteRule .* https://%{SERVER_NAME}%{REQUEST_URI}[R=301,L]


Важно, при подключении указывать 443 порт, а не стандартный 80. Так как только он работает с защищенным протоколом TSL (SSL). 

Но сама проблема таилась в другом месте, а именно в файле конфигурации шифрования Letsencrypt, расположенный по адресу /etc/nginx/bx/conf/ssl.conf

ssl_certificate         /etc/letsencrypt/live/infospice.ru/fullchain.pem;
ssl_certificate_key     /etc/letsencrypt/live/infospice.ru/privkey.pem;


При установке не прописались пути и их нужно было исправить вручну, после чего все заработало в нормальном режиме

Редирект страниц с index.php

Любая страница создается посредством файла index.php, но когда нет данного редиректа, поисковые системы считывают одну и ту же страницу по двум разным адресам. Например: главная страница может быть в индексе по адресу домена "примерсайта.ru" и по адресу "примерсайта.ru/index.php". 
Это сказывается на продвижении сайта. У поисковых систем есть правила, где дубль страниц является не приемлемым.
Добавляем в .htacces строки 

RewriteCond %{THE_REQUEST} /(.*)index.php.*$
RewriteCond %{THE_REQUEST} !bitrix/admin/
RewriteRule .* /%1 [R=301,L]


Правило RewriteCond %{THE_REQUEST} !bitrix/admin/ нужно для того, чтобы можно было зайти в аминистративную панель Битрикс, так как у страницы авторизации свой index.php

Убираем / (слеш) в конце строки

RewriteCond %{REQUEST_FILENAME} !-d
RewriteCond %{REQUEST_URI} ^(.+)/$
RewriteRule ^(.+)/$ /$1 [R=301,L]

Убираем динамические поддомены. Редирект с поддомена на домен

Так же было обнаружено, что сайт доступен по динамическим поддоменам (еее22.примерсайта.ru, здесь-любой-адрес.примерсайта.ru ). Более того, они каким то образом оказались в индексе. В данном случае не нужно создавать никаких правил в .htaccess и править robots.txt, очень много советов и "костылей" для этих файлов.
Проблема кроется в настройках DNS. Зачастую, в настройках, есть А запись вида *.site.ru. Именно она отвечает за доступ к сайту по всем возможным адресам поддоменов. Ее нужно либо закомментировать, а лучше и вовсе удалить. 
02.11.2017

Возврат к списку

АДРЕС: г. Калининград, ул. Горького, д.176"Г", корп.1, оф.6
ТЕЛЕФОН: +7 (4012) 69-73-61
ГРАФИК: ПН-ПТ 09-18
РАБОТАЕМ ПО ВСЕЙ РОССИИ
Успешно ведем сайты клиентов из Москвы, Санкт-Петербурга, Дмитрова, Тулы, Калининграда, Екатеринбурга, Новосибирска и других регионов. Присоединяйтесь!
ПОМОЖЕМ БЫСТРО ИСПРАВИТЬ ПРОБЛЕМЫ С САЙТОМ
Опишите, чем мы можем быть вам полезны.

Не является публичной офертой.
ОБРАТНАЯ СВЯЗЬ


Яндекс.Метрика