We launched new forums in March 2019—join us there. In a hurry for help with your website? Get Help Now!
    • 30593
    • 119 Posts
    Доброго времени суток!

    Хочу заключить некоторые исходящие ссылки в noindex в опубликованном документе.
    Но если я в содержимом странички через html редактор добавляю к каждой ссылке <noindex></noindex>, то после сохранения странички, я не вижу добавленных тегов noindex!

    Как можно добавить этот тег? И как полностью запретить индексацию всех внешних ссылок?
      • 9670
      • 48 Posts
      Пути:
      Первый. Не пользоваться TinyMCE.

      Второй. Написать плагин, поставить галочку на событие OnParseDocument, в плагине написать что-то типа
      global $content;
      $e = &$modx->Event;
      
      switch($e->name) {
         case 'OnParseDocument':
            $content = preg_replace("|<a.*rel=\"nofollow\.*>.*<\/a>"|iu", "<noindex>$0</noindex>", $content);
            break;
      }
      


      , а для ссылок добавить rel="nofollow", тем самым убив двух зайцев (вид <noindex><a href="" rel="nofollow"></noindex>).

      Внимание! регулярка написана в таком виде исключительно с целью наглядности, а не работоспособности, для рабочей версии требуется ее серьезное усложнение, что сделает ее в общем виде трудночитаемой.

      Третий. Написать сниппет типа [[link-unindexer?link=`someLink.html` &alt=`Робот, сюда не ходи`]] и втыкать его вместо ссылки
      Сам сниппет link-unindexer
      <?php
      $output = "";
      $output = "<noindex><a href=\"".$link."\" title=\"".$alt."\" rel=\"nofollow\">".$alt."</a></noindex>";
      return $output;
      ?>
      


      Есть еще четвертый..двадцатый варинты, но пути, мне кажется, должны быть понятны.
        • 29487
        • 385 Posts
        в файле assets/plugins/tinymceNNNN/xconfig.js :
        var tinymce_extended_valid_elements = "noindex";
          • 30593
          • 119 Posts
          Quote from: Temus at Oct 23, 2009, 08:05 AM

          в файле assets/plugins/tinymceNNNN/xconfig.js :
          var tinymce_extended_valid_elements = "noindex";

          таким образом ссылкам автоматом присваевается noindex?
          как это действует? посмотрел код - ничего не поменялось(
            • 30593
            • 119 Posts
            Quote from: Fil at Oct 23, 2009, 06:52 AM

            Третий. Написать сниппет типа [[link-unindexer?link=`someLink.html` &alt=`Робот, сюда не ходи`]] и втыкать его вместо ссылки
            Сам сниппет link-unindexer
            <?php
            $output = "";
            $output = "<noindex><a href=\"".$link."\" title=\"".$alt."\" rel=\"nofollow\">".$alt."</a></noindex>";
            return $output;
            ?>
            


            А вот за этот сниппет спасибо! Работает как надо!
              • 29487
              • 385 Posts
              Quote from: Trent at Oct 23, 2009, 09:37 AM

              таким образом ссылкам автоматом присваевается noindex?

              нет, редактор не будет вырезать noindex