it-swarm.com.de

K2 und duplizierte Open Graph-Tags

Ich habe diese Clien't Site mit Joomla 2.5 und K2 2.6.9. Ja, ich weiß, dass es aktualisiert werden sollte, aber sagen Sie das diesem "billigen" Kunden von mir. Trotzdem funktioniert es einwandfrei und der Kunde ist seit Jahren damit zufrieden.

Aber (es gibt immer mindestens ein "aber", oder?) Es hat Probleme beim Teilen von K2-Artikeln auf Facebook! Manchmal wird der Titel des falschen Artikels angezeigt, und manchmal fehlt das Hauptbild des Artikels, das geteilt werden soll. Ich verwende kein Social-Sharing-Plugin auf dieser Site, aber es hat sh404SEF für SEF-URLs und die sozialen Funktionen sind aktiviert. Das Teilen in sozialen Netzwerken funktioniert auch auf allen anderen Seiten mit Ausnahme von K2-Elementen. Daher bin ich sicher, dass K2 diese Probleme verursacht. In den Optionen für K2-Kategorien habe ich sichergestellt, dass alle sozialen Funktionen von K2 deaktiviert sind. Wenn ich jedoch die Freigabe von K2-Elementen über Open Graph Debugger überprüfe, werden doppelte OG-Tags deutlich angezeigt.

Wie kann ich die Open Graph-Tags von K2 deaktivieren?

2
Mikan

Ich hatte kürzlich ein ähnliches Problem. Um das Problem zu beheben, müssen Sie eine der k2-Kerndateien hacken.

//Go to(windows style path) joomla root/components/com_k2/views/item/view.html.php  
// and comment line from 445 to 455
/*
$document->setMetaData('og:url', $uri->toString());
        $document->setMetaData('og:title', htmlspecialchars($document->getTitle(), ENT_QUOTES, 'UTF-8'));
        $document->setMetaData('og:type', 'Article');
        $facebookImage = 'image'.$params->get('facebookImage', 'Small');
        if ($item->$facebookImage && JFile::exists(JPATH_SITE.$item->$facebookImage))
        {
            $image = substr(JURI::root(), 0, -1).str_replace(JURI::root(true), '', $item->$facebookImage);
            $document->setMetaData('og:image', $image);
            $document->setMetaData('image', $image);
        }
        $document->setMetaData('og:description', htmlspecialchars(strip_tags($document->getDescription()), ENT_QUOTES, 'UTF-8'));
*/

For joomla root/components/com_k2/views/latest​/view.html.php

comment line from line 256 - 261
// Set Facebook meta data
/*
        $document = JFactory::getDocument();
        $uri = JURI::getInstance();
        $document->setMetaData('og:url', $uri->toString());
        $document->setMetaData('og:title', (K2_JVERSION == '15') ? htmlspecialchars($document->getTitle(), ENT_QUOTES, 'UTF-8') : $document->getTitle());
        $document->setMetaData('og:type', 'website');
        $document->setMetaData('og:description', strip_tags($document->getDescription()));
*/

For joomla root/components/com_k2/views/itemlist/view.html.php  line 690 to 701

// Set Facebook meta data
/*
    $document = JFactory::getDocument();
        $uri = JURI::getInstance();
        $document->setMetaData('og:url', $uri->toString());
        $document->setMetaData('og:title', (K2_JVERSION == '15') ? htmlspecialchars($document->getTitle(), ENT_QUOTES, 'UTF-8') : $document->getTitle());
        $document->setMetaData('og:type', 'website');
        if ($task == 'category' && $this->category->image && strpos($this->category->image, 'placeholder/category.png') === false)
        {
            $image = substr(JURI::root(), 0, -1).str_replace(JURI::root(true), '', $this->category->image);
            $document->setMetaData('og:image', $image);
            $document->setMetaData('image', $image);
        }
        $document->setMetaData('og:description', strip_tags($document->getDescription()));

*/

Ich habe diese Lösung im JoomlaWorks-Forum gefunden Stoppt, dass K2 OG-Tags generiert und den Link, den es als Lösung auflistet Com_k2-Standard-Open-Graph-Fix

Es gibt eine dritte Option, die sehr ähnlich ist k2-und-Setzen-des-falschen-Open-Graph-Description-Meta-Tags

Ich hoffe es hilft.

3
user7746