Изменение порядка вывода мета-тегов Nodewords в заголовке


У меня есть запрос на изменение порядка, в котором мета-элементы печатаются в заголовке, с помощью Nodewords модуля contrib в D6. Более конкретно, свойство хотело бы, чтобы описание появлялось перед ключевыми словами (согласно их SEO-консультанту).

Возможно ли это? Бесплодный? Глупый?

Я искал до сих пор безрезультатно.

Author: kiamlaluno, 2011-06-14

3 answers

Вы можете реализовать hook_nodewords_tags_alter, который изменит отображение тегов. Он принимает function MODULENAME_nodewords_tags_alter(&$output_tags, $tag_options) {}.

Но почему вы хотите это сделать? Есть какие-нибудь идеи по SEO, которыми вы могли бы поделиться с нами?

 1
Author: tostinni, 2011-06-14 22:52:10

Я собираюсь добавить функцию hook_nodewords_tags_info_alter() в следующий выпуск 1.x: http://drupal.org/node/1730808

Дэмиен Маккенна Сопровождающий Nodewords

 1
Author: Damien McKenna, 2012-08-14 23:33:50

Если вы используете ветвь 6.x-2, вам необходимо реализовать hook_nodewords_tags_info_alter(), чтобы изменить индекс веса, содержащийся в массиве, возвращаемом реализациями hook_nodewords_tags_info().

Вес используется _nodewords_output_tags(), которая является функцией, отображающей вывод HTML для мета-тегов. Как только функция построит массив строк HTML для вывода, она сортирует массив, используя следующий код:

if (count($output)) {
  array_multisort($weights, $output);

  return implode("\n", $output);
}
else {
  return '';
} 

$weights является массивом, содержащим вес каждого выходного мета-тега.

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

_nodewords_output_tags() вызывается после реализаций hook_nodewords_tags_alter(); изменение порядка элементов массива в hook_nodewords_tags_alter() тогда не имеет эффект.

nodewords_load_all_includes('nodewords.hooks.inc');
drupal_alter('nodewords_tags', $output_tags, $options);
$output = _nodewords_output_tags($output_tags);
drupal_alter('nodewords_tags_output', $output, $options);
 0
Author: kiamlaluno, 2011-06-15 00:05:56