Wo werden die automatischen SEO Urls erstellt?

Thema wurde von saschadd, 7. Juni 2015 erstellt.

  1. saschadd

    saschadd Erfahrener Benutzer

    Registriert seit:
    24. März 2015
    Beiträge:
    227
    Danke erhalten:
    15
    Danke vergeben:
    34
    Hallo,

    ich würde gern den Gambio-SEO-Boost noch ein wenig feintunen, sodaß z. B. immer nur ein Bindestrich in der URL ist oder "&" in "und" umgewandelt wird.

    Im Moment bin ich auf der Suche an welcher Stelle bzw. von welchem Script diese SEO-Urls aus dem Kategorie- oder Produktnamen automatisch generiert werden.
    Kann da möglicherweise jemand einen Tip geben, wo ich schauen muss?! ;)

    In der htaccess anpassen scheint nix zu bringen.
     
  2. Steffen (indiv-style.de)

    Steffen (indiv-style.de) G-WARD 2013/14/15/16

    Registriert seit:
    30. Juni 2011
    Beiträge:
    5.143
    Danke erhalten:
    1.466
    Danke vergeben:
    452
    Beruf:
    Systemadmin, Webentwickler bei Indiv-Style
    Ort:
    PhpStorm
    /gm/classes/GMSEOBoost.php ist die Klasse wo du alle benötigten Methoden findest.
     
  3. saschadd

    saschadd Erfahrener Benutzer

    Registriert seit:
    24. März 2015
    Beiträge:
    227
    Danke erhalten:
    15
    Danke vergeben:
    34
    #3 saschadd, 8. Juni 2015
    Zuletzt bearbeitet: 8. Juni 2015
    Danke für den Tip! Habs gefunden.
    Im Grunde tut der letzte Teil

    PHP:
    function clean_name($p_string$p_strip_only_illegal_characters false)
        {
            
            
    $t_string $p_string;

            if(!
    $p_strip_only_illegal_characters)
            {
                
    $t_search_array = array('ä','Ä','ö','Ö','ü','Ü','ä','Ä','ö','Ö','ü','Ü','ß','ß','&','&',' ');
                
    $t_replace_array = array('ae','Ae','oe','Oe','ue','Ue','ae','Ae','oe','Oe','ue','Ue','ss','ss','und','und','-');
                
    $t_string str_replace($t_search_array$t_replace_array$t_string);
                
    $t_string preg_replace('/--+/''-'$t_string);
                
    $t_string preg_replace('/^-+(.*)/'"$1"$t_string);
                
    $t_string preg_replace('/(.*)-+$/'"$1"$t_string);
            }

            
    $t_string preg_replace('/[^a-zA-Z0-9-]/i'''$t_string);

            return 
    $t_string;
            

            return 
    xtc_cleanName($p_string);
        }
    das was ich tun will. Nur eins versteh ich nicht, das & wird nicht ersetzt, sondern verschwindet.
    Irgendie seh ich die Stelle nicht wo es schon rausgefiltert wird (ich vermute, dass das der Grund ist, dass es nicht ersetzt wird).

    EDIT: & wird doch ersetzt, aber nicht durch "URLs reparieren" korrigiert. Funktioniert nur bei neuen Kategorien!