2014-11-06 2 views
1

Я запускаю веб-сайт, который использует AJAX для заполнения продуктов из базы данных. Теперь я хочу, чтобы этот сайт был сканируемым для поиска. Я прочитал это сообщение на веб-мастерах Google Making AJAX Applications Crawlable. Но я не знаю, как это сделать в моем приложении. Я просто не вижу, как применить это в своем приложении, не переписывая большие части кода. Надеюсь, кто-то из вас, ребята, может дать мне несколько советов.Как показать снимок HTML для искателей

Мое приложение
URL: www.mysite.com/productcategory/category1/
Этот URL показывают продукты из category1 и вызова AJAX создает HTML. Специальных параметров URL нет. Это делается потому, что есть разбиение на страницы. На следующей странице выполняется один и тот же сценарий AJAX, но теперь он возвращает продукты для следующей страницы. URL будет изменен (с историей JQuery), чтобы:
www.mysite.com/productcategory/category1/?page=2

При нажатии на кнопку next page сценарий под названием get_products.ajax.php и все параметры (например, страница = 2) передается с помощью POST. Таким образом, вызов get_products.ajax.php всегда один и тот же, никаких параметров в URL-адресе. Также в сеансах хранится много информации, чтобы ограничить количество запросов к базе данных. Таким образом, список продуктов, в которых находится get_product.ajax.php, представляет собой строку JSON в сеансе.

просканировать
Чтобы сделать сайт сканироваться, мне нужно создать снимок HTML, генерируемого вызова AJAX. Все это имеет смысл, но я не знаю, как я могу показать этот контент Google вместо содержимого AJAX по умолчанию.

Я смотрел на этот вопрос все утро, но я просто не вижу, где мне нужно что-то изменить в своем коде ...

ответ

0

Самый простой способ добавляет <meta name="fragment" content="!"> между <head></head> метки на всех страницах, где вы используете вызовы AJAX. В вашем случае это означает, что вы должны добавить этот метатег к шаблону, который используется для рендеринга www.mysite.com/productcategory/category1/.

Это приведет к тому, что сканер запросит вашу страницу с аргументом ?_escaped_fragment_=. Ваша задача - обработать запрос с помощью этого параметра и вернуть отображаемую страницу искателю.

Для рендеринга вы можете использовать PhantomJS, https://prerender.io/ или что-то еще.

Смежные вопросы