|
|
|
Problem z danymi META w Joomla - jak obejść? |
« Zobacz poprzedni temat :: Zobacz następny temat » |
Autor |
Wiadomość
|
szuman |
Wysłany: 25 Kwi 2006, 21:09 Temat postu: Problem z danymi META w Joomla - jak obejść? |
|
|
Przyjaciel KCS
Dołączył: 05 Mar 2006 Posty: 1554
Skąd: D?bica
|
Przegladajac tematy na pewnym forum o CMS-ie Joomla trafilem na pewien sposob na ominiecie standardowego sposobu zarzadzania danymi meta przez Joomla.
Standardowa w panelu administracyjnym Joomla, w globalnej konfiguracji jest mozliwosc wpisania danych descriptions i keywords. Dane te sa przypisywane kazdej z podstron. Gdy dodajemy np. jakis artykul mamy mozliwosc przypisania mu oddzielnych meta tagow, ale podczas analizy analizatorami meta tagow wychodzi szydlo z worka: na stronie glownej widoczne sa meta wpisane w globalnej konfiguracji i wszystkie przypisane indywidualnie kazdemu artykulowi znajdujacemu sie na stronie glownej, podobnie jest na podstronach z pojedynczymi artami: do ich tagow dodawane sa tagi globalne. Przez to bardzo latwo miec nawet po kilka tysiecy slow kluczowych i opisowych, co (nietrudno sie domyslec) bedzie niezbyt przyjazne wyszukiwarkom. Glowilem sie nad tym problemem sam wiec zoptymalizowalem swoja strone tak, aby ograniczyc sie do globalnych meta.. udalo mi sie w pewnym, ale niesatysfakcjonujacym mnie stopniu. Teraz, gdy znalazlem rozwiazanie, moge zabierac sie za ponowna optymalizacje, gdyz pewien dobry czlowiek podzielil sie swoim rozwiazaniem, ktore dziala na tej zasadzie, ze sprawdza dostepnosc tagow konkretnego arta i jesli posiada on meta, wowczas wylacza tagi globalne (przynajmniej ja tak zrozumialem ten kod:P)
Aby to zadzialalo nalezy wyedytowac dwa pliki z katalogu "include":
frotend.php
miedzy liniami 166 a 177 jest:
Kod: | $mainframe->appendMetaTag( 'description', $mosConfig_MetaDesc );
$mainframe->appendMetaTag( 'keywords', $mosConfig_MetaKeys );
$mainframe->addMetaTag( 'Generator', $_VERSION->PRODUCT . " - " . $_VERSION->COPYRIGHT);
$mainframe->addMetaTag( 'robots', 'index, follow' );
echo $mainframe->getHead(); |
i nalezy zamienic to na:
Kod: | if ($mainframe->getTest_meta()==true) {
//echo "<br>get test = true";
} else {
$mainframe->appendMetaTag( 'description', $mosConfig_MetaDesc );
$mainframe->appendMetaTag( 'keywords', $mosConfig_MetaKeys );
//echo "<br>get test = false";
}
$mainframe->addMetaTag( 'Generator', $_VERSION->PRODUCT . " - " . $_VERSION->COPYRIGHT);
$mainframe->addMetaTag( 'robots', 'index, follow' );
echo $mainframe->getHead(); |
a w pliku joomla.php w wierszu 370 dodać zmieną w klasie mosMainFrame
a w wierszu od 537 odnalesc funkcje getHead zdublikować funckje i nazwać nową funkcje na getTest_meta() oraz
zmienić nazwe zmienej $head na $head2 i dodać warunek tak jak poniżej
Kod: | function getTest_meta() {
$head2 = array();
$head2[] = '<title>' . $this->_head['title'] . '</title>';
$this->dane_meta=false;
foreach ($this->_head['meta'] as $meta) {
if ($meta[2]) {
$head2[] = $meta[2];
}
$head2[] = '<meta name="' . $meta[0] . '" content="' . $meta[1] . '" />';
if (($meta[0]=="keywords") or ($meta[0]=="description")) {
if ($meta[1]) {$this->dane_meta=true;
}
}
if ($meta[3]) {
$head2[] = $meta[3];
}
}
foreach ($this->_head['custom'] as $html) {
$head2[] = $html;
}
return $this->dane_meta;
}
function getHead() {
$head = array();
$head[] = '<title>' . $this->_head['title'] . '</title>';
foreach ($this->_head['meta'] as $meta) {
if ($meta[2]) {
$head[] = $meta[2];
}
$head[] = '<meta name="' . $meta[0] . '" content="' . $meta[1] . '" />';
if ($meta[3]) {
$head[] = $meta[3];
}
}
foreach ($this->_head['custom'] as $html) {
$head[] = $html;
}
return implode( "\n", $head ) . "\n";
} |
Dzis zabieram sie za upgrade tych plikow i ponowne odwiedziny analizatora meta _________________ Mój osobisty blog oraz blog ?lubny mój i mojej ?ony |
|
Powrót do góry |
|
|
KCS |
Wysłany: Temat postu: Reklama w KCS |
|
|
|
|
Powrót do góry |
|
|
|
|
|
|
Strona 1 z 1 |
|
Nie możesz pisać nowych tematów Nie możesz odpowiadać w tematach Nie możesz zmieniać swoich postów Nie możesz usuwać swoich postów Nie możesz głosować w ankietach
|
|
|
|