草庐IT

HTML5 <a> 标签作为容器对 SEO 不利?

coder 2024-02-27 原文

我正在尝试使用 <a> HTML5 中的标签更多地作为容器,因为此标签现在可以将 block 元素作为子元素,例如:

之前(有效的 XHTML 1.1)

<div>
    <h3>
      <a href="page.html" title="article title">article title</a>
    </h3>
    <p>
      text
    </p>
    <a href="page.html" title="article title" >
      <img alt="image">
    </a>
    <a href="page.html" title="article title" >
      read more
    </a>
</div>

在(有效的 HTML5)之后

<a href="page.html" title="article title" >
    <h3>
      article title
    </h3>
    <p>
      text
    </p>
    <img alt="image">
    <div>
      read more
    </div>
</a>

这种新的标记方式对 SEO 有什么影响吗?

最佳答案

好的,从您的问题中删除纯粹的语义(在我看来,这确实对决定实现您选择的方法产生重大影响)并专注于纯粹的“SEO”值(value)和影响:

第一个示例需要更多限定,就好像我们将您的示例视为文字一样,那么您将链接到同一个 page.html 3 次。谷歌(具体)only takes the link anchor value from the 1st link to any page它遇到了,所以 - 第一个示例的值仅从第一个链接中提取。第二个链接(使用带有 ALT 属性的 IMG 标签作为 anchor 值)和第三个链接使用 read more 作为 anchor 值被有效地“忽略”。重要的是, 使用其他信号来补充第一个链接的真实预期值,例如周围的文本、图像等。

第二个示例 (HTML5),将所有语义/周围内容包装起来,形成有效的“ anchor ”值,搜索引擎将从中得出链接的预期含义,然后得出目标页面的含义的链接。

使用 anchor 标记作为包含额外强调(H 标记)、图像和附加 div 的内容的包装器只会增加搜索的难度引擎必须破译链接的预期含义,以便将其与目标页面相关联。

搜索引擎(主要是 Google)正在不断提高其抓取能力,以实现更好的 HTML 算法解析和处理。除了强调信号(非常低),Google mostly ignores the mark-up .异常(exception)当然是链接 - 因此通过提供关于链接的 anchor 文本的明确信号来努力简化解析/处理是最安全的前进方式。期望他们理解 HTML3、HTML4 和 HTML5 的所有差异,以及它们的所有过渡性、严格性和其他变体,可能期望过高。

长话短说 有可能,但仅限于真正的链接值(value)。

关于HTML5 <a> 标签作为容器对 SEO 不利?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/8383846/

