- iOS/Objective-C 元类和类别
- objective-c - -1001 错误,当 NSURLSession 通过 httpproxy 和/etc/hosts
- java - 使用网络类获取 url 地址
- ios - 推送通知中不播放声音
我正在为 SEO 目的改进网站并遇到一个有趣的问题。除其他外,该站点还包括一个包含单个项目的大型目录(这些项目是什么并不重要)。每个项目都有自己的详细信息页面,可通过
访问http://www.mysite.com/item.php?id=item_id
或
http://www.mysite.com/item.php/id/title
这个目录很大——里面有大约 100,000 个项目。自然地,在任何页面上都只列出了一些项目。例如,在主站点主页上,有大约 5 或 6 个项目的链接,在其他页面上有大约 12 个不同项目的链接,等等。
当真实用户访问该站点时,他们可以使用搜索表单按关键字或位置查找项目 - 因此会生成符合他们搜索条件的列表。但是,例如,当 google 爬虫访问该站点时,它甚至不会尝试将文本放入关键字搜索字段并提交表单。因此,就机器人而言,在为整个站点编制索引后,它最多只覆盖了几十个项目。自然地,我希望它分别为每个单独的项目编制索引。我在这里有哪些选择?
我考虑的一件事是检查用户代理和 IP 范围,如果请求者是机器人(我能说的最好),则在最相关页面的末尾添加一个 div,其中包含指向每个单独项目的链接。是的,这将是一个巨大的页面加载 - 我不确定 google bot 对此会有何 react 。
还有什么我可以做的吗?这里的最佳做法是什么?
提前致谢。
最佳答案
One thing I considered is to check the user agent and IP ranges and if the requestor is a bot (as best I can say), then add a div to the end of the most relevant page with links to each individual item. Yes, this would be a huge page to load - and I'm not sure how google bot would react to this.
那将是一件非常的坏事。专门为搜索引擎的利益提供不同的内容称为 cloaking并且是让您的网站被禁止的好方法。甚至不考虑它。
每当网站管理员担心将其网页编入索引时,使用 XML 站点地图是确保搜索引擎了解您网站内容的简单方法。如果您的站点是数据库驱动的,它们也很容易创建和更新。 XML 文件不必是静态的,因此您可以在搜索引擎请求时动态生成它(Google、Yahoo 和 Bing 都支持 XML 站点地图)。您可以在 sitemaps.org 找到有关 XML 站点地图的更多信息。 .
如果您想让搜索引擎可以访问您的内容并希望从语义标记(即 HTML)中获益,您还应该确保可以通过超链接访问您的所有内容(换句话说,不是通过表单提交或 JavaScript) .这样做的原因有两个:
拥有一个以某种方式链接到您的所有产品的 HTML 站点地图是确保搜索引擎和用户可以轻松找到您的所有产品的好方法。还建议您构建站点,使更重要的页面更靠近网站的根目录(主页),然后当您分支到子页面(类别),然后到特定项目。这让搜索引擎知道哪些页面是重要的,并帮助他们组织它们(这有助于他们对它们进行排名)。它还可以帮助他们从上到下跟踪这些链接并找到您的所有内容。
Each item has its own details page, which is accessed via
http://www.mysite.com/item.php?id=item_id
or
这对 SEO 也不利。当您可以使用两个不同的 URL 调出同一页面时,您的网站上就有重复的内容。谷歌正在努力提高其索引的质量,他们认为重复的内容质量低下。他们臭名昭著的 Pandas 算法部分用于查找和惩罚内容质量低的网站。考虑到您拥有多少产品,您迟早会因此受到处罚。幸运的是,解决方案很简单。你只需要 specify a canonical URL为您的产品页面。我推荐第二种格式,因为它对搜索引擎更友好。
阅读my answer to an SEO question at the Pro Webmaster's site有关 SEO 的更多信息。
关于SEO:允许爬虫在一次只有少数页面可见时索引所有页面,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/10230411/
我有一个 ASP.NET 网站,我希望只允许 AD 组中的用户访问该网站。我正在使用如下的 web.config 片段,但这似乎不起作用:
仅当选中所有框时才应禁用“允许”按钮。我该怎么做?我已经完成了 HTML 部分,如下所示。如何执行其中的逻辑部分?即使未选中一个复选框,也应禁用“允许”按钮
当前有一个Navigator.push(context,route),但是上下文部分返回了错误,在尝试调试后,我发现问题是因为我在调用一个函数而不是直接将home设置为widget树。但是现在我不确定
这是我的邮政编码正则表达式 ^[a-zA-Z0-9]{1,9}$ 但不允许 A-12345。如何更改 - 也将被允许的正则表达式? 最佳答案 在字符集的开头或结尾添加-([...]): ^[-a-zA
我目前正在建立我的网站,但遇到了一个问题 JavaScript 中的混合内容阻止 当我尝试加载和显示来自 的图像和页面时,Chrome、Mozilla 和 Explorer 会发生这种情况http 我
我见过使用: [mysqld] bind-address = 255.112.324.12 允许远程访问单个 IP。我如何允许从 mysql 远程访问所有 IP? 最佳答案 如果你想允许它用于所
我想知道是否可以使用模板实现某些功能。我想要做的是允许特定的“复制构造函数和赋值运算符”从一个模板到另一个模板并禁用其他模板。 我想我只完成了一件我想要的事情,所以我提供了下面的类(class)。对于
这个问题在这里已经有了答案: How to validate an email address in PHP (15 个答案) 关闭 2 年前。 正则表达式让我大吃一惊。我如何更改此设置以验证带有加
解析可以采用以下格式之一的日期的最佳方法是什么 "dd-MM-yyyy HH:mm" "dd/MM/yyyy HH:mm" "dd.MM.yyyy HH:mm" 无需创建 3 个 SimpleD
我们知道,下面的代码格式不正确,因为成员 x 在依赖的基类中。但是,将指定行上的 x 更改为 this->x 将修复错误。 template struct B { int x; }; tem
如果能帮助我理解“Java 并发实践”中的以下内容,我将不胜感激: Calling an overrideable instance method(one that is neither privat
此时如果上传一个不在预定义的安全扩展名列表,如.lrc,会报错: File type does not meet security guidelines. Try another. 解决此问题有
我有一个运行韵律,可以为我的几个域和一个 friend 域处理 XMPP。我 friend 域中的一位用户(他的妻子)想更改她的密码(实际上她忘记了她,所以我会用 prosodyctl 设置一个,然后
使用 nginx,您可以允许和拒绝范围和 ips (https://www.nginx.com/resources/admin-guide/restricting-access/)。使用realip模
什么是一些好的克里金法/插值想法/选项,可以让重度权重的点在绘制的 R map 上的轻权重点上流血? 康涅狄格州有八个县。我找到了质心并想绘制这八个县中每个县的贫困率。其中三个县人口稠密(约 100
我正在使用 virtualbox + ubuntu + vagrant . 但是我不能ping或 wget任何网址。请指导我如何允许虚拟机访问我的主机的互联网? 最佳答案 这对我有用。 使用此配置 V
标题可能有点令人困惑,所以让我向您解释一下。 在 Swift 中,我们可以拥有带有默认参数值的函数,例如: func foo(value: Int = 32) { } 我们也可以有 In-Out 参数
有TextView1 和TextView2。 TextView2 应该 float 在 TextView1 的右侧。只要两个 TextView 的总宽度不使 TextView2 与右侧的框重叠,Tex
使用 Magento 收集方法 addFieldToFilter 时是否可以允许按 NULL 值进行过滤?我想选择集合中具有自定义属性的所有产品,即使没有为该属性分配任何值。 最佳答案 您不需要使用
我正试图从 .htaccess 文件中的规则中“排除”一个目录(及其所有文件夹)... 不确定这是否可能? .htaccess 文件是这样的: Order Allow,Deny Deny from a
我是一名优秀的程序员,十分优秀!