Наши партнеры

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


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


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


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


RewriteCond %{SERVER_PORT} !^443$ 

RewriteRule .* https://%{SERVER_NAME}%{REQUEST_URI}[R=301,L] 


Важно, при подключении указывать 443 порт, а не стандартный 80. Так как только он работает с защищенным протоколом TSL (SSL). Но сама проблема таилась в другом месте, а именно в файле конфигурации шифрования Let'sEncrypt, расположенный по адресу 


/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. Именно она отвечает за доступ к сайту по всем возможным адресам поддоменов. Ее нужно либо закомментировать, а лучше и вовсе удалить.