Когда комментариев более 200 в Blogger

С неожиданными неприятностями я столкнулась, когда количество комментариев к одному из постов http://shpargalkablog.ru/2011/02/sotsialnye-knopki-dlya-blogger.html превысило 200 записей. Как оказалось отзывы, начиная с 201-го переходят на вторую динамическую страницу вида
http://shpargalkablog.ru/2011/02/sotsialnye-knopki-dlya-blogger.html?commentPage=2
В чем же у меня возникли затруднения:
  1. Яндекс проиндексировал кучу страниц и дошел уже как минимум до
    http://shpargalkablog.ru/2011/02/sotsialnye-knopki-dlya-blogger.html?commentPage=744
    Эту красоту я увидела не сразу, а поэтому рекомендую изменения, о которых я расскажу ниже, внедрить в шаблон сейчас и забыть до того момента, когда количество отзывов пересечёт отметку 400.
  2. Хотелось бы улучшить внешний вид.

Ссылки на динамические страницы с комментариями

Наконец-то, поняла, что это за код (см. "Шаблон"-кнопка "Изменить HTML"-галочка "Расширить шаблоны виджета")
<b:if cond='data:post.commentPagingRequired'>
        <span class='paging-control-container'>
          <a expr:class='data:post.oldLinkClass' expr:href='data:post.oldestLinkUrl'><data:post.oldestLinkText/></a>
          &#160;
          <a expr:class='data:post.oldLinkClass' expr:href='data:post.olderLinkUrl'><data:post.olderLinkText/></a>
          &#160;
          <data:post.commentRangeText/>
          &#160;
          <a expr:class='data:post.newLinkClass' expr:href='data:post.newerLinkUrl'><data:post.newerLinkText/></a>
          &#160;
          <a expr:class='data:post.newLinkClass' expr:href='data:post.newestLinkUrl'><data:post.newestLinkText/></a>
        </span>
      </b:if>
Это как раз и есть ссылки, по которым происходит индексация. Код встречается два раза (для поиска применяем сочетание CTRL+F): над и под комментариями. Его и будем изменять в первую очередь, а именно предоставим только одну динамическую страницу (вариант 1)
<b:if cond='data:post.commentPagingRequired'>
        <span class='paging-control-container'>
          <a expr:class='data:post.oldLinkClass' expr:href='data:post.url'><data:post.olderLinkText/></a>
          &#160;
          <data:post.commentRangeText/>
          &#160;
          <a expr:class='data:post.newLinkClass' expr:href='data:post.url + &quot;?commentPage=2&quot;'><data:post.newerLinkText/></a>
        </span>
      </b:if>
ссылку на которую можем оформить через скрипт (вариант 2)
<b:if cond='data:post.commentPagingRequired'>
        <span class='paging-control-container'>
          <a expr:class='data:post.oldLinkClass' id='s' name='s' rel='nofollow' title='комментарии 0-200'><data:post.olderLinkText/></a>. <script type='text/javascript'>document.getElementById(&quot;s&quot;).setAttribute(&quot;href&quot;,&quot;<data:post.url/>&quot;);</script>
          &#160;
          <data:post.commentRangeText/>
          &#160;
          <a expr:class='data:post.newLinkClass' id='n' name='n' rel='nofollow' title='комментарии 200-400'><data:post.newerLinkText/></a>. <script type='text/javascript'>document.getElementById(&quot;n&quot;).setAttribute(&quot;href&quot;,&quot;<data:post.url/>?commentPage=2&quot;);</script>
        </span>
      </b:if>
, где s и n не должны повторяться. То есть во втором аналогичном коде нужно использовать другие идентификаторы.

Выбирайте вариант на своё усмотрение.

Внешний вид ссылок

Я изменила специальный символ > на ► и прописала стили в первом коде, увеличив шрифт текста. В итоге получилось
<b:if cond='data:post.commentPagingRequired'><style type='text/css'>.paging-control-container {font-size: 12px; font-family: Tahoma;} .paging-control-container a {text-decoration: none; color: #4f4732;background: #9d8f6c; -webkit-border-radius: 8px; border-radius: 8px; border: 1px solid #b4b4b4; border-top: 1px solid #fff; text-shadow: 1px 1px 1px #fff; -webkit-box-shadow: 0 1px 2px #4f4732; box-shadow: 0 1px 2px #4f4732;padding: 0px 5px 0px 8px;} .paging-control-container a:active {-moz-box-shadow: 0 2px 6px black; -webkit-box-shadow: 0 2px 6px black;}</style>
      <span class='paging-control-container'>
          <a expr:class='data:post.oldLinkClass' id='s' name='s' rel='nofollow' title='комментарии 0-200'>&#9668; старые</a> <script type='text/javascript'>document.getElementById(&quot;s&quot;).setAttribute(&quot;href&quot;,&quot;<data:post.url/>&quot;);</script>
          &#160;
          <data:post.commentRangeText/>
          &#160;
          <a expr:class='data:post.newLinkClass' id='n' name='n' rel='nofollow' title='комментарии 200-400'>новые &#9658;</a> <script type='text/javascript'>document.getElementById(&quot;n&quot;).setAttribute(&quot;href&quot;,&quot;<data:post.url/>?commentPage=2&quot;);</script>
        </span>&#160;
      </b:if>
в f t
наверх ↑

14 комментариев:

Звукореж
NMitra

Здравствуйте.
Скажите, нужно заменить код, на один из Ваших вариантов?
И в двух местах, я правильно понял?
Звукореж
NMitra

Забыл. А как сделать кнопку "вверх"? И можно ли сделать кнопку "вниз"?
NMitra
Здравствуйте, да, именно так.

http://shpargalkablog.ru/2011/05/kak-sdelat-ssylku-k-nachalu-stranitsy.html

http://shpargalkablog.ru/2010/09/postroenie-ssylok-v-html.html#name - для кнопки "вниз" поставьте якорь в футер.
Звукореж
NMitra

Спасибо большое за ответ.
Я только начинаю разбираться с кодами и т.д., потому сразу не могу понять специфику языка.

Заменил код в двух местах на вариант один, не работает.
Не могу понять на какие буквы менять s и n во втором варианте
, что эти две буквы означают и что будут означать другие буквы?
NMitra
У вас древовидные комментарии, но поможет.

См. http://www.southernspeakers.net/2012/02/place-load-more-link-above-comment-form.html
Звукореж
NMitra

Не помогло к сожалению.
У нас коменты постоянно переваливают за 200, потому очень актуально.
И вторая страница, если за 200 тоже не открывается, если нажать кнопку "ещё" не грузится, потому, что там дальше кто написал посмотреть только в админке.
NMitra
Уберите древовидные комментарии или воспользуйтесь способом, описанным тут http://nicondroid.blogspot.com/p/comentarios-anidados-personalizados-en.html
Алия
Комменты подбираются к отметке 400. Уже паниковать? Или что-то можно сделать...
Алия
Извиняюсь, уже перевалило за 400... Ничего, нормально. Показывает "Старые", "Самые старые"... Пойдет... Хотя, было бы лучше, если бы новые комменты все же были сверху... А такое возможно?
NMitra
Я не встречала :(
Aldous Snow
Есть скрипт, который реверсирует комментарии - старые внизу, новые наверху.
Алия
Aldous Snow, а где найти этот скрипт?
Aldous Snow
Найти можно так: http://www.blogopoisk.ru/p/rezult.html?q=Sort%20Blogger%20comments%20by%20Descending.
Алия
Aldous Snow, спасибо! Бум разбираться...