Шаблоны перенести недостаточно, вам еще придется переносить модели и частично бизнес-логику на клиент (если только у вас не примитивный сайтик на 3 странички). На мой взгляд, избежать двойной работы можно лишь используя технологии вроде node.js: в этом случае можно часть кода с логикой сделать разделяемой для клиента и сервера.

Ну или еще есть вариант, как-то настроить кодогенерацию и генерировать JS-модельки на основе серверного кода.
Используйте is_numeric. И интуиция подсказывает мне, что если нужна такая функция, то код кривой и плохой.
Интересная тема.

Может быть, какие-то показатели накручивают, например, переходы из поисковиков? Может, в этих ИЕ установлены тулбары и накручивают цифры в них? Может, проверяют ваш сайт на нагрузку?

Поймать бота можно попробовать сделав невидимую (через CSS) ссылку за краем экрана. Человек по ней не кликнет, а бот, перебирающий HTML-код или анализирующий дерево DOM, попадется. Можно попробовать слушать событие mousemove — живой человек двигает мышкой, в отличие от бота.

Также, может стоит померять расположение окна на экране у этих ботов? (наример, как описано тут: stackoverflow.com/a/504097 ). Ведь если это реальный ИЕ, управляемый вирусом, то скорее всего окно задвинуто за край экрана, чтобы не мешать пользователю.
Вы же не думаете, что кассир копирует данные на ваших глазах, чтобы их украсть и сесть в тюрьму. Ей сказали, все сохранять чтобы какие-нибудь умники не подсунули поддельную ли пустую карту или не отозвали потом платеж. Подозреваю, владельцы заведения просто не доверяют этой системе с карточками, может у них были случаи неоплат или отзывов платежей.

Я их понимаю и тоже карточкам не доверяю.

Жаловаться кстати лучше на банки.ру, там обычно сидят представители банков.
В bash абсоютно невменяемая система экранирования кавычек, но может вам поможет это: wiki.bash-hackers.org/syntax/quoting#ansi_c_like_strings

А вообще, я бы вынес запросы в отдельные файлы, чтобы не мучаться.
4 egorinsk Решение
Можно проще.

var x = string.split(/\s*,\s*/g);
> Тут назревает ещё один вопрос — как просматривать русскоязычный lj c зарубежным ip?

www.livejournal.com/?rating=cyr

Также, возможно есть какие-то настроки в аккаунте, но тут я не в курсе.

Пакеты вполне могут теряться на стороне ЖЖ, может на вашем IP какой-нибудь спамер сидит.
Какая Гуглу выгода от того, что им пользуются боты? Они не смотрят рекламу, от них только нагрузка и вред. правильно Гугл делает, я бы тоже скрипты блокировал.
С чего вы взяли, что вам присылают информацию адресно? Может, они всем подряд этот спам рассылают. Может, предыдущий владелец номера на спам подписался.
Я бы сделал джипегом. Почему?

JPG легкий и хорошо сжимает файлы с плавными переходами цветов
JPG поддерживается в IE6, 7, 8, на смартфонах и айфонах
JPG не тормозит при прокрутке и перерисовке страницы. Из-за нездорового увлечения CSS3 и SVG и тяжелой верстки сайт может медленно рендериться, скроллинг станет дерганным, а анимация не потянет 60 fps. Таких сайтов сейчас становится все больше и больше.
Заходим на hantim ru, freelancim ru, free-lance ru. Вбиваем в поиск слова «удален» или «требует». Видим множество разных вакансий именно на удаленную работу.
Насколько я знаю, надежный способ — заводите счет без карты в хорошем банке и счет с картой. Перед покупкой переводите на счет карты нужную сумму с процентами и делаете покупку.

Вы скажете, ну и неудобно, переводить туда-сюда, долго, а что поделаешь, эти платежные системы американские, основаны на доверии, а как можно доверять сайту в интернете и кишащим вирусами компьютерам с windows я не понимаю.
Возьмите за основу экран айфона. В сети легко найти PSD с готовой рамкой.

Для вдохновления, например, посмотрите мобильную версию вконтакте.
egorinsk Решение
В мануале по Angular ( docs.angularjs.org/guide/overview ) есть ответ:

Когда применять:
> Angular was built for the CRUD application in mind.

Когда не применять:
> Games, and GUI editors are examples of very intensive and tricky DOM manipulation. These kinds of apps are different from CRUD apps, and as a result are not a good fit for Angular. In these cases using something closer to bare metal such as jQuery may be a better fit.

В общем, Angular хорош для аякс-приложений с клиентскими шаблонами, формами и таблицами.
Может, у вас на звуковой карте просто не включено усиление для микрофонного входа? И звук с 5 метров, записанный через микрофон, будет звучать совсем не так, как вы его слышите ушами, из-за сильного эха (кстати, интересный вопрос, почему это эхо есть только при записи через микрофон, а при разговоре вживую его нет).
Если вы делаете игры с кроссдоменной авторизацией, ставьте подпись. Некоторые плагины к браузерам и прокси вырезают referer, вы получите то, что у части пользователей реферер работать не будет, и потратите кучу времени на выяснение, почему.
Токен достаточно иметь один на сессию. При несовпадении токена надо показать сообщение «Произошла ошибка. Пожалуйста, проверьте введенные данные, и отправьте форму еще раз».

Естественно, сообщение надо показать вместе с формой с заполненными данными, а не на пустой стрнаице.

GET-формы, не вносящие изменений в базу данных, вроде формы поиска, не надо защищать.
Нафига overflow: hidden? Скрывать слишком большие картинки и выпадающие наружу части слов?