При переводе на https: одного из ваших сайтов или любого чужого сайта, на виртуальном хостинге возникает проблема, которую сразу не видно. Это - дубли чужих страниц ( на вашем http сайте Google начинает видеть множество https страниц с разных сайтов, находящися на этом хостинге)!
1 Набираем в строке поиска Google.com и Google.ru ( так как результаты могут быть разные ! ) site: и затем: сразу, без пробелов url вашего сайта, например, site:moisait.ru
2 Смотрим результат.
3 Если чужих страниц нет, то это хорошо, но рано радоваться ... ваши https страницы могут появиться на чужих http сайтах на этом же хостинге, т.е. дубли всё же будут!
4 Если чужие страницы есть в поиске по вашему сайту, то нужно решать эту проблему!
Замечание Перечисленные ниже варианты предназначены для серверов Linux.
5 Создаём, кроме robots.txt в корне сайта и новый файл, например:https.txt, в нём будем запрещать индексирование https страниц стандартным способом:
User-agent: *
Disallow: /
6 Теперь, пробуем сделать вариант переадресации для https на https.txt, который работает в 50% случаев.
Открываем в корне сайта файл .htaccess и сразу же после строки RewriteEngine on добавляем:
RewriteCond %{HTTPS} on
RewriteRule ^robots\.txt$ https.txt
7 Проверяем работает переадресация или нет
Набираем в строке
http://moisait.ru/robots.txt
https://moisait.ru/robots.txt
и вы должны увидеть РАЗНЫЕ файлы robots.txt, если не забыли заменить moisait.ru на реальный URL вашего сайта.
8 Внимательно смотрим и сравниваем содержимое файлов robots.txt
http://moisait.ru/robots.txt
https://moisait.ru/robots.txt
если они отличаются, - это или хорошо или очень плохо
нужно выяснить откуда ( с какого URL ) https тянет файл роботс.
Если есть строка Host: - хорошо - вы узнали, какой это сайт ( назовём его, для удобства drygoy-sait.ru) ,
ещё один простой вариант узнать "где собака зарыта"
вместо http://moisait.ru/ открываем https://moisait.ru/, и если это совсем другой сайт (drygoy-sait.ru), то именно в нём и будем проводить правки!
Если и это не помогло - ... нужно искать поиском или перебором!
Итак, мы нашли https сайт (drygoy-sait.ru)!
И если мы применим в файле .htaccess в корне сайта drygoy-sait.ru стандарное правило из пункта 6, RewriteCond %{HTTPS} on
RewriteRule ^robots\.txt$ https.txt
то мы закроем по протоколу https от индексации, как требуется, не только все сайты типа http://moisait.ru/, но и все https сайты, в том числе и нужный нам, или кому-то https://drygoy-sait.ru!!!
Следовательно: вариант 6 не применяем!
Что делать ? ... и кто виноват? :-)
9 Задача: разрешить индексацию robots всем https сайтам и запретить индексацию страниц сайта всем сайтам, имеющим http протокол.
Решение: создаем правила типа условное выражение в htaccess такого вида:
#
RewriteCond %{HTTPS} on
RewriteCond %{HTTP_HOST} ^www\.moisait1\.ru$ [NC]
RewriteRule ^robots\.txt$ https.txt
#
RewriteCond %{HTTPS} on
RewriteCond %{HTTP_HOST} ^moisait2.ru$ [NC]
RewriteRule ^robots\.txt$ https.txt
#
RewriteCond %{HTTPS} on
RewriteCond %{HTTP_HOST} ^moisait3.ru$ [NC]
RewriteRule ^robots\.txt$ https.txt
#
# и так далее... для всех http сайтов
10 Подводим Итог
Другими словами, для того, чтобы запретить индексацию на https://moisait.ru вам потребуется открыть drygoy-sait.ru, создать там https.txt с запретом: User-agent: *
Disallow: /
и там же в файле htacces ( в корне сайта) прописать правила из пункта 9 для каждого вашего сайта: moisait 1, 2, 3.ru
Вот такие пирожки с ....
Отступление
одлодл
https://moisait.ru
Замечание Предлагаемое решение работает на серверах с Nginx.
1
пролистываем все location после закрывающей скобки } вставляем :
# редиректим robots.txt для https на https.txt location = /robots.txt { if ($server_port = 443) { rewrite ^ /https.txt last; } }
Решение даётся здесь
Проект Joom-la-la предназначен для начинающих пользователей Системы управления сайтами Joomla; программистов, администраторов. Мы хотим поделиться с вами своими наработками и примерами.
Это один из сотен сайтов, сделанных нами в рамках бренда Petrovich Group. Надеемся быть вам полезными и ждём ваших комментариев
Добавить комментарий