Здравствуй, %habrauser%.
Сегодня я покажу как не надо закрывать от индексации зеркало сайта, и как закрыть его правильно.
Я работаю web-мастером в одной крупной для нашего города компании.
Мы сделали клиенту сайт, для рекламирования и продажи своей продукции.
Клиент выбрал доменное имя в зоне .RU, и сайт около года успешно работал. Сайт по настоящее время обслуживается и редактируется по мере необходимости у нас.
Через какое-то время клиент захотел второй домен для сайта, но в зоне .РФ.
Он самостоятельно нашёл «профессиональныхseo-специалистов продвигальщиков», сайт которых стоял на первом месте в выдаче Яндекса по определенным запросам.
С ними он заключил договор, и ежемесячно отгружал немалую сумму денег в эту seo-конторку.
Спустя пару недель сеошники наконец проснулись, связались с нами и получили ftp доступы к сайту, а так же пароль от админки сайта.
Всё началось с того, что они не разобрались в движке сайта PHPShop.
Отправили нам письмо, мы им сообщили где что редактируется, в каком файле находятся нужные им теги, а так же в довесок дали немного ссылок на официальную документацию.
Сам сайт устроен так, что скелет вёрстки главной страницы находится в файле index.tpl, а html-скелет остальных внутренних страниц находится в файле shop.tpl. Сам же контент находится в базе данных и редактируется через админку с помощью визуального редактора, либо в виде source html.
Сеошники поправили верстку как им было необходимо, но на главной странице они захотели воткнуть свой копирайт-рекламу.
В договоре, кстати, указано что убирать эту индексируемую ссылку на их сайт нельзя.
Горе-оптимизаторы так и не разобравшись в элементарной админке, напичкали сайт своимискриптами костылями, которые мешали нормальной работе фреймворка и шли в разрез со здравым смыслом. Самое безобидное — сделали статичную версию главной, и положили этот статичный index.html рядом с index.php.
Далее, через свои скрипты, сделали переадресацию с index.php на index.html
Зачем? Закрывая глаза на то, что всё редактируется через админку, можно же через htaccess и mod_rewrite сделать такую переадресацию на уровне веб-сервера написав несколько строк, и не подключать mod_php для вывода 301 заголовка...
Выяснился этот сюрприз оставленный сеошниками через месяц, когда клиент захотел поменять на главной информацию, и обратился к нам.
Я всё делаю по т.з., сохраняю, и начинаю медленно сходить с ума.
Полез в базу — информация новая. Полез ковыряться в движке, и дебаг показывает что информация выдаётся правильно. Захожу по ftp, и нахожу 4 незнакомых скрипта в корне сайта, в названии которых есть наименование seo-компании.
Около часа ковырялся в их коде. К слову, php код их скриптов удостоен почетного места на ресурсе govnokod.ru
Поправляю за ними косяк, переношу проделанную ими работу из статичного index.html в базу данных движка.
Еще через пару недель выясняется новый косяк. Именно тот, о котором данный тред.
Клиент звонит и злостно говорит что мы опять что-то натворили на сайте, и ничего не работает. Мы в недоумении начинаем опять разбираться в проблеме.
Заходим на главную страницу зеркала в зоне РФ, и видим ошибку 404.
Снова начинаем немного удивляться умению добавить людям работы на ровном месте, и задаваться вопросом «как?».
Заходим на основной домен в зоне.ру (они его и продвигают) — всё нормально.
Опять лезу ковыряться в коде горе-оптимизаторов.
И… Нахожу следующий код:
Доменные имена специально не раскрываю, а так же умолчу какая именно seo компания так извращается
facepalm.jpg
Как мы видим, они не захотели что бы зеркало попадало в индекс Яндекса, и сделали зверский костыль.
Сношу их индусский код, и делаю следующее:
Создаю файл robots.php, и пишу туда следующее:
Пол дела сделано, теперь удаляем robots.txt, и в файл .htaccess добавляем такие строки (обязательное условие apache+mod_rewrite):
UPD: конвертированное правило для nginx Лично не проверял, но должно работать.
Если что напишите в коммент — поправлю
Всё! Когда роботы запрашивает robots.txt, сервер отдаёт им файл robots.php
P.S. Надеюсь если кто-то использует подобные кривые способы закрытия зеркала, добавит это к себе в «копилку» скриптов для оптимизации.
P.P.S. Так уж сложилось, что в настоящее время профессиональных seo компаний очень мало, и получается вечное противостояние «сеошники VS разработчики», одни делают сайт, другие ломают его функциональность за счёт кривых рук и непонимания.
P.P.P.S. Если кому то интересно, всё таки могу указать ссылочку на ту seo-конторку
Спасибо за внимание!
UPD: Не в целях антирекламы, а в целях предосторожности: demis.ru — сеошники-герои данного треда.
UPD: Очередной случай. Полезли что-то делать, поехала вёрстка. Уже надоело за свой счёт и время поправлять их косяки
Сегодня я покажу как не надо закрывать от индексации зеркало сайта, и как закрыть его правильно.
Предыстория
Я работаю web-мастером в одной крупной для нашего города компании.
Мы сделали клиенту сайт, для рекламирования и продажи своей продукции.
Клиент выбрал доменное имя в зоне .RU, и сайт около года успешно работал. Сайт по настоящее время обслуживается и редактируется по мере необходимости у нас.
Через какое-то время клиент захотел второй домен для сайта, но в зоне .РФ.
Он самостоятельно нашёл «профессиональных
С ними он заключил договор, и ежемесячно отгружал немалую сумму денег в эту seo-конторку.
Спустя пару недель сеошники наконец проснулись, связались с нами и получили ftp доступы к сайту, а так же пароль от админки сайта.
Началась «оптимизация»
Всё началось с того, что они не разобрались в движке сайта PHPShop.
Отправили нам письмо, мы им сообщили где что редактируется, в каком файле находятся нужные им теги, а так же в довесок дали немного ссылок на официальную документацию.
Сам сайт устроен так, что скелет вёрстки главной страницы находится в файле index.tpl, а html-скелет остальных внутренних страниц находится в файле shop.tpl. Сам же контент находится в базе данных и редактируется через админку с помощью визуального редактора, либо в виде source html.
Сеошники поправили верстку как им было необходимо, но на главной странице они захотели воткнуть свой копирайт-рекламу.
В договоре, кстати, указано что убирать эту индексируемую ссылку на их сайт нельзя.
Горе-оптимизаторы так и не разобравшись в элементарной админке, напичкали сайт своими
Далее, через свои скрипты, сделали переадресацию с index.php на index.html
Зачем? Закрывая глаза на то, что всё редактируется через админку, можно же через htaccess и mod_rewrite сделать такую переадресацию на уровне веб-сервера написав несколько строк, и не подключать mod_php для вывода 301 заголовка...
Выяснился этот сюрприз оставленный сеошниками через месяц, когда клиент захотел поменять на главной информацию, и обратился к нам.
Я всё делаю по т.з., сохраняю, и начинаю медленно сходить с ума.
Полез в базу — информация новая. Полез ковыряться в движке, и дебаг показывает что информация выдаётся правильно. Захожу по ftp, и нахожу 4 незнакомых скрипта в корне сайта, в названии которых есть наименование seo-компании.
Около часа ковырялся в их коде. К слову, php код их скриптов удостоен почетного места на ресурсе govnokod.ru
Поправляю за ними косяк, переношу проделанную ими работу из статичного index.html в базу данных движка.
«Нам сюрпризов не жалко»
Еще через пару недель выясняется новый косяк. Именно тот, о котором данный тред.
Клиент звонит и злостно говорит что мы опять что-то натворили на сайте, и ничего не работает. Мы в недоумении начинаем опять разбираться в проблеме.
Заходим на главную страницу зеркала в зоне РФ, и видим ошибку 404.
Снова начинаем немного удивляться умению добавить людям работы на ровном месте, и задаваться вопросом «как?».
Заходим на основной домен в зоне.ру (они его и продвигают) — всё нормально.
Опять лезу ковыряться в коде горе-оптимизаторов.
И… Нахожу следующий код:
Доменные имена специально не раскрываю, а так же умолчу какая именно seo компания так извращается
if($_SERVER['HTTP_HOST']!='domain.ru'&&$_SERVER['HTTP_HOST']!='www.domain.ru') {
$page=file_get_contents_curl('http://domain.ru/hjgjgjhgjh');
$page=iconv('utf-8','windows-1251',$page);
header('HTTP/1.1 404 Not Found',true,404);
$page=str_replace('<head>','<head><base href="http://domain.ru/">',$page);
echo $page;
echo 'not found';
exit();
}
facepalm.jpg
Как мы видим, они не захотели что бы зеркало попадало в индекс Яндекса, и сделали зверский костыль.
Сношу их индусский код, и делаю следующее:
Создаю файл robots.php, и пишу туда следующее:
<?php
header("Content-type: text/plain"); // отправляем заголовок, который указывает что обрабатываться должно как простой текст
if(strpos($_SERVER['HTTP_HOST'], 'domain.ru') === false) { // если хост не равен основному домену, то:
echo "User-agent: *\nDisallow: /\nHost: domain.ru"; // выводит что индексация запрещена, и основной сайт находится по другому адресу
} else { // если хост равен domain.ru, то выводится то что нам нужно
?>
User-agent: Yandex
Disallow: /gbook/ID
Disallow: /search/
Disallow: /highslide/
Disallow: /java/
Disallow: /license/
Disallow: /pageHTML/
Disallow: /tagcloud/
Disallow: /data/
Disallow: /capcha/
Disallow: /pages/
Host: domain.ru
User-Agent: Slurp
Disallow: /
User-agent: *
Disallow: /gbook/ID
Disallow: */*.swf
Disallow: /search/
Disallow: /highslide/
Disallow: /java/
Disallow: /license/
Disallow: /pageHTML/
Disallow: /tagcloud/
Disallow: /webstat/
Disallow: /data/
Disallow: /capcha/
Disallow: /pages/
Sitemap: http://domain.ru/sitemap.xml
<?php } ?>
Пол дела сделано, теперь удаляем robots.txt, и в файл .htaccess добавляем такие строки (обязательное условие apache+mod_rewrite):
RewriteEngine On
RewriteRule ^robots.txt$ robots.php
UPD: конвертированное правило для nginx Лично не проверял, но должно работать.
Если что напишите в коммент — поправлю
location = /robots.txt {
rewrite ^(.*)$ /robots.php;
}
Всё! Когда роботы запрашивает robots.txt, сервер отдаёт им файл robots.php
P.S. Надеюсь если кто-то использует подобные кривые способы закрытия зеркала, добавит это к себе в «копилку» скриптов для оптимизации.
P.P.S. Так уж сложилось, что в настоящее время профессиональных seo компаний очень мало, и получается вечное противостояние «сеошники VS разработчики», одни делают сайт, другие ломают его функциональность за счёт кривых рук и непонимания.
P.P.P.S. Если кому то интересно, всё таки могу указать ссылочку на ту seo-конторку
Спасибо за внимание!
UPD: Не в целях антирекламы, а в целях предосторожности: demis.ru — сеошники-герои данного треда.
UPD: Очередной случай. Полезли что-то делать, поехала вёрстка. Уже надоело за свой счёт и время поправлять их косяки