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

Bienvenue invité ( Connexion | Inscription )

2 Pages V  < 1 2  
Reply to this topicStart new topic
> petite question sur le référencement, article intérrésent
minou
posté 6 Oct 2008, 12:19
Message #26


Ceinture orange OSC
Icône de groupe

Groupe : Membres
Messages : 174
Inscrit : 11-August 04
Lieu : 95
Membre no 3036



Concernant la suppression de la modif des mots clefs, soit le premier point évoqué ci-dessus, il suffit de supprimer ou commenter en fin de fichier les deux lignes comme ci-dessous :

Code
    $pattern[]   = '@<title>\s*@i';
    $pattern[]   = '@<meta\s*name\s*=\s*"\s*description\s*"\s*content\s*=\s*"\s*@i';
//    $pattern[]   = '@<meta\s*name\s*=\s*"\s*keywords\s*"\s*content\s*=\s*"\s*@i';
    $replace[]   = '<title>' . str_replace('-', ' | ', $this->addedMeta);
    $replace[]   = '<meta name="description" content="' . str_replace('-', ' ', $this->addedMeta);
//    $replace[]   = '<meta name="keywords" content="' . str_replace('-', ', ', $this->addedMeta);


Concernant l'inversion de l'ajout et des tags d'origine (avoir : "mes tags d'origine sort_4d | page_1" plutôt que "sort_4d | page_1 mes tags d'origine" , j'ai essayé, mais je ne vois pas trop comment ça marche.

Du coup je ne parviens pas non plus à remplacer "page" et "sort" par des mots qui m'intéressent plus dans le titre et dans la description.

Je mets provisoirement le code ci-dessous, cela permettra peut être à quelqu'un d'indiquer la solution.
Code
* class preventDuplicates
*
* @param $getValues - array of $_GET variables which will action the added meta
* @param $meta - contains the title/meta info prior to being altered by this class
* @param $caught - Numerical array containing $_GET keys that were present in $getValues
* @param $addedMeta - $_GET as a string containing key value pairs
* @param $finalMeta - The modified (or not) meta that will be printed to screen
* @param $IhaveDuplicateContent - Set to true or false dependent on whether Google webmaster tolls is showing duplicate content
* @param $noIndex - meta shown when $IhaveDuplicateContent is set to false
*/
class preventDuplicates {
  
  var $getValues = array('sort', 'page', 'language', 'currency');
  var $IhaveDuplicateContent = true;
  var $turnServiceOn = true; // true turns on false will turn this service off
  var $meta;
  var $caught;
  var $addedMeta;
  var $finalMeta;
  var $noIndex = '<meta name="ROBOTS" content="NOINDEX, FOLLOW" />';

  function preventDuplicates(){
  }
  /**
  * Sets $this->finalMeta (Final meta to be output based on the methods and properties below
  *
  * @param mixed $meta - $meta - contains the buffered title/meta info prior to being altered by this class
  * @method - $this->targetsExist() - Returns true or false based on whether $getValues was found in $_GET
  * @method - $this->parseMeta() - Ultimately sets $this->finalMeta;
  */
  function checkTarget($meta) {
    
    $this->meta = $meta;
    if( $this->targetsExist() && (false !== $this->turnServiceOn) ){
      if( false !== $this->IhaveDuplicateContent ){
      $this->parseMeta();
      } else {
        $this->finalMeta = $this->meta . "\n" . $this->noIndex;
      }
    } else {
      $this->finalMeta = $this->meta;
    }
  }
  /**
  * Checks whether any $this->getValues exist in the $_GET array
  *
  * @param - $this->caught - set as an array of keys found in $_GET
  * @return - Returns true or false, if true $this->caught is also set as an array
  */
  function targetsExist(){
    $caught = array();
    foreach( $this->getValues as $value ){
      if( isset($_GET[$value]) ){
        $caught[] = tep_output_string_protected($value);
      }
  }
  if( !empty($caught)) {
    $this->caught = $caught;
    return true;
  } else{
    return false;
  }
  }
  /**
  * Sets $this->addedMeta which is a string made up of matched $_GET key value pairs
  * Key value pairs are seperated with _ (underscore) seperate $_GET are se[erated with - (hyphen)
  *
  * @param $this->addedMeta -  A string made up of matched $_GET key value pairs
  * @method $this->performPCRE() - performs PCRE replace operations on the buffered $meta  
  *
  */
  function parseMeta(){
    
    $addedMeta = '';
    $count = count($this->caught);
    for( $i=0; $i<$count; $i++ ){
      $addedMeta .= $this->caught[$i] . '_' . tep_sanitize_string(tep_output_string_protected($_GET[$this->caught[$i]])) . '-';
    }
    $this->addedMeta = $addedMeta;
    $this->performPCRE();
  }
  /**
  * PCRE replace operations to inject added meta info based on matched $_GET variables
  *
  * @param $this->finalMeta - Sets $this->finalMeta which contains the modified meat data
  */
  function performPCRE() {
    
    $pattern[]   = '@<title>\s*@i';
    $pattern[]   = '@<meta\s*name\s*=\s*"\s*description\s*"\s*content\s*=\s*"\s*@i';
//    $pattern[]   = '@<meta\s*name\s*=\s*"\s*keywords\s*"\s*content\s*=\s*"\s*@i';
    $replace[]   = '<title>' . str_replace('-', ' | ', $this->addedMeta);
    $replace[]   = '<meta name="description" content="' . str_replace('-', ' ', $this->addedMeta);
//    $replace[]   = '<meta name="keywords" content="' . str_replace('-', ', ', $this->addedMeta);
    
    $this->finalMeta = preg_replace($pattern, $replace, $this->meta);
  }
  
} //End preventDuplicates class




