Хак убирающий дублирование в теге more

Убираем в теге more WordPess добавочный параметр more-$id, который для поисковиков является новой ссылкой или дублем на один и тот-же текст.
Именованный анкор не является дублирующей ссылкой для контента, читайте в комментариях.

Для особо сомневающихся и перестраховщиков, воспользуйтесь данным хаком.

Находим в файл wp-includespost-template.php

Открываем его в редакторе и находим примерно в строке 221, код:

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

И меняем его на:

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

Все, теперь ваша ссылка тега more будет выглядеть как в заголовке публикации, а не как еще одна ссылка на одну и туже публикацию.

Помощь по разблокировке
Для того чтобы снять блок и увидеть скрытое содержание, подпишитесь на RSS канал блога.
Кликните по иконке или введите свой e-mail ниже:

В программе чтения RSS, или в пришедшем письме, в подвале каждой статьи, публикуется код разблокировки блока. Пользуйтесь кодом только из последних опубликованных в RSS статей блога.

В статьях, получаемых Вами через RSS, содержание всегда открыто.
Нашел ошибку в тексте? Выдели ее мышкой и нажми Система Orphus
Теги статьи: хак, Хитрости в коде
СЛЕДИТЕ ЗА НОВОСТЯМИ Подписаться на мой Twitter
Автор: Олег МедынскийРубрика: Хитрости в коде
Разрешается перепечатка статьи с обязательным указанием открытой ссылки на источник.

