【发布时间】:2015-02-03 14:44:29
【问题描述】:
我开发了一个 20 多页的大型 angularjs 应用程序,并添加了一些 SEO 标签。但它不能很好地运作。页面的大部分内容也使用 javascript 填充。 这就是我为每个页面实现 SEO 标签的方式。
app.js
(function() {
var app = angular.module('myApp', ['ngRoute', 'ngSanitize', 'angular-flexslider']);
// config route
app.config(['$routeProvider', '$locationProvider', function($routeProvider, $locationProvider) {
var baseUrl = "partials/";
$routeProvider.when('/', {
title: 'Title 1',
metadescription: "Description 1",
metakeywords: "Keyword 1",
templateUrl: baseUrl + 'home.html',
controller: 'homeCtrl'
})
.when('/page1', {
title: 'Title 2',
metadescription: "Description 2",
metakeywords: "Keyword 2",
templateUrl: baseUrl + 'page1.html',
controller: 'page1Ctrl',
})
.otherwise({
redirectTo: '/'
});
$locationProvider.html5Mode(true);
$locationProvider.hashPrefix('!');
}
]);
app.run(['$location', '$rootScope', function ($location, $rootScope) {
$rootScope.$on('$routeChangeSuccess', function (event, current, previous) {
$rootScope.title = current.$$route.title;
$rootScope.metadescription = current.$$route.metadescription;
$rootScope.metakeywords = current.$$route.metakeywords;
});
}]);
}());
html的元标签实现如下
<!DOCTYPE html>
<html lang="en" ng-app="lennonsApp">
<head>
<base href="/">
<meta charset="utf-8">
<title ng-bind="title"></title>
<meta name="description" content="{{metadescription}}">
<meta name="keywords" content="{{metakeywords}}">
<meta name="fragment" content="!">
</head>
<body>
Content goes here.....
</body>
</html>
页面加载时所有元标记数据绑定都正常工作。但即使一个月后我的网站也没有在搜索引擎中搜索。 该网站托管在 IIS 服务器上。 我的问题: 1).这种方法适用于搜索引擎吗? 2).我是否需要为 Angularjs 应用程序的 IIS 服务器做任何其他特定配置? 3).任何人都可以推荐任何其他支持SEO的方法
提前致谢
编辑 我尝试了 google.com 站点:[域名],如上实现的 seo 标签均不受影响。
编辑 与IIS服务器有什么关系吗?
【问题讨论】:
-
输入 google.com 站点:[您的域] 它会告诉您 google 在您的站点上索引了多少页。你只使用页面的关键字吗?尝试像 sitegrader 这样的工具,让您了解您的 seo 影响
-
@atmd 我检查了我的网站。 app.js 设置的任何元标记都不会显示在结果中。接缝我的实现不支持 SEO。是的,我只使用关键字和标题作为我上面的代码。
-
@JanithWidarshana 我也遇到了同样的问题,你找到解决方案了吗?
-
@ShibinRagh 我使用 prerender.io 来解决这个问题。如果您使用 IIS 服务器stackoverflow.com/questions/29160320/… 也会对您有所帮助。
标签: javascript angularjs html seo search-engine