Facebook Open Graph, die erforderliche Eigenschaft 'og:title' des Typs 'string' nicht angegeben wurde
Ich habe eine Joomla-Seite (v3.2.4), wo ich in einigen dynamischen Open Graph-tags mit PHP, wie diese:
PHP, vor dem tag:
$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://www.livakursertestsite.dk/images/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";
}
Und in meinem tag habe ich dieses:
<!-- 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 -->
Wenn ich die Seite über die Facebook Object Debugger, bekomme ich die folgenden zwei Fehlermeldungen:
Objekt unter der URL 'http://www.livakursertestsite.dk/kurser/babytegn-2"
Typ 'website' ist ungültig, da eine erforderliche Eigenschaft 'og:title'
Typ 'string' nicht angegeben wurde.
Und der zweite Fehler:
Curl-Fehler : BAD_CONTENT_ENCODING Fehler während der Verarbeitung von Inhalten
unencoding: invalid block type
Habe ich versucht:
- Verschieben Sie den code unten und oben den title-tag
- Verschieben nach ganz oben und ganz unten in der head-tag, aber
weder funktioniert. - Setzen der PHP-code in den head-tag, aber immer noch nichts.
Sehen Sie die Seite hier: http://www.livakursertestsite.dk/kurser/babytegn-2
EDIT:
Habe ich entfernt, die PHP-code tags, so dass Sie nicht mehr dynamisch, um zu sehen, ob das war die Ursache, aber das war es nicht. Jetzt ist der code sieht wie folgt aus:
<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://www.livakursertestsite.dk/images/liva-logo.jpg" />
<meta property="fb:app_id" content="502033806595590" />
<meta property="og:site_name" content="LIVA Kurser" />
Habe ich jetzt auch versucht:
- Testen der Website auf Googles Rich Snippets testing tool, und
Google bekommt all die Daten. - Entfernen Sie alle nicht-obligatorischen Open Graph-tags, also nur die vier obligatorischen tags (Typ, Titel, url und Bild) vorhanden war.
- Entfernen alle javascript verursacht Fehler im Firebug.
Und dem Facebook-Debugger kann immer noch nicht die Daten.
Edit #2:
Nach dem Kommentar von @CBroe ich der festen Seite, es könnte also überprüft werden, ohne Fehler, aber noch kein Glück.
Woa, ich hätte nicht bemerkt! Alle Fehler wurde gelöscht jetzt, aber ich kann immer noch nicht debug-Seite..
InformationsquelleAutor rblarsen | 2014-08-20
Du musst angemeldet sein, um einen Kommentar abzugeben.
Möchten Sie vielleicht zu versuchen, Sie zu deaktivieren Sie jede Art von Kompression, zum Beispiel GZIP-Komprimierung in PHP. Das half mir mit einem ähnlichen problem in Joomla 3.3 website.
Hatte ich die GZIP-Komprimierung aktiviert und Facebook war nicht in der Lage zu kratzen an meiner website. Deaktivieren der GZIP-Komprimierung dadurch gelöst, dass Problem.
Habe ich nicht herausgefunden, aber wenn es ein Joomla problem oder ein GZIP/PHP-problem im Allgemeinen oder facebook kratzen problem.
EDIT: Mit einer Aktion freigeben Facebook liest nur die ersten 40k auf der Seite. Wenn GZIP aktiviert ist, Lesen nur die ersten 40k wird Probleme geben, die es nicht zu Dekomprimieren, die teilweise Inhalt.
Eine bessere Lösung wäre das deaktivieren der GZIP-nur für Seiten wie Facebook, LinkedIn, etc.
Können Sie die kleinen plugin namens gzip sehr freundlich Control: http://extensions.joomla.org/extensions/core-enhancements/performance/site-performance/27725
Oder verwenden Sie diese codee https://github.com/dgt41/ (zip-xml-und php-Datei, können Sie es installieren, wie ein plugin)
Bitte beachten Sie: Wenn Sie mit JCH Optimize-Modul installiert auf Ihrer Website müssen Sie zum deaktivieren der gzip-Komprimierung angeboten, die von dem plugin. Alle anderen Optionen können aktiviert bleiben, ohne irgendwelche Probleme, einschließlich einer nativen Joomla gzip-Komprimierung.
Cheers,
Teeuwis
Für die Aufzeichnung, die Facebook-Spachtel ist, zeigt mir die gleiche Fehlermeldung, ich bin nicht mit Joomla, ich bin mit WordPress.
Diese Feste mein problem auf Joomla zu, danke. Hier ist, wie zu deaktivieren der GZIP auf Joomla
InformationsquelleAutor Teeuwis Hillebrand
Ich habe eine Lösung gefunden für das problem in joomla 3 ändern sich nur 2 Dateien aus dem joomla-core, so dass Sie nicht haben, um schalten Sie die GZIP-option. Es ist ausschalten automatisch nur, wenn Sie erkennen die facebook-crawler.
https://github.com/dgt41/joomla-cms/commit/6eef42e50e3f3e4c78c93285de7f9ecfe8bbfbf5 und ein plugin um das problem zu lösen, aber dieses nicht ausgeführt ok für mich.
https://github.com/dgt41/facebookfix/commit/e1d5aa3a1a94f7751d3b69db78ba1aa02dfc37c6
InformationsquelleAutor user3848565