Forum Katalogu Ciekawych Stron Strona Główna  Forum Katalogu Ciekawych Stron Strona Główna  
 
FAQ  FAQ   Szukaj  Szukaj   Użytkownicy  Użytkownicy   Ranking systemów  Ranking systemów   Grupy  Grupy  
 
Rejestracja  ::  Zaloguj Zaloguj się, by sprawdzić wiadomości
 
Forum Katalogu Ciekawych Stron Strona Główna » Pozycjonowanie i Optymalizacja » Problem z danymi META w Joomla - jak obejść?

Napisz nowy temat  Odpowiedz do tematu
 Problem z danymi META w Joomla - jak obejść? « Zobacz poprzedni temat :: Zobacz następny temat » 
Autor Wiadomość
szuman
PostWysłany: 25 Kwi 2006, 21:09    Temat postu: Problem z danymi META w Joomla - jak obejść? Odpowiedz z cytatem Zacytuj zaznaczone

Przyjaciel KCS
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
Kod:
var $dane_meta          ;


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 Wink
_________________
Mój osobisty blog oraz blog ?lubny mój i mojej ?ony
Powrót do góry
Zobacz profil autora Wyślij prywatną wiadomość Odwiedź stronę autora
KCS
Wysłany:     Temat postu: Reklama w KCS







Powrót do góry
Wyświetl posty z ostatnich:   
Napisz nowy temat  Odpowiedz do tematu Strona 1 z 1


Forum Katalogu Ciekawych Stron Strona Główna » Pozycjonowanie i Optymalizacja » Problem z danymi META w Joomla - jak obejść?
Skocz do:  



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


katalog stron | forum
Powered by phpBB © 2005 phpBB Group