Ultimate SEO URLs (suppression .html), Comment supprimer les .html sans faire buguer Ultimate SEO ? |
Bienvenue invité ( Connexion | Inscription )
Ultimate SEO URLs (suppression .html), Comment supprimer les .html sans faire buguer Ultimate SEO ? |
12 Apr 2018, 14:04
Message
#1
|
|
Ceinture marron OSC Groupe : Membres Messages : 1441 Inscrit : 24-April 03 Membre no 1102 |
Bonjour à tous et toute !
J'ai hérité d'un osc commerce MS2 avec Ultimate SEO URLs. Depuis peux ont me demande d'améliorer les URLS pour le référencement, donc dans ce cadre je dois supprimer les .html à la fin des url. Vous allez me dire qu'il suffit d'aller dans le .htaccess et le includes/class/seo.class.php et remplacer les: Code '.html" par Code '/' Cela fonctionne au premier abord, mais il me génère un bug très facheu, cela supprime la redirection "corrective" des espaces vers les tirets et génère donc des pages en doublons, voir plus.. ce qui donne ceci ce-est-un-exemple/ mais aussi ceciestunexemple/ ou encore ceci-----est--unexemple/ etc... bref la redirection de ceciestunexemple/. ---> ce-est-un-exemple/. ne fonctionne plus... Je pense que la solution ce trouve dans le seo.class.php Peut être ici mais je ne suis pas sur...: Code switch(true){ case ($this->is_attribute_string($this->uri)): $this->need_redirect = false; break; case ($this->uri != $this->real_uri && !$this->not_null($this->path_info)): if (($pStart = strpos($this->uri_parsed['path'], "-p-")) !== FALSE) { if (($pStop = strpos($this->uri_parsed['path'], ".html")) !== FALSE) { $forceRedirect = $this->VerifyLink($pStop, $pStart); //remove things that shouldn't be there if ($this->attributes['USE_SEO_PERFORMANCE_CHECK'] == 'true') $this->performance['NUMBER_QUERIES']++; $pID = substr($this->uri_parsed['path'], $pStart + 3, -(strlen($this->uri_parsed['path']) - $pStop)); $sqlCmd = $this->attributes['USE_SEO_HEADER_TAGS'] == 'true' ? 'IF(products_head_title_tag_url !="",products_head_title_tag_url,products_name) as pName' : 'products_name as pName'; $sql = "SELECT " . $sqlCmd . " FROM `products_description` WHERE products_id='".(int)$pID."' AND language_id='".(int)$this->languages_id."' LIMIT 1"; $result = $this->DB->FetchArray( $this->DB->Query( $sql ) ); $cName = ''; if ($this->attributes['SEO_ADD_CPATH_TO_PRODUCT_URLS'] == 'true') { $cName = $this->get_all_category_parents($pID, $cName); $cName = str_replace(" ", "-", $cName) . '-'; } $pName = $cName . $this->strip( $result['pName'] ); if ($forceRedirect || ($pName !== substr($this->uri_parsed['path'], 0, $pStart))) { $this->uri_parsed['path'] = $pName . "-p-" . $pID . ".html"; $this->need_redirect = true; $this->do_redirect(); } } } Merci pour votre aide.. Ce message a été modifié par polo - 12 Apr 2018, 14:06. -------------------- OSC 2.1.3 et MS2 (PHP Version 5.2.17)
|
|
25 Apr 2018, 15:58
Message
#2
|
|
Ceinture marron OSC Groupe : Membres Messages : 1441 Inscrit : 24-April 03 Membre no 1102 |
Je crois qu'ont c'est mal compris.
J'ai vue çà avec un référenceur, il me dit que le fait que les espaces ne redirigent pas vers les tirets, ce n'est pas bon pour le référencement. Car google estime que tu possède plusieurs pages identique (duplication de contenu) , par exemple: .../sncfrev-2x2plaques-p-1197/ .../sncfrev-2x2-plaques-p-1197/ .../sncfrev2x2-plaques-p-1197/ .../sncfrev-2x2-plaques---p-1197/ .../sncfrev---2x2-plaques-p-1197/ .../sncfrev--------2x2-plaques-p-1197/ etc... etc... à l'infini !!! donc c'est pas bon , il faut trouver une solution, car si tu fait réapparaitre les .html à la fin, la réécriture refonctionne. (ce bug apparait si tu supprime les ".html" -------------------- OSC 2.1.3 et MS2 (PHP Version 5.2.17)
|
|
Version bas débit | Nous sommes le : 29th March 2024 - 10:38 |
Ce site est déclaré auprès de la commision Nationale de l'Informatique et des Libertés (déclaration n°: 1043896) |