Задайте target = «_ blank» и ref = «nofollow, noindex, noreferrer» для всех ссылок. - PullRequest
0 голосов
/ 10 сентября 2018

По-видимому, существует способ, как настроить внешние ссылки на отсутствие подписки по умолчанию, чтобы избежать потери важного ссылочного сока из-за ссылок на внешние веб-сайты, которые были бы полезны, было бы действительно хорошо и сделать все намного проще, если бы мы автоматизировали это.

У меня много статей / постов в уценке, которые создаются при развертывании посредников.Трудно вручную добавить {: target = "_ blank" rel = "nofollow, noindex, noreferrer"} в конце каждой ссылки в тексте.

Я исследовал, что могу добавить

<meta name =”robots” content=”index”>

но я предполагаю, что должен быть более детальный подход - включить тег noFollow для отдельных ссылок.

Есть ли способ установить атрибуты ссылки в config.rb, чтобы он был установленкак ниже?

target="_blank" rel="nofollow, noindex, noreferrer"

1 Ответ

0 голосов
/ 10 сентября 2018

Хороший подход здесь - это создать свой собственный вспомогательный метод в app/helpers и использовать его в своих представлениях

Что-то вроде:

def link_to_new_window(name = nil, options = nil, html_options = {}, &block)
  html_options[:target] = '_blank'
  html_options[:rel] = 'nofollow, noindex, noreferrer'
  helper.link_to(name, options, html_options, &block)
end

UPD Я вижу, что вы используете middleman. У меня нет особого опыта, но вы можете украсить это почти любым вспомогательным методом

Обратите внимание на вызов helper, он позволит вам использовать помощники Rails, когда они явно не включены

Для украшения оригинального метода вы можете сделать:

module LinkToWithNewWindow
  def link_to(name = nil, options = nil, html_options = {}, &block)
    html_options[:target] = '_blank'
    html_options[:rel] = 'nofollow, noindex, noreferrer'
    super(name, options, html_options, &block)
  end
end
::ActionView::Helpers::UrlHelper.prepend LinkToWithNewWindow

Замените ActionView на помощника, которого вы используете при необходимости Но опять же, сделайте это на свой страх и риск

...