Ошибки структурированных данных Google Webmaster Tools hentry hAtom (author, entry-title, updated) РЕШЕНИЕ

Wordpress hentryВы используете WordPress и заметили ошибку структурированных данных Google Webmaster Tools (отсутствует: author, отсутствует: entry-title, отсутствует: updated)? Есть решение, нашел на англоязычных сайтах.

Решение ошибки структурированных данных Google Webmaster Tools hentry

Это не «панацея», помогает не всем, есть случаи вылета сайта, так что ВНИМАНИЕ, потрудитесь вспомнить пароль на хостинг и сделайте резервную копию файла functions.php (который будем изменять).

Необходимо редактировать функции темы (Внешний вид > Редактор > functions.php)

Вставляем в начале, сразу после <?php с новой строки следующий код:

//mod content
function hatom_mod_post_content ($content) {
  if ( in_the_loop() && !is_page() ) {
    $content = '<span class="entry-content">'.$content.'</span>';
  }
  return $content;
}
add_filter( 'the_content', 'hatom_mod_post_content');

//add hatom data
function add_mod_hatom_data($content) {
    $t = get_the_modified_time('F j, Y');
    $author = get_the_author();
    $title = get_the_title();
    if ( is_single() || is_page()) {
        $content .= '<div class="hatom-extra"><span class="entry-title">'.$title.'</span> обновлено: <span class="updated"> '.$t.'</span> автором: <span class="author vcard"><span class="fn">'.$author.'</span></span></div>';
    }
    return $content;
    }
add_filter('the_content', 'add_mod_hatom_data');

Решение работает как для страниц, так и для записей.

Ошибки структурированных данных Google Webmaster Tools hentry hAtom (author, entry-title, updated) РЕШЕНИЕ обновлено: Январь 8, 2015 - dashbog

