I am trying to use PhantomJS
and angular-seo
(https://github.com/steeve/angular-seo) to make my app crawlable.
As I am not using hashbangs, I've added the following meta tag to my app's header:
<meta name="fragment" content="!" />
In my main controller, I trigger $scope.htmlReady
when the content is fully loaded:
$scope.$on('$viewContentLoaded', function() {
$scope.htmlReady();
});
I have loaded the seo
module properly and while my server's app listens on port 4000 (I use an express server), I launch phantomJS on port 4040 with the following command:
phantomjs --disk-cache=no ./bin/angular-seo-server.js 4040 http://127.0.0.1:4000
If I check how things are working for the homepage with a simple curl 'http://127.0.0.1:4040/?_escaped_fragment_='
I get the correct HTML rendered properly.
But if I try a different route like http://127.0.0.1:4040/test?_escaped_fragment_=
I only get <html><head></head><body></body></html>
while http://127.0.0.1:4000/test
works fine.
How can I make sure all my pages are indexed and not only my homepage?