Ще одна стаття про індексацію ajax-сайтів пошуковими системами

Стильно, модно, молодіжно сьогодні робити сайт на AJAX, з погляду користувача — це швидко і зручно, а пошукові роботи з такими сайтами можуть мати проблеми.
Тут ми просто підвантажуємо ті ж сторінки, але ajax-ом, при цьому на бекенді потрібно обробити спеціальний GET-параметр ajax і за його наявності віддавати сторінку без layout-а, ну якщо грубо.
Можна обробляти ці запити засобами фреймворку, але в складному додатку з angularjs - це купа зайвого коду.
Шлях яким ми підемо описаний на наступній схемі від гугл:

Для цього ми ловитимемо всі запити з _escaped_fragment_ і відправлятимемо їх на phantom.js на сервері, який засобами серверного webkit буде генерувати html-зліпок запитуваної сторінки і віддавати його краулеру. Користувачі залишаться працювати на пряму.
Для початку встановимо необхідний софт, якщо не встановлено ще приблизно так:
Далі напишемо (ну або візьмемо готовий) серверний js-скрипт (server.js), який робитиме html-зліпки:
І запустимо його в скрині за допомогою phantomjs:
Далі налаштуємо nginx (apache аналогічно) на проксіювання запитів на запущений демон:
Тепер при запиті example.com/cats/grumpy-cat пошукові роботи будуть звертатися за посиланням example.com/?_escaped_fragment_=cats/grumpy-cat, яке перехопиться nginx-ом, відправиться phantomjs-у, який на сервері через браузерний двигун згенерує html та віддасть його роботу.
Окрім пошукових роботів гугла, яндекса та бінга, це також працюватиме і для шарингу посилання через facebook.