mouth
Willkommen Gast.
Um die volle Funktionalität des Forums nutzen zu können,
müssen Sie sich einloggen oder registrieren.
Haben Sie Ihre Aktivierungs E-Mail übersehen?

 
Erweiterte Suche

31.108 Beiträge in 6.473 Themen- von 6.478 Mitglieder - Neuestes Mitglied: Frideborg

22-10-2019 03:23:54
JOOM::GALLERY::FORUMArchivPonyGallery MLFrontendGelöste Themen: FrontendSEO Fragen (2)
Seiten: [1]
Drucken
Autor Thema: SEO Fragen (2)  (Gelesen 6257 mal)
0 Mitglieder und 1 Gast betrachten dieses Thema.
satchmo
Newbie
*
Offline Offline

Beiträge: 8


« am: 11-09-2008 11:14:28 »

hi ..

Ich hatte diese Frage schon mal gepostet, aber sinnigerweise unter "geloeste Themen".. :)

*
Ein Kunde hat mich vor einiger Zeit bzgl. von Link Texten und 'Link Titeln' in der Galerie Navigation gefragt.

Code:
<a href="foo.com" title="LINK TITEL" LINK TEXT /a>

Bei Linktexten wie 'weiter', 'vor' 'zurueck', 'naechster' etc. bekommen Linktitel eine zusaetzliche Bedeutung im SEO, da sie Wiederholungen vermeiden helfen.

Beispiel:
Galerie von Fortbewegungsmitteln, und Kategorien 'Autos', 'Fluzgzeuge' und 'Schiffe'.
In der Detailansicht der Bilder gibts unterhalb des Pathway einen Link 'zurück zur Kategorieübersicht'.
Diesen Link (sowie andere) würde er gerne 'individualisieren'.

In der Kategorie 'Autos' zum Beisp. wäre dieser Link in etwa so formatiert:

 
Code:
<a href="http://www.foo.com/index.php/ponydynamicURLetc." title="Zurück zur Übersicht der Kategorie 'Autos'">Zurück zur Kategorieübersicht (Autos) </a> 


Ich denke, die Lösung könnte in etwa so aussehen:

Zitat
<a href="<?php echo sefRelToAbs("index.php?option=com_ponygallery&amp;func=viewcategory&amp;catid=$newcatid&amp;Itemid=$Itemid#category"); ?>"
title="Zurück zur Übersicht der Kategorie <?php echo $catname; ?>" Zurück zur Kategorieübersicht <?php echo $catname; ?></a>


Aehnliches habe ich mit der Navigation zwischen den Einzel-Bildern im Sinn.
Ich konnte die Stelle(n) im PG Code nicht richtig indentifizieren.
Koennt Ihr mir da einen Tip geben ?



2
Vor ein paar Tagen bemerkte ich, dass bei den Thumbs in der PG Galerie-Ansicht keine ALT Tags gesetzt sind. (zu sehen ist das zb. im Demo der PG auf joomgallery.net. Dort fehlen im Vergleich zum Joomgallery-Demo die ALT Tags in der Galerieansicht.)

In der Datei ponygallery.html.php gibts ein paar leere ALT Tags.
Welche Variable muesste ich da einsetzen ?
<?php echo $imgtitle; ?> schien es nicht zu sein, denn nichts tat sich...
Auch hier weare ich fuer einen Tip sehr dankbar.


Grüße und vielen Dank im Voraus ... :)
Satch
« Letzte Änderung: 12-09-2008 17:56:38 von satchmo » Gespeichert
mab
Entwickler-Team
Administrator
Hero Member
*****
Offline Offline

Beiträge: 1.279



« Antworten #1 am: 12-09-2008 09:07:51 »

Hi satchmo,

ich beginne mal mit den Alt-Tags in der Galerie-Ansicht: die entsprechenden Zeilen sind in der ponygallery.html.php die 203 und die 212. Dort werden die Bilder aufgerufen, je nach Einstellung entweder das Random-Bild (Zeile 203) oder das feste Kategorie-Bild (Zeile 212). Um den Thumbs nun den richtigen Alt-Tag zu geben, musst Du folgende Änderungen vornehmen:

