如果您销售小部件,我们都知道在标题和 H1 中包含“Bob's Widgets”可以让您在人们搜索“小部件”时在 Google 中获得更好的排名。
但是,如果正如前几天有人向我解释的那样,他们的产品在世界不同地区以不同的名称为人所知怎么办?
在美国,它被称为 Widget。在加拿大,它被称为 Flidget。在澳大利亚,它被称为 Zidget。它确实没有正式名称,只是非正式名称。
元标记没有问题,但除此之外,应对这种情况的最佳方法是什么?只做单独的页面?页面上不能有 3 个 H1。一个 H1 上面写着“Widgets,(又名 Flidgets,Zidgets)”?
或者我只是相信 Google 足够聪明,一些神奇的分类数据库将这三个词归为同一事物?
编辑:这个问题之所以被否决只是因为它是关于 SEO 的?多么奇怪。如果您甚至懒得阅读这个问题,您就会发现我并不是在试图玩弄系统或逃避任何惩罚。我有一个真正有趣的问题和有效的客户需求。
另请注意,我总是使用语义 HTML,我很清楚搜索引擎排名的工作原理,而且我并不想逃避任何阴暗的事情。
如果我的客户卖啤酒,我会简单地使用语义 HTML 将“啤酒”这个词放在首位。如果我向法国人出售啤酒,我会用法语制作另一页,并用“biere”做同样的事情。但是想象一下,啤酒在其他英语国家并不被称为“啤酒”。想象一下它被称为“reeb”。当不同的英语用户使用不同的字符串搜索相同的内容时,我如何正确地对英语页面进行语义编码。
最佳答案
HTML 元标记是最初创建的目的是将此类元数据准确地嵌入到网页中。但是由于 SEO 行业和网络的商业化,像“关键字”这样的元标记不再被主要搜索引擎使用。
随着多年来网页排名算法和智能搜索机器人的所有进步,在合法网站的主动“搜索引擎优化”方面确实没有太多可做的。在当今的搜索环境中,您所要做的就是为访问者优化您的网站,它会自动针对搜索进行优化。
因此,您可以通过执行以下任何(或所有)操作来被动地优化您网站的排名:
简而言之,让您的网站尽可能方便用户使用和访问。如果您的网站对访问者有用并提供有值(value)的内容,大多数主要搜索引擎(如 Google 或 Yahoo!)足够聪明,可以公平地对其进行排名。您的排名起初可能不高。但是,如果您真正提供高质量的内容,那么随着您的网站在网络上的地位越来越稳固,其他网站将开始链接到您,从而提高您的搜索排名。
如果链接到您网站的其他网页使用您的产品所引用的各种名称和昵称,那么您的网站也将与这些名称/关键字相关联(这就是 Google Bombing 的工作原理)。 Google 还会跟踪同义搜索词,甚至可以在某些情况下推荐相关/替代搜索词。
另一方面,如果您要创建一个垃圾网站或第 1000 万 个附属营销网站,其产品和内容与其他 9,999,999 个具有相同性质的网站完全相同,那么预计您的搜索引擎排名相当差。
通常只有没有原创内容且无法为访问者提供合法值(value)的网站需要主动(黑帽)SEO 技术才能获得不错的排名——在此过程中会污染搜索结果。否则,如果您实际上正在构建一个有用的网站,那么只需为您的访问者优化它,然后让 Google/Yahoo!做他们的工作。
关于以不同名称为人所知的产品的 SEO,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/736264/
如何在Ruby中按名称传递函数?(我使用Ruby才几个小时,所以我还在想办法。)nums=[1,2,3,4]#Thisworks,butismoreverbosethanI'dlikenums.eachdo|i|putsiend#InJS,Icouldjustdosomethinglike:#nums.forEach(console.log)#InF#,itwouldbesomethinglike:#List.iternums(printf"%A")#InRuby,IwishIcoulddosomethinglike:nums.eachputs在Ruby中能不能做到类似的简洁?我可以只
注意:本文主要掌握DCN自研无线产品的基本配置方法和注意事项,能够进行一般的项目实施、调试与运维AP基本配置命令AP登录用户名和密码均为:adminAP默认IP地址为:192.168.1.10AP默认情况下DHCP开启AP静态地址配置:setmanagementstatic-ip192.168.10.1AP开启/关闭DHCP功能:setmanagementdhcp-statusup/downAP设置默认网关:setstatic-ip-routegeteway192.168.10.254查看AP基本信息:getsystemgetmanagementgetmanaged-apgetrouteAP配
基础版云数据库RDS的产品系列包括基础版、高可用版、集群版、三节点企业版,本文介绍基础版实例的相关信息。RDS基础版实例也称为单机版实例,只有单个数据库节点,计算与存储分离,性价比超高。说明RDS基础版实例只有一个数据库节点,没有备节点作为热备份,因此当该节点意外宕机或者执行重启实例、变更配置、版本升级等任务时,会出现较长时间的不可用。如果业务对数据库的可用性要求较高,不建议使用基础版实例,可选择其他系列(如高可用版),部分基础版实例也支持升级为高可用版。基础版与高可用版的对比拓扑图如下所示。优势 性能由于不提供备节点,主节点不会因为实时的数据库复制而产生额外的性能开销,因此基础版的性能相对于
当我创建一个Rails应用程序时,控制台:railsnewfoo我的代码可以使用字符串“foo”吗?puts"Yourapp'snameis"+app_name_bar 最佳答案 Rails.application.class将为您提供应用程序的全名(例如YourAppName::Application)。从那里您可以使用Rails.application.class.parent获取模块名称。 关于ruby-on-rails-应用程序的名称是否可以作为变量使用?,我们在StackOve
已经有一个问题回答了如何将“America/Los_Angeles”转换为“PacificTime(US&Canada)”。但是我想将“美国/太平洋”和其他过时的时区转换为RailsTimeZone。我无法在图书馆中找到任何可以帮助我完成此任务的东西。 最佳答案 来自RailsActiveSupport::TimeZonedocs:TheversionofTZInfobundledwithActiveSupportonlyincludesthedefinitionsnecessarytosupportthezonesdefinedb
我基本上来自Java背景并且努力理解Ruby中的模运算。(5%3)(-5%3)(5%-3)(-5%-3)Java中的上述操作产生,2个-22个-2但在Ruby中,相同的表达式会产生21个-1-2.Ruby在逻辑上有多擅长这个?模块操作在Ruby中是如何实现的?如果将同一个操作定义为一个web服务,两个服务如何匹配逻辑。 最佳答案 在Java中,模运算的结果与被除数的符号相同。在Ruby中,它与除数的符号相同。remainder()在Ruby中与被除数的符号相同。您可能还想引用modulooperation.
RSpec似乎按顺序匹配方法接收的消息。我不确定如何使以下代码工作:allow(a).toreceive(:f)expect(a).toreceive(:f).with(2)a.f(1)a.f(2)a.f(3)我问的原因是a.f的一些调用是由我的代码的上层控制的,所以我不能对这些方法调用添加期望。 最佳答案 RSpecspy是测试这种情况的一种方式。要监视一个方法,用allowstub,除了方法名称之外没有任何约束,调用该方法,然后expect确切的方法调用。例如:allow(a).toreceive(:f)a.f(2)a.f(1)
如thisquestion,当在其自己的赋值中使用未定义的局部变量时,它的计算结果为nil。x=x#=>nil但是当局部变量的名称与现有的方法名称冲突时,就比较棘手了。为什么下面的最后一个示例返回nil?{}.instance_eval{a=keys}#=>[]{}.instance_eval{keys=self.keys}#=>[]{}.instance_eval{keys=keys}#=>nil 最佳答案 在Ruby中,因为可以在没有显式接收器和括号的情况下调用方法,所以在局部变量引用和无接收器无参数方法调用之间存在语法歧义:f
A/ctohttp://wiki.nginx.org/CoreModule#usermaster进程曾经以root用户运行,是否可以以不同的用户运行nginxmaster进程? 最佳答案 只需以非root身份运行init脚本(即/etc/init.d/nginxstart),就可以用不同的用户运行nginxmaster进程。如果这真的是你想要做的,你将需要确保日志和pid目录(通常是/var/log/nginx&/var/run/nginx.pid)对该用户是可写的,并且您所有的listen调用都是针对大于1024的端口(因为绑定(
我有一个非常简单的Controller来管理我的Rails应用程序中的静态页面:classPagesController我怎样才能让View模板返回它自己的名字,这样我就可以做这样的事情:#pricing.html.erb#-->"Pricing"感谢您的帮助。 最佳答案 4.3RoutingParametersTheparamshashwillalwayscontainthe:controllerand:actionkeys,butyoushouldusethemethodscontroller_nameandaction_nam