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
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
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 :