2015-03-18 2 views
0

Мы разрабатываем корпоративный веб-сайт, где вся навигация выполняется с использованием хешей (http://xxx/#/content/xpto), а контент динамически загружается с использованием AJAX. Ролевые вещи уже работают отлично, и мы получаем хорошие результаты. Вопрос (или вопрос), который у меня есть, заключается в том, что, поскольку навигация полностью выполняется с использованием хэшей, и на самом деле нет загрузки страницы (изменение URI), мы меняем теги «META» (* используя что-то вроде $('meta[property="title"]').attr('content', metainfo.title);) в коде. Делает . Механизм SEO Google или время выполнения страницы Facebook, может понять это мета изменения, внесенные кодом, т. Е. http://myurl.com/#/load/products, или контент анализируется обработкой содержимого HTML с сервера (html stuff<html><head>blah blah blah</head></html>)?Динамические метки META в HTML5 и Javascript/jQuery

Спасибо заранее, ребята.

+0

Возможный дубликат http://stackoverflow.com/questions/7885710/seo-optimization-for-content-generated-by-javascript –

ответ

0

Вы не можете делать динамические метатеги (или, может быть, вы можете, но Google и Facebook не будут запускать ваш JavaScript, чтобы они не сделали вам ничего хорошего), но вы можете следить за Google's guide for making AJAX applications crawlable. Я не знаю, есть ли у Facebook аналогичное руководство.

+0

Спасибо, ox, но опять же это лишь часть решения. К сожалению, очень сложные страницы JS трудно индексировать и создавать моментальные снимки HTML по мере запроса Google.Я пишу службу индексирования на сервере, используя хром API C++, поскольку Chrome был единственным решением, с которым я почти приблизился к выполнению этой роли (успешно сгенерировал моментальные снимки HTML для сложной обработки JS). В любом случае, если у вас есть какие-либо замечания или идеи, которые могут помочь, пожалуйста, поговорите со мной. – jbrios777

0

Если кто-то борется с той же проблемой, что и я, ответ не совсем прост. К сожалению, для ситуаций, когда страница создается с использованием сложных JS-процессов, наиболее распространенные «8 headless» браузеры на рынке (в том числе и тот, который рекомендует Google - HtmlUnit, watiji или Crawjax) не делают этого трюка.

Решение, которое я нашел, было не очень элегантным, но оно сработало. Я использовал службу индексирования C++, используя http://www.awesomium.com/. У них очень простое решение, основанное на API хром Google. Конечно, несколько «анимаций» пришлось удалить, но в любом случае моментальные снимки HTML генерируются, как ожидалось. Поток

Решения:

  1. Создан карты сайта;
  2. Создана служба индексирования (с использованием Awesomium) прочитайте и создайте снимок HTML для каждой страницы, определенной в файле . Карта сайта файл;
  3. Файлы (HTML-снимки) были сохранены в безопасном месте на сервере с той же структурой каталогов и именем файла, которое определено в URL-адрес браузера;
  4. создание сервлета (мы используем Java EE) читать HTML снимки запрошенных индексации беспилотного Google: "_escaped_fragment_ =?" Строка запроса параметра.

Фрагмент информации о том, как построить полные гусеничные беспилотники для Google можно найти здесь (как указано OX - ТНХ): https://developers.google.com/webmasters/ajax-crawling/docs/getting-started

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