49 комментариве к “Ошибки структурированных данных Google Webmaster Tools hentry hAtom (author, entry-title, updated) РЕШЕНИЕ

  1. Ольга

    Поменяли шаблон, а он с ошибками. Теперь ни каких сбоев — вставила код и заработало.
    Как же здорово видеть зелененькие галочки в Гугле — «Проблем нет»))))

    Огромное спасибо! Замечательное решение!!!

  2. Василь

    Если возникнут глюки (рамка или дубль главного заголовка), можно установить плагин TJ Custom CSS и прописать:
    .hatom-extra {
    display:none;
    }

    После этого проблем не должно быть.

  3. Aleks

    Зачет

    Вставил данный код в function php -> проверил при помощи сайта проверки структуры разметки -> https://developers.google.com/structured-data/testing-tool/

    и о чудо )) появилась разметка: hentry

    entry-title:
    updated:
    author [hcard]:

    для проверки работы на вашем сайте -> сделайте проверку разметки через указанный выше сервис, до и после установки кода, и все увидите сами.

  4. Олег

    Вставил Ваш код в functions.php но, ничего не произошло. Я так понимаю структурирование происходит каждый день, так вчера, кода вставлял, было 83 с ошибками, сегодня уже 93….растет. Помогите, в чем проблема, пожалуйста.

    1. Mihail

      Дело в том что это говно надо не функциями чистить а руками по всему коду с изменением селекторов и тому подобными бубнами

  5. Азат

    Спасибо большое! Ваш код помог. Было 12 страниц и столько же ошибок, теперь страницы прибавляются, а ошибки уменьшаются 🙂 Также по вашему совету, сделал бесцветным дублирование шапки

  6. Валентин

    Спасибо большое заработало на страницах и записях, но в рубриках осталось та же ошибка помогите исправить ! Пробовал вставить код в шаблон рубрики но сайт слетел.

  7. Serghei Kaushka

    Добрый день! Тоже не мог найти решение этого вопроса, нашел вашу тему обрадовался. Но почему то не помогло вставка кода в functions.php
    Вот скрин гугл вебмастера, посмотрите может он вам что то скажет https://cloud.mail.ru/public/2yMZ/nbsa4XhrM
    Жду вашего ответа, спасибо!

  8. Олег

    Спасибо. Поставил как написано в статье и сразу заработало! Правда некоторые елементы остались с ошибками. Было 83 с такой ошибкой а после установки осталось 9. Все же лучше чем 83)))

  9. Coredesang

    Здравствуйте.
    Вы могли бы подробнее рассказать как сделать описанное ниже?

    Алексей
    10.03.2015 в 00:14
    Здравствуйте, а как- спрятать это можно? или из конца поста в начало переместить? а то смущает этот дубль главного заголовка!

    Ответить ↓
    dashbog Автор записи
    10.03.2015 в 09:48
    Привет! Можете прописать стиль для класа hatom-extra. Очень маленький шрифт или цвет сливающийся с фоном или z-index: -999; position: relative;
    }

    1. dashbog Автор записи

      Привет! Можете прописать стиль для класа hatom-extra. Очень маленький шрифт или цвет сливающийся с фоном или z-index: -999; position: relative;
      }

  10. sogA

    Здравствуйте!
    Ошибки на главной страницы в части author, updated так остались.
    Вопрос:
    Вы рекомендовали моделировать строку if ( is_single() || is_page() || is_home() || is_front_page ()) в части вставки функции главной страницы из header.php вместо is_home() || is_front_page.
    Как определить функцию главной страницы?
    По сути это и есть is_home().

    1. dashbog Автор записи

      is_home() проверяет, является ли текущая страница страницей записей (posts page).
      is_front_page проверяет, является ли текущая страница главной страницей сайта.
      В WordPress по умолчанию главной является страница записей, поэтому функции is_front_page() и is_home() обе проверяют нахождение на главной странице.

      А добавилась ли у Вас информация о авторе и дате обновления внизу главной страницы?

  11. Oksana

    Здравствуйте. Ввела Ваш код — ошибки на страницах и записях все пропали. Но ошибка главной страницы осталась.
    Ваш совет на счет изменения в коде типы страниц is_home() || is_front_page. Вот так: if ( is_single() || is_page() || is_home() || is_front_page ) использовала, не помогло.
    Пользуюсь темой Customizr. Помогите решить пожалуйста.

    1. dashbog Автор записи

      Посмотрите в header.php функцию вашей главной страницы и вставьте ее в код вместо is_home() || is_front_page

  12. Андрей

    Здравствуйте!
    У меня после вставки все исправилось, но на проверяя главную страницу все равно выводит
    Ошибка. Missing required field «updated». Может это из за страницы? у нее тип нестраница а произвольно стоит! CSM WordPress
    заранее спасибо!

    1. dashbog Автор записи

      Попробуйте изменить в коде типы страниц is_home() || is_front_page. Вот так: if ( is_single() || is_page() || is_home() || is_front_page )

    1. dashbog Автор записи

      Результат будет не сразу. Нужно ждать следующего визита поискового бота на ваш сайт. Сколько времени прошло после добавления кода?

  13. Радим

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

    1. dashbog Автор записи

      Можно спрятать добавив в таблице стилей строку .hatom-extra { display: none; }
      Только я не уверен что робот увидит, нужно пробовать.

  14. vik

    я в шоке! несколько дней ломал голову над решением, а тут вставил этот код и все запахало, ни единой ошибочки, все отображается правильно, и дата и тайтл и контент, респект

    1. dashbog Автор записи

      Если вам мешает приставка ‘th после числа обновления поста — просто измените во вставленном коде строку: $t = get_the_modified_time(‘F jS, Y’); на $t = get_the_modified_time(‘F j, Y’); — то есть просто уберите S. В данном посте, для простоты, я уже изменил.

    2. dashbog Автор записи

      ах да, и was last modifyed… …by тоже можно кастомизировать как хотите. В примере изменил на обновлено… …автором:

  15. greench

    Здравствуйте у меня такая проблема с гуглом ошибка missing required field updated . wordpress. что бы не пытался сделать не получается,можете мне подсказать правильный код?вот стандартный код моего шаблона
    esc_attr( get_the_date( ‘c’ ) ),
    esc_html( get_the_date() ),
    esc_attr( get_the_modified_date( ‘c’ ) ),
    esc_html( get_the_modified_date() )
    );
    $category_list = get_the_category_list( __( ‘, ‘, ‘trident’ ) );
    printf( __( ‘ By %2$s • On %1$s • In %3$s’, ‘trident’ ),
    sprintf( ‘%2$s‘,
    esc_url( get_permalink() ),
    $time_string

  16. Сергей

    Я тоже недавно обратил внимание на такие ошибки. Искал информацию в интернете, менял код, но затем просто удалил дату публикации и автора. В результате чего из 39 ошибок, за два дня осталось 8 ошибок. Думаю через день их не останется вообще.

  17. Иван

    Сайт поднял через FTP. А проблема в Вашем коде…а именно в разномастных кавычках…как двойных, в виде елочки, так и разносторонних одинарных… Исправьте, пожалуйста.

    Отредактированный код на самом деле убирает ошибки:

    hatom-feed
    hatom-entry:
    Ошибка. At least one field must be set for HatomEntry.
    Ошибка. Missing required field «entry-title».
    Ошибка. Missing required field «updated».
    Ошибка. Missing required hCard «author».

    Но при этом частично пропадает текст постов… Пришлось таки удалить Ваш кусочек кода…. Решения пока не нашел.

    1. dashbog Автор записи

      Спасибо что заметили! Исправил и немного подредактировал решение. Проверил на себе (копировал прямо с этого поста) — работает.

  18. Иван

    Здравствуйте…
    Попробовал решение, описаное вами в статье, вставил код в файл functions.php и все слетело… сайта не открывается (белая страница), в админку не пускает…

    Что делать?

    1. dashbog Автор записи

      Здравствуйте! Для начала скачайте functions.php с хостинга, удалите вставленный код, сохраните файл и замените functions.php на хостинге отредактированным. Видимо для вашей темы WordPress данное решение по исправлению ошибок структурированных данных не подходит. По возможности сбросте сюда код вашего functions.php

Добавить комментарий

Ваш e-mail не будет опубликован. Обязательные поля помечены *