我遇到了一个独特的情况,其中有几个页面在多个页面中“分页”(通过 WordPress“下一页”功能)。相同的内容分布在两个或多个页面上,如下所示:
http://mysite.com/mypage/
http://mysite.com/mypage/2
http://mysite.com/mypage/3
所以,页面本身有一个html页面标题标签<title>My Page</title>
,但由于它分布在多个页面上,我必须创建脚本来为每个页面添加唯一的 html 标题标签,以便让 google 为它们建立索引。
为此,我正在使用
$exploded = explode("/",$_SERVER['REQUEST_URI']);
if( is_numeric( $exploded[sizeof($exploded)-2] ) && !is_archive())
{
$title = $title." (Page ".$exploded[sizeof($exploded)-2].")";
}
这为每个“分页”页面创建了独特的页面标题,如下所示:
<title>mypage</title>
<title>mypage (page 2)</title>
<title>mypage (page 3)</title>
现在,我遇到了一种情况,我正在尝试稍微增强这一点,以用更具描述性的标题替换(第 X 页)。
因此,在我的标记中,当页面像这样分页时,我包含了一个 html“详细信息”元素,其中包含页面的目录,如下所示:
<details class="myEl" open="open">
<summary>In this article</summary>
<ol>
<li><a href="post-slug/">Introduction</a></li>
<li><a href="post-slug/2/" class="active">Title for the second page</a></li>
<li><a href="post-slug/3/">Title for the third page</a></li>
</ol>
</details>
为了尝试将目录标题复制到标题标签中(以替换“Page X”标题),我尝试使用这个 jQuery 脚本(它可以完美地更改“计算”的标题)来源):
<script>
jQuery(document).ready(function(){
var title = jQuery('.myEl').find('a.active').text();
jQuery('title').text(title);
});
</script>
但是,当我使用 Google Structured data testing tool 测试这些页面时,标题与“(Page X)”语法保持不变。就好像 Google 正在解析原始 html 源而不是计算源。
这个可以确认吗?
最佳答案
虽然一些爬虫能够运行 JS 并访问渲染的页面,但大多数都不能。因此,他们的信息都基于原始 HTML,并使用呈现的页面(如果可用)来检测黑帽 SEO 策略(隐藏关键字填充、链接更改、js 重定向等)。
如果您希望 Google(和其他搜索引擎)识别您改进后的标题,则必须在 HTML 中发送该标题,而不是在页面加载后对其进行修改。
关于php - 谷歌是否抓取/索引 "computed"或原始html源?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/17242368/