我正在尝试针对以下类型的页面优化我们的 SEO: http://www.skynet.be/actu-sports/dossier/1549514/ces-acteurs-morts-sur-le-tournage#slide=5
这些基本上是幻灯片放映,其中所有内容都可以在同一页面上使用,以避免页面重新加载,但只有活动幻灯片对用户可见。 Google 已将这些页面的所有内容(甚至是隐藏的内容)编入索引,但我们有两个问题:
我们可以通过在网址中使用#slide=x 来访问任何幻灯片,但 Google 无法理解这一点。结果是 Google 搜索页面中显示的结果始终采用第一张幻灯片的标题和描述。
如果我们使用带有 !#slideX 的 ajax 解决方案可以解决问题吗?我们希望避免页面重新加载,因此使用 ? + 参数看起来不是最好的选择。
看起来隐藏选项卡中的内容优先级较低。在实现所有内容都在同一页面上的幻灯片之前,我们为每张幻灯片提供单独的页面。自从我们将所有内容都放在同一页面下后,SEO 流量严重下降。
您知道我们可以采取哪些措施来提高 Google 隐藏内容的可见性吗?
每张幻灯片都“存储”在以下结构中:
<section class="info">
<div class="adv-copyright-bar"></div>
<h3 class="slide-title">SLIDESHOW TITLE</h3>
<div class="slide-description">SLIDESHOW DESCRIPTION</div>
</section>
活动幻灯片设置为 display:block,而非活动幻灯片设置为 display:none。 JS 控制行为(隐藏/显示),但是 JS 被缩小了,我无法真正将其从全局 JS 文件中取出。
SEO 建议很难提供,并且会不断变化,因此请对此持保留态度。
一个不错的选择可能是切换到仅 CSS 幻灯片(示例)。 这将使谷歌更容易识别内容和锚链接。 也许您可以将 JS 与仅 CSS 幻灯片结合起来以重现您当前的布局。 很大程度上取决于您可以并且愿意为此付出多少努力。
下面是一个概念验证,但风格很糟糕,说明了我的想法。 它使用
srcset
属性和 Picturefill 作为 polyfill 来获取响应式图像(仅适用于“Top Gun”)。 另一个好处是(锚定)URL 包含几乎任意的、SEO 优化的字符串。
<!DOCTYPE html>
<html>
<head>
<meta charset="utf-8" />
<title>Slideshow test</title>
<style type="text/css">
.slide-image {
display: inline;
}
.slide {
display: none;
}
.slide:target {
display: block;
}
.slide:target ~ section.slide {
display: none;
}
.slide:last-of-type {
display: block;
}
</style>
<body>
<ul class="thumbnails">
<li class="slide-image">
<a href="#Brandon-Lee">
<img alt="Brandon Lee"
title="Brandon Lee"
class="preview"
src="http://images-mds.staticskynet.be/NewsFolder/w-132_h-75/37268_155.jpg">
</a>
</li>
<li class="slide-image">
<a href="#Tel-père,-tel-fils">
<img alt="Tel père, tel fils"
title="Tel père, tel fils"
class="preview"
src="http://images-mds.staticskynet.be/NewsFolder/w-132_h-75/37269_155.jpg">
</a>
</li>
<li class="slide-image">
<a href="#Top-Gun">
<img alt="Top Gun"
title="Top Gun"
class="preview"
src="http://images-mds.staticskynet.be/NewsFolder/w-132_h-75/37270_155.jpg">
</a>
</li>
</ul>
<div class="slides">
<section id="Brandon-Lee" class="slide info">
<img src="http://images-mds.staticskynet.be/NewsFolder/w-600_h-450_s-1/37268_155.jpg"/>
<div class="adv-copyright-bar">
<span class="copyright">© Miramax Films</span>
</div>
<h3 class="slide-title">Brandon Lee</h3>
<div class="slide-description">Le fils de Bruce Lee a été abattu sur le
plateau de « The Crow »…</div>
</section>
<section id="Tel-père,-tel-fils" class="slide info">
<img src="http://images-mds.staticskynet.be/NewsFolder/w-600_h-450_s-1/37269_155.jpg"/>
<div class="adv-copyright-bar">
<span class="copyright">© Giga Paitchadze</span>
</div>
<h3 class="slide-title">Tel père, tel fils</h3>
<div class="slide-description">Le destin n'a pas été plus souriant pour
Bruce Lee.Le 10 mai 1973, il perd …</div>
</section>
<section id="Top-Gun" class="slide info">
<img src="http://images-mds.staticskynet.be/NewsFolder/w-260_h-260_s-1/37270_155.jpg"
srcset="http://images-mds.staticskynet.be/NewsFolder/w-335_h-335_s-1/37270_155.jpg 400w,
http://images-mds.staticskynet.be/NewsFolder/w-600_h-450_s-1/37270_155.jpg 600w"
sizes="(min-width: 600px) 600px,
(min-width: 400px) 400px,
80vw"/>
<div class="adv-copyright-bar">
<span class="copyright">© Paramount Pictures</span>
</div>
<h3 class="slide-title">Top Gun</h3>
<div class="slide-description">Ce n'est pas un hasard si le célèbre « Top
Gun » est dédié à Art Scholl.</div>
</section>
</div>
<script src="https://cdnjs.cloudflare.com/ajax/libs/picturefill/2.3.1/picturefill.min.js"
type="text/javascript">
</script>
经过一番研究,我发现了一些可能是不错的选择: https://moz.com/blog/create-crawlable-link-friend-ajax-websites-using-pushstate
它基于 ajax,但提出了一种干净 URL 的解决方案。我会尝试一下看看是否有效。
谢谢 洛朗