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: SEO Maßnahme (redirect) Update von xt:c

    member

    • Neu im Forum
    • Beiträge: 23
    SEO Maßnahme (redirect) Update von xt:c
    am: 01. August 2012, 22:07:11
    Also ich hab mich mal nach 2 stunden suchen und nicht das passende finden dazu entschlossen den beitrag zu öffenen...

    Und zwar geht es darum dass ich für jemanden von einem alten xt:commerce shop zu modified eCommerce Shopsoftware + seo urls updaten möchte und natürlich nicht die urls verlieren möchte... bzw. google bescheideben möchte, dass diese umgezogen sind...

    beispiel alte urls:
    product_info.php/info/p4057_SG-552-Commando-LB-DE.html
    beispiel neue urls:
    /Kurzwaffen/Pistolen/Glock-17-Gen4::129.html

    über eine einfache .htaccess redirect wird sich das ja nicht lösen lassen... und alle urls einzeln als moved permanently in die .htaccess zu packen wird auch nicht sinngemäß sein...

    gibt es hier eine gute lösung? ich hab in dem ein oder anderen post etwas über ein seo weiterleitungs-modul gelesen... aber sonst nichts dazu finden können...

    das gleiche muss ich auch bald von einem noch älteren os:commerce shop aus machen...

    wie würdet ihr damit umgehn?

    bin um jede hilfe dankbar!

    grüße aus tirol (österreich)


    Linkback: https://www.modified-shop.org/forum/index.php?topic=21485.0

    GTB

    • modified Team
    • Gravatar
    • Beiträge: 6.307
    • Geschlecht:
    Re: SEO Maßnahme (redirect) Update von xt:c
    Antwort #1 am: 01. August 2012, 23:37:05
    Hallo,

    na da schaug her, a inschbrugger. Im Oberland sage mir Koatlackler zu enk.  :-PP

    Das ganze lässt sich bestens per htaccess lösen. Bei interesse, einfach eine Anfrage über das Kontaktformular schreiben.

    Gruss Gerhard

    tausendwelt

    • Neu im Forum
    • Beiträge: 7
    Re: SEO Maßnahme (redirect) Update von xt:c
    Antwort #2 am: 06. August 2012, 15:31:41
    Ich habe auch nach längerem Betreiben des Shops die Suchmaschinenfreundlichen URL's eingeschaltet. Ich hätte eigentlich erwartet, dass dann die alten URLs (siehen unten) per 301 weitergeleitet werden. Muss man da etwas extra machen? (ausser die _.htaccess umbenennen?

    NEU: /Musik-DVD/Vinyl/LP/LP-Paralyzers-Calling-Elvis::94608.html
    ALT: /product_info.php?products_id=94608

    Google Webmastertools mault nämlich dass es zwei seiten gibt mit gleichen metabeschreibungen usw.

    SNYWARE

    • Fördermitglied
    • Beiträge: 5
    Re: SEO Maßnahme (redirect) Update von xt:c
    Antwort #3 am: 21. Oktober 2012, 22:41:36
    @GTB   Wie sich das "bestens per htaccess lösen" lässt hätte mich dann schon interessiert, wenn Du konforme URLs aufbauen möchtest, denn an die Kat. Namen (/Kurzwaffen/Pistolen/) kommst Du wohl schlecht heran..

    @member    Füge das in die application_top.php ganz nach unten ein. Solange der Umzug sauber von statten ging, sind die alten productIds immer noch gleich der im neuen Shop. Die alten URLs werden dabei auch korrekt übersetzt.

    Wenn es bei Dir allerdings so ist wie im Bsp. von Dir:

    beispiel alte urls:
    product_info.php/info/p4057_SG-552-Commando-LB-DE.html
    beispiel neue urls:
    /Kurzwaffen/Pistolen/Glock-17-Gen4::129.html

    und die   Glock-17   nicht mehr  unter  der  pid 4057  liegt (was ich nicht glaube, sondern
    eher nur ein Bsp von Dir), funktioniert das script nicht.
    Das würde dann auch allgemein nicht funktionieren, es sei denn Du schaffst eine ID Abgleichstabelle.

    Code: PHP  [Auswählen]
    $sw_req_uri = $_SERVER['REQUEST_URI'];
    if (strpos($sw_req_uri, "product_info.php/info/") > 0) {
            header("HTTP/1.1 301 Moved Permanently");
            header("Cache-Control: no-cache, must-revalidate"); // HTTP/1.1
            $sw_req_uri = substr($sw_req_uri, 24, strlen($sw_req_uri));
            $sw_req_uri_arr = explode("_", $sw_req_uri);
            $sw_query = xtc_db_query("select products_name from products_description where products_id = '".(int)$sw_req_uri_arr[0]."';");                            
            $sw_query_arr = xtc_db_fetch_array($sw_query);
            header("Location: ".xtc_href_link(FILENAME_PRODUCT_INFO, xtc_product_link($sw_req_uri_arr[0], $sw_query_arr['products_name']))."");
            header("Connection: close");   
            exit;
    }

    Phantom

    • Fördermitglied
    • Beiträge: 429
    Re: SEO Maßnahme (redirect) Update von xt:c
    Antwort #4 am: 22. Oktober 2012, 08:00:23
    Von Gunnart gibt es ein "Modul" productRedirect für xtcommerce, das leitet alle Produkte von alt nach neu per 301 weiter. Ich dachte eigentlich, das wäre inzwischen im modified integriert.
    Kategorien muss man aber noch von Hand weiterleiten.

    SNYWARE

    • Fördermitglied
    • Beiträge: 5
    Re: SEO Maßnahme (redirect) Update von xt:c
    Antwort #5 am: 22. Oktober 2012, 13:20:14
    Hallo Phantom,
    danke für die Info, ist uns nicht aufgefallen weil wir das YAML anstatt das xtc5 Template verwenden.
    Habe es gleich mal getestet, es übersetzt zumindest die URL Typen:

    http://www.domain.de/::5018.html                                                -->  richtig
    http://www.domain.de/UmbenannteKat/UmbenanntesProd::5018.html  -->  richtig
    http://www.domain.de/Nasenbaer::5018.html                                  -->  richtig
    http://www.domain.de/product_info.php?info=p5018                         -->  leider nicht ??
    http://www.domain.de/product_info.php?info=p5018_Ein_Name           -->  leider nicht ??

    Ferner wird auch der oben genannte alte URL:
    http://www.domain.de/product_info.php/info/p5018_Ein_Name.html/XTCsid/

    Nicht übersetzt, also am besten beides nutzen ;-)

    SNYWARE

    • Fördermitglied
    • Beiträge: 5
    Re: SEO Maßnahme (redirect) Update von xt:c
    Antwort #6 am: 22. Oktober 2012, 16:01:05
    Bei der Version lag der Weg nicht weit auch die Kategorien abzufangen, zusammen
    kann man es dann so einsetzen:

    Code: PHP  [Auswählen]
    // ProduktURL
    // http://www.domain.de/product_info.php/info/p5018_Ein_Name.html[/XTCsid...]   wird zu:
    // http://www.domain.de/Kategorie/Kategorie/Ein-Name::5018.html
    // Kat.URL
    // http://www.domain.de/index.php/cat/c322_Achat-Diamant-Rio-Grande.html[/page/1/XTCsid...]   wird zu:
    // http://www.domain.de/Kategorie/Achat-Diamant-Rio-Grande:::280_322.html
    $sw_req_uri = $_SERVER['REQUEST_URI']; $sw_loc = '';
    if (strpos($sw_req_uri, "product_info.php/info/") > 0) {  
            $sw_req_uri = substr($sw_req_uri, 24, strlen($sw_req_uri));
            $sw_req_uri_arr = explode("_", $sw_req_uri);                        
            $sw_query_arr = xtc_db_fetch_array(xtc_db_query("select products_name from products_description where products_id = '".(int)$sw_req_uri_arr[0]."';"));
            $sw_loc = xtc_href_link(FILENAME_PRODUCT_INFO, xtc_product_link($sw_req_uri_arr[0], $sw_query_arr['products_name']));
    } else if (strpos($sw_req_uri, "index.php/cat/") > 0) {
            $sw_req_uri = substr($sw_req_uri, 16, strlen($sw_req_uri));
            $sw_req_uri_arr = explode("_", $sw_req_uri);
            $sw_query_arr = xtc_db_fetch_array(xtc_db_query("select categories_name from categories_description where categories_id = '".(int)$sw_req_uri_arr[0]."';"));
            $sw_loc = xtc_href_link(FILENAME_DEFAULT, xtc_category_link($sw_req_uri_arr[0], $sw_query_arr['categories_name']));
    }
    if (strlen($sw_loc)) {
            header("HTTP/1.1 301 Moved Permanently");
            header("Cache-Control: no-cache, must-revalidate"); // HTTP/1.1
            header("Location: ".$sw_loc."");
            header("Connection: close"); exit;
    }

    web28

    • modified Team
    • Beiträge: 9.404
    Re: SEO Maßnahme (redirect) Update von xt:c
    Antwort #7 am: 23. Oktober 2012, 13:03:37
    Hallo Snyware,

    es wäre schön gewesen, wenn Du Dir mal die verwendeten xtc Funktionen xtc_product_link und xtc_category_link angesehen hättest.
    Mit xtc_href_link werden Diese überhaupt nicht mehr benötigt, es reicht die Übergabe einer Produkt ID bzw. der Kategorie Pfad.
    Das erspart dann ein Vielzahl von unnötigen Datenbankabfragen und der ganze Code wird vereinfacht und übersichtlicher.  ;-)

    Gruss Web28

    SNYWARE

    • Fördermitglied
    • Beiträge: 5
    Re: SEO Maßnahme (redirect) Update von xt:c
    Antwort #8 am: 23. Oktober 2012, 14:08:42
    Ja in der Tat, die Abfragen sind dort überflüssig, weiß auch wie das passierte..., kam da aber wieder von ab...Unten gleich mal korrigiert.
    Das  xtc_category_link($counter,$foo[$counter]['name']);  aus der  xtc_show_category.inc.php  war da bei mir der letzte Kopfauslöser, könnte man dann dort dann auch gleich mal entfernen ;-)

    "Es wäre aber auch schön gewesen" wenn sowas simples schon per einfacher Aktivierung im Admin vorhanden wäre. Vielleicht gleich mal mit notieren, sollen ja viele von sp2.1 zu modified eCommerce Shopsoftware wechseln, wäre zumindest praktisch.

    "Das erspart dann ein Vielzahl von unnötigen Datenbankabfragen..." 
    -> Ich zähle nur eine pro Umleitung, Verzögerung 0.002 sek. etc.  sollte man sich nicht so drum streiten...

    Code: PHP  [Auswählen]
    // ProduktURL
    // http://www.domain.de/product_info.php/info/p5018_Ein_Name.html[/XTCsid...]   wird zu:
    // http://www.domain.de/Kategorie/Kategorie/Ein-Name::5018.html
    // Kat.URL
    // http://www.domain.de/index.php/cat/c322_Achat-Diamant-Rio-Grande.html[/page/1/XTCsid...]   wird zu:
    // http://www.domain.de/Kategorie/Achat-Diamant-Rio-Grande:::280_322.html
    $sw_req_uri = $_SERVER['REQUEST_URI']; $sw_loc = '';
    if (strpos($sw_req_uri, "product_info.php/info/") > 0) {  
            $sw_req_uri = substr($sw_req_uri, 24, strlen($sw_req_uri));
            $sw_req_uri_arr = explode("_", $sw_req_uri);                        
            $sw_loc = xtc_href_link(FILENAME_PRODUCT_INFO, xtc_product_link($sw_req_uri_arr[0]));
    } else if (strpos($sw_req_uri, "index.php/cat/") > 0) {
            $sw_req_uri = substr($sw_req_uri, 16, strlen($sw_req_uri));
            $sw_req_uri_arr = explode("_", $sw_req_uri);
            $sw_loc = xtc_href_link(FILENAME_DEFAULT, xtc_category_link($sw_req_uri_arr[0]));
    }
    if (strlen($sw_loc)) {
            header("HTTP/1.1 301 Moved Permanently");
            header("Cache-Control: no-cache, must-revalidate"); // HTTP/1.1
            header("Location: ".$sw_loc."");
            header("Connection: close"); exit;
    }

    web28

    • modified Team
    • Beiträge: 9.404
    Re: SEO Maßnahme (redirect) Update von xt:c
    Antwort #9 am: 23. Oktober 2012, 17:45:57
    Zitat
    "Das erspart dann ein Vielzahl von unnötigen Datenbankabfragen..." 
    -> Ich zähle nur eine pro Umleitung, Verzögerung 0.002 sek. etc.  sollte man sich nicht so drum streiten...

    In der alten Version gab es Abfragen für
    1. Produktname
    2. Kategoriename
    3. mit xtc_category_link über xtc_get_category_path und xtc_get_parent_categories (Schleife für alle Kategorieebenen)

    Produktlinks kann man so schreiben:
    Code: PHP  [Auswählen]
    xtc_href_link(FILENAME_PRODUCT_INFO, 'products_id='.$sw_req_uri_arr[0]);

    Kategorielinks so:
    Code: PHP  [Auswählen]
    $cPath = xtc_get_category_path($sw_req_uri_arr[0]);
    xtc_href_link(FILENAME_DEFAULT, 'cPath='.$cPath);

    xtc_get_category_path ist wichtig wenn man den ID-Baum nicht hat, oder falls man Ihn hat, kann man mit der letzten ID verschobene Kategorien korrigieren.
    Ansonsten kann man cPath direkt übergeben.

    Gruss Web28

    SNYWARE

    • Fördermitglied
    • Beiträge: 5
    Re: SEO Maßnahme (redirect) Update von xt:c
    Antwort #10 am: 24. Oktober 2012, 17:07:24
    Hallo web28,

    ach ja, ich konnte gestern schon Gedanken lesen und wusste schon dass jetzt bestimmt noch eine Parameterlehrstunde kommt...

    1.
    Der Code ist kein "schöner" Code der dort stehenbleiben soll sondern eher übergangsweise verwendet wird (quick n dirty), schon
    Version 1 oben funktionierte und darum geht es hier erstmal. Glaubst Du es interessiert in der heutigen schnelllebigen
    Zeit noch jemanden ob dort eine DB Abfrage zuviel war ? Der Code wird danach sowieso beendet.

    2.
    Verwendet man eigentlich (zum guten Stil gehörend) immer eher die Systemeigenen Methoden. Dass ich die
    Parameter auch direkt übergeben kann ist mir bestimmt nicht entfallen ;-)  Und das die Methoden "deprecated" sind kann
    ich auch nicht erkennen...

    3.
    Ob ich erstmal xtc_product_link()  oder 'products_id='....  setze ist nach derzeitigem Stand ja wohl gehüpft wie gesprungen:

    Code: PHP  [Auswählen]
    function xtc_product_link($pID, $name='') {
    //-- SHOPSTAT --//
    /*
            $pName = xtc_cleanName($name);
            $link = 'info=p'.$pID.'_'.$pName.'.html';
            return $link;
    */

    //-- SHOPSTAT --//
            return 'products_id='.$pID;
    }

    4.
    Bei dem Code von Dir:

    Code: PHP  [Auswählen]
    $cPath = xtc_get_category_path($sw_req_uri_arr[0]);
    xtc_href_link(FILENAME_DEFAULT, 'cPath='.$cPath);
     

    Erzeugst zu zwei Zeilen, da halte ich xtc_category_link() gleich für angenehmer.
    Zudem kann es hier den Eindruck erwecken durch Deinen Text:   "Ansonsten kann man cPath direkt übergeben..."  auf 
    xtc_get_category_path()  zu verzichten. Das kann man aber nicht in diesem Fall.
    Aber das hat hier doch 0 mit dem Thema zu tun...

    Code: PHP  [Auswählen]
    function xtc_category_link($cID,$cName='') {
    //-- SHOPSTAT --//
    /*
                    $cName = xtc_cleanName($cName);
                    $link = 'cat=c'.$cID.'_'.$cName.'.html';
                    return $link;
    */

        require_once(DIR_FS_INC . 'xtc_get_category_path.inc.php');
        return 'cPath='.xtc_get_category_path($cID);
    //-- SHOPSTAT --//
    }
     

    Methode liefert exakt das gleiche zurück und bindet xtc_get_category_path() ein.

    5.
    Erweitere lieber den Code z.B. für Contentseiten oder die ganz alten ProduktURLS das halte ich für sinnvoller.

    Gruß Stephan
    rechtstexte für onlineshop
               
    anything