2016-11-02 2 views
0

У меня есть приложение Ang AngularJS, размещенное на IIS. Проблема заключается в отображении метатега, сгенерированного ngMeta (https://github.com/vinaygopinath/ngMeta). У меня нет приложения на стороне сервера (только веб-API ASP.NET, который предоставляет данные). Есть ли возможность сделать мой сайт «Социально-дружественным» без какой-либо поддержки на стороне сервера?Социальный обмен мета-тегами дисплей от SPA Угловой размещен на IIS

Теперь он выглядит, как любит here

ответ

0

Вы можете установить запасной вариант, статические HTML мета-теги, которые удаляются, когда Угловая доступна (с помощью ng-if).

<title ng-bind="ngMeta.title">Fallback title</title> 
<meta name="description" content="Fallback description" ng-if="false" /> 
<meta name="description" content="{{ ngMeta.description }}" /> 

Социальные медиа сканеры обычно не выполняют Javascript, поэтому они будут видеть Fallback description, а Javascript с поддержкой гусеничного от Google будет забрать описание установленного ngMeta.description.

Обратите внимание, что приведенный выше код содержит название сайта, описание и другие метатеги. Если вы хотите, чтобы настроить мету значения тегов в соответствии с маршрутом, вы можете сделать что-то вроде этого

  1. Определения агента пользователя запроса к серверу
  2. Если агент пользователя совпадает с известным social media crawler's user agent строки, перенаправлять вместо сценария вместо файла.
  3. Проверьте выбранный маршрут (например, /blog) и верните или создайте страницу HTML с метатегами, относящимися к странице блога.

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

  • Нет связанных вопросов^_^