Исключить Specifi c Области от Crawler - PullRequest
0 голосов
/ 14 февраля 2020

Я хотел исключить некоторые указанные c области для сканирования Google et c. потому что это закон / конфиденциальность и получит штраф из-за длинного несвязанного текста. Поэтому я нашел решение с iframe . Я думаю, что лучший способ - создать конкретный маршрут c для моего желаемого элемента с htmlRoute или renderRoute и Disallow: /ROUTE/ в robots.txt. Или есть другой рекомендуемый способ решить эту проблему? Может быть, даже более элегантно?

Вот мой пример того кода, который я пробовал <!--googleoff: index-->, но, к сожалению, он больше не работает:

<footer class="page-footer">
  <div class="footer-copyright">
    <div class="footer-container">

      {%- if data.global.legal -%}
        © {{ data.global.creation_date }} {{ data.global.copyright }}
      {%- endif -%}

      {%- if data.global.privacy -%}
        <a class="grey-text text-lighten-4 right modal-trigger" href="#modal-1">privacy</a>
        <div id="modal-1" class="modal">
          <div class="modal-content text-darken-4">

            <!--googleoff: index-->

            <h4>Privacy</h4>
            {{ apos.area(data.global, 'privacy', {
              edit: false,
              widgets: { 'apostrophe-rich-text': { } }
            }) }}

            <!--googleon: index-->

          </div>
        </div>
      {%- endif -%}

      {%- if data.global.legal -%}
        <a class="grey-text text-lighten-4 right modal-trigger" href="#modal-2">Legal</a>
        <div id="modal-2" class="modal">
          <div class="modal-content text-darken-4">

            <!--googleoff: index-->

            <h4>Legal Info</h4>
            {{ apos.area(data.global, 'legal', {
              edit: false,
              widgets: { 'apostrophe-rich-text': { } }
            }) }}

            <!--googleon: index-->

          </div>
        </div>
      {%- endif -%}

    </div>
  </div>
</footer>

Я выбрал какой-то пример renderRoute функция из основных модулей апострофов и реализована в моем глобальном апострофе, теперь мой глобальный апостроф выглядит следующим образом:

...
{
  name: 'legal',
  label: 'Legal Info',
  help: 'Your adress, phone and other info here',
  type: 'area',
  options: {
    widgets: {
      'apostrophe-rich-text': {
        toolbar: [
          'Styles',
          'Bold',
          'Italic',
          'Blockquote',
          'BulletedList',
          'Link'
        ],
        controls: {
          movable: false,
          cloneable: false,
          removable: true,
          position: 'top-right'
        }
       }
     }
   }
},
construct: function(self, options) {
  self.renderRoute('post', 'iframe', function(req, res, next) {
    return next(null, {
      template: 'legal'
    });
  });
}

Но я все еще не получаю маршрут, подобный iframe, когда открываю легальный модал. Я думаю, что сделал что-то не так или не полностью понял эту функцию. Я был бы очень благодарен, если бы вы могли уточнить это. Может быть, это просто быстрый взгляд на вас ...

1 Ответ

1 голос
/ 18 февраля 2020

googleoff не для паблика c Google Crawler. Это строго для старого Google Search Appliance, который использовался для intr anet и был снят с производства.

Ваш iframe tacti c может работать. Простейший способ получить это - поместить контент в глобальные настройки, добавив область к схеме apostrophe-global, например:

// in lib/modules/apostrophe-global/index.js

module.exports = {
  addFields: [
    {
      name: 'legal',
      type: 'singleton',
      widgetType: 'apostrophe-rich-text',
      options: {
        toolbar: [ 'Bold', 'Italic', 'Link' ]
      }
    }
  ]
};

Затем вы можете использовать renderRoute, как вы предложили. и визуализировать шаблон, который выводит эту область из глобального do c.

...