Merci d'avance si vous avez des idées, sachant que cette contrib pourrait être utile à beaucoup de monde.


--------------------
Ms2fr . Contributions : Lev_discount_v2.2 - More_pics_6 v1.0 - TotalB2B_1.2b - Must Agree to terms 2.2MS2v1.5.2 - Polbooth_v1.0 - send_order_html_email_v54 - Menubar - fckeditor-oscommerce_V2 - featured_products - GoogleXMLSiteMap - Header_Tags_Controller-2.5.4 - Stats_customers_v1.2b.2 - quick_stock_update_v2.5 - VAT Price incl and excl - xsell_v2.2 - step_by_step_orders_v1.7 - sid_killer - New_products_icon_1.3 - Previous_Next w_ details_v3.3 - Drop_Shadow_v1.1 - Keyword Search Report - Inventaire_MS2 - Sales_Report_2.2.0 - More_Category_Boxes - Star-product - MS3 Tax Class - Previous_next W_details_V3.3 - queries_debug-v1.7 - Stats_customers V1.2b.2 - unsoldCartsReport_V2.1 - SEO - Google Duplicate Content Manager
Go to the top of the page
 
chti_poupon
posté 29 Aug 2010, 11:30
Message #27


Ceinture noire OSC
Icône de groupe

Groupe : TechDev
Messages : 2201
Inscrit : 9-September 08
Lieu : Douai
Membre no 22915



Bonjour ! smile.gif
C'est ancien, mais j'ai regardé si la suppression des doubles(ou plus) pages dues à page=, sort=, language= etc... était possible par le robots.txt idea.gif :
Bingo, la recherche gg me renvoie au final sur gg où je lis là (extrait ci-dessous):
Code
User-agent: *
Allow: /*?$
Disallow: /*? L'instruction Disallow: / *? bloque toute URL contenant un point d'interrogation. (En d'autres termes, elle bloque toute URL qui commence par votre nom de domaine, suivi d'une chaîne, d'un point d'interrogation, puis d'une chaîne).

L'instruction Allow: /*?$ autorise l'accès à toute URL se terminant par un point d'interrogation. (En d'autres termes, elle autorise l'accès à toute URL qui commence par votre nom de domaine, suivi d'une chaîne et qui se termine par un point d'interrogation : aucun caractère ne doit être ajouté après le point d'interrogation).

Pour qui en veut ! wink.gif

Chti poupon

PS aux modérateurs: j'ai remonté ma recherche depuis la fin. Si un post plus récent donne déjà cette solution, éliminer sans pitié cette intervention. smile.gif

Ce message a été modifié par chti_poupon - 29 Aug 2010, 11:31.
Go to the top of the page
 

2 Pages V  < 1 2
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 : 18th June 2013 - 06:53
Ce site est déclaré auprès de la commision Nationale
de l'Informatique et des Libertés (déclaration n°: 1043896)