Нужно ли убирать отображение автора

Здравствуйте друзья! Над заголовком статьи долго раздумывать не пришлось, просто, скопировал вопрос читательницы из комментария в статье: Как убрать отображение автора статьи в блоге WP. Честно говоря, я тогда (3 года назад) убрал отображение автора из строки post-meta, наивно надеясь, что ничего такого зазорного не сделал, я же подписываюсь под статьёй/заметкой.

На самом деле, всё не так радужно. Оказывается, поисковикам не очень нравится отсутствие автора в индексируемых статьях. Точнее, в Google-webmasters в моих блогах была указана такая ошибка: Отсутствует: autor. Поэтому, было решено вернуть отображение автора сообщения. Но, некоторую информацию в строке мета-данных всё же пришлось убрать. Ботам она ни к чему, а всем остальным тем более. Обо всём этом и не только, я хочу рассказать в этой статье. Читаем!

Как найти и исправить ошибку

Строки мета-данных располагаются перед началом статьи/поста,  в которой, обычно, отображается информация об авторе, дата публикации, количество комментариев и др.. Вообщем, любая информация, которую необходимо донести до посетителя, зависит от целенаправленности страницы/сайта.

В файлах “php” старенькой темы F2 это выглядит примерно так:


<div class="postmetadata">
<?php if(f2_option('show_author') == 'on') : ?>
<?php _e('Posted by', 'f2'); ?>&nbsp;<span class="postauthor"><?php the_author_posts_link(); ?></span> <?php _e('on', 'f2'); ?>
<?php endif; ?>
<span class="postdate"><?php the_time(__('j F Y, g:i a', 'f2')); ?></span>
</div>

Строчка, выделенная красным, как-раз то, чего так не хватает боту-поисковику. В более современных темах эта строчка почти не изменилась, разве что, добавился формат: “vcard”(Versitcard), кому интересно, в википедии описано более подробно.

<span class="post-author vcard"><?php _e('by', TEMPLATE_DOMAIN); ?> <?php the_author_posts_link(); ?></span>

Убираем ‘by’ или ‘posted by’ выделено зелёным и, остаётся только отображаемое Имя автора.

<span class="post-author vcard"><?php the_author_posts_link(); ></span>

Ошибка исправлена, поисковики довольны, а вот автору, т.е. мне в данном случае - не очень весело.

Как убрать ссылку в имени автора в Мета-данных

Дело в том, что при наведении курсором на отображаемое имя (стрелка 1), которое в данном случае является ссылкой, в строке состояния браузера (внизу слева) отображается вот такая информация (стрелка 2): (Все картинки кликабельны)

Это ни что иное, как логин, который я использую при входе в админку блога. Другими словами, ещё одна “дырка” в безопасности сайта. Проверяем другим способом. Навожу курсор мыши на ссылку отображаемого автора (стрелка 1), кликаю правой клавишей мыши, в выпадающем меню выбираю: Исследовать элемент (стрелка 2) и, в нижней части окна браузера любуюсь своим логином в выделенной строчке Html-кода в окне инструмента: Инспектор (стрелка 3).

Ну, и наконец, открываю исходный код страницы, причём, в любом статусе, и как админ, и как посетитель. Ищу начало поста, в данном случае: <!—Post Start—> и так же, обнаруживаю свой логин (указано стрелкой).

Возникает вопрос, зачем вообще нужна эта ссылка? Оказывается нужна, но только в том случае, если в блоге публикуют свои материалы двое и более авторов. Посетитель, при желании, может кликнуть по ссылке автора, после чего, откроются анонсы всех материалов, изложенных именно этим автором.

Но, если автор ведёт блог сам, то эта ссылка в отображаемом имени не нужна и её лучше деактивировать (удалить).

Удалять ссылку придётся, как минимум, в четырёх файлах блога(старые шаблоны). Имена этих файлов: single.php; index.php; page.php; archive.php

