osCommerce France : Accueil Forum Portail osCommerce France Réponses aux questions Foire aux contributions

Bienvenue invité ( Connexion | Inscription )

> Ultimate SEO URLs (suppression .html), Comment supprimer les .html sans faire buguer Ultimate SEO ?
polo
posté 12 Apr 2018, 14:04
Message #1


Ceinture marron OSC
Icône de groupe

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.. wacko.gif

Ce message a été modifié par polo - 12 Apr 2018, 14:06.


--------------------
OSC 2.1.3 et MS2 (PHP Version 5.2.17)
Go to the top of the page
 
 
Start new topic
Réponse(s)
polo
posté 25 Apr 2018, 19:06
Message #2


Ceinture marron OSC
Icône de groupe

Groupe : Membres
Messages : 1441
Inscrit : 24-April 03
Membre no 1102



En fait j'ai la même version que toi, la 2.1, c'est juste que j'ai essayé de reprendre les instructions d'install et j'en est profité mettre le code le plus récent.

En fait tu n'a pas grand chose à modifier coté front office:

seo.class.php
includes/application_top.php
includes/functions/html_output.php

et le .htaccess file

Et je t'assure que le positionnement en souffre, les sites récents te passe devant, car OSC n'est plus vraiement à la pointe coté SEO.

Sans parler des cpath etc... le référenceur me tape sur les doigts. biggrin.gif


--------------------
OSC 2.1.3 et MS2 (PHP Version 5.2.17)
Go to the top of the page
 

Les messages de ce sujet


Reply to this topicStart new topic
1 utilisateur(s) sur ce sujet (1 invité(s) et 0 utilisateur(s) anonyme(s))
0 membre(s) :

 



RSS Version bas débit Nous sommes le : 12th November 2019 - 08:59
Ce site est déclaré auprès de la commision Nationale
de l'Informatique et des Libertés (déclaration n°: 1043896)