2013-12-06 2 views
2

Я искал использование нового процесса документооборота для веб-разработки. Yemoan, Grunt и Bower с AngularJS походят на отличное решение для разработки интерфейса. Единственным недостатком является то, что SEO абсолютно ужасен. Это похоже на ОГРОМНЫЙ компонент бизнес-решения, способствующего внедрению этих услуг, но я не могу найти никаких решений.Есть ли простой способ сделать Javascript приложений SEO дружественными?

Что такое надежное решение для создания удобных для JavaScript приложений для javascript?

+5

Что вы обнаружили уже в Google? –

+1

Отключить js в вашем браузере и сделать контент, который должен быть доступен поисковым системам. –

+0

@osi До сих пор я нашел это: https://github.com/steeve/angular-seo. Однако мне сумасшедшим, что URL-адреса будут иметь к ним добавленный '/? _ Escaped_fragment _ = /'. Это действительно лучшее, что есть? –

ответ

1

Вот интересующая информация от Debunking 10 common KnockoutJS myths. Я предполагаю, что он более или менее одинаково применим к Угловому.

Изящная деградация в отсутствии javascript зависит от того, как ваше приложение было задумано. Хотя KO является чистой библиотекой javascript , не предлагает никакой поддержки для изящного деградации в отсутствии javascript, тем не менее, в отличие от многих конкурирующих технологий , это не мешает грациозному деградации.

Чтобы создать приложение KO, который унижает изящно, просто убедиться, что начальное состояние страницы, которая визуализируется сервером достаточно передать информацию, которую пользователь должен видеть в отсутствии JavaScript. Резервные механизмы (например, простые формы и ссылки) должны быть доступны , которые обеспечивают полное (или частичное) приложение в отсутствие javascript. Затем, когда вы создаете свои модели , вы можете создавать их из уже имеющихся данных с DOM, а будущие данные могут быть загружены через ajax без обновления страницы .

Хорошим примером для этой функции может быть сетка. Основная страница HTML , обслуживаемая сервером, может содержать простую таблицу HTML с поддержкой для традиционных ссылок для разбивки на страницы. Затем вы можете создать свои модели из данных, представленных в таблице (или ajax, если бит избыточной загрузки данных не имеет значения для вас) и используйте KO для интерактивных привязок .

Поскольку KO не использует специальные встроенные разметки или пользовательские теги HTML, но довольно простые атрибуты данных связывания, которые в любом случае не видны в отсутствие JavaScript, это не мешает изящную деградации.

+0

Есть два способа сделать javascript-приложения SEO-friendly - 1. Использование белой шляпы Cloaking и 2. Использование таких сервисов, как BromBone или Prerender. Для получения дополнительной информации см. [КАК СДЕЛАТЬ JAVASCRIPT APPS SEO-FRIENDLY] (http://nodejsmongodb.com/post/how-to-make-your-javascript-apps-seo-friendly/) – ep4f

2

Нынешняя стандартная практика для создания тяжелых сайтов/приложений ajax с использованием SEO - это использование моментальных снимков. См. Учебное пособие по этому вопросу здесь: https://developers.google.com/webmasters/ajax-crawling/docs/html-snapshot и здесь: https://developers.google.com/webmasters/ajax-crawling/docs/specification

Подводя итог, вы добавляете этот тег <meta name="fragment" content="!"> в свой DOM. Искатель увидит это и перенаправит себя от www.example.com до www.example.com?_escaped_fragment_=, где он ожидает моментальный снимок страницы.

Вы можете вручную скопировать html с вашего сайта после завершения всех аяксов и сами создать свои снимки. Однако это может быть довольно неприятным. Вместо этого вы можете использовать PhantomJS, чтобы автоматизировать этот процесс для вас. Лично я собираюсь использовать .htaccess для отправки escaped_fragment запросов на один файл php с кэшированной разметкой, созданной из менеджера контента при внесении изменений. Это позволяет воссоздать разметку для сканеров для просмотра (но не для людей).

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