有关HTML5 <a> 标签作为容器对 SEO 不利?的更多相关文章

  1. ruby - 使用 ruby​​ 将 HTML 转换为纯文本并维护结构/格式 - 2

    我想将html转换为纯文本。不过,我不想只删除标签,我想智能地保留尽可能多的格式。为插入换行符标签,检测段落并格式化它们等。输入非常简单,通常是格式良好的html(不是整个文档,只是一堆内容,通常没有anchor或图像)。我可以将几个正则表达式放在一起,让我达到80%,但我认为可能有一些现有的解决方案更智能。 最佳答案 首先,不要尝试为此使用正则表达式。很有可能你会想出一个脆弱/脆弱的解决方案,它会随着HTML的变化而崩溃,或者很难管理和维护。您可以使用Nokogiri快速解析HTML并提取文本:require'nokogiri'h

  2. ruby-on-rails - 如何从 format.xml 中删除 <hash></hash> - 2

    我有一个对象has_many应呈现为xml的子对象。这不是问题。我的问题是我创建了一个Hash包含此数据,就像解析器需要它一样。但是rails自动将整个文件包含在.........我需要摆脱type="array"和我该如何处理?我没有在文档中找到任何内容。 最佳答案 我遇到了同样的问题;这是我的XML:我在用这个:entries.to_xml将散列数据转换为XML,但这会将条目的数据包装到中所以我修改了:entries.to_xml(root:"Contacts")但这仍然将转换后的XML包装在“联系人”中,将我的XML代码修改为

  3. ruby - 在院子里用@param 标签警告 - 2

    我试图使用yard记录一些Ruby代码,尽管我所做的正是所描述的here或here#@param[Integer]thenumberoftrials(>=0)#@param[Float]successprobabilityineachtrialdefinitialize(n,p)#initialize...end虽然我仍然得到这个奇怪的错误@paramtaghasunknownparametername:the@paramtaghasunknownparametername:success然后生成的html看起来很奇怪。我称yard为:$yarddoc-mmarkdown我做错了什么?

  4. ruby - RSpec - 使用测试替身作为 block 参数 - 2

    我有一些Ruby代码,如下所示:Something.createdo|x|x.foo=barend我想编写一个测试,它使用double代替block参数x,这样我就可以调用:x_double.should_receive(:foo).with("whatever").这可能吗? 最佳答案 specify'something'dox=doublex.should_receive(:foo=).with("whatever")Something.should_receive(:create).and_yield(x)#callthere

  5. ruby-on-rails - Rails HTML 请求渲染 JSON - 2

    在我的Controller中,我通过以下方式在我的index方法中支持HTML和JSON:respond_todo|format|format.htmlformat.json{renderjson:@user}end在浏览器中拉起它时,它会自然地以HTML呈现。但是,当我对/user资源进行内容类型为application/json的curl调用时(因为它是索引方法),我仍然将HTML作为响应。如何获取JSON作为响应?我还需要说明什么? 最佳答案 您应该将.json附加到请求的url,提供的格式在routes.rb的路径中定义。这

  6. ruby-on-rails - 使用 Sublime Text 3 突出显示 HTML 背景语法中的 ERB? - 2

    所以我在关注Railscast,我注意到在html.erb文件中,ruby代码有一个微弱的背景高亮效果,以区别于其他代码HTML文档。我知道Ryan使用TextMate。我正在使用SublimeText3。我怎样才能达到同样的效果?谢谢! 最佳答案 为SublimeText安装ERB包。假设您安装了SublimeText包管理器*,只需点击cmd+shift+P即可获得命令菜单,然后键入installpackage并选择PackageControl:InstallPackage获取包管理器菜单。在该菜单中,键入ERB并在看到包时选择

  7. ruby-on-rails - rspec should have_select ('cars' , :options => ['volvo' , 'saab' ] 不工作 - 2

    关闭。这个问题需要detailsorclarity.它目前不接受答案。想改进这个问题吗?通过editingthispost添加细节并澄清问题.关闭8年前。Improvethisquestion在首页我有:汽车:VolvoSaabMercedesAudistatic_pages_spec.rb中的测试代码:it"shouldhavetherightselect"dovisithome_pathit{shouldhave_select('cars',:options=>['volvo','saab','mercedes','audi'])}end响应是rspec./spec/request

  8. ruby-on-rails - Nokogiri:使用 XPath 搜索 <div> - 2

    我使用Nokogiri(Rubygem)css搜索寻找某些在我的html里面。看起来Nokogiri的css搜索不喜欢正则表达式。我想切换到Nokogiri的xpath搜索,因为这似乎支持搜索字符串中的正则表达式。如何在xpath搜索中实现下面提到的(伪)css搜索?require'rubygems'require'nokogiri'value=Nokogiri::HTML.parse(ABBlaCD3"HTML_END#my_blockisgivenmy_bl="1"#my_eqcorrespondstothisregexmy_eq="\/[0-9]+\/"#FIXMEThefoll

  9. ruby-on-rails - Ruby url 到 html 链接转换 - 2

    我正在使用Rails构建一个简单的聊天应用程序。当用户输入url时,我希望将其输出为html链接(即“url”)。我想知道在Ruby中是否有任何库或众所周知的方法可以做到这一点。如果没有,我有一些不错的正则表达式示例代码可以使用... 最佳答案 查看auto_linkRails提供的辅助方法。这会将所有URL和电子邮件地址变成可点击的链接(htmlanchor标记)。这是文档中的代码示例。auto_link("Gotohttp://www.rubyonrails.organdsayhellotodavid@loudthinking.

  10. ruby - 字符串文字中的转义状态作为 `String#tr` 的参数 - 2

    对于作为String#tr参数的单引号字符串文字中反斜杠的转义状态,我觉得有些神秘。你能解释一下下面三个例子之间的对比吗?我特别不明白第二个。为了避免复杂化,我在这里使用了'd',在双引号中转义时不会改变含义("\d"="d")。'\\'.tr('\\','x')#=>"x"'\\'.tr('\\d','x')#=>"\\"'\\'.tr('\\\d','x')#=>"x" 最佳答案 在tr中转义tr的第一个参数非常类似于正则表达式中的括号字符分组。您可以在表达式的开头使用^来否定匹配(替换任何不匹配的内容)并使用例如a-f来匹配一

随机推荐