Zeile 202-204 vorher:
Code
            <a href="<?php echo sefRelToAbs("index.php?option=com_ponygallery&amp;Itemid=$Itemid&amp;func=viewcategory&amp;catid=$row1->cid"); ?>">
             <img src="<?php echo $thumbnailpath.$row->imgthumbname; ?>" align="<?php echo $ctalign; ?>" hspace="4" class="<?php echo $myborder; ?>" style="margin-left:4px; margin-right:4px;" alt="" />
           </a>
 

ersetzen durch:
Code
            <a href="<?php echo sefRelToAbs("index.php?option=com_ponygallery&amp;Itemid=$Itemid&amp;func=viewcategory&amp;catid=$row1->cid"); ?>" title="<?php echo $row1->name; ?>">
             <img src="<?php echo $thumbnailpath.$row->imgthumbname; ?>" align="<?php echo $ctalign; ?>" hspace="4" class="<?php echo $myborder; ?>" style="margin-left:4px; margin-right:4px;" alt="<?php echo $row->imgtitle; ?>" />
           </a>
 


Dann wird beim Random-Bild der Titel des Bildes selbst angezeigt. Da der Link auf dem Thumbnail allerdings in eine Kategorie verweist und nicht direkt auf das Bild, sollte man vielleicht darüber nachdenken, dort anstatt des Bildnamens den Kategorienamen anzeigen zu lassen. Das würde dann so geändert werden müssen:

Code
            <a href="<?php echo sefRelToAbs("index.php?option=com_ponygallery&amp;Itemid=$Itemid&amp;func=viewcategory&amp;catid=$row1->cid"); ?>" title="<?php echo $row1->name; ?>">
             <img src="<?php echo $thumbnailpath.$row->imgthumbname; ?>" align="<?php echo $ctalign; ?>" hspace="4" class="<?php echo $myborder; ?>" style="margin-left:4px; margin-right:4px;" alt="<?php echo $row1->name; ?>" />
           </a>
 

In beiden Fällen habe ich den Titel-Tag im Link auf den Kategorie-Namen gesetzt.


In Zeile 212 wird es etwas schwieriger, denn der Bildname des festen Kategoriebildes ist zu diesem Zeitpunkt garnicht bekannt. Und es wird auch in der JoomGallery nur der Kategoriename im Alt-Tag verwandt. Machen wir erstmal die Änderung mit dem Kategorienamen:

Zeile 211-213 vorher:
Code
              <a href="<?php echo sefRelToAbs("index.php?option=com_ponygallery&amp;Itemid=$Itemid&amp;func=viewcategory&amp;catid=$row1->cid"); ?>">
             <img src="<?php echo $thumbnailpath.$row1->catimage; ?>" align="<?php echo $img_position; ?>" hspace="4" class="<?php echo $myborder; ?>" style="margin-left:4; margin-right:4;" alt="" />
           </a>
 

ersetzen durch:
Code
            <a href="<?php echo sefRelToAbs("index.php?option=com_ponygallery&amp;Itemid=$Itemid&amp;func=viewcategory&amp;catid=$row1->cid"); ?>" title="<?php echo $row1->name; ?>">
             <img src="<?php echo $thumbnailpath.$row1->catimage; ?>" align="<?php echo $img_position; ?>" hspace="4" class="<?php echo $myborder; ?>" style="margin-left:4; margin-right:4;" alt="<?php echo $row1->name; ?>" />
           </a>
 

Um auch dort den Bildnamen angezeigt zu bekommen, muss man eine weitere Datenbankabfrage in den Code einfügen. Das würde dann so aussehen, ab Zeile 208:

