導航:首頁 > 網站優化 > angularseo問題

angularseo問題

發布時間:2020-08-31 14:56:19

1、知乎專欄使用angular是怎麼做到seo的

個專業的seo人員少不得常常跟搜索引擎網站交道,在搜索框里邊查問和尋覓物品,還是查問名次,還是研討和剖析對手,又還是尋覓資源等等,

2、AngularJS怎麼做SEO

J

3、angular,react,vue如何做SEO

百度在變,谷歌在變,搜索引擎都在變。在不斷的變化中,我們如何對我們網站進行優化呢?

首先,談談新手以及老手在認知上容易出現的SEO誤區,我認為有以下幾點因素,不容忽視。

1、以為網站首頁關鍵詞出現得越多越好,其實不然。

網站首頁如果出現大量關鍵詞,大量的關鍵詞堆積在首頁,不僅對優化有影響,還會降低用戶體驗度,我們應把關鍵詞通過長尾關鍵詞的方式展現出來,這不僅不會影響用戶體驗,還能使流量來得更加定向。

2、以為網站有更新就好。

以為保持每天的網站內容更新就好,可是卻隨意的copy其他地方的文章,一點原創性都沒有,不是原創文章,寧願不發。

3、認為外鏈很重要。

認為不斷的發外鏈很重要,不少人認為做SEO就是為了排名,完全不考慮網站文章的質量、可讀性以及用戶體驗,甚至不惜使用一些軟體、站群,這樣做,即使排名上去了,也無法留住客戶。為了做SEO拚命地發外鏈,完全不考慮外鏈的質量,認為只要量上去了,排名就會上去,其實不然,這樣做會被搜索引擎認定為作弊,會有降權的風險。

4、如何解決 angularjs 非同步的問題

如果用AngularJs在IE下發出GET請求從後台服務取完Json數據再綁定到頁面上顯示的話,你可能會發現就算數據更新了,IE還是會顯示原來的結果。實際上這時候IE的確是緩存了hashtag,沒有再次去做Http GET請求最新的數據。
最直接的辦法是在後台擼掉OutputCache,但這種做法並不推薦,需要改每一處被Angular調用的地方,代價太大。這種問題應該在前端解決最好。研究了一會兒總結了最有效的解決方法,並不需要改後台代碼了。
在你的app config里擼一個$httpProvider進去,比如像我這樣,和路由可以配在一起,當然分開配也沒問題。
var config = ["$routeProvider", "$httpProvider", function ($routeProvider, $httpProvider) {
// Initialize get if not there
if (!$httpProvider.defaults.headers.get) {
$httpProvider.defaults.headers.get = {};
}
// Enables Request.IsAjaxRequest() in ASP.NET MVC
$httpProvider.defaults.headers.common["X-Requested-With"] = 'XMLHttpRequest';
// Disable IE ajax request caching
$httpProvider.defaults.headers.get['Cache-Control'] = 'no-cache';
$httpProvider.defaults.headers.get['Pragma'] = 'no-cache';
$routeProvider.when("/", { templateUrl: "Manage/dashboard/index.cshtml" })
.when("/dashboard", { templateUrl: "Manage/dashboard/index.cshtml" })
.when("/dashboard/serverinfo", { templateUrl: "Manage/dashboard/serverinfo.cshtml" })
.when("/dashboard/emaillogs", { templateUrl: "Manage/dashboard/emaillogs.cshtml" })
// other code....
.otherwise({ redirectTo: "/" });
}];
app.config(config);

最關鍵的就是最後的禁用IE對ajax的緩存
$httpProvider.defaults.headers.get['Cache-Control'] = 'no-cache';
$httpProvider.defaults.headers.get['Pragma'] = 'no-cache';

如果你想這樣寫,是會爆的:
$httpProvider.defaults.headers.get['If-Modified-Since'] = '0';

這樣會導致include指令載入的partial view擼不出來,所以不要作死了

5、如何解決angular 前後端分離後,網站升級造成的緩存問題

把下面的代碼加上試試
var app = angular.mole('phonecat', ['ngRoute']);
app.config(['$routeProvider', '$httpProvider',
function($routeProvider, $httpProvider) {
if (!$httpProvider.defaults.headers.get) {
$httpProvider.defaults.headers.get = {};
}
$httpProvider.defaults.headers.common["X-Requested-With"] = 'XMLHttpRequest';
$httpProvider.defaults.headers.get['Cache-Control'] = 'no-cache';
$httpProvider.defaults.headers.get['Pragma'] = 'no-cache';

$routeProvider.
when('/phones', {
templateUrl: 'phone-list.html',
controller: PhoneListCtrl
}).
when('/phones/:phoneId', {
templateUrl: 'phone-detail.html',
controller: PhoneDetailCtrl
}).
otherwise({
redirectTo: '/phones'
});
}
]);

與angularseo問題相關的知識