Роботам - 404, людям - 200. Как это?

12
S
На сайте с 11.08.2006
Offline
97
1129

Здравствуйте!

Я не программист, поэтому расскажу, как понимаю. Жил себе 3 года самописный ИМ. И вдруг неделю назад стал падать органический трафик. Проверяю в Google WMT - 4 тыс. страниц с 404 ошибкой, появились за несколько дней. До этого ошибок было всего пара сотен. Проверяю инструментом "Посмотреть как Гугл-бот" - 404 ответ. В это же время та же страница в бразуере открывается без проблем...

Иду в Яндекс Мастер, запускаю краулер Xenu - все страницы каталога и карточек товаров отвечают 404. Служебные, главная, статьи - 200 ок.

Лезу по фтп на сайт, проверяю даты изменения файлов htaccess, redirects, robots - все редактировались более полугода назад. А проблема началась 10 апреля. Программист ничего не менял, хостинг утверждает, что настройки тоже не менялись, а у меня -50% заказов.

Программист чего-то делает, пишет:

"Пришлось убрать функцию mysql_real_escape_string. Это хреново т.к. существует уязвимость sql инъекции. С этим надо обязательно разобраться!!!! Параметры в GET сейчас фигачатся прямо в sql запрос!!!!"

Собственно, может кто-то встречался с подобными ситуациями? Как это можно объяснить?

Можно ли подменить файлы так, чтобы не поменялась дата их последнего редактирования?

Как такое возможно - роботам - 404, браузерам - 200?

:popcorn:

R
На сайте с 31.08.2010
Offline
78
#1
Можно ли подменить файлы так, чтобы не поменялась дата их последнего редактирования?

Я думаю возможно, даже элементарно на компе дату обратно открутить и создать точно такой же новый файл.

Либо как-то с помощью программы это прописать.

Как такое возможно - роботам - 404, браузерам - 200?

Наверное стоит условие в скрипте по useragent определяют, если поисковик то 404, остальным 200,

возможно что и ломанули вас.

это вам нужно в коде покопаться и найти где примерно это прописано, но для этого нужно быть программистом.

C
На сайте с 04.02.2005
Offline
277
#2
"Пришлось убрать функцию mysql_real_escape_string.

Гоните его в шею :(

Самопис?

R
На сайте с 31.08.2010
Offline
78
#3

Chukcha, он же написал что самопис

где вы таких придурков-программистов находите, которые не могут решить проблему и просто убирают нужную функцию.

C
На сайте с 04.02.2005
Offline
277
#4
Rokkkin:
он же написал что самопис

У меня избирательное чтение :)

h3x
На сайте с 12.01.2012
Offline
90
h3x
#5
Shrike:
проверяю даты изменения файлов htaccess, redirects, robots - все редактировались более полугода назад

touch -t полгода_назад file

S
На сайте с 11.08.2006
Offline
97
#6

То, что его нужно гнать в шею, я давно подозревал. Но найти программиста за вменяемые деньги - та еще проблема.

Всем спасибо за внимание. Если еще у кого-нибудь есть мысли, буду рад выслушать.

Mutabors
На сайте с 17.09.2012
Offline
127
#7
Shrike:
Лезу по фтп на сайт, проверяю даты изменения файлов htaccess, redirects, robots - все редактировались более полугода назад.

1. По ФТП Вы не можете посмотреть подлинные значения дат изменения файлов, т.к. нужно еще видеть время модификации файла.

Суть в следующем, время изменения файла, это время, когда файл редактировался. Но дату редактирования можно изменить, а дата изменения атрибутов файла (в том числе и даты изменения, это тоже атрибут) называется датой модификации.

Смотрится все это через SSH командой stst

Например:

stat ./.htaccess

Но редирект по юзер агенту можно сделать не только в перечисленных Вами файлах, но и в коде php.

Самый продвинутый и надежный SSD хостинг рунета с изоляцией сайтов по 115 руб! (http://beget.ru/?id=332651) Контекстная реклама и продажи. Конкурентные и серые темы. Дорого! Не трать время на рутину! Ее сделают за копейки! (http://www.work-zilla.com?ref=143498)
R
На сайте с 31.08.2010
Offline
78
#8
Но редирект по юзер агенту можно сделать не только в перечисленных Вами файлах, но и в коде php.

так яж ему про это и говорю, программистом нужно быть.

seocore
На сайте с 25.09.2006
Offline
143
#9
Shrike:
"Пришлось убрать функцию mysql_real_escape_string. Это хреново т.к. существует уязвимость sql инъекции. С этим надо обязательно разобраться!!!! Параметры в GET сейчас фигачатся прямо в sql запрос!!!!"

Возможно, что на сервере обновили версию PHP (до 5.5 и выше), необходимо исправить старый код под новые требования. (например под это - http://php.net/manual/en/mysqli.real-escape-string.php)

Инструменты для веб-мастера: кластеризатор СЯ (https://goo.gl/MQWfqO), все запросы конкурента (https://goo.gl/hd5uHS), дешевые XML-лимиты (https://goo.gl/aDZbPI)
C
На сайте с 04.02.2005
Offline
277
#10

Ага, а причем здесь версия php к 404

mysql_real_escape_string - соответственно mysql_query - да?

12

Авторизуйтесь или зарегистрируйтесь, чтобы оставить комментарий