skip to Main Content

I have started to make some AngularJS applications for mobiles and recently client has asked to ship one of these to the Desktop to making it responsive multi-channel architecture.

I have seen this on a few sites:

<meta name="keywords" ng-if="Meta.keywords" ng-attr-content="{{ Meta.keywords }}">
<meta name="description" ng-if="Meta.description" ng-attr-content="{{ Meta.description }}">

When Google or other robots scan this can they see the output HTML keyword data and also this applies to content and title tags. How good is Angular for SEO?

2

Answers


  1. Google processes JavaScript so content generated within it is available to googlebot to crawl. Other crawlers have not stated whether they can or not so until it is confirmed they do it should be assumed that this content will not be available to them.

    FYI, meta tags have no effect on rankings. The meta description might be displayed in Google’s search results but not always.

    Login or Signup to reply.
  2. <meta name="keywords" ng-if="Meta.keywords" ng-attr-content="{{ Meta.keywords }}">
    <meta name="description" ng-if="Meta.description" ng-attr-content="{{ Meta.description }}">
    

    hint:
    to avoid having this in your index.html file (e.g. for non js crawlers or if something breaks with js) simply put a directive to your head tag. this is the cleanest way. look at this directive which renders canonical, keywords, meta into your head tag.

    to map your own directive to the head-tag set

    restrict: 'E',
    

    and

    angular.module('app').directive('head', ['$rootScope'
    function($rootScope) {
    

    i have sites where google definitely listens to the contents of my angular-rendered canonical tag (no html snapshots, plain single page application with a sitemap).

    Login or Signup to reply.
Please signup or login to give your own answer.
Back To Top
Search