Редактор темы

Внедрение микро-разметки для видео в dle. часть 3 - schema для google

<script type="application/ld+json">
{
"@context": "http://schema.org",
"@type": "Organization",
"url": "https://сайт.ру",
"email": "admin(at)сайт.ру",
"name": "Мой сайт",
"logo": "http://ссылка /logo.png",
}
</script>

Лишняя, из-за нее ошибку выдает)
 
@DomiTori, а movie обязательно интегрировать в разметку, или же можно выдавать в json как и videoObject?
 
@volodec, не обязательно! но на практике случается что json игнорируется поисковиками 🙁 лучше делать встроенную в документ.
 
Автор темы
@volodec, не обязательно! но на практике случается что json игнорируется поисковиками 🙁 лучше делать встроенную в документ.
+ Я за внедрение schema в тело страницы. Так мы поиску явно указываем где в коде среди тысяч символов то самое описание, картинка, авторский состав и тд. Это как некая карта, мы говорим поисковику как чел на экскурсии - слова русское название, чуть дальше год выхода, внизу мы можем видеть описание фильма. По полочкам как говорят

слова русское
слева русское **
 
Последнее редактирование модератором:
Обратите внимание на contributor,copyrightyear,productioncompany и прочие. Я использовал лат. название доп поля contributor вместо привычного country для страны, copyrightyear вместо year для года выхода, productioncompany вместо company для компании выпустившей фильм/сериал.... Далее объясню почему.
Открываю engine/modules/show.full.php и нахожу ДВА раза (у меня dle 11.1)
PHP:
if( $config['allow_alt_url'] ) $value3[] = "<a
меняю ДВА раза на
PHP:
if( $config['allow_alt_url'] ) $value3[] = "<a itemprop=\"" . urlencode( $preg_safe_name ) . "\"
нахожу ДВА раза
PHP:
else $value3[] = "<a
меняю ДВА раза на
PHP:
else $value3[] = "<a itemprop=\"" . urlencode( $preg_safe_name ) . "\"
Эта махинация сделает возможным авто-разметку для доп полей с включенным "Использовать значения полей как перекрестные гиперссылки". А тут обязательное условие, чтобы вместо year вы выставили copyrightyear в качестве альт. названия доп поля, и тд....

тут решил поступить немного иначе:

PHP:
                    foreach ($temp_array as $value2) {

                        $value2 = trim($value2);
                        $value2 = str_replace("&#039;", "'", $value2);
                        
                                    if ($value[0] == genre ) $microdata = trim("itemprop='genre'");
                                    elseif ($value[0] == year ) $microdata = trim("itemprop='copyrightYear'");
                                    elseif ($value[0] == actor ) $microdata = trim("itemprop='actor'");
                                    elseif ($value[0] == films_producer ) $microdata = trim("itemprop='contributor'");
                                    elseif ($value[0] == poster_image ) $microdata = trim("itemprop='image'");
                                    elseif ($value[0] == poster ) $microdata = trim("itemprop='image'");
                                    elseif ($value[0] == books_format ) $microdata = trim("itemprop='bookFormat'");
                                    elseif ($value[0] == books_lang ) $microdata = trim("itemprop='inLanguage'");
                                    else unset($microdata);

                        if( $config['allow_alt_url'] ) $value3[] = "<a {$microdata} href=\"" . $config['http_home_url'] . "xfsearch/" .$value[0]."/". urlencode( $value2 ) . "/\">" . $value2 . "</a>";
                        else $value3[] = "<a {$microdata} href=\"$PHP_SELF?do=xfsearch&amp;xfname=".$value[0]."&amp;xf=" . urlencode( $value2 ) . "\">" . $value2 . "</a>";
                    }

Вроде все работает, но так как в php я нуль, не уверен что все правильно)))
Прошу спецов подправить если что)))
 
WMZ
Код:
else unset($microdata);
Замени на
Код:
else $microdata = false;
И после == с правой стороны (типа year, poster) оберни в кавычки. Типа так $value[0] == "year"
 
У меня при анализе микроразметки в яндексе вот так и нормально????
Screenshot_2.png
 
Последнее редактирование:
soccerforecast где-то явная проблема с кодировкой! Где именно - надо смотреть уже в файле, где прописана разметка jsonld по схемеОрг/оргнизация
 
soccerforecast где-то явная проблема с кодировкой! Где именно - надо смотреть уже в файле, где прописана разметка jsonld по схемеОрг/оргнизация
ОШИБКА: ваша JSON-LD разметка не может быть разобрана. Проверьте документ на синтаксические ошибки: ...стве" "logo": "ht...

"@context": "Home - schema.org",
"@type": "Organization",
"url": "------------",
"email": "admin(at)[email protected]",
"name": "Смотреть кинофильмы онлайн в хорошем качестве"
"logo": "http://kin/templates/kin-utf8/images/logo.png",
}
</script>

В общем буду удалять все !!! Что за синтактические ошибки если все верно

или картинку на протокол с https делать новую

Незнаю в общем кодировку поменял и синтактическую ошибку ищу перелопачивая местами все символы !ШОК!!Лучше не лез и 1 час убил и толку ноль пля

УРААААА!!!!!Вроде получилооосььььь!!!! Просто запятая была лишняя и не заметил

Тему можно удалять!Спс
Screenshot_4.png
 
Последнее редактирование:
Только помарочка в виде осталась! Это саму новость проверил я и где найти и поменять рейтинги видимо
Screenshot_5.png
 
При замене {title} на <a itemprop="url" href="{full-link}">{title}</a> все устанавливается хорошо, но есть одно "НО" - буквально недавно я удалил из адреса страницы .html, а после данных манипуляций, при клике по {title} происходит переход на страницу с .html в конце адреса, соответственно выдает ошибку. Как исправить это?
 
Вот этот адрес так и оставлять,как у вас в примере
http://vocab getty.edu/aat/300265431
? Или адрес своего сайта там в genre вписывать?
 
Строчка if ( $row['rating'] == 0 ) $row['rating'] = 5; автоматом проставляет во все новости оценку 5. Почему? Такофф замысел?
 
Строчка if ( $row['rating'] == 0 ) $row['rating'] = 5; автоматом проставляет во все новости оценку 5. Почему? Такофф замысел?
в разметке гугл если рейтинг равен 0 - будет ошибка в валидаторе микроразметки, значение рейтинга должно быть положительным.
 
тут решил поступить немного иначе:

PHP:
                    foreach ($temp_array as $value2) {

                        $value2 = trim($value2);
                        $value2 = str_replace("&#039;", "'", $value2);
                     
                                    if ($value[0] == genre ) $microdata = trim("itemprop='genre'");
                                    elseif ($value[0] == year ) $microdata = trim("itemprop='copyrightYear'");
                                    elseif ($value[0] == actor ) $microdata = trim("itemprop='actor'");
                                    elseif ($value[0] == films_producer ) $microdata = trim("itemprop='contributor'");
                                    elseif ($value[0] == poster_image ) $microdata = trim("itemprop='image'");
                                    elseif ($value[0] == poster ) $microdata = trim("itemprop='image'");
                                    elseif ($value[0] == books_format ) $microdata = trim("itemprop='bookFormat'");
                                    elseif ($value[0] == books_lang ) $microdata = trim("itemprop='inLanguage'");
                                    else unset($microdata);

                        if( $config['allow_alt_url'] ) $value3[] = "<a {$microdata} href=\"" . $config['http_home_url'] . "xfsearch/" .$value[0]."/". urlencode( $value2 ) . "/\">" . $value2 . "</a>";
                        else $value3[] = "<a {$microdata} href=\"$PHP_SELF?do=xfsearch&amp;xfname=".$value[0]."&amp;xf=" . urlencode( $value2 ) . "\">" . $value2 . "</a>";
                    }

Вроде все работает, но так как в php я нуль, не уверен что все правильно)))
Прошу спецов подправить если что)))

Может кто подскажет, почему 13-ой версии этот вариант не работает?

Или может это из-за php версии 7.2?

---------------------------------------------------------------------------------------------------------------

уже не актуально - сам разобрался...
 
Последнее редактирование:
.
 
Последнее редактирование:
Loner я все взял из этой темы - код рабочий
а насчет последнего куска - просто поднял на пару строк выше и все за работало...
 

Похожие темы Последние темы Популярные темы

Назад
Сверху