Neuigkeiten
  • Die modified eCommerce Shopsoftware ist kostenlos, aber nicht umsonst.
    Spenden
  • Damit wir die modified eCommerce Shopsoftware auch zukünftig kostenlos anbieten können:
    Spenden
  • Thema: Neu: Google: Bildinformationen können in Sitemaps abgelegt werden

    Jürgen

    • Viel Schreiber
    • Beiträge: 895
    • Geschlecht:
    Hallo,

    ich push das nochmal....

    Vielleicht hat ja doch jemand einen Tip nachdem es ja mit der normalen sitemap funktioniert bez. der verlinkten Artikel....

    Danke für Tips/Hinweise

    Gruss

    Jürgen

    cplasa

    • Fördermitglied
    • Beiträge: 200
    • Geschlecht:
    Hallöchen zusammen :-)

    Danke Matt für dieses Script  :thx:

    Als Ergänzung zu der googleimages.php fiel mir ein, dass wenn die Datei über ein Cronjob ausgeführt werden soll, ja auch jeder unberechtigte dieses Script ausführen kann.

    Hier gibt es nun zwei Möglichkeiten.

    1. Möglichkeit
    Die Datei umbenennen (sodass der Dateiname nicht ohne weiteres zu erraten wäre)

    2. Möglichkeit
    Nach folgender Zeile

    Code: PHP  [Auswählen]
    require_once('includes/application_top.php');

    das hier einfügen:

    Code: PHP  [Auswählen]
    if (!isset($_SESSION['customer_id']) || ($_SESSION['customers_status']['customers_status_id'] != '0' && $_SESSION['customers_status']['customers_status'] != '0')) {
        xtc_redirect(xtc_href_link(FILENAME_LOGIN, '', 'NONSSL'));
    }

    So lässt sich die Sitemap nur noch als eingeloggter Admin erstellen. Das wäre die Alternative - wenn ein Cronjob nicht vorgesehen ist und das ganze sowieso händisch von Zeit zu Zeit erstellt wird.

    Wer übrigens nicht zufällig in Matt's Gewerbe wildert, kann

    Code: PHP  [Auswählen]
            if($retval=="array") {
                    return array_unique($category_path_array);
            } else {
                    return str_replace("Räuchermänner", "Räuchermännchen", $product_categories_string);
            }

    mit

    Code: PHP  [Auswählen]
            if($retval=="array") {
                    return array_unique($category_path_array);
            }

    ersetzen ;)

    Viele Grüße
    Christian

    Jürgen

    • Viel Schreiber
    • Beiträge: 895
    • Geschlecht:
    Hallo Christian,

    tritt bei die das Problem mit den doppelten Einträgen bei verlinkten Artikeln nicht auf oder hast du das im Code behoben?

    Gruss

    Jürgen

    cplasa

    • Fördermitglied
    • Beiträge: 200
    • Geschlecht:
    Also mehr als den Code interpretieren und bei Bedarf leicht angepasstes Copy&Paste mache ich leider auch nicht.

    Matt - dieses "Problem" müsste dann doch bei Dir auch vorhanden sein!? (Es sei denn in Deinem Shop gibt es keine verlinkten Artikel).

    Mein Gefühl sagt mir, dass  das Problem in etwa so lösbar wäre:

    ab

    Code: PHP  [Auswählen]
    while ($product = xtc_db_fetch_array($export_query)) {
            if(!file_exists(DIR_FS_DOCUMENT_ROOT.DIR_WS_POPUP_IMAGES.$product['products_image']) || is_dir(DIR_FS_DOCUMENT_ROOT.DIR_WS_POPUP_IMAGES.$product['products_image']))

    müsste doch in die If eine weitere Bedingung.

    WENN Bildname schon einmal vergeben (image:loc)
    DANN  überspringe den Loop.

    Matt - vielleicht kannst Du hier noch einmal helfen? :-)

    Viele Grüße
    Christian

    cplasa

    • Fördermitglied
    • Beiträge: 200
    • Geschlecht:
    ... wobei mir einfällt, dass hier ein Denkfehler vorliegt. Erst IM Loop kann ja eine bereits vergebene Zuweisung festgestellt werden...

    Bonsai

    • Viel Schreiber
    • Beiträge: 4.127
    • Geschlecht:
    Alternative Lösung. Umbau einer dynamischen Sitemap hier aus dem Forum. (Quelle finde ich gerade nicht)
    Diese produziert das XML in dem Moment, wenn Google oder ein Browser zugreift.

    Bilder habe ich hinzugefügt. Es wird NUR für Produkte und NUR das erste Bild in der Sitemap aufgenommen.
    Wem das eine Bild nicht reicht, der sollte sich die Funktion createProductsMap anpassen.

    Log Ordner anlegen:
    /log

    Log Ordner sichern:
    /log/.htaccess
    Code: PHP  [Auswählen]
    deny from All

    Sitemap Script im Shoproot ablegen:
    /siteMap.php
    Code: PHP  [Auswählen]
    <?php
    // TODO: reset display_errors
    $startTime = microtime(true);
    //ini_set('display_errors', false);

    define('SX_LOG', './log/sitemap.log');
    define('SX_SHOP_PATH', './');

    include (SX_SHOP_PATH.'includes/configure.php');
    include (SX_SHOP_PATH.'includes/database_tables.php');
    include (SX_SHOP_PATH.'inc/sitemapFunctions.php');
    include (SX_SHOP_PATH.'inc/shopstat_hrefMask.inc.php');

    // TODO: Parameter $langCode
    $langCode = 'de';

    // TODO: seo url?       if ()

    $dbh = mysql_pconnect(DB_SERVER, DB_SERVER_USERNAME, DB_SERVER_PASSWORD);
            if (!mysql_select_db(DB_DATABASE, $dbh))
                    die('no db connection');
    mysql_query("set names '".DB_SERVER_CHARSET."'");

           
    $aPath=array();
    $langId = 0;
    $langCharset = '';
            if (!setLanguageAttributes($langCode, $langId, $langCharset))
                    exit;

    createCatgMap($langId, $langCharset, $aPath);

    // create XML
    $siteMap=new DOMDocument('1.0', 'utf8');
    $siteMap->formatOutput=true;   
    $urlset = $siteMap->createElementNS('http://www.sitemaps.org/schemas/sitemap/0.9', 'urlset');
    $siteMap->appendChild($urlset);

            foreach ($aPath as $key => $val) {
                    $url = $siteMap->createElement('url');
                    $loc = $siteMap->createElement('loc', HTTP_SERVER.DIR_WS_CATALOG.$aPath[$key]['cname'].CAT_DIVIDER.$aPath[$key]['cpath'].'.html');
                    $url->appendChild($loc);
                    $lastmod = $siteMap->createElement('lastmod', $aPath[$key]['clmod']);
                    $url->appendChild($lastmod);
                    $urlset->appendChild($url);
            }

    createProductsMap($langId, $langCharset, $siteMap, $urlset, $aPath);

    header('Content-Type: text/plain');
    echo $siteMap->saveXML();
    $sLogTime = date("Y-m-d  h:i:s",time());
    error_log($sLogTime.' Laufzeit Map    : '.(microtime(true)-$startTime)." s \n", 3, SX_LOG);
    error_log($sLogTime.' Speicher (peak) : '.  memory_get_peak_usage()." bytes \n", 3, SX_LOG);
    error_log($sLogTime.' Speicher (used) : '.  memory_get_usage()." bytes \n", 3, SX_LOG);
    error_log($sLogTime.' Speicher (peak) : '.  memory_get_peak_usage()." bytes \n", 3, SX_LOG);
    error_log($sLogTime.' Speicher (limit): '.  ini_get('memory_limit')."  \n", 3, SX_LOG);
    error_log($sLogTime.' User Agent      : '.$_SERVER['HTTP_USER_AGENT']."  \n", 3, SX_LOG);
    error_log($sLogTime.' Remote Address  : '.$_SERVER['REMOTE_ADDR']."  \n", 3, SX_LOG);
    error_log($sLogTime.' Host by IP      : '.gethostbyaddr($_SERVER['REMOTE_ADDR'])."  \n", 3, SX_LOG);
    error_log($sLogTime.' Laufzeit gesamt : '.(microtime(true)-$startTime)." s \n", 3, SX_LOG);
    ?>
     

    Datei mit den Funktionen in den Ordner inc legen:
    /inc/sitemapFunctions.php
    Code: PHP  [Auswählen]
    <?php

    function setLanguageAttributes ($langCode, &$langId, &$langCharset) {
            $qry="  select languages_id, language_charset
                            from languages
                            where status = 1
                                    and code = '$langCode'"
    ;
            $res=mysql_query($qry);
                    while ($row = mysql_fetch_assoc($res)) {
                            $langId = (int)$row['languages_id'];
                            $langCharset = strtolower($row['language_charset']);
                            if (file_exists(DIR_FS_INC . 'search_replace_'.$langCharset.'.php')) {
                                    include_once (DIR_FS_INC . 'search_replace_'.$langCharset.'.php');
                            } else {
                                    include_once (DIR_FS_INC . 'search_replace_default.php');
                            }
                    return(true);
            }
            return(false);
    }

    function createCatgMap(&$langId, &$langCharset, &$aPath) {
      $c_group_check = '';
            $qry = "SELECT c.categories_id,
                     c.parent_id,
                     date(c.last_modified) as last_modified,
                                       date(c.date_added) as date_added, cd.categories_name
                            FROM "
    . TABLE_CATEGORIES . " c
                JOIN "
    . TABLE_CATEGORIES_DESCRIPTION ." cd
                     ON c.categories_id = cd.categories_id
                        AND trim(cd.categories_name) != ''
                        AND cd.language_id = '"
    . (int)$langId ."'
               WHERE c.categories_status = '1'
                                       "
    .$c_group_check."
                        ORDER BY c.parent_id, c.categories_id"
    ;

            $res= mysql_query($qry);
            $aPath = array();
                    while ($row = mysql_fetch_array($res)) {
                            $lastMod = max($row['last_modified'], $row['date_added'], '2008-06-05');
          $row['categories_name'] = shopstat_hrefMask($row['categories_name'], $langCharset);
                            if ((int)$row['parent_id'] == 0) {        
                                    $aPath[(int)$row['categories_id']]['cpath']=$row['categories_id'];
                                    $aPath[(int)$row['categories_id']]['cname']=$row['categories_name'];
                                    $aPath[(int)$row['categories_id']]['clmod']=$lastMod;
                            } else {
                                    createPathArray($aPath, $row['categories_id'], (int)$row['parent_id'], $row['categories_name'], $lastMod, $langId, $langCharset);
                            }
                    }      
    }

    function createPathArray(&$aPath, $scid, $pid, $cname, $clmod, $langId, $langCharset) {
                    if (isset($aPath[$pid]['cpath'])) {
                            $aPath[(int)$scid]['cpath']=$aPath[$pid]['cpath'].'_'.$scid;
                            $aPath[(int)$scid]['cname']=$aPath[$pid]['cname'].'/'.$cname;  
                            $aPath[(int)$scid]['clmod']=$clmod;    
                    } else {
          $c_group_check = '';
                            $sub = mysql_query(
                           "SELECT c.categories_id,
                                   c.parent_id,
                                   date(c.last_modified) as last_modified,
                                   date(c.date_added) as date_added, cd.categories_name
                              FROM "
    . TABLE_CATEGORIES . " c
                              JOIN "
    . TABLE_CATEGORIES_DESCRIPTION ." cd
                                   ON c.categories_id = cd.categories_id
                                      AND trim(cd.categories_name) != ''
                                      AND cd.language_id = '"
    . (int)$langId ."'                
                            WHERE c.categories_status = '1'
                              AND c.categories_id = '"
    .(int)$pid."'              
                                   "
    .$c_group_check."
                              "
    );
                                    if ($res = mysql_fetch_array($sub)) {
                                            $lastMod = max($row['last_modified'], $row['date_added'], '2008-06-05');
              $res['categories_name'] = shopstat_hrefMask($res['categories_name'], $langCharset);
                                            if (isset($aPath[(int)$res['parent_id']]['cpath'])) {
                                                    $aPath[(int)$res['categories_id']]['cpath']=$aPath[(int)$res['parent_id']]['cpath'].'_'.$res['categories_id'];
                                                    $aPath[(int)$res['categories_id']]['cname']=$aPath[(int)$res['parent_id']]['cname'].'/'.$res['categories_name'];
                                                    $aPath[(int)$res['categories_id']]['clmod']=$lastMod;                                  
                                                    createPathArray($aPath, $scid, $pid, $cname, $clmod, $langId, $langCharset);
                                            } else {
                                                    error_log(time() . " search parent ".$res['parent_id']." recursive, cat ".$res['categories_id']."  \n", 3, SX_LOG);
                                                    createPathArray($aPath, $res['categories_id'], (int)$res['parent_id'], $res['categories_name'], $lastMod, $langId, $langCharset);
                                            }
                                    } else {
                                            error_log(time() . " error in categories (parent missing, categories_id = $pid)  \n", 3, SX_LOG);
                                    }
                    }
    }

    function createProductsMap (&$langId, &$langCharset, &$siteMap, &$urlset, &$aPath) {
            $p_group_check = '';
      $qry = "SELECT p.products_id,
                                     p.products_image,
                     date(p.products_last_modified) as last_modified,
                                             date(p.products_date_added) as date_added,
                     pd.products_name,
                     p2c.categories_id
                                  FROM "
    . TABLE_PRODUCTS . " p
                JOIN "
    . TABLE_PRODUCTS_DESCRIPTION . " pd
                     ON p.products_id = pd.products_id
                       AND p.products_status = 1
                       AND pd.language_id = '"
    . (int)$langId ."'
                       AND trim(pd.products_name) != ''
                       "
    . $p_group_check ."                  
                JOIN "
    . TABLE_PRODUCTS_TO_CATEGORIES . " p2c
                     ON p.products_id = p2c.products_id
                                     group by p.products_id
                                      "
    ;
             
            $res = mysql_query($qry);
                    while ($row = mysql_fetch_array($res)) {
                            if (isset($aPath[(int)$row['categories_id']])) {
                                   
                                    $url = $siteMap->createElement('url');
                                    $loc = $siteMap->createElement('loc', HTTP_SERVER.DIR_WS_CATALOG.
                                                    $aPath[(int)$row['categories_id']]['cname'].'/'.
                                                    shopstat_hrefMask($row['products_name'], $langCharset).ART_DIVIDER.$row['products_id'].'.html');
                                    $url->appendChild($loc);
                                    $lastmod = $siteMap->createElement('lastmod', $lastmod = max($row['last_modified'], $row['date_added'], '2008-06-05'));
                                    $url->appendChild($lastmod);
                                    $img = $siteMap->createElement('image:image');
                                    $url->appendChild($img);
                                    $img_loc = $siteMap->createElement('image:loc',HTTP_SERVER.DIR_WS_CATALOG.'images/product_images/info_images/'.$row['products_image']);
                                    $img->appendChild($img_loc);
                                    $urlset->appendChild($url);
                            }
                    }
    }
    ?>
     

    Sitemap testen:
    http://dein-shop.tld/siteMap.php

    Großkleinschreibung beachten! Wenn das kein Windoof Server ist, sind die Dateien sitemap.php und siteMap.php zwei völlig unterschiedliche Dateien!

    Bonsai

    • Viel Schreiber
    • Beiträge: 4.127
    • Geschlecht:
    Achso ...... das Logfile wächst und wächst ..... habe soeben ein 600MB logfile gelöscht ... also lasst euch noch was einfallen, dass das log nicht die Platte voll schreibt!

    Bonsai

    • Viel Schreiber
    • Beiträge: 4.127
    • Geschlecht:
    Lösung für das Logfile Problem: (wenn Logfile über 500k, wird es verschoben. Falls das das zweite mal passiert sind die ersten 500k gelöscht. Somit hat man immer mindestens 500k log)
    /siteMap.php
    Code: PHP  [Auswählen]
    <?php
    // TODO: reset display_errors
    $startTime = microtime(true);
    //ini_set('display_errors', false);

    define('SX_LOG', './log/sitemap.log');
    define('SX_LOG_BACKUP', './log/sitemap_old.log');
    define('SX_SHOP_PATH', './');

    include (SX_SHOP_PATH.'includes/configure.php');
    include (SX_SHOP_PATH.'includes/database_tables.php');
    include (SX_SHOP_PATH.'inc/sitemapFunctions.php');
    include (SX_SHOP_PATH.'inc/shopstat_hrefMask.inc.php');

    // TODO: Parameter $langCode
    $langCode = 'de';

    // TODO: seo url?       if ()

    $dbh = mysql_pconnect(DB_SERVER, DB_SERVER_USERNAME, DB_SERVER_PASSWORD);
            if (!mysql_select_db(DB_DATABASE, $dbh))
                    die('no db connection');
    mysql_query("set names '".DB_SERVER_CHARSET."'");

           
    $aPath=array();
    $langId = 0;
    $langCharset = '';
            if (!setLanguageAttributes($langCode, $langId, $langCharset))
                    exit;

    createCatgMap($langId, $langCharset, $aPath);

    // create XML
    $siteMap=new DOMDocument('1.0', 'utf8');
    $siteMap->formatOutput=true;   
    $urlset = $siteMap->createElementNS('http://www.sitemaps.org/schemas/sitemap/0.9', 'urlset');
    $siteMap->appendChild($urlset);

            foreach ($aPath as $key => $val) {
                    $url = $siteMap->createElement('url');
                    $loc = $siteMap->createElement('loc', HTTP_SERVER.DIR_WS_CATALOG.$aPath[$key]['cname'].CAT_DIVIDER.$aPath[$key]['cpath'].'.html');
                    $url->appendChild($loc);
                    $lastmod = $siteMap->createElement('lastmod', $aPath[$key]['clmod']);
                    $url->appendChild($lastmod);
                    $urlset->appendChild($url);
            }

    createProductsMap($langId, $langCharset, $siteMap, $urlset, $aPath);

    header('Content-Type: text/plain');
    echo $siteMap->saveXML();
    clearstatcache();
    if (filesize(SX_LOG) > 500000) rename(SX_LOG, SX_LOG_BACKUP);
    if (!file_exists(SX_LOG)) touch(SX_LOG);
    $sLogTime = date("Y-m-d  h:i:s",time());
    error_log($sLogTime.' Laufzeit Map    : '.(microtime(true)-$startTime)." s \n", 3, SX_LOG);
    error_log($sLogTime.' Speicher (peak) : '.  memory_get_peak_usage()." bytes \n", 3, SX_LOG);
    error_log($sLogTime.' Speicher (used) : '.  memory_get_usage()." bytes \n", 3, SX_LOG);
    error_log($sLogTime.' Speicher (peak) : '.  memory_get_peak_usage()." bytes \n", 3, SX_LOG);
    error_log($sLogTime.' Speicher (limit): '.  ini_get('memory_limit')."  \n", 3, SX_LOG);
    error_log($sLogTime.' User Agent      : '.$_SERVER['HTTP_USER_AGENT']."  \n", 3, SX_LOG);
    error_log($sLogTime.' Remote Address  : '.$_SERVER['REMOTE_ADDR']."  \n", 3, SX_LOG);
    error_log($sLogTime.' Host by IP      : '.gethostbyaddr($_SERVER['REMOTE_ADDR'])."  \n", 3, SX_LOG);
    error_log($sLogTime.' Laufzeit gesamt : '.(microtime(true)-$startTime)." s \n", 3, SX_LOG);
    ?>
     

    cplasa

    • Fördermitglied
    • Beiträge: 200
    • Geschlecht:
    Danke Bonsai, dass Du das hier noch mal aufgreifst :-)

    Ich habe allerdings gar keine
    inc/shopstat_hrefMask.inc.php

    und erhalte natürlich Fehlermeldungen. Ist das nur bei mir so? (ist die neueste 1.06)

    Bonsai

    • Viel Schreiber
    • Beiträge: 4.127
    • Geschlecht:
    Da ist meine:
    Code: PHP  [Auswählen]
    <?php
    define('FILENAME_PRODUCT_INFO', 'product_info.php');

    // BOF from shopstat_functions.inc.php for compatibility
    define('SEO_SEPARATOR','-');
    define('SPECIAL_CHAR_FR', true);  //Französische Sonderzeichen
    define('SPECIAL_CHAR_ES', true);  //Spanische/Italienische/Portugisische Sonderzeichen (nur aktivieren wenn auch französiche Sonderzeichen aktiviert sind)
    define('SPECIAL_CHAR_MORE', true);  //Weitere Sonderzeichen

    //BOF - web28 - 2010-08-18 -- Definition für die Trennzeichen
    define('CAT_DIVIDER',SEO_SEPARATOR.SEO_SEPARATOR.SEO_SEPARATOR); //Kategorie ':::'
    define('ART_DIVIDER',SEO_SEPARATOR.SEO_SEPARATOR);               //Artikel '::'
    define('CNT_DIVIDER',SEO_SEPARATOR.'_'.SEO_SEPARATOR);           //Content ':_:'
    define('MAN_DIVIDER',SEO_SEPARATOR.'.'.SEO_SEPARATOR);           //Hersteller ':.:'
    define('PAG_DIVIDER',SEO_SEPARATOR);                             //Seitennummer ':'
    // EOF from shopstat_functions.inc.php for compatibility

    function shopstat_hrefMask($string, $charset='iso-8859-15') {
      shopstat_getRegExps($search, $replace);

      //BOF - DokuMan - 2010-08-13 - optimize shopstat_getRegExps
      $newstring = $string;

      //web28 - 2010-08-17 - Eurozeichen ersetzen
      $newstring  = str_replace("&euro;","-EUR-",$newstring);

      //web28 -2011-0812 - Geschütztes Leerzeichen entfernen  - VOR html_entity_decode
      $newstring  = str_replace("&nbsp;", "-",$newstring);

      //web28 - 2010-08-18 -HTML-Codierung entfernen (&uuml; etc.)
      // TODO: language charset
      //$newstring  = html_entity_decode($newstring, ENT_NOQUOTES , strtoupper($_SESSION['language_charset']));
      $newstring  = html_entity_decode($newstring, ENT_NOQUOTES , $charset);

      //-- <br> neutralisieren - DokuMan - 2010-08-13 - optimize shopstat_getRegExps
      $newstring  = preg_replace("/<br(\s+)?\/?>/i","-",$newstring);

      //-- HTML entfernen
      $newstring  = strip_tags($newstring);

      //-- Schrägstriche entfernen
      $newstring  = preg_replace("/\//","-",$newstring);

      //-- Definierte Zeichen entfernen
      $newstring  = preg_replace($search,$replace,$newstring);

      //--Anführungszeichen weg.
      $newstring  = preg_replace("/'|\"|´|`/","",$newstring);

      //-- String URL-codieren
      $newstring  = urlencode($newstring);

      //-- Die nun noch (komisch aussehenden) doppelten Bindestriche entfernen
      $newstring  = preg_replace("/(-){2,}/","-",$newstring);

      //web28 - 2010-08-13 - Mögliches rechtstehendes Minuszeichen entfernen - wichtig für Minus Trennzeichen
      $newstring = rtrim($newstring,"-");

     //if($_REQUEST['test']){print $newstring."<hr>";}
      return($newstring);
    }
    ?>

    Es kann sein, dass die mit im Paket war, zu dieser siteMap.php. Ist zu lange her, dass ich die eingebaut habe.

    ACHTUNG! da ist ein hardcodierter SEO Seperator definiert! Den musst Du anpassen!

    Bonsai

    • Viel Schreiber
    • Beiträge: 4.127
    • Geschlecht:
    Habe die Quelle des Originalpaketes gefunden:
    http://shopnix.de/downloads.html

    Ja, die Datei gehört zum Paket, deshalb die Fehlermeldung bei Dir.

    Jürgen

    • Viel Schreiber
    • Beiträge: 895
    • Geschlecht:
    :thx:

    @ bonsai - Auch von mir....

    Werde das morgen mal angehen...
    Gefällt mir irgendwie nicht, dass ich momentan 2 sitemaps einrgereicht habe, eine "normale" und eine für Bilder...

    Habe irgendwie das Gefühl das die Links aus meiner image sitemap auch als "Seiten/Links" von google angesehen werden, da ich nach dem ersten einreichen der image sitemap plötzlich in den webmaster tools unter dem Punkt sitemap ca. 2500 Links zusätzlich hatte, was von der Anzahl den Links aus den Bildern entspricht...

    Bin da ein bischen verunsichert.... :’-( da ich erst vor kurzem einen SEO Bock geschossen hatte...und möchte Tante goo nicht unnötig verwirren... :crazy:

    Was wird den bei euch in den webmastertools angezeigt unter eingericht, etc.?

    Vielleicht interpretiere ich das auch falsch was da steht....?

    Gruss Jürgen

    Gruss Jürgen

    Alfred

    • Experte
    • Beiträge: 2.115
    Habe irgendwie das Gefühl das die Links aus meiner image sitemap auch als "Seiten/Links" von google angesehen werden, da ich nach dem ersten einreichen der image sitemap plötzlich in den webmaster tools unter dem Punkt sitemap ca. 2500 Links zusätzlich hatte, was von der Anzahl den Links aus den Bildern entspricht...

    Hallo,

    es werden einfache alle Links gezählt in den eingereichten Sitemaps.
    Es schadet nicht wann die da doppelt und dreifach gezählt werden.
    Das ist normal. Keine Sorge.

    Gruß

    Jürgen

    • Viel Schreiber
    • Beiträge: 895
    • Geschlecht:
    ...Danke für das feedback, dann bin ich mal beruhigt!

    Gruss Jürgen

    Bonsai

    • Viel Schreiber
    • Beiträge: 4.127
    • Geschlecht:
    Ich wollte eigentlich an meinem Livesystem nichts mehr tun, da ich meine Zeit nur noch in den neuen Shop stecke, aber damit ihr seht, wie die Sitemap mit Bildern aussieht, habe ich es mal eingebaut.
    Wenn man hier runterscrollt, bis man zu den Artikeln kommt, sieht man die <image:image> Tags:
    https://www.kollateral-verlag.net/siteMap.php

    Achtung! Diese Version ist nicht geeignet für Shops mit extrem vielen Artikeln!
    Ich habe ca. 2700 Artikel.

    2016-01-05  09:33:50 Laufzeit gesamt : 3.6766588687897 s

    Damit kann man sich ungefähr ausrechnen ab wie vielen Artikeln man etwa an die maximale Skriptlaufzeit rankommt! (auf einer eher schwachen Maschine)
    12 Antworten
    8432 Aufrufe
    15. Juni 2009, 21:05:38 von Tino77
    40 Antworten
    20599 Aufrufe
    11. Dezember 2010, 18:20:24 von Tomcraft
    0 Antworten
    2217 Aufrufe
    21. Juni 2012, 12:54:12 von blitec
    6 Antworten
    5281 Aufrufe
    06. Dezember 2012, 13:18:07 von Da Sandro