vorher:
Code
                } elseif ( $ag_showcatthumb == 2 && $row1->catimage != '' ) {
?>
           <div align="<?php echo $ctalign;?>">
             <a href="<?php echo sefRelToAbs("index.php?option=com_ponygallery&amp;Itemid=$Itemid&amp;func=viewcategory&amp;catid=$row1->cid"); ?>">
             <img src="<?php echo $thumbnailpath.$row1->catimage; ?>" align="<?php echo $img_position; ?>" hspace="4" class="<?php echo $myborder; ?>" style="margin-left:4; margin-right:4;" alt="" />
           </a>
 


ersetzen durch:
Code
                } elseif ( $ag_showcatthumb == 2 && $row1->catimage != '' ) {
                 $database->setQuery("SELECT imgtitle
                     FROM #__ponygallery AS a
                     LEFT JOIN #__ponygallery_catg AS c ON a.catid = c.cid
                     WHERE  a.imgthumbname = '$row1->catimage'"
);
                 $picturename = $database->loadResult();
?>
           <div align="<?php echo $ctalign;?>">
             <a href="<?php echo sefRelToAbs("index.php?option=com_ponygallery&amp;Itemid=$Itemid&amp;func=viewcategory&amp;catid=$row1->cid"); ?>" title="<?php echo $row1->name; ?>">
             <img src="<?php echo $thumbnailpath.$row1->catimage; ?>" align="<?php echo $img_position; ?>" hspace="4" class="<?php echo $myborder; ?>" style="margin-left:4; margin-right:4;" alt="<?php echo $picturename; ?>" />
           </a>
 

Zu den individualisierten Title-Tags später mehr.
« Letzte Änderung: 12-09-2008 09:34:44 von mab » Gespeichert

Gruß mab
mab
Entwickler-Team
Administrator
Hero Member
*****
Offline Offline

Beiträge: 1.279



« Antworten #2 am: 12-09-2008 10:19:26 »

Hi satchmo,

so, weiter gehts mit den Links "Zurück zur Kategorieansicht" in der Detailansicht. Diese werden in der Funktion GalleryBackLink() in der ponygallery.html.php ab Zeile 1773 zusammengebaut. Um die Links mit den entsprechenden Title-Tags versehen zu können, muss die Datenbankabfrage in der Funktion erweitert werden; ab Zeile 1799 wie folgt:

vorher:
Code
    } elseif ( $func=="detail" ) {
     $query="SELECT catid
         FROM #__ponygallery
         WHERE id='$id'"
;
     $database->setQuery($query);
     $newcatid=$database->loadResult();
?>
     <a href="<?php echo sefRelToAbs("index.php?option=com_ponygallery&amp;func=viewcategory&amp;catid=$newcatid&amp;Itemid=$Itemid#category"); ?>">
       <?php echo _PONYGALLERY_BACK_TO_CATEGORY ?>
     </a>
 


ersetzen durch:
Code
    } elseif ( $func=="detail" ) {
     $query="SELECT catid
         FROM #__ponygallery
         WHERE id='$id'"
;
     $database->setQuery($query);
     $newcatid=$database->loadResult();
 
     $query2="SELECT name
         FROM #__ponygallery_catg
         WHERE cid='$newcatid'"
;
     $database->setQuery($query2);
     $newcatname=$database->loadResult();
 
DEFINE('_PONYGALLERY_BACK_TO_THIS_CATEGORY','Zur&uuml;ck zur &Uuml;bersicht der Kategorie');
?>
     <a href="<?php echo sefRelToAbs("index.php?option=com_ponygallery&amp;func=viewcategory&amp;catid=$newcatid&amp;Itemid=$Itemid")."#category"; ?>" title="<?php echo _PONYGALLERY_BACK_TO_THIS_CATEGORY . ' ' . $newcatname; ?>">
       <?php echo _PONYGALLERY_BACK_TO_CATEGORY . ' ' . $newcatname ?>
     </a>
 

Die Definition für die neue Konstante gehört eigentlich in die Language-Dateien; sie ist nur der Einfachheit halber hier direkt gesetzt.
Gespeichert

Gruß mab
mab
Entwickler-Team
Administrator
Hero Member
*****
Offline Offline

Beiträge: 1.279



« Antworten #3 am: 12-09-2008 10:32:05 »

Hi satchmo,

so, dritter Teil: die Navigations-Links zwischen den Einzelbildern in der Detailansicht. Die werden in der Datei sub_viewdetails.html.php zusammengebaut; der Zurück-Link ab Zeile 107 ($backlink) und der Vorwärts-Link ab Zeile 132 ($forwardlink).
Auch hier sind die Namen der Bilder nicht bekannt bzw. stecken in keinen Variablen; lediglich die ID's des nächsten ($nid) und des vorherigen Bildes ($pid) sind bekannt. Das bedeutet, dass wir den Code wieder um eine Datenbankabfrage erweitern müssen, um an die Namen zu kommen, die wir dann in die Title-Tags schreiben können.

Zunächst den Backlink ab Zeile 106:

vorher:
Code
    if ( $pid > 0 && !$slideshow) {
   $backlink = sefRelToAbs("index.php?option=com_ponygallery&amp;Itemid=$Itemid&amp;func=detail&amp;id=$pid#ponyimg");
?>
           <form name="form_pg_back_link">
             <input type="hidden" name="pg_back_link" value="<?php echo $backlink;?>" readonly="readonly" />
           </form>
           <a href="<?php echo $backlink; ?>">
             <?php echo _PONYGALLERY_LAST_IMAGE; ?>
 

ersetzen durch:
Code
    if ( $pid > 0 && !$slideshow) {
     $query="SELECT imgtitle
         FROM #__ponygallery
         WHERE id='$pid'"
;
     $database->setQuery($query);
     $previousname=$database->loadResult();
 
DEFINE('_PONYGALLERY_BACK_TO_THIS_PICTURE','Zur&uuml;ck zum Bild:');
 
   $backlink = sefRelToAbs("index.php?option=com_ponygallery&amp;Itemid=$Itemid&amp;func=detail&amp;id=$pid#ponyimg");
?>
           <form name="form_pg_back_link">
             <input type="hidden" name="pg_back_link" value="<?php echo $backlink;?>" readonly="readonly" />
           </form>
           <a href="<?php echo $backlink; ?>" title="<?php echo _PONYGALLERY_BACK_TO_THIS_PICTURE . ' ' . $previousname; ?>">
             <?php echo _PONYGALLERY_LAST_IMAGE; ?>
 


und genauso gehts auch beim Forwardlink ab Zeile 130 (nach der Änderung oben Zeile 138):

vorher:
Code
    if ( $nid > 0 && !$slideshow) {
   $act_key = ($act_key + 2);
   $forwardlink = sefRelToAbs("index.php?option=com_ponygallery&amp;Itemid=$Itemid&amp;func=detail&amp;id=$nid#ponyimg");
?>
             <form name="form_pg_forward_link">
               <input type="hidden" name="pg_forward_link" value="<?php echo $forwardlink;?>" readonly="readonly" />
             </form>
             <a href="<?php echo $forwardlink; ?>">
               <?php echo _PONYGALLERY_NEXT_IMAGE; ?>
 

ersetzen durch:
Code
    if ( $nid > 0 && !$slideshow) {
   $act_key = ($act_key + 2);
   $forwardlink = sefRelToAbs("index.php?option=com_ponygallery&amp;Itemid=$Itemid&amp;func=detail&amp;id=$nid#ponyimg");
     $query="SELECT imgtitle
         FROM #__ponygallery
         WHERE id='$nid'"
;
     $database->setQuery($query);
     $nextname=$database->loadResult();
 
DEFINE('_PONYGALLERY_FORWARD_TO_THIS_PICTURE','Vor zum n&auml;chsten Bild:');
?>
             <form name="form_pg_forward_link">
               <input type="hidden" name="pg_forward_link" value="<?php echo $forwardlink;?>" readonly="readonly" />
             </form>
             <a href="<?php echo $forwardlink; ?>" title="<?php echo _PONYGALLERY_FORWARD_TO_THIS_PICTURE . ' ' . $nextname; ?>">
               <?php echo _PONYGALLERY_NEXT_IMAGE; ?>
 

Für die DEFINES gilt hier ebenfalls, dass sie eigentlich in die Language-Files gehören..
« Letzte Änderung: 12-09-2008 10:48:16 von mab » Gespeichert

Gruß mab
satchmo
Newbie
*
Offline Offline

Beiträge: 8


« Antworten #4 am: 12-09-2008 14:57:15 »

hey mab
wow, das ist supernett! :)
vielen dank!
ich mach mich mal ans werk und erstatte dann bericht...

satch
Gespeichert
satchmo
Newbie
*
Offline Offline

Beiträge: 8


« Antworten #5 am: 12-09-2008 17:55:17 »

nab

Jau, hat alles prima geklappt. :)
Du hast Recht, den Kategorienamen in den ALT Tags zu verwenden ist natuerlich viel sinnvoller.
3x Danke *** fuer die 3 Posts.
Dafuer haette ich hier bestimmt einen ganzen Tag gesessen.

Cheers
satch
Gespeichert
Seiten: [1]
Drucken
Gehe zu:  

HOSTED BY SCHWARZKÜNSTLER ®

PROTECTED BY  ZB BLOCK  AND Project Honey Pot
Theme orange-lt created by panic

Bad Behavior has blocked 3380 access attempts in the last 7 days.