JavaScript链接和SEO?
首先,看看这个演示页面:http://vidasp.net/tinydemos/seo-javascript-links.html
在页面上有一个菜单,点击一个菜单项将显示到其他网页(这是网站的一部分)的各种链接。 链接网址采用以下格式:
www . foo . com / articles / XXX / descriptive-title-of-the-article
...其中XXX是给定文章的三位ID。
这一切似乎都没问题,但有一个问题:所有这些链接都是通过JavaScript动态创建的。 看看源代码 - 在页面底部有一个JavaScript变量( db
变量),它保存用于生成链接的所有数据。
我正在使用JavaScript,因为我不想使用服务器端。 我假设,在这种情况下,我将不得不将数据存储在SQL数据库中,然后使用C#/ PHP /等。 生成链接。 然而,这不是我的选择 - 我严格面向客户端。
顺便说一句,如果你想看到更详细的JavaScript生成的链接演示,请到这里 - http://www.w3viewer.com - 该网页上有400个链接,所有这些链接都是通过JavaScript动态生成的。
问题是:
现在,我喜欢这种方法 - 使用JavaScript来生成链接 - 但是,这种方法的一个后果是,搜索引擎抓取工具不会注册任何这些链接 - 他们只是“看到”一个没有链接的空白页面(这是一个SEO的灾难,我假设)。
所以,我想知道,我怎么能优化这种方法?
更新(后续问题):
我不能使用Google站点地图告诉Google抓取工具网站上存在哪些网页? 这样我就可以保持首页(上面的演示)(没有静态链接),并且抓取工具会使用站点地图抓取我网站上的所有网页。
我对谷歌站点地图一无所知,但我想知道为什么没有人提出他们的建议。 他们可以解决我的问题吗?
看起来你真正需要做的是在部署之前使用Template :: Toolkit的ttree
等模板生成HTML。 然后,您可以将数据库保存在开发机器上。 不需要JavaScript。
这是一个简化的例子:
[%-
db = {
Foo => [
{ id => "001", title => "First article" },
{ id => "002", title => "Another article" },
{ id => "003", title => "Yet another article" },
],
Bar => [
{ id => "004", title => "First article in this category" },
{ id => "005", title => "Another article in bar" },
{ id => "006", title => "Third bar article" },
],
Baz => [
{ id => "007", title => "Baz article No. 1" },
{ id => "008", title => "The second Baz article" },
{ id => "009", title => "The last article" },
],
}
-%]
[%- FOR category IN db.keys -%]
<h2>[%- category -%]</h2>
[%- articles = db.$category -%]
[%- FOR article IN articles -%]
<p>Article: <a href="http://www.example.com/articles/[%- article.id -%]/">
[%- article.title -%]</a></p>
[%- END -%]
[%- END -%]
C:Temp> tpage t.html
<h2>Bar</h2>
<p>Article: <a href="http://www.example.com/articles/004">First article in this
category</a></p>
<p>Article: <a href="http://www.example.com/articles/005">Another article in bar
</a></p>
<p>Article: <a href="http://www.example.com/articles/006">Third bar article</a><
/p>
<h2>Baz</h2>
<p>Article: <a href="http://www.example.com/articles/007">Baz article No. 1</a><
/p>
...
如果您避免使用服务器端,因为您更喜欢将JavaScript应用于其他语言,则始终可以在服务器上使用node.js。 已经有一个适用于Express的node.js的jQuery Templates视图引擎,所以您甚至可以在客户端或服务器上使用相同的模板。
不相关:你不应该在CDN上使用jQuery的“最新”引用(即1.4 vs 1.4.4)。 这些请求是以非常短的到期头部来提供的,这是一个很大的性能劣势。 此时,如果您只使用自托管副本,则返回访问者的速度会更快。
只需要注意一点,如果您的网站地图中包含的链接无法通过抓取您的网站获得,您将在搜索引擎中进行标记。
由于这些页面被视为违背大多数主要搜索引擎的门户页面,也没有引用URL,他们将得到非常低的分数,即使他们确实被索引,他们也不会很好地排名。
链接地址: http://www.djcxy.com/p/62505.html