Размножение запросов к сервису транскрипций

Уже в первые недели после запуска сервиса www.transcriptor.ru на новом движке Drupal наткнулся на разные особенности работы этого проекта. Одна из них связана с обработкой форм запроса, коих здесь предостаточно. С одной стороны хотелось чтобы результаты запроса отображались на странице, в адресе которой содержится сам запрос. С другой стороны требуется вести журнал запросов при каждой обработке формы.

Реализовано это было перенаправлением на требуемый адрес содержащий запрос после подтверждения формы пользователем и обработки запроса программой. А журнал запросов писался при наличии в обрабатываемой форме непустого запроса. При этом рендеринг формы производился, как для параметров POST, так и для адреса страницы.

Первый тонкий эффект этого выразился в том, что при запуске нового запроса программа в реальности обрабатывала два: текущий и предыдущий. Для посетителей, что транскрибируют одно слово, проблем нет, но вот для тех, кто транскрибирует подряд несколько слов стало происходить дублирование запросов в логе.

Второй эффект оказался связан с поисковыми роботами. В разделе «Популярные запросы» находятся ссылки на популярные слова и при проходе по ним поискового робота формы снова обрабатываются и запрос отправляется в журнал.

Пока сайт не проиндексирован - все в порядке, но вот когда он в выдаче поиска... Через месяц после запуска при 50 посетителях и 200 просмотрах страниц в журнале оказалось полторы тысячи (!!!) запросов за сутки. Это все не по-детски настойчивый Google. Пришлось искать способ обойти эту проблему. Решил разместить программный код записи запросов в журнал не в рендеринге формы, а перед самым перенаправлением на страницу просмотра результатов.

Оказалось правильное решение. Теперь количество запросов за сутки хотя бы коррелирует с числами просмотров страниц на счетчике.

Отправить комментарий

Содержание этого поля является приватным и не предназначено к показу.
  • Адреса страниц и электронной почты автоматически преобразуются в ссылки.
  • Доступны HTML теги: <a> <em> <strong> <cite> <code> <s> <u> <ul> <ol> <li> <dl> <dt> <dd>
  • Строки и параграфы переносятся автоматически.
  • You can enable syntax highlighting of source code with the following tags: <code>, <blockcode>. Beside the tag style "<foo>" it is also possible to use "[foo]".
  • Images can be added to this post.

Подробнее о форматировании

CAPTCHA
Защита от спама: ответьте на вопрос.
Image CAPTCHA
Введите символы с картинки. Только заглавные буквы английского алфавита.