为AngularJs(1x)网站启用SEO

时间:2018-07-11 14:13:06

标签: angularjs seo prerender

我正在尝试建立我的个人网站。我在Laravel后端使用angularjs(1.6.4)。但是,即使在提交给Google进行索引后,该网站仍未出现在Google搜索中。如果我签入“以Google身份提取”,则表明Google正在以空白Fetch as Google的形式提取页面。

“以Google身份获取”失败的次数很多,并且出现状态消息“暂时无法访问”。我还尝试通过.htaccess文件重定向googlebot请求。但是在这种情况下,状态将变为“已重定向”。不知道我在做什么错。 Screenshots

我已经在网上搜索以找到解决方案,但是不幸的是我仍然无法解决这个问题。我的网站托管在共享空间中,因此不确定是否可以使用无头浏览器进行预渲染。另外,我不想花钱使用在线预渲染服务。

是否还有其他方法可以为我的网站启用SEO,以便它开始出现在Google搜索中。在像Facebook这样的社交媒体上共享时,预览也可用吗?不幸的是,我在任何地方都找不到任何合适的教程或工作示例。有人可以引导我吗?

1 个答案:

答案 0 :(得分:0)

没有“启用SEO”的方法。这取决于您制作网站的方式,实际上取决于许多不同的因素(内容,链接中的文字,反向链接)。

我也在使用Angular 1.6,并且不用担心,GoogleBot可以呈现javascript。也许使用public partial class Orders : EntityBase<int> { [PrimaryKey, AutoIncrement] public int Orderid { get; set; } protected Orders() { } public override int Id { get => base.Id; set => base.Id = Orderid; } } 尝试呈现而不重定向。

无需在线预渲染服务。我正在使用Grunt任务生成快照:grunt-ng-html-snapshot

link是很好的起点。但要注意:使用的Grunt任务不是好任务。

要在社交媒体上分享,您需要将Open Graph用于Facebook(对于Twitter使用不同的方法)。请注意,社交媒体抓取工具无法阅读javascript,您需要为这些抓取工具提供快照(来自.htaccess)。您无需为GoogleBot提供快照。

.htaccess的示例(我远非擅长于此,但这是我使用的):

/#!/url

RewriteCond %{HTTP_USER_AGENT} (facebook|bot|spider|whatsapp) [NC] RewriteCond %{HTTP_USER_AGENT} !googlebot [NC] RewriteRule ^(.*)$ https://%{HTTP_HOST}/resources/snapshots/%{REQUEST_URI}.html [QSA,L,R=301] 是包含快照的目录