HTML5和Javascript/jQuery中的动态META标记
Dynamic META tags in HTML5 and Javascript/jQuery
我们正在开发一个公司网站,其中所有的导航都是使用hash(http://xxx/#/content/xpto
)完成的,内容是使用AJAX动态加载的。角色的东西已经很好地工作了,我们从中得到了很好的结果。我的问题(或问题)是,由于导航完全是使用哈希完成的,并且实际上没有页面加载(URI更改),我们正在更改代码中的"META"标记(*使用类似$('meta[property="title"]').attr('content', metainfo.title);
的东西)。Google的SEO引擎或Facebook的页面运行时是否能够理解代码(即http://myurl.com/#/load/products
)所做的元更改,或者通过处理服务器上的HTML内容来分析内容(HTML内容<html><head>blah blah blah</head></html>
)?
提前感谢各位。
你不能做动态元标记(或者,你可以,但谷歌和脸书不会运行你的JavaScript,所以它们对你没有任何好处),但你可以遵循谷歌的指南,让AJAX应用程序可以爬网。我不知道脸书是否也有类似的指南。
似乎可以使用JS动态更改元标记,如本文所述:https://developers.google.com/search/docs/guides/javascript-seo-basics#titles-和片段
如果有人在和我一样的问题上挣扎,答案并不简单。不幸的是,对于使用复杂JS进程创建页面的情况,市场上最常见的"无头"浏览器(包括谷歌推荐的HtmlUnit、watiji或Crawjax)无法做到这一点。
我找到的解决方案不是很优雅,但它起了作用。我已经使用实现了一个C++索引服务http://www.awesomium.com/.他们有一个非常简单的解决方案,基于谷歌的铬API。当然,必须删除一些"JS"动画,但无论如何,HTML快照都是按预期生成的。
溶液流程:
- 创建了站点地图
- 使索引服务(使用Awesomium)读取并为站点地图文件中定义的每个页面生成HTML快照
- 文件(HTML快照)保存在服务器的安全位置,具有中定义的相同目录结构和文件名浏览器URL
- 创建了一个Servlet(我们使用Java EE)来读取谷歌索引无人机请求的HTML快照:"?_escaped_fragment_="查询字符串参数
关于如何为谷歌构建全履带无人机的详细信息,请点击此处(如OX所述-thx):https://developers.google.com/webmasters/ajax-crawling/docs/getting-started
- 无法从 jQuery RSS Feed 中的 localStorage 动态替换类
- 使用JS如何动态更改显示的html文件中的文本背景颜色
- 动态分配GA增强型电子商务跟踪器
- onkeyup无法动态创建多个文本区域
- 使用javascript将动态表从一个html页面打印到另一个html页
- 如何使Javascript动态html表及其上的事件
- 动态地改变“”的URL;添加新项目”;链接使用javascript/jquery
- 如何在Bootstrap Modal中为动态点击生成的变量设置jade属性
- 如何使用javascript从主svg对象动态创建svg视图框
- 试图在引导模式内动态生成图表,得到offsetWidth错误
- 通过在Dojo mobile ViewController.openExternalView中动态更改打开同一外部视图的
- 如何在Google柱状图中动态添加行/列
- 困在逻辑中试图定位动态的东西
- 在动态创建的元素上获取对特定选择器的引用
- 如何动态插入jquery代码
- 使用Google Visualization动态调用构造函数
- 使用jQuery动态添加表并在其中动态添加行
- HTML5和Javascript/jQuery中的动态META标记
- 使用javascript设置meta动态页面
- 如何在AngularJs 1.x中动态更改Meta Title,Meta Keywords,Meta Descripti