Rewrite YourPHPAnnuaire, rewriting pour les recherches

Consultez la formation au référencement naturel Google de WebRankInfo / Ranking Metrics

webcrea
WRInaute discret
WRInaute discret
 
Messages: 53
Inscription: Lun Sep 01, 2003 16:32

Rewrite YourPHPAnnuaire, rewriting pour les recherches

Message le Jeu Fév 22, 2007 12:50

Bonjour,
(désolé de reposter)

Peut-être que quelqu'un en a déjà parlé mais je n'ai pas trouvé.
Il y a quelque chose qui m'échappe dans Rewrite YourPHPAnnuaire : dans le htaccess il y a bien une ligne rewriting pour les recherches

Code: Tout sélectionner
RewriteRule -k[0-9]*-([0-9]+)\.html$   /search.php?action=seek&mots=id$1&nb_results2show=20&booleen=AND [L]



Cela marche bien pour la page 1 mais pas pour les pages suivantes !
D'ailleurs dans search.php le code pour les pages suivantes est avec les variables dans les URL (donc non adapté aux URL en .html) :

Code: Tout sélectionner
echo "<a href=\"search.php?mots=".rawurlencode(htmlspecialchars($mots))."&page=".$i."&nb_results2show=".$nb_results2show."&booleen=".$booleen."&nb_sites_trouves=".$nb_sites_trouves."\">".$i."</a>\n";



Comment remédier à ça ? Quel est le code des URL rewritées pour les pages suivantes ?

De plus si je teste en tapant directement par exemple ma-recherche-k2-378.html au lieu de ma-recherche-k1-378.html (ça reste à la page 1).
Quel est le souci ?

Merci de votre aide.


serval2a
WRInaute accro
WRInaute accro
 
Messages: 3453
Inscription: Lun Mar 21, 2005 18:17

Message le Jeu Fév 22, 2007 14:43

Désolé, j'ai pris un peu de temps pour regarder ça mais il ne semble pas y avoir de modifications simples.
@+

webcrea
WRInaute discret
WRInaute discret
 
Messages: 53
Inscription: Lun Sep 01, 2003 16:32

Message le Jeu Fév 22, 2007 14:50

Pourtant ça existe bien.
J'espère que le webmaster de ce site ne m'en voudra pas de l'avoir pris en exemple :

http://www.hyper-lien.com/annuaire-k1-80.html
http://www.hyper-lien.com/annuaire-k2-80-42.html
http://www.hyper-lien.com/annuaire-k3-80-42.html

Les pages suivantes pour les recherches sont bien rewritées.

Ce serait un développement compliqué ?


serval2a
WRInaute accro
WRInaute accro
 
Messages: 3453
Inscription: Lun Mar 21, 2005 18:17

Message le Jeu Fév 22, 2007 16:52

Bonjour,
Ce n'est pas très compliqué c'est juste que je n'y arrive pas totalement => http://boost.enaty.com/referencement,k2,379,n23.html

Les liens en bas de page, pour passer d'une page à l'autre font des erreurs car je n'arrive pas à récupérer l'id proprement.


serval2a
WRInaute accro
WRInaute accro
 
Messages: 3453
Inscription: Lun Mar 21, 2005 18:17

Message le Jeu Fév 22, 2007 17:58

Finalement c'était plus facile que ce que je pensais même si absolument pas optimisé.
=> http://boost.enaty.com/musee,k2,206,n36.html

En bas les liens vers les autres pages sont donc bien optimisés pour éviter un éventuel duplicate car on ne récupère pas le nombre de sites pour la 1e page qui est également affichée par le fichier qui contient les termes recherchés.

La procédure :

Dans le .htaccess ajouter :
Code: Tout sélectionner
RewriteRule -k([0-9]*)-([0-9]+)-n([0-9]*)\.html$   search.php?action=seek&mots=id$2&page=$1&nb_results2show=12&booleen=AND&nb_sites_trouves=$3

[L]


Ouvrir search.php et trouver vers la fin :
Code: Tout sélectionner
         <?php
         for ($i=1;$i<$nb_pages;$i++)
         {
            if ($i != $page)
               echo "<a href=\"search.php?mots=".rawurlencode(htmlspecialchars($mots))."&page=".$i."&nb_results2show=".$nb_results2show."&booleen=".$booleen."&nb_sites_trouves=".$nb_sites_trouves."\">".$i."</a>\n";
            else
            { echo "$i"; }
            echo " - ";
         }
         //on affiche le dernier numero de page (sans tiret apres)
         if ($i == $page)
            echo $i;
         else
         { echo "<a href=\"search.php?mots=".rawurlencode(htmlspecialchars($mots))."&page=".$i."&nb_results2show=".$nb_results2show."&booleen=".$booleen."&nb_sites_trouves=".$nb_sites_trouves."\">".$i."</a>\n"; }
         ?>


