Javascript 为搜索引擎爬网的AngularJS应用程序创建HTML快照

Javascript 为搜索引擎爬网的AngularJS应用程序创建HTML快照,javascript,php,jquery,html,angularjs,Javascript,Php,Jquery,Html,Angularjs,首先让我告诉你我想做什么 我想索引我的网站是用Angular JS制作的,为此我阅读了谷歌所有的文档或文章 我发现: 我需要使用HTML5模式或hashbag模式将我的角度js url转换为友好url 比如:http://www.example.com/#/about至http://www.example.com/#!/关于或只是http://www.example.com/about 使用 因此,当任何爬虫出现在我的网站上时,说Googlebot会出现,它会看到我的url为http://www

首先让我告诉你我想做什么

我想索引我的网站是用Angular JS制作的,为此我阅读了谷歌所有的文档或文章

我发现:

我需要使用
HTML5模式
hashbag
模式将我的角度js url转换为友好url

比如:
http://www.example.com/#/about
http://www.example.com/#!/关于
或只是http://www.example.com/about

使用

因此,当任何爬虫出现在我的网站上时,说
Googlebot
会出现,它会看到我的url为
http://www.example.com/?_escaped_fragment_=/about
所以现在我需要向静态html页面提供此请求…对吗

现在我的问题是如何使用php框架生成此html静态页面,并且此html应仅在其内容完全加载后自动创建。这意味着如果angular js使用$http请求加载数据,则此html将仅在所有数据加载到html模板后生成。

我可以提供这个html爬虫只有当这可以自动生成

我已经通过手动创建一些html页面进行了本地测试,并检查了如果请求带有
\u expected\u fragment\u
参数,那么它将为特定的静态html页面提供服务器

但我无法找到方法,我将使用php框架为特定的angular js请求创建html页面


我不想使用任何
npm
服务。我想在
php
和/或任何
jQuery插件

中完全创建它,除了需要将转义片段请求重定向到一个服务器之外,该服务器在呈现各种视图后拍摄了HTML快照,然后可以将其提供给Googlebot等,不要忘记,您还需要在现有web服务器(如Apache或IIS)中设置重定向到处理转义片段的新服务器

我很感激您正在寻找一个PHP解决方案,我不想使用像prerender或seoserver软件包这样的NPM解决方案,但我想为您提供一个更简单的替代解决方案:使用现有的托管解决方案,如或。他们将为您托管一个SEO服务器,可以对您的站点进行爬网,通常这是免费的,除非您拥有一个包含数百个页面的大型数据驱动站点。你的负载更少,不需要再运行另一台服务器,你会得到一些很好的管理面板来查看哪些爬虫已经点击了SEO重定向,等等

一般来说,您需要在您提到的HTML中使用meta标记,并在AngularJS配置中使用以下设置:

$locationProvider.html5Mode(true);
$locationProvider.hashPrefix('!');

然后是一些自定义重定向设置,例如在.htaccess文件中(如果您现有的服务器是Apache),这些站点将为您提供这些设置,您可以复制和粘贴。

嘿..谢谢,我同意我需要使用或之类的解决方案,但此服务将为我提供服务,我需要按照此设置,但我希望使用自己的编程在我的服务器上生成此快照,然后向谷歌提供服务。