提问者:小点点

有没有一种方法可以让noindex跟随页面的某个部分来删除重复的文本?


我有一个私人网站,里面有很多文章。位于页面底部的是该页面的作者,该页面通过自定义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

共1个答案

匿名用户

TL;博士没有直接的方法告诉爬虫不要查看页面中的特定部分。你最好的机会就是不要向他们展示。

爬虫看到的是它们索引的内容。除非robotsmeta设置为noindex,否则现代机器人将尊重这一点,并停止为整个页面编制索引,正如您所知。

根据Chris的评论,使用google{on | off}引用此线程-这根本不会影响您的google Web搜索。感谢John Mueller在此分享此信息。

我看到的唯一方式是,您的页面不是SPA,而是在响应客户端之前在服务器中处理内容。

因此,我建议最好是;

  1. 跟踪是否是访问您页面的机器人-这里有一个答案,解释了如何在PHP中做到这一点。

这些是我在应用中视为机器人的用户代理列表;

/((Google|Apple|bing|linkedin|duckduck|Yandex)bot|Yahoo|Baiduspider|Teoma|Slurp|google-structured-data-testing-tool)/i;

这是我用来从谷歌搜索结果中包含或排除关键词的一种做法。到目前为止,我遇到的最常见的情况是将其连接到Show more显示较少说明上的功能。这就是我们希望机器人拾取其中所有内容的地方,但只给人类一些内容,我认为这与上面的情况相同。

相关问题