Remplacer par :
Code: Tout sélectionner
         <?php
$mots = isset($_REQUEST['mots']) ? $_REQUEST['mots'] : '';
if ( preg_match("/^id(\d+)$/",$mots,$id) )
{
$mots = ereg_replace("id","",$mots);
            for ($i=1;$i<$nb_pages;$i++)
         {
            if (($i != $page) && ($i == 1))
               echo "<a href=\"".rawurlencode(htmlspecialchars($keyw['keyw']))."-k".$i."-".$mots.".html\">".$i."</a>\n";
            else if (($i != $page) && ($i != 1))
               echo "<a href=\"".rawurlencode(htmlspecialchars($keyw['keyw']))."-k".$i."-".$mots."-n".$nb_sites_trouves.".html\">".$i."</a>\n";
            else
            { echo "$i"; }
            echo " - ";
         }
         //on affiche le dernier numero de page (sans tiret apres)
         if ($i == $page)
            echo $i;
         else
         { echo "<a href=\"".rawurlencode(htmlspecialchars($keyw['keyw']))."-k".$i."-".$mots."-n".$nb_sites_trouves.".html\">".$i."</a>\n"; }
}
else
{
            for ($i=1;$i<$nb_pages;$i++)
         {
            if ($i != $page)
               echo "<a href=\"search.php?mots=".rawurlencode(htmlspecialchars($mots))."&page=".$i."&nb_results2show=".$nb_results2show."&booleen=".$booleen."&nb_sites_trouves=".$nb_sites_trouves."\">".$i."</a>\n";
            else
            { echo "$i"; }
            echo " - ";
         }
         //on affiche le dernier numero de page (sans tiret apres)
         if ($i == $page)
            echo $i;
         else
         { echo "<a href=\"search.php?mots=".rawurlencode(htmlspecialchars($mots))."&page=".$i."&nb_results2show=".$nb_results2show."&booleen=".$booleen."&nb_sites_trouves=".$nb_sites_trouves."\">".$i."</a>\n"; }
};
         ?>


Espérant t'avoir rendu service.
@+

webcrea
WRInaute discret
WRInaute discret
 
Messages: 53
Inscription: Lun Sep 01, 2003 16:32

Message le Jeu Fév 22, 2007 21:22

Je viens d'intégrer et ça marche !
Merci beaucoup serval2a, tu me rends bien service oui.

Par contre, je n'ai pas compris pourquoi tu pouvais optimiser les liens du top mots cles mais pas ceux des recherches elles-mêmes ?

Bonne soirée


serval2a
WRInaute accro
WRInaute accro
 
Messages: 3453
Inscription: Lun Mar 21, 2005 18:17

Message le Ven Fév 23, 2007 17:09

Bonjour,

Tu peux mais il faut modifier totalement la page search.php seulement c'est hors le principe du top recherche tel que inséré dans RW My PHP annuaire puisque tous les mots recherchés devront être insérés dans la base pour que cela fonctionne.
Ce qui entrerai en conflit avec la fonction de bannissement de certains mots et celle limitant le nombre maximal d'entrées dans la table keyword.
En fait pour un rewriting "à la volée" des liens sur une recherche il faut modifier quasi totalement cette partie du script.


Formation recommandée sur ce thème :

Formation Référencement naturel Google : apprenez une méthode efficace pour optimiser à fond le référencement naturel dans Google de façon durable... Formation animée par Olivier Duffez et Fabien Facériès, experts en référencement naturel.

Tous les détails sur le site Ranking Metrics : programme, prix, dates et lieux, inscription en ligne.

Lectures recommandées sur ce thème :

  • Analyser le positionnement dans Google
    Cet outil vous permet de vérifier si une ou plusieurs page(s) de votre site arrive(nt) dans les premiers résultats de Google, pour certains mots-clés recherchés.
  • Analyser le positionnement dans Yahoo
    Cet outil vous permet de vérifier si une ou plusieurs page(s) de votre site arrive(nt) dans les premiers résultats de Yahoo, pour certains mots-clés recherchés.


Qui est en ligne

Utilisateurs parcourant ce forum: Aucun utilisateur enregistré et 0 invités