В более современных шаблонах уже не пишут довольно объёмный код в каждом php-файле, а указывают только путь к файлу, где и располагается этот код. Например:

<!-- POST START -->
<article <?php post_class('post-single'); ?> id="post-<?php the_ID(); ?>">

<h1 class="post-title entry-title"><?php the_title(); ?></h1>

<?php get_template_part( 'lib/templates/post-meta' ); ?>

Например, чтобы открыть файл: post-meta.php в моей теме, я должен пройти по пути:

/wp-content/themes/yanews/lib/templates/post-meta

В разных шаблонах/темах строчка, которая нужна для изменения, выглядит примерно так:

1. <span class="postauthor"><?php the_author_posts_link(); ?></span>

2. <span class="post-author"><i class="icon-user"></i><?php the_author_ posts_link(); ?> </span>

3. <span class="post-author vcard"><?php _e('by', TEMPLATE_DOMAIN); ?> <?php the_author_posts_link(); ?></span>

То, что выделено красным – нужно удалить.

В итоге должно получиться примерно так:

<span class="post-author vcard"><?php the_author(); ?></span>

То, что выделено зелёным ('Posted by', ‘by’, ‘on’ и т.п.), следует так же, убрать.

То, что выделено синим, при условии, что отображение имени автора остаётся (не убирается), удалять не стоит (элемент дизайна).

Как убрать отображение имени автора

Если возникло желание всё же убрать отображение имени автора, найдите в таблице стилей (файл: style.php) селектор, отвечающий за отображение автора, он обычно пустой, но должен быть обязательно. У меня этот селектор выглядит вот так:

span.post-author {}

В этом селекторе, между фигурных скобок нужно вписать: display: none; получится должно вот так:

span.post-author {
display: none;
}

Сохраните изменения, перезагрузите страницу и отображение автора исчезнет (обведено рамкой). И роботы не сочтут это за ошибку и вы своё желание осуществили. Как говорится: “И волки сыты, и овцы целы!”.

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

Как изменить настоящий логин на ложный

Я уже говорил в прошлой статье, что, пока искал решение вопроса о безопасности сайта – нашёл пару полезных плагинов и обещал о них рассказать. Так вот, один из них называется:  SF Author Url Control. Этот плагин добавляет поле:  Profile URL slug (URL-адрес профиля) в вашем профиле и ещё одно поле: Authors page base (База данных авторов) в окне инструмента: “Постоянные ссылки”.

Установка и активация плагина обычные, из админки блога. Чтобы изменить логин, откройте: Пользователи/Ваш профиль (стрелки 1 и 2). В подразделе: Управление учётной записью впишите любое имя латинскими буквами в текстовом поле (стрелка 3). Справа от поля предупреждение: Если оставить пустое поле, то по умолчанию будет отображаться логин такой-то. Не забудьте Обновить профиль (стрелка 4).

Да, чуть не забыл, с левой стороны от текстового поля присутствует ссылка “/author/”. Нажмите на неё и попадёте на Страницу настроек постоянных ссылок. На этой странице в текстовом поле: Authors page base можно вписать слово, которое будет отображаться в ссылке перед логином, например: “admin”.

Справа от текстового поля написано, что, если оставить это поле пустым, то по умолчанию будет отображаться словоauthor”. Здесь по желанию, хотите, придумайте что-нибудь, а нет, оставьте как есть. Я, для примера, написал “admin” и вот как теперь выглядит адрес в строке состояния браузера.

Кстати, в исходном коде всё выглядит примерно так же, не стал уже делать снимок исходника, надеюсь, вы мне поверите на слово.

Но, слово “admin” будет отображаться ровно столько, сколько времени будет активирован плагин, если плагин деактивировать, то слово изменённое в окне постоянных ссылок будет вновь отображаться по умолчанию: “author”. А вот изменённый логин таким и останется.

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

 

Удачи Вам!

 © mkoven