КОММЕНТАРИИ К СТАТЬЕ

  1. 1.1

    Хороший совет, спасибо. Для блога то, что нужно.

  2. 1.2

    а что, разве поисковики именованный анкор (#more-xxx) посчитают новым URL-ом?
    кажется нет, или я ошибаюсь ?

    • 1.3

      Ссылка имеет другой вид чем ссылка поста. Для поисковиков это 2е разные ссылки. А т.к. 2е разные ссылки ведут на один и тотже контент в одном ресурсе это дубль. Возможно поисковики знают о теге more. Но лучше перестраховаться

  3. 1.4

    хм, вообще-то, всегда делал именно так (просто был свой дистриб ВП со всеми нужными плагинами и хаками, включая и этот), уже не помню как именно попал на твой блог с этой статьёй, просто прочёл, вспомнил знаковые пассы… и задумался – стоит ли замарачиваться или нет, в общем:
    если погуглить на данную тему, можно встретить массу постов советующих проделывать эту манипуляцию, однако, там просто репринты и копипасты, без анализа того, что получается в реальности и необходимости этих действий… кароче, поправь если ошибаюсь – ф-ция get_permalink() вернёт УРЛ на конкретную страницу (не важно, используется ли реврайт или нет) например, для этой “виртуальной” страницы, ф-ция вернёт
    http://www.wpbloging.com/hack/xak-ubirayushhij-dublirovanie-v-tege-more.html
    затем, конкатенация . “#more-$id\” сформирует урл вида

    http://www.wpbloging.com/hack/xak-ubirayushhij-dublirovanie-v-tege-more.html#more-$id

    то есть – именованный анкор (#more aka named link (C) W3C http://www.w3.org/TR/REC-html40/struct/links.html#h-12.1.3 ), которые поисковики прекрасно понимают )

    • 1.5

      Да, я в курсе о том что эта тема мусолилась блоггерами. Приводились разные способы избавления от этого именованного анкора. Зачем? Затем, что никто не уверен что поисковики действительно его понимают. В то время когда писалась эта статья был бум на избавление всего что создает дубли. В моей статье описан всего лишь один из способов удаления этого анкора, причем не самый хороший. Т.к. при обновлении WordPress все станет как было. Я считаю что ты прав, но считают ли так поисковики не знаю. Я думаю, что для того чтобы убедиться в безопасности такой ссылки, нужно задать вопрос самому Google. И честно говоря, таких ссылок с именованными анкорами в WordPress много, так что думаю можно не заморачиваться.

  4. 1.6

    в общем, тема актуальна для самого (стоит ли перелапачивать половину сырцов ВП после каждого апдейда или нет) посему написал Платонам (думаю, если яша правильно обрабатывает этот анкор, Гугл – тем более), ну… когда ответят – отпишусь )
    хотя, могу на 99% допускать. что поисковики понимают этот вид линки, и не считают её за отдельный URL (URI – ессно. но не УРЛ)

    • 1.7

      Удивляюсь, почему идея задать вопрос поисковикам мне не пришла раньше. Молодец. Обязательно отпишись по результатам.

  5. 1.8

    Прописал код по примеру.
    Parse error: syntax error, unexpected ‘;’ in /home/u55447/mykahovkaru/blog/wp-includes/post-template.php on line 226
    Теперь вот такую надпись получаю.

    • 1.9

      Это проблема с синтаксисом. Проверьте все ли кавычки на месте и в конце строки должно стоять ‘;’ без кавычек

  6. 1.10

    Все нормально, почти. Решил поставить блог на основной домен. Был под домене. Но тока у меня вопрос, а если тег является дублем, это очень плохо*?

    • 1.11

      Честно говоря, я сейчас не считаю что этот анкор создает дубли. Но можно подождать ответа Платона.
      Если есть ссылки-дубли на один и тот-же контент, поисковики могут выбрать для индекса одну из ссылок, не факт что основную, или забанить все.

  7. 1.12

    Платон это кто?
    Тока начинаю познавать азы ведения блога. Решил начать с оптимизации.

  8. 1.13

    В общем, странно, но от Яндекса до сих пор никакого ответа, поэтому, решил спросить непосредственно здесь: http://www.google.com/support/forum/p/webmasters/thread?tid=33b23ae4ea4447a4&hl=ru
    ну собсно, как и следовало ожидать, гугле (да и любой поисковик, скорее-всего включая что-то типа экзотики го-го и т.д.) правильно работают с именованными якорями, то есть не считают их за новый урл. В принципе то я и не сомневался, так как кто-кто но СЕ RFC должны имплементировать совершенно корректно, тем более такие как гугле и йандыкс.

    зы: по вышеприведённой линке на форуме гугла, я конечно надеялся получить официальный ответ представителя компании (есть там такая девушка Оксана ;) но в принципе отписавшийся там человек лишный раз подтвердил мои соображения по этому поводу. Кто до сих пор считает, что гугле будет named anchors счиатть отдельными линками, которые нужно индексировать – просто проследите за темой на форуме гугла, дл себя же решил по этому поводу больше не замарачиваться…
    ну если что от йандыкса появится – отпишусь. удачи

    • 1.14

      Спасибо большое. Платон обычно отвечает в течении 2х недель. Думаю его ответ будет аналогичен гуглу. Тему можно закрывать.

  9.  
  1.  

Ваши вопросы, замечания, пожелания и предложения, по работе сайта, пишите на E-mail.
УВАЖАЕМЫЙ КОММЕНТАТОР!

Перед тем, как комментировать статью, прочтите правила поведения комментатора. Только после согласия с изложенными ниже правилами, Вы можете создавать комментарии на этом сайте.
  • ПРАВИЛА ЗАПОЛНЕНИЯ ФОРМЫ:
    1. Поле Имя - обязательное поле. Введите ваше Имя или Ник, по которому к вам будут обращаться другие комментаторы (английские или русские буквы и цифры);
    2. Поле E-mail - обязательное поле. Введите ваш электронный почтовый адрес для идентивикации вас при последующем комментировании (английские маленькие буквы и цифры);
    3. Поле Сайт - не обязательное поле. Если вы желаете чтобы ваше Имя или Ник стали ссылкой в комментарии, введите адрес вашего сайта.;
    4. Согласие с правилами комментирования - обязательная метка. Если Вы согласны с правилами отметьте эту метку для продолжения комментирования;
  • ПРИВЕТСТВУЕТСЯ:
    1. Конструктивная и аргументированная точка зрения на тему материала;
    2. Размещение своих отзывов, вопросов, предложений и т.д. по теме статьи;
    3. Уважительное и вежливое общение, как с автором статьи и блога, так и с остальными комментаторами и посетителями блога;
    4. Размещение не более 2х ссылок на сайты, которые дополняют или наиболее раскрывают материал статьи;
  • ЗАПРЕЩАЕТСЯ:
    1. Использовать в комментариях ненормативную лексику, мат и любые другие грубые формы общения;
    2. Хамить другим комментаторам или автору блога;
    3. Выражать свои негативные эмоции (гнев, раздражение, нетерпение, агрессия и т.п.)
    4. Размещать ссылки рекламного характера на какие-либо продающие сайты и т.п.;
    5. Писать СПАМ или ФЛУД (писать сообщения, которые не имеют никакого отношения к теме обсуждаемого материала статьи или для получения обратной ссылки)
  • АВТОР БЛОГА ИМЕЕТ ПРАВО:
    1. Удалять или редактировать любые комментарии без объяснения причин тем, кто писал эти комментарии.
    2. Заблокировать тех комментаторов, которые систематически нарушали данные правила комментирования.
    3. Отвечать на те комментарии, которые автору показались наиболее разумными и интересными.