web-dev-qa-db-fra.com

Référencement sur des pages dont le contenu est déterminé par la chaîne de requête dans l'URL

J'ai un blog dans le cadre de mon site. L'adresse du blog est ../blog.php. Si vous allez à blog.php, vous verrez l'entrée de blog la plus récente et des liens vers d'autres entrées. Les liens vers d'autres entrées seront identiques à la même page PHP, mais une chaîne de requête indique à la page d'afficher le contenu d'une autre entrée de blog, à savoir ../blog.php?entry=4 ou ../blog.php?entry=27

Chaque entrée de blog a sa propre adresse fixe, c’est-à-dire ../blog.php?entry=27, à laquelle le lien peut être lié depuis l’extérieur du site et affichera toujours la bonne entrée de blog, mais l’URL ../blog.php indiquera toujours l’entrée de blog la plus récente et son nom. le contenu est souvent en train de changer et est un duplicata d'un des contenus sur par exemple ../blog.php?entry=43 qui est l'adresse fixe de ce contenu.

Le blog existe déjà depuis plus d’un an, mais bien que le reste du site soit bien classé dans Google, rien n’a encore été répertorié sur le blog. Je suis donc certain que je dois faire quelque chose de mal en matière de référencement. Quelle serait la meilleure pratique pour que le contenu de blog.php ne change plus et change en quelque chose de complètement différent et constitue une copie du contenu sur une autre URL? Et est-il important que toutes les entrées de blog utilisent la même page, juste un contenu différent provenant de différentes chaînes de requête?

2
365SplendidSuns

Oui, cela compte beaucoup. Si votre page est blog.php?entry=## comment le robot d'exploration sait-il ce qui s'y passe même? En ce qui concerne le robot, la page n'a pas de contenu.

Résoudre ce problème nécessite plusieurs opérations. (puisque vous avez déjà des entrées de blog).

Premier - Créez un nouveau champ dans la table d’entrée de votre blog, tel que PageName varchar(50) NOT NULL

Deuxième étape - Remplissez ce champ pour chacune de vos entrées avec un titre associé au contenu de cette entrée, par exemple "comment faire des grandes crêpes". Ce sera utilisé pour deux choses. Remarque: Assurez-vous que chaque titre de page est unique!

  1. Votre nouvelle jolie URL
  2. En tant que paramètre pour indiquer à blog.php ce qu'il faut afficher au lieu d'utiliser un nombre.

Troisièmement - Réécrivez votre instruction SQL select en remplaçant SELECT ... FROM ... WHERE id=something par SELECT ... FROM ... WHERE PageName=something. Nous extrayons maintenant le contenu basé sur le nom de la page plutôt que sur l'identifiant unique.

Quatrième étape - Créez une règle de réécriture dans votre fichier .htaccess.

RewriteEngine On    # Turn on the rewriting engine
RewriteCond %{REQUEST_FILENAME} !-f
RewriteCond %{REQUEST_FILENAME} !-d
RewriteRule    ^([A-Za-z0-9_-]+)$    blog.php?entry=$1    [NC,L]    # Handle blog requests

Cinquième - (parce que vous avez des entrées existantes) Créez une redirection permanente vers vos entrées existantes. Cela se fait également dans votre fichier .htaccess.

Redirect 301 /blog.php?entry=1 /pretty-url-here
Redirect 301 /blog.php?entry=2 /pretty-url-here
etc.

Pourquoi avez-vous besoin des redirections? Parce que d'autres personnes peuvent déjà créer un lien vers vos entrées de blog en utilisant l'ancien lien http://example-site.com/blog.php?entry=43. Nous devons les rediriger vers la nouvelle URL.

Enfin, réécrivez les liens vers vos entrées de blog comme ceci

<a href="/how-to-make-great-crepes">How to Make Great Crepes</a>

au lieu de

<a href="/blog.php?entry=43">How to Make Great Crepes</a>

Je sais que cela peut sembler beaucoup de travail, mais cela en vaudra la peine à long terme à des fins de référencement.

J'espère que cela t'aides.

1
Kuya

Oui, il importe que toutes vos entrées de blog utilisent la même page avec des chaînes de requête différentes pour un contenu différent. Chaque araignée de moteur de recherche n'analyse pas les pages dynamiques (l'URL contient un caractère ?]) ainsi que les pages statiques (l'URL contenant des mots descriptifs).

Pour un meilleur référencement et en particulier pour le rendre convivial, vous devez modifier la structure de votre URL afin qu’elle contienne des mots pertinents plutôt que des paramètres et des variables. (Voir la page 8 du Guide de démarrage de l'optimisation pour les moteurs de recherche de Google pour obtenir plus de détails sur la meilleure façon de procéder.)

Si votre blog fonctionne sous Wordpress, vous pouvez facilement le faire en modifiant la structure de votre permalien Wordpress. ( Comment modifier votre WordPress Structure Permalink )

1
macln