Как оптимизировать внутреннюю структуру ссылок WordPress?
Как изменить ссылку тега more читать далее в WordPress
За вывод ссылки тега more отвечает PHP скрипт post-template.php, который расположен в папке /wp-includes, и поэтому все необходимые изменения необходимо вносить именно в него. Естественно после обновления движка, процедуру нужно будет повторить, собственно и не только по этому, я и решил всю эту инфу запостить.
И так, открываем скрипт post-template.php в редакторе, под Windows (например Notepad++)и ищем в нем строку:
if ( ! empty($more_link_text) )
у меня она оказалась 219
$output .= apply_filters( 'the_content_more_link', ' <a href="' . get_permalink() . "#more-{$post->ID}\"
находим
"#more-{$post->ID}\"
$output .= apply_filters( 'the_content_more_link', ' <a href="' . get_permalink() . "\"
и оставляем только слеш “\”
И теперь тег more будет ссылаться на основную страницу статьи. Следующим этапом необходимо заключить ссылку в nofollow. А для этого в ту же строку нужно добавить
rel=\"nofollow\" :$output .= apply_filters( 'the_content_more_link', ' <a href="' . get_permalink() . "\" class=\"more-link\" rel=\"nofollow\">$more_link_text</a>"
Вот так линк more становится более корректным по отношению к внутреннему СЕО.
И теперь осталось только убрать активную ссылку из название статьи при ее открытии.
Убираем ссылку из название статьи при ее открытии
В моей теме WordPress за вывод контента отдельной (статьи) страницы отвечает скрипт loop.php поэтому я нашел в нем следующие строки, и немного подкорректировал:
<?php if(is_single()): ?> <?php if($themify->unlink_title == "yes"): ?> <h1 class="post-title"><?php the_title(); ?></h1> <?php else: ?> <h1 class="post-title"><a href="<?php the_permalink() ?>"<?php the_title(); ?></a></h1> <?php endif; ?>
Т. е. просто удалил линк
<a href="<?php the_permalink(); ?>"
т. к. его присутствие на открытой странице совершенно не является обязательным, и только мешает нормальному поисковому продвижению и раскрутке сайта.