繁体   English   中英

用于搜索引擎的智能Ajax深度链接,以便将元数据加载为HTML而不是DOM

[英]Intelligent Ajax Deep Linking for search engines so that Meta data is loaded in HTML instead of DOM

我正在寻找一种与不同的meta标签进行深度链接的好方法。 目前,我有一个庞大的HTML主站点,并通过JavaScript和DOM操作显示子页面。

让我们以我最新的项目为例( Google搜索 )。 在那里,您可以看到meta标记(为简化起见,我们仅以其描述为准)始终相同。 但是在DOM中,正如您在站点上看到的那样,我对其进行了更改。 但是我知道搜索引擎只接受HTML代码,并且大部分禁用了JS。 这是我用来更改标题,描述和关键字的JavaScript代码中的行。

    $('meta[name=keywords]').attr('content', 'ages,third');
    $('meta[name=description]').attr('content', 'The Third age is where The Hobbit and Lord of the Rings take part.');
    document.title = "Third Age - Arda Maps"; 

从Google搜索可以看到, 标题已正确更改 ,即使通过JavaScript完成也是如此。

因此,问题是,是否有办法以适当的方式通过JavaScript 更改其他元标记(如描述)?

注意#1 :我不想使用PHP。 我知道PHP将通过模板使其更容易。

注意#2 :我也知道我可以通过Ajax加载不同的页面。 但是然后我将不得不镜像它们。 并且您可以看到主要的html非常大。 以这种方式进行镜像会适得其反。 是不是

因此,问题是,是否有办法以适当的方式通过JavaScript更改其他元标记(如描述)?

请参阅使AJAX应用程序可爬网


除PHP解决方案外,对其他任何东西都开放。

请参阅DCMI元数据条款使用HTML / XHTML元数据和链接元素表示Dublin Core元数据

<!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01//EN"
   "http://www.w3.org/TR/html4/strict.dtd">
<html>
  <head profile="http://dublincore.org/documents/2008/08/04/dc-html/">
    <title>title</title>
    <link rel="schema.DC" href="http://purl.org/dc/elements/1.1/" />
    <meta name="DC.subject" content="subject1, subject2" />
    <meta name="DC.title" content="title" />
    <meta name="DC.description" content="description" />
  </head>
  <body>
  </body>
</html>

无法在单页Web应用程序上轻松编辑用于不同页面的meta标签 唯一的方法是通过PHP或Node.js在服务器端进行更改。

在客户端更改它只会改变DOM,这对用户是有好处的,因为他可以看到所做的更改。 但是搜索引擎会忽略这一点。 同样,都柏林核心区将无法正常工作。 即使是为此而设计的。

所以目前这是不可能的。

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM