我有一个私人网站,里面有很多文章。位于页面底部的是该页面的作者,该页面通过自定义PHP内置到Wordpress中。
当运行站点测试时,它显示我有600个重复元素,因为页面上生成了所有作者段落。有没有一种方法可以让noindex在不打乱Google的情况下遵循特定的部分?
该部分的代码位于其自己的PHP文件中(见附件)。我知道我可以添加
如果我需要澄清任何事情,请告诉我!
@unless (App\is_tree('about-us'))
@set($author, "user_{$GLOBALS['post']->post_author}")
@set($reviewer, get_field('medical_reviewer'))
<footer class="ContentFooter">
<div class="ContentFooter__section">
<a class="UserLink" data-toggle="Author" role="button">
@if (get_field('author_photo', $author))
<img
class="UserLink__img"
src="{{ get_field('author_photo', $author)['sizes']['small'] }}"
alt="{{ __('Photo of', 'sage') }} {{ get_the_author() }}"
>
@endif
<span class="UserLink__info">
<span class="UserLink__label">{{ __('Author', 'sage') }}</span>
<span class="UserLink__name">{{ get_the_author() }}</span>
@if (get_field('author_title', $author))
<span class="UserLink__title">
{{ get_field('author_title', $author) }}
</span>
@endif
</span>
<span class="Icon Icon--UserLink Icon--plus"></span>
</a>
<div
class="ContentFooter__author-about ContentFooter__section__content"
id="Author"
data-toggler=".js-expanded"
>
{!! get_the_author_meta('description') !!}
</div>
</div>
@if ($reviewer)
<div class="ContentFooter__section">
<a class="UserLink" data-toggle="Reviewer" role="button">
@if (has_post_thumbnail($reviewer))
<img
class="UserLink__img"
src="{{ get_the_post_thumbnail_url($reviewer, 'thumbnail') }}"
alt="{{ __('Photo of', 'sage') }} {{ get_the_title($reviewer) }}"
>
@endif
<span class="UserLink__info">
<span class="UserLink__label">{{ __('Reviewer', 'sage') }}</span>
<span class="UserLink__name">{{ get_the_title($reviewer) }}</span>
<span class="UserLink__title">
{{ __('Last Reviewed:') }} {{ $medical_review_date }}
</span>
</span>
<span class="Icon Icon--UserLink Icon--plus"></span>
</a>
<div
class="ContentFooter__author-about ContentFooter__section__content"
id="Reviewer"
data-toggler=".js-expanded"
>
{!! get_the_content(null, false, $reviewer) !!}
</div>
</div>
@endif
@if (get_field('citations'))
<div class="ContentFooter__section">
<p class="ContentFooter__section__heading">
<a
data-toggle="Citations"
role="button"
>
{{ __('Sources', 'sage') }}
</a>
</p>
<div
class="ContentFooter__section__content ContentFooter__citations"
id="Citations"
data-toggler=".js-expanded"
>
{!! get_field('citations') !!}
</div>
</div>
@endif
@unless (is_singular('post'))
<div class="ContentFooter__nav">
@if ($GLOBALS['post']->post_parent)
{!! previous_post_link('%link', '
<span class="Icon Icon--angle-left"></span>
<span class="ContentFooter__nav__text-wrap">
<span class="ContentFooter__nav__label ContentFooter__nav__label--prev">
Previous Page
</span>
<span class="ContentFooter__nav__text">%title</span>
</span>
') !!}
@endif
{!! next_post_link('%link', '
<span class="ContentFooter__nav__text-wrap">
<span class="ContentFooter__nav__label ContentFooter__nav__label--next">
Next Page
</span>
<span class="ContentFooter__nav__text">%title</span>
</span>
<span class="Icon Icon--angle-right"></span>
') !!}
</div>
@endunless
</footer>
@endunless
TL;博士没有直接的方法告诉爬虫不要查看页面中的特定部分。你最好的机会就是不要向他们展示。
爬虫看到的是它们索引的内容。除非robots
meta设置为noindex
,否则现代机器人将尊重这一点,并停止为整个页面编制索引,正如您所知。
根据Chris的评论,使用google{on | off}
引用此线程-这根本不会影响您的google Web搜索。感谢John Mueller在此分享此信息。
我看到的唯一方式是,您的页面不是SPA,而是在响应客户端之前在服务器中处理内容。
因此,我建议最好是;
这些是我在应用中视为机器人的用户代理列表;
/((Google|Apple|bing|linkedin|duckduck|Yandex)bot|Yahoo|Baiduspider|Teoma|Slurp|google-structured-data-testing-tool)/i;
这是我用来从谷歌搜索结果中包含或排除关键词的一种做法。到目前为止,我遇到的最常见的情况是将其连接到Show more代码>或
显示较少代码>说明上的功能
。这就是我们希望机器人拾取其中所有内容的地方,但只给人类一些内容,我认为这与上面的情况相同。