Я создавал сайт на основе навигации jquery без перезагрузок (с использованием PHP и AJAX) и недавно столкнулся с проблемой функций «назад», «вперед» и «перезагрузка», а также с SEO-дружественностью.
- пропустите этот раздел, чтобы перейти к вопросу -
мой сайт в настоящее время (не использует AJAX, но) загружает один файл index.php, который имеет несколько div «content», один из которых является видимым (class = "active"), а другие нет. отображается. Когда пользователь нажимает навигационную ссылку, приятная анимация переключается между элементами содержимого.
У меня есть apache переписывает, чтобы сопоставить такие вещи, как
http://mysite.com/about
в
http://mysite.com/index.php?page=about
где раздел "about" будет отображаться по умолчанию (тогда как остальные div "content" скрыты). основываясь на этом параметре, я включаю соответствующие метатеги для страниц. моя карта сайта имеет mysite.com/about, mysite.com/blog, так что они индексируются как отдельные отдельные страницы.
Однако я недавно решил сделать это на основе ajax, так как планирую включать гораздо больше контента и глупо загружать весь контент на одной странице.
Примечание: я также сейчас внедряю шаблоны Smarty.
Я решил реализовать хеш-теги, но увидел присущие SEO проблемы, затем я обнаружил hashbangs (wth ?!), а затем нашел новый материал HTML5 с history.pushState () и History .js и решили использовать его.
вот главный вопрос
если у меня есть только одна страница, которая загружает шаблоны страниц в div содержимого с помощью ajax, используя history.pushState () для изменения URL-адреса и используя mod_rewrite и PHP-сервер, который может служить шаблоном содержимого по умолчанию в случае прямой запрос, такой как «mysite.com/about» (mysite.com/index.php?page=about) (для базового использования и SEO), я также не могу установить мета-контент для прямых запросов, если у меня нет двух шаблонов - шаблона контента - а мета шаблон? Есть ли другой способ обойти это?
являются ли теги типа <title>
и <meta name="description">
достаточно важными, чтобы гарантировать наличие шаблона специально для них?
В общем, я хочу, чтобы мои симпатичные URL-адреса mod_rewrite были обновлены в Google с правильным заголовком и мета-описанием для определенного загружаемого ajax шаблона содержимого страницы.
EDIT
Я собираюсь повторить то же самое, что и здесь, на hypem.com . у них есть прослушиватель событий, который изменяет тег <title>
, когда появляется новый контент. они также обслуживают правильный тег <meta name="description">
, но только если это прямой запрос к одной из главных страниц, например к блогам, - к другим страницам, таким как http://hypem.com/blog/indie+today/10332,, возвращают метатег для главной страницы блога и только по запросу