Plugin pour SEO friendly URLs

Bonjour
Je cherche un plugin pour que les urls soient SEO compatible
exemple pour un article intitulé “bonjour paris”
/post/5
devient
/post/bonjour-paris

Il y a bien les plugins suivantque j’ai utilisé il y a longtemps
acts_as_friendly_param
permalink_fu

je me demandai s’il existait quelque chose de plus récent.

Je pourrais développer le truc moi meme mais j’ai … la flemme
merci de vos reponses
Alexis

GitHub - tkadom/friendly_id: monkey patched friendly_id that allows for a larger number of duplicate slugs est parfait
En plus il est très configurable

Seb

Sébastien Gruhier


http://xilinus.com Web Application Development, Consulting,
Training
http://maptimize.com Markers fusion service for your online maps
http://mocksmtpapp.com Smart and simple e-mail testing for new apps
and websites on Mac OS X

Sébastien Gruhier wrote:

GitHub - tkadom/friendly_id: monkey patched friendly_id that allows for a larger number of duplicate slugs est parfait
En plus il est très configurable

Seb

Pour ma part, je recommande GitHub - norman/friendly_id: FriendlyId is the “Swiss Army bulldozer” of slugging and permalink plugins for ActiveRecord. It allows you to create pretty URL’s and work with human-friendly strings as if they were numeric ids for ActiveRecord models.. Chose
marrante, ce plugin porte le même nom que celui proposé par Sébastien,
et j’aurais utilisé les mêmes termes pour décrire celui que je propose
(parfait et très configurable). Pourtant, il semblerait que ce soit deux
plugins différents.

Histoire de faire pencher la balance, je dirais juste que
GitHub - norman/friendly_id: FriendlyId is the “Swiss Army bulldozer” of slugging and permalink plugins for ActiveRecord. It allows you to create pretty URL’s and work with human-friendly strings as if they were numeric ids for ActiveRecord models. a l’air mieux maintenu que
GitHub - tkadom/friendly_id: monkey patched friendly_id that allows for a larger number of duplicate slugs.

++
Bruno

oui autant pour moi :slight_smile:

Je n’utilise pas de plugin pour une fonctionnalité qui tient en 3
lignes.

class Post < AR::Base
def to_param
“#{id}-#{title.parameterize}”
end
end

Et c’est tout aucune autre modification de code à faire.

Le 16 janvier 2010 18:08, Sébastien Gruhier [email protected] a écrit
:

Avec la solution d’Alexis, l’unicité du permalink n’est pas
indispensable, vu que l’identifiant est toujours présent :
/posts/12-my-post-title

Ceci fonctionne car “12-my-post-title”.to_i == 12

Ce qui semble important niveau SEO, c’est de rediriger si le permalink
n’est pas le bon (par exemple si le titre du post a été modifié). Il
faut alors faire :

redirect_to @post, :status => 301 if @post.to_param != params[:id]


Emilien
http://emilientaque.fr

2010/1/17 Alexis P. [email protected]:

Super, merci pour les friendly_id, je vais regarder
suis d’accord avec Alexis, ça tient en quelques lignes et un plugin
est un peu overkill

En fait il faut simplement

  • une regex qui transforme le titre en permalink
  • le permalink dans la base
  • l’unicité du permalink
  • et le to_param pour (suis pas familier avec to_param, je vais
    regarder)

Merci en tout cas
Alexis

Si on veut avoir plus de contrôle sur le permalink, on peut avoir un
champ dédié dans le modèle, initialisé à la création et utilisé dans
le to_param :

before_create do |post|
post.permalink = post.title.parameterize
end

def to_param
“#{id}-#{permalink}”
end


Emilien
http://emilientaque.fr

2010/1/17 Fabien J. [email protected]:

2010/1/17 Emilien T. [email protected]:

end

Je parlais surtout au moment de récupérer la resource associée à l’id
/ title. Ne pas tester ou toujours rediriger sur la ‘bonne’ page en
cas d’erreur peut amener à des surprises :wink:

D’où le contrôle sur la “bonne” page via le champ permalink, tu ferais
comment sinon ?

2010/1/17 Fabien J. [email protected]:

2010/1/17 Emilien T. [email protected]:

redirect_to @post, :status => 301 if @post.to_param != params[:id]

Cela dépend : si le titre contient une toute nouvelle chose blindée
d’insultes en tout genre et que ce lien est posté un peu partout sur
des forums, cela crée une très mauvaise image. Je préfère afficher un
404 dans ce cas là et rediriger vers la page avec le title dans l’url
si il à été omis.

Est ce que simplement catcher l’exception si le post n’a pas a été
trouvé
et rediriger vers l’index ne suffit pas ?
d’un point de vue SEO ?
Alexip

Tu casses le workflow http en empêchant de remonter une 404. Ca peut se
discuter, mais de mon point de vue, ce n’est pas souhaitable.
Ensuite, on peut en effet imaginer un simple avertissement
(flash[:warning])
avec redirection sur la catégorie parente la plus proche sémantiquement
parlant.

2010/1/18 Alexis P. [email protected]

Bonjour,

Puisqu’il s’agit de SEO… J’avais discuté du problème avec un
référenceur lors d’un projet précédent. Sa préconisation était de
rediriger systématiquement les 404 sur la home, avec un code de retour
301, afin de passer le jus des pages disparues (quand anciennes pages) Ã
la home.

Bonne soirée
Fred

Le 18 janv. 2010 à 15:34, ook? ook! a écrit :