Hide My Dates
Несколько лет назад Google стал показывать дату в поисковом сниппете. Идея, конечно, здравая - позволяет людям оценить актуальность информации на странице, не переходя на нее. Однако, для веб-мастеров это не слишком хорошо – во-первых, из-за даты сокращается полезный текст в мета-теге description, а во-вторых, со временем CTR таких сниппетов с датой начинает падать (люди не хотят переходить на сайт с устаревшей статьей). Чтобы заставить Google не выводить дату в сниппетах можно удалить везде ее вывод в шаблоне сайта, а можно воспользоваться плагином Hide My Dates.
Скачиваем плагин по ссылке в конце страницы и устанавливаем его:
1 Распаковываем архив.
2 Копируем папку hide-my-dates в /wp-content/plugins/.
3 Заходим в админку блога на вкладку "Плагины" и активируем плагин.
Настройки плагина находятся в "Настройках\Hide My Dates":
Настроек, как вы видите, совсем немного. Можно скрыть дату публикации записей, дату последнего изменения записей (в некоторых шаблонах используется именно такая дата) и дату создания комментариев.
Как вообще это работает? Используется CSS-хак, который позволяет вывести видимую для посетителей дату в title атрибуте span элемента. Атрибут title Google не считает частью контента страницы и не учитывает его значение. Таким образом, дата видна посетителям, но пропадает из сниппетов в Google.
Если вы ничего не поняли из такого объяснения, то для вас я приведу картинку, которая наглядно поясняет что к чему:
Плагин оборачивает вывод функций дат в свой span элемент, засовывая дату в title атрибут, который благодаря CSS-хаку виден для посетителей, но становится невидим для Google. Единственное неудобство такого вывода даты состоит в том, что ее нельзя выделить мышкой (она просто игнорируется):
Это 100% рабочий способ скрытия даты в поисковом сниппете. По крайней мере, на данный момент. На этом сайте некоторые статьи датируются 2008 годом. Конечно, CTR таких статей стал чрезвычайно мал – люди не хотят переходить на страницу, на которой изложена заведомо устаревшая информация. И неважно, что статьи на сайте были мной давно обновлены – Google всегда берет со страницы самую раннюю из найденных дат (если в самой записи дат нет, то он возьмет дату комментариев).
Я перепробовал множество способов скрытия дат (от использования js-скриптов до кодирования дат html-кодами), ничего не помогало. А вот CSS-хак помог. Причем помог буквально мгновенно. Вот вам простой пример:
На словах: у меня есть статья про плагин Akismet с датой первоначальной публикации 29 июня 2008 года. Эту статью я обновил 13 апреля 2012 года. Однако, в поисковом сниппете это никак не отразилось – там так и красовалась дата за 2008 год. Я установил плагин Hide My Dates, поставил в его настройках скрытие обычных дат и дат комментариев, оставив видимыми даты последнего изменения записей. Затем я зашел в "Инструменты для веб-мастеров" от Google и отправил указанную статью про Akismet на переиндексацию. Буквально через 5 минут в поисковом сниппете дата изменилась с 2008 года на 2012 год.
Вас это не убедило? Хорошо, приведу еще один пример в виде моего совсем недавно открытого сайта WPHook.ru – при создании этого сайта плагин Hide My Dates был установлен изначально, причем в нем были указаны настройки скрытия абсолютно всех дат. В результате в сниппетах дат нет вообще:
Хотя в статьях и комментариях даты присутствуют, в этом вы можете сами убедиться, зайдя на эту страницу.
Я проверил работу плагина еще на нескольких своих сайтах – скрытие дат через плагин сработало везде. Поэтому я могу с чистой совестью говорить, что на данный момент плагин Hide My Dates 100% скрывает даты от Google.
Это все, конечно, хорошо, но все-таки в плагине есть и недостатки – он корректно работает только, если даты в шаблоне выводятся напрямую, а не через дополнительные функции. В старых шаблонах практически всегда даты выводятся именно напрямую, что-то вроде:
К сожалению, некоторые шаблоны выводят дату так, что без негативных последствий завернуть ее в span не получится. Например, в шаблоне Twenty Twelve дата выводится такой функцией:
$date = sprintf( '<a title="%2$s" href="%1$s" rel="bookmark"> <time class="entry-date" datetime="%3$s">%4$s</time></a>', esc_url( get_permalink() ), esc_attr( get_the_time() ), esc_attr( get_the_date( 'c' ) ), esc_html( get_the_date() ) ); |
То есть дата является ссылкой на запись (зачем это было сделано я не знаю). При использовании плагина Hide My Dates даты будут выводиться криво:
Причина понятна – дата шаблоном выводится в time элементе, а плагин эту дату оборачивает еще и в свой span - элемент в элементе не работает и дата выводится именно в таком кривом виде. Поправить это просто, надо изменить код вывода даты на примерно вот такой:
$date = sprintf( '%4$s', esc_url( get_permalink() ), esc_attr( get_the_time() ), get_the_date( 'c' ) , get_the_date() ); |
Дата перестанет быть ссылкой на запись, но выводиться будет правильно:
Многие современные шаблоны тоже выводят дату не напрямую, а в time элементе (хоть и без ссылки на запись). Поэтому для правильной работы плагина вы должны изменить такой вывод даты на стандартный. Если у вас возникают проблемы с редактированием шаблона, то пишите в комментариях – помогу. Не забывайте только указать ссылку, где я могу скачать ваш шаблон.
Некоторые веб-мастера решают проблему дат в сниппетах банальным ее удалением из шаблона. Начинающие веб-мастера вообще не обращают на даты внимания, так как они еще не столкнулись с проблемой устаревших дат в сниппетах. Hide My Dates это идеальный плагин для тех, кто не хочет видеть даты в сниппетах, но при этом не желает их удалять на сайте.
Hide My Dates
Автор плагина: Flector
Рассматриваемая версия: 1.01 от 12.09.2014
Текущая версия: 2.00 от 18.09.2024
Совместимость с версией WordPress: 3.0 и выше
Активных установок плагина: 500+
Скачать плагин версии 2.00 (всего скачено 14 441 раз)
Понравился пост? Подпишись на обновления по RSS или Twitter !
#1,
Спасибо за идею. Плагин использовать не стал, а вот CSS код позаимствовал - зачем вообще использовать плагин, если проще вручную функции дат в теме завернуть в span?
#2,
ну в записях да, можно вручную. а вот если в теме комментарии выводятся через wp_list_comments, то как вы завернете даты комментариев в span? проще плагин использовать, благо он маленький и ни капли не грузит сайт.
#3,
Не по теме - как вы в сниппете на wphook.ru сделали звездочки? Никакого голосования на страницах я не заметил, да и про рецензию это что-то новенькое, не видел раньше.
#4,
здесь читайте. я просто тупо в single.php прописал скрытые элементы с автором и оценкой 5 везде, это сработало.
#5,
Хороший плагин,очень полезно. С этим плагином будет легче для тех,кто про коду не знает!
#6,
Опишите пожалуйста подробней - мне тоже интересно.
#7,
нужно в шаблоне страницы одиночной записи (как правило, single.php) добавить что-то типа:
эту часть кода просто вставляем в любое место до цикла вывода записи. затем находим вывод заголовка the_title и оборачиваем его кодом:
а потом еще добавляем:
чтобы закрыть спан, открытый в первом куске кода. это, собственно, все. проверить правильность вставки кода можно вот тут в валидаторе.
#8,
Подскажите, а если нужна ссылка на дате, что можно предпринять [кроме как отказаться от использования ссылки, конечно:) ]?
#9,
Интересный плагин, стоит воспользоваться, когда моя информация потеряет актуальность.
#10,
ссылку на вашу тему дайте, посмотрю можно ли там что-то сделать.
#11,
Плагин порезал все даты, но с Гугла они так не исчезли. Сайт полностью проиндексировался...
#12,
сайт покажите.
есть вариант, что просто не переиндексировался еще сайт.
со временем даты исчезнут (если плагин правильно сработал и в теме больше нет вывода дат).
#13,
Сайт http://work-place.net/
#14,
и где у вас даты на сайте или в гугле? ни там ни там я никаких дат не вижу.
#15,
Вот, например, вбейте эту статью в Гугл work-place.net/?p=670. Выдает "30 марта 2014 г".
#16,
потому что в разметке вашей системы комментирования дата выдается с потрохами. плагин не рассчитан на работу со сторонними системами комментирования.
#17,
Здравствуйте, Александр!
Очень желаю воспользоваться вашим плагином Hide My Dates, чтобы в сниппете в google убрать дату публикации и даты комментариев, но, чтобы отображалась дата обновления поста.
При этом нужно привести дату в самой записи в такой вид: опубликовано 12.09.15, обновлено 11.02.2016. Рекомендации, которые вы приводили в этой статье, мне не подходят, так как дата выводится другим способом. Тема называется Eino. Помогите исправить, пожалуйста, если есть такая возможность.
#18,
А микроразметку как правильно добавить к датам?
#19,
зачем?