为 AngularJs (1x) 个网站启用 SEO
Enable SEO for AngularJs (1x) website
我正在尝试建立我的个人网站。我正在使用 angularjs (1.6.4) 和 laravel 后端。但即使在提交给 Google 进行索引后,该网站也没有出现在 google 搜索中。如果我签入 "Fetch as Google",我会看到 Google 正在获取空白页面:Fetch as Google.
还有很多次 "Fetch as Google" 失败并显示状态消息 "Temporarily unreachable"。我还尝试通过 .htaccess 文件重定向 googlebot 请求。但在那种情况下,状态为 "Redirected"。不知道我在做什么错。 Screenshots.
我已经在网上搜索了解决方案,但不幸的是我仍然无法解决这个问题。我的网站托管在共享 space 中,因此不确定我是否可以使用无头浏览器进行预呈现。另外,我不想 shell 花钱使用在线预渲染服务。
是否有任何其他方法可以为我的网站启用 SEO,以便它开始出现在 google 搜索中。在 Facebook 等社交媒体上分享时也可以预览吗?不幸的是,我无法在任何地方找到任何合适的教程或工作示例。有人可以指导我吗?
没有"enabling SEO"这样的方式。这取决于您制作网站的方式,实际上有很多不同的因素(内容、链接中的文本、反向链接)。
我也在使用 Angular 1.6,不用担心,GoogleBot 可以呈现 javascript。也许使用 /#!/url
尝试在不重定向的情况下呈现。
无需在线预渲染服务。我正在使用 Grunt 任务生成快照:grunt-ng-html-snapshot.
这 link 是一个很好的开始。但要注意:使用的 Grunt 任务不是很好。
要在社交媒体上分享,您需要使用 Open Graph for Facebook(对于 Twitter 则不同)。请注意,社交媒体爬虫无法读取 javascript,您需要为这些爬虫提供快照(来自您的 .htaccess)。您不需要为 GoogleBot 提供快照。
.htaccess 的一个例子(我不太擅长这个,但这是我用的):
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]
其中 resources/snapshots/
是包含快照的目录
我正在尝试建立我的个人网站。我正在使用 angularjs (1.6.4) 和 laravel 后端。但即使在提交给 Google 进行索引后,该网站也没有出现在 google 搜索中。如果我签入 "Fetch as Google",我会看到 Google 正在获取空白页面:Fetch as Google.
还有很多次 "Fetch as Google" 失败并显示状态消息 "Temporarily unreachable"。我还尝试通过 .htaccess 文件重定向 googlebot 请求。但在那种情况下,状态为 "Redirected"。不知道我在做什么错。 Screenshots.
我已经在网上搜索了解决方案,但不幸的是我仍然无法解决这个问题。我的网站托管在共享 space 中,因此不确定我是否可以使用无头浏览器进行预呈现。另外,我不想 shell 花钱使用在线预渲染服务。
是否有任何其他方法可以为我的网站启用 SEO,以便它开始出现在 google 搜索中。在 Facebook 等社交媒体上分享时也可以预览吗?不幸的是,我无法在任何地方找到任何合适的教程或工作示例。有人可以指导我吗?
没有"enabling SEO"这样的方式。这取决于您制作网站的方式,实际上有很多不同的因素(内容、链接中的文本、反向链接)。
我也在使用 Angular 1.6,不用担心,GoogleBot 可以呈现 javascript。也许使用 /#!/url
尝试在不重定向的情况下呈现。
无需在线预渲染服务。我正在使用 Grunt 任务生成快照:grunt-ng-html-snapshot.
这 link 是一个很好的开始。但要注意:使用的 Grunt 任务不是很好。
要在社交媒体上分享,您需要使用 Open Graph for Facebook(对于 Twitter 则不同)。请注意,社交媒体爬虫无法读取 javascript,您需要为这些爬虫提供快照(来自您的 .htaccess)。您不需要为 GoogleBot 提供快照。
.htaccess 的一个例子(我不太擅长这个,但这是我用的):
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]
其中 resources/snapshots/
是包含快照的目录