How to get Google to index a dynamic title in an Angular.js app

Google is indexing my Angular.js app's content just fine, i.e. it executes the JS, XHRs, the whole deal, but for some reason the title is not indexed properly and remains the static HTML fallback (default title set by HTML, before JS is executed).

In index.html I have:

<title ng-bind="title + ' &mdash; Default Title'">Default Title</title>

and it's set like this whenever the route changes: ['$location', '$rootScope', ($location, $rootScope) ->
    $rootScope.$on '$routeChangeSuccess', (event, current, previous) ->
      $rootScope.title = current.$$route.title if current.$$route

Example of the page:

TL;DR: Google indexes my Angular app just fine, but doesn't index dynamic titles for some reason.


I am fairly sure you do not have much control over this. here are some links:

They both explain that:

Basically, Google says: we know better, you can try and write a title we like, but we reserve to do whatever to make people click on your result. There is no way to prevent this from happening right now.

Need Your Help

time() not working in PHP

php datetime

echo time(); gives me timestamp 1293645728 which is a timestamp of Wed Dec 31 19:00:00 EST 1969 instead of current timestamp.

Handle leaking in WinAPI CreateFile?

c++ winapi cd-burning

CreateFile allocates 2(!!) handles and CloseHandle closes only one handle when trying to get the low-level access to cd-rom device. OS Windows XP SP3, 5 of 7 tested computers works the same.

About UNIX Resources Network

Original, collect and organize Developers related documents, information and materials, contains jQuery, Html, CSS, MySQL, .NET, ASP.NET, SQL, objective-c, iPhone, Ruby on Rails, C, SQL Server, Ruby, Arrays, Regex, ASP.NET MVC, WPF, XML, Ajax, DataBase, and so on.