Intereting Posts
Поиск похожих шаблонов чисел в таблице Yii создает несколько заголовков строк и объединяет их с другими столбцами в GridView PHP для чтения значения DB, JS для его увеличения, AJAX для сохранения в DB, ​​но почему он по умолчанию 0.0 до обновления страницы? hotmail получить контакты с curl, используя api Закрытие объектов внутри массивов до PHP 5.3 PHP & cPanel – есть способ получить общий размер всех электронных писем в учетной записи пользователя Ошибка CodeIgniter HMVC после обновления PHP до PHP 7 Как получить адресное местоположение из широты и долготы в Google Map.? Торговая площадка Braintree – Что произойдет, если Master Merchant взимает плату с клиента во время продажи, но должен заплатить доспелому Обновление PHP с версии 5.2 до 5.3 Как установить поле объекта, которое не существует в таблице, но существует в необработанном SQL как псевдоним? Как создать систему управления сеансом пользователя в Yii2 с помощью DbSession Работа с JSON и многомерным массивом (JS) удалять данные из mysql и отображать в форме Список библиотек не используется в удаленном соединении PHP DB2 с IBM i

Facebook Open Graph, требуемое свойство 'og: title' типа 'string' не было предоставлено

У меня есть страница Joomla (v3.2.4), где я помещаю некоторые динамические теги Open Graph с PHP, например:

PHP, перед тегом:

$getcid = JRequest::getVar('id'); if(!isset($getcid)) { $title = "LIVA Kurser"; $description = "Danmarks største udbyder af kurser til såvel offentlige og erhverv samt private."; $image = "http://img.ruphp.com/php/liva-logo.jpg"; $type = "website"; } else { $db = JFactory::getDbo(); $user = JFactory::getUser(); $query = $db->getQuery(true); $ogquery = "SELECT DISTINCT * FROM jos_managecourse WHERE state = '1' AND id = '".$getcid."' LIMIT 1"; $db->setQuery($ogquery); $db->query(); $getcourse = $db->loadObjectList(); $description = substr(strip_tags($getcourse[0]->details), 0, 247); $title = $getcourse[0]->course_name; $description = preg_replace( "/\r|\n/", "", $description ); $description = str_replace( " ", " ", $description ); $image = JURI::root()."administrator/components/com_managecourse/images/".$getcourse[0]->image_url; $type = "article"; } 

И в моем теге у меня есть это:

  <!-- Facebook Open Graph --> <meta property="fb:app_id" content="502033806595590" /> <meta property="og:site_name" content="LIVA Kurser" /> <meta property="og:type" content="<?php echo $type; ?>" /> <meta property="og:title" content="<?php echo $title; ?>" /> <meta property="og:url" content="<?php echo JURI::current(); ?>" /> <meta property="og:image" content="<?php echo $image; ?>" /> <meta property="og:description" content="<?php echo $description; ?>..." /> <!-- End Facebook Open Graph --> 

Когда я запускаю страницу через отладчик объектов Facebook , я получаю следующие две ошибки:

Объект по URL-адресу « http://www.livakursertestsite.dk/kurser/babytegn-2 » типа «веб-сайт» недействителен, поскольку не было указано требуемое свойство «og: title» типа «строка».

И вторая ошибка:

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

Я пытался:

  • Перемещение кода ниже и над тегом заголовка
  • Перемещение его к самому верхнему и самому дну заголовка, но не работает.
  • Помещение PHP-кода в head-tag, но все равно ничего.

Вы можете посмотреть сайт здесь: http://www.livakursertestsite.dk/kurser/babytegn-2

РЕДАКТИРОВАТЬ:

Я удалил PHP-код из тегов, поэтому они больше не являются динамическими, чтобы убедиться, что это было причиной, но это не так. Теперь код выглядит следующим образом:

 <meta property="og:locale" content="da_DK" /> <meta property="og:type" content="website" /> <meta property="og:title" content="LIVA Kurser" /> <meta property="og:description" content="Beskrivelse..." /> <meta property="og:url" content="http://www.livakursertestsite.dk/kurser" /> <meta property="og:image" content="http://img.ruphp.com/php/liva-logo.jpg" /> <meta property="fb:app_id" content="502033806595590" /> <meta property="og:site_name" content="LIVA Kurser" /> 

Я также попробовал:

  • Тестирование сайта в Google Gogles Rich Snippets , и Google получает все данные.
  • Удаление всех не обязательно обязательных Open Graph-тегов, поэтому присутствовали только четыре обязательных тега (тип, заголовок, URL-адрес и изображение).
  • Удаление всего javascript, который вызвал ошибки в Firebug.

И отладчик Facebook все еще не может получить данные.

Редактировать # 2:

После комментария @CBroe я исправил страницу, чтобы ее можно было проверить, без ошибок, но все равно не повезло.

Возможно, вы захотите отключить любое сжатие, например сжатие GZIP в PHP. Это помогло мне с аналогичной проблемой на веб-сайте Joomla 3.3.

У меня было сжатие GZIP, и Facebook не смог очистить мой сайт. Отказ от сжатия GZIP решил эту проблему.

Я еще не понял, если это проблема Joomla или проблема GZIP / PHP вообще или проблема с копией facebook.

EDIT: с акцией акции Facebook только читает первые 40k вашей страницы. Когда GZIP включен, чтение только первых 40k даст проблемы, поскольку оно не способно распаковать частичное содержимое.

Лучшим решением было бы отключить GZIP только для таких сайтов, как Facebook, LinkedIn и т. Д.

Вы можете использовать небольшой плагин gzip очень дружелюбный. Управление: http://extensions.joomla.org/extensions/core-enhancements/performance/site-performance/27725.

Или используйте этот codee https://github.com/dgt41/ (zip файл xml и php, и вы можете установить его как плагин)

Обратите внимание: если на вашем сайте установлен модуль JCH Optimize, вам необходимо отключить сжатие gzip, предлагаемое плагином. Все остальные параметры могут оставаться включенными без каких-либо проблем, включая самозагружаемое сжатие Joomla gzip.

Привет, Teeuwis

Я нашел решение проблемы в joomla 3, изменяя только 2 файла из ядра joomla, поэтому вам не нужно отключать опцию GZIP. Автоматически отключается только при обнаружении искателя facebook.

https://github.com/dgt41/joomla-cms/commit/6eef42e50e3f3e4c78c93285de7f9ecfe8bbfbf5 и плагин для решения проблемы, но этот не работает нормально для меня.

https://github.com/dgt41/facebookfix/commit/e1d5aa3a1a94f7751d3b69db78ba1aa02dfc37c6