Азбука/Библия
Примерная схема работы
http://azbyka.ru/biblia/?Jer.10:21,23:1&acgr
По этому запросу показывается книга пророка Иеремии, глава 10 стих 21 и глава 23 стих 1, на четырёх языках.
Недостатки
- загружается полный текст глав, просто показывается только указанный стих
- язык кодируется одной буквой алфавита; при этом порядок букв ни на что не влияет
- полученная страница имеет expires -1, то есть никто никогда её не закэширует
- список стихов и глав может быть длинным, это даёт возможность формировать совершенно любые ссылки
- каждая такая страница формируется очень долго (от секунды до десятков секунд)
- индексирование поисковиками требует выделенного сервера только на Библию
- нет никакой связи с текстами, отдаваемыми в качестве подсказки через плагин WP на ajax.abzyka.ru
Некоторые соображения, как это должно быть сделано
1. Отдельные страницы для каждой книги, каждой главы на каждом языке:
http://azbyka.ru/biblia/?Jer.10&a
(способ кодирования языка обсуждается, поскольку это не совсем язык, а некая аббревиатура для языка книги).
На эти страницы ссылается оглавление, они включаются в sitemap и их индексирует браузер. Цель этих страниц — засветиться в поисковике. Они возвращаются с указанием, что их можно кэшировать надолго, они не меняются и их можно сохранить в базе или memcached уже сформированными.
Количество этих страниц ограничено и заранее известно (нет динамического ответа).
2. Для показа отдельных стихов, глав, наборов книг
Отдельная страница, показывающая нужные стихи с помощью AJAX.
Как я понимаю, это может быть тот же URL
http://azbyka.ru/biblia/?Jer.10:21,23:1&acgr
Только в ответ сервер возвращает всегда одну и ту же статическую страницу (с оформлением), которая подключает js-файл, обрабатывает параметры, и подгружает через AJAX нужные тексты.
Этим можно обеспечить динамичность, быстрый ответ и любое сочетание параметров.
Сервер для отдачи текстов
Сервер для отдачи текстов по запросу должен быть создан на nodejs, с хранением базы в redis (которые заполняется из mysql или файлов). Это позволит обеспечить тысяч запросов за текстами в секунду.