Tôi cảm thấy như tôi đã thử mọi tùy chọn duy nhất trên mạng và không có gì thành công. Trước tiên cho tôi danh sách các tùy chọn Tôi đã thử:Ứng dụng góc được lập chỉ mục bởi Google
Sử dụng PreRender với Apache:
tôi đã cố gắng này sử dụng các bước sau:
Trong góc:
$locationProvider.html5Mode(true);
Trong HTML , thêm tiêu đề meta này:
<head>
<meta name="fragment" content="!">
</head>
Configure Apache:
RewriteEngine On
# If requested resource exists as a file or directory
# (REQUEST_FILENAME is only relative in virtualhost context, so not usable)
RewriteCond %{DOCUMENT_ROOT}%{REQUEST_URI} -f [OR]
RewriteCond %{DOCUMENT_ROOT}%{REQUEST_URI} -d
# Go to it as is
RewriteRule^- [L]
# If non existent
# If path ends with/and is not just a single /, redirect to without the trailing/
RewriteCond %{REQUEST_URI} ^.*/$
RewriteCond %{REQUEST_URI} !^/$
RewriteRule ^(.*)/$ $1 [R,QSA,L]
# Handle Prerender.io
RequestHeader set X-Prerender-Token "YOUR_TOKEN"
RewriteCond %{HTTP_USER_AGENT} baiduspider|facebookexternalhit|twitterbot|rogerbot|linkedinbot|embedly|quora\ link\ preview|showyoubot|outbrain|pinterest [NC,OR]
RewriteCond %{QUERY_STRING} _escaped_fragment_
# Proxy the request
RewriteRule ^(.*)$ http://service.prerender.io/http://%{HTTP_HOST}$1 [P,L]
# If non existent
# Accept everything on index.html
RewriteRule^/index.html
này đã không làm việc ở tất cả: Google đã không thể đọc trang con của tôi.
Sử dụng Node/Phantomjs để render các trang
var express = require('express');
var app = module.exports = express();
var phantom = require('node-phantom');
app.use('/', function (req, res) {
if (typeof(req.query._escaped_fragment_) !== "undefined") {
phantom.create(function (err, ph) {
return ph.createPage(function (err, page) {
return page.open("https://system.dk/#!" + req.query._esca$
return page.evaluate((function() {
return document.getElementsByTagName('html')[0].innerHT$
}), function (err, result) {
res.send(result);
return ph.exit();
});
});
});
});
} else
res.render('index');
});
app.listen(3500);
console.log('Magic happens on port ' + 3500);
Ở đây tôi tạo ra trang web này sau đó thêm vào một proxy trong cấu hình Apache của tôi để tất cả yêu cầu chỉ trên cổng tên miền của tôi 3500
.
Điều này không hoạt động vì nó không thể hiển thị chỉ mục và khi tôi cuối cùng nhận được chỉ mục để gửi trang html JavaScript sẽ không hiển thị.
Tiếp theo bản chụp tùy chỉnh hướng dẫn
Sau đó, tôi theo hướng dẫn này:
http://www.yearofmoo.com/2012/11/angularjs-and-seo.html
Tuy nhiên điều này đòi hỏi tôi phải làm cho bức ảnh chụp tùy chỉnh của tất cả mọi thứ mà không phải là điều tôi đang tìm kiếm và gây phiền nhiễu để duy trì. Cộng với ảnh chụp nhanh không hoạt động trên máy chủ của tôi.
vậy điều gì xảy ra khi bạn chèn '? _escaped_fragment_ =' vào url? – charlietfl
@charlietfl ngay bây giờ nếu tôi làm http://www.learningbank.dk/?_escaped_fragment_= nó chuyển hướng đến chỉ mục của tôi –
hãy thử loại bỏ các điều kiện bot để kiểm tra nó – charlietfl