Столкнулся с такой проблемой, хотя это не проблема, а просто неудобство для меня – наличие префикса #more в URL-статьи, когда нажимаем на ссылку Читать далее. На самом деле, наличие такие ссылок на Вашем сайте, не является дублированием и поисковые системы, это прекрасно понимают.
Но решил я проверить такую ссылку в Инструменте проверки структурированных данных от Google и тут же мне выдало следующее:
То есть, якобы Google не находит такой страницы, решил убрать префикс #more, в данной ссылки и получил следующее:
Как видите, результат на лицо. Меня это немного смутило, почему с префиксом страницы открывается, а вот Google не может ее найти. Поэтому я решил исправить данную ситуацию в своем WordPress. Для этого мне понадобился файл post-template.php, который находится в папке wp-includes, а также файл functions.php, который находится в папке Вашей темы.
Затем открываем файл post-template.php и находим там следующую строчку:
И в ней, необходимо убрать префикс #more-{$post->ID}, то есть, грубо говоря, вот этот код:
$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 );
Все, затем сохраняем изменения и заменяем данный файл на Вашем сервере. После чего открываем файл functions.php и поиском находим строки, которые содержат префикс #more. Они у Вас должны быть, почти в любой теме они встречаются. Они могут встречаться в данном файле разное количество раз, у меня, например, 3 раза встречался. Поэтому необходимо в каждой строчке, где данный префикс встречается (в файле functions.php) удалить его, обычно они находятся в таких строках:
Здесь необходимо код:
$excerpt .= "... <a href=\"". get_permalink() . "#more-$id\" class=\"more-link\">$more_link_text</a>";
Заменить на:
$excerpt .= "... <a href=\"". get_permalink() . "\" class=\"more-link\">$more_link_text</a>";
И так с каждым, что встречается в файле functions.php. После чего также заменяем данный файл на сервере и переходим на сайт и любуемся.
Внимание! Сделайте копии файлов functions.php и post-template.php
Видите все как просто, да и больше на человеческий вид похоже, я вообще не понимаю, зачем эти приставки делать к каждой записи. Удачи!
Если Вам понравилась статья, то подпишитесь на обновления!
Также советуем почитать на PressDev.RU
Короткая ссылка: http://pressdev.ru/?p=1469