w11k-angular-seo-header icon indicating copy to clipboard operation
w11k-angular-seo-header copied to clipboard

Title & description not indexed

Open robinwo opened this issue 8 years ago • 8 comments

Works great, title & descriptions are being injected in the head. However, it seems both are not being indexed by Google (while Google is rendering the Angular page correctly in Search Console), resulting in a blank search result, only showing a URL. Any fix for this?

robinwo avatar May 15 '16 10:05 robinwo

Hello robinwo,

would you mind to share your URL? Because our AngularJS Training site is running on this module. It is indexed correctly. Do you use HTML snapshots? We have sites running with snapshots and without - no issues yet.

CanKattwinkel avatar May 17 '16 08:05 CanKattwinkel

Sure! https://robinwouters.nl, no snapshots / prerender in place.

robinwo avatar May 17 '16 08:05 robinwo

This may sound funny but the first thing i'd do is: set some more backlinks. Everything seams to work correctly. It might be that Google doesnt values your site enough yet to parse javascript. Could be energy // processing power saving strategy by Google. I came to this idea since google isn't parsing // displaying your bodycontent aswell.

CanKattwinkel avatar May 17 '16 09:05 CanKattwinkel

Do you use any sitemap indicating updates on your page. I have similar issue but feel like sitemap + 'lastmod' / 'changefreq' could cause google to rerender and analyze my SPA again.

Since site:robinwouters.nl shows description and title of your main page I suppose Bing - afaik standard search engine of Ecosia - rendered that information. Thus angular-seo-header seem to work and crawlers arent reading the content (again). Maybe crawler think your page hasnt changed and arent recrawled and rendered again.

Reda1000 avatar Aug 04 '16 22:08 Reda1000

Would you mind take a look at my site too? The title is not properly index in Google. https://www.matchthecoach.com If I removed the script and use standard title, meta tag. The title showed without problem.

macsermkiat avatar Dec 17 '16 09:12 macsermkiat

@macsermkiat sure, but right now I don't see the directive in action on your site. Could you enable it for me to check?

CanKattwinkel avatar Dec 19 '16 06:12 CanKattwinkel

@CanKattwinkel It already enabled. The title shown right on the browser tab, but not in Google. Here is what I copy from Head element. (The title,keywords are not in english)

<!-- ngIf: head.title -->
<title ng-if="head.title" class="ng-binding ng-scope">
หาครูสอนพิเศษ เรียนภาษาอังกฤษภาษาจีน เรียนเปียโนเรียนดนตรี ติวสอบมีทุกวิชา: MatchTheCoach</title>
<!-- end ngIf: head.title -->
<!-- ngIf: head.keywords -->
<meta name="keywords" content="หาครู,สอนพิเศษ,เรียนภาษาอังกฤษ,Private tutor,Teacher" ng-if="head.keywords" class="ng-scope">
<!-- end ngIf: head.keywords -->
<!-- ngIf: head.canonical -->
<link rel="canonical" href="https://www.matchthecoach.com" ng-if="head.canonical" class="ng-scope">
<!-- end ngIf: head.canonical -->

Here is app.js

.state('/', {
		url: '/',
		templateUrl: 'home/home.view.html',
		controller: 'homeCtrl',
		controllerAs :'vm',
		data: {
                head: {
                    title: 'หาครูสอนพิเศษ เรียนภาษาอังกฤษภาษาจีน เรียนเปียโนเรียนดนตรี ติวสอบมีทุกวิชา: MatchTheCoach',
                    keywords: ["หาครู", "สอนพิเศษ", 'เรียนภาษาอังกฤษ', 'Private tutor', 'Teacher'],
                    description: "หาครูสอนพิเศษ ติวสอบ เรียนเปียโนดนตรี กีฬา เรียนภาษาอังกฤษ เรียนภาษาจีน หรือสำหรับโพสงานฟรี : English course, or find teacher in any subjects. Post a teaching job for free",
                    canonical: 'https://www.matchthecoach.com',
                }
            }
	})
.state('search' , {
		url: '/coaches/search/?text',
		params: {text:null},
		templateUrl: 'common/search/search.view.html',
		controller: 'searchCtrl',
		controllerAs : 'vm',
		data: {
                head: {
                    title: 'หาครู ',
                    titleExtend: function (titleStr, toParams) {
		                  return titleStr+toParams.text;
		              },
                    canonical: 'https://www.matchthecoach.com/#!/coaches/search/?text=',
                    canonicalExtend: function (canonicalStr, toParams) {
		                  return canonicalStr+toParams.text;
		              }
                }
            }
	})

macsermkiat avatar Dec 19 '16 08:12 macsermkiat

@macsermkiat the implementation is correct. I'd guess it is a Google issue or special behavior..

I just checked a project of mine with the same implementation and it is working for me.

CanKattwinkel avatar Dec 19 '16 09:12 CanKattwinkel