Тег More в WP и noindex

P
На сайте с 22.09.2007
Offline
53
964

Подскажите как закрыть от индексации страницы wp вида http://domen.ru/statiya/#more-12

Альтернативный заработок! Присоединяйтесь! (http://prc.goldline.pro)
[umka]
На сайте с 25.05.2008
Offline
456
#1

Так ссылки с анкорами и так не индексируются (если вы об этом).

Лог в помощь!
[Удален]
#2

а если на сайт была проставлена ссылка с таким анкором она вес передаст?

D
На сайте с 01.04.2009
Offline
97
#3

Вес передаст. А в индекс такая страница никогда не войдет, потому что всё что после # не передается серверу, хотя это конечно не причина неиндексации, но всё же

M2
На сайте с 29.07.2010
Offline
47
#4

Так может проще #more убрать?

inseonight
На сайте с 10.10.2008
Offline
170
#5

Что бы убрать #more-id

в файле

/wp-includes/post-template.php строку 220:

$output .= apply_filters( 'the_content_more_link', ' <a href="' . get_permalink() . "#more-{$post->ID}\" class=\"more-link\">$more_link_text</a>", $more_link_text );

заменить на

$output .= apply_filters( 'the_content_more_link', ' <a href="' . get_permalink() . "\" class=\"more-link\">$more_link_text</a>", $more_link_text );

Занимаюсь разработкой и продвижением интернет магазинов. Внедряю аналитику и консультирую по seo.
P
На сайте с 22.09.2007
Offline
53
#6
inseonight:
Что бы убрать #more-id

в файле
/wp-includes/post-template.php строку 220:

$output .= apply_filters( 'the_content_more_link', ' <a href="' . get_permalink() . "#more-{$post->ID}\" class=\"more-link\">$more_link_text</a>", $more_link_text );

заменить на

$output .= apply_filters( 'the_content_more_link', ' <a href="' . get_permalink() . "\" class=\"more-link\">$more_link_text</a>", $more_link_text );

Огроменное спасибо, inseonight!

Исчерпывающий, четкий ответ и естественно помогло!

Тема больше не актуальна.

herbst
На сайте с 16.07.2010
Offline
70
#7

inseonight, да вы шутите? Эта задача легко решается в шаблоне, без правок кода движка.

Я заране прошу прощения, если неправильно понял задачу, но вот подходящее решение на мой взгляд:

Там, где цикл WP, в котором выводится ссылка more, нужно сделать вот что:

1. Функция the_content (ну, или get_the_content) принимает один аргумент, если сделать его равным пустой строке, то ссылка "more" не будет автоматически выводиться. Таким образом можно настроить вывод ссылки на полную запись самостоятельно.

2. Если следовать предыдущему пункту, то ссылка выводиться вовсе не будет. Чтобы её вывести можно просто получить ссылку на запись посредством функции WP с именем the_permalink, которая выводит ссылку на статью. А там уж nofollow\noindex, любая стилизация и любой анкор ссылки итд

Таким образом, если у вас есть цикл WP такого вида

<?php if ( have_posts() ) : while ( have_posts() ) : the_post(); ?>

<h2><?php the_title(); ?></h2>

<?php the_content() ;?>

<?php endwhile; else: ?>
<p><?php _e('Не найдено информации'); ?></p>
<?php endif; ?>

То сменить ссылку можно примерно так:

<?php if ( have_posts() ) : while ( have_posts() ) : the_post(); ?>

<h2><?php the_title(); ?></h2>

<?php the_content('') ;?>

<a href="<?php the_permalink(); ?>" rel="nofollow" class="моя ссылка">Мой извращенный more</a>

<?php endwhile; else: ?>
<p><?php _e('Не найдено информации'); ?></p>
<?php endif; ?>
H
На сайте с 13.06.2011
Offline
9
#8

herbst, ваш вариант тоже несколько некорректен в таком случае

inseonight, да, работает все отлично конечно, но если ТС пожелает вдруг обновить WordPress, то ему снова придется править этот файл

Выход тут такой, те же фильтры можно запихнуть, например, и в functions.php вашего шаблона, таким образом решается проблема обновления WP :)

Слово не воробей. Все не воробей, кроме воробья!
Fruit
На сайте с 15.07.2008
Offline
166
#9
Haubergeon:
herbst, ваш вариант тоже несколько некорректен в таком случае

Он самый правильный вариант предложил. Курите мануалы.

Авторизуйтесь или зарегистрируйтесь, чтобы оставить комментарий