Pregunta

¿Cuál crees que es la mejor manera de crear URL compatibles con SEO (dinámicamente) en Rails?

¿Fue útil?

Solución

Anular el to_param método en sus clases de modelo para que el ID numérico predeterminado se reemplace con una cadena significativa.Por ejemplo, esta misma pregunta usa mejor enlace permanente para rieles en la URL.

Ryan Bates tiene un Railscast sobre este tema.

Otros consejos

ActiveSupport tiene un nuevo método en Rails para ayudar en esto: String#parameterize.El compromiso relevante es aquí;el ejemplo dado en el mensaje de confirmación es "Donald E.Knuth".parameterize => "donald-e-knuth"

En combinación con la anulación de to_param mencionada por John Topley, esto hace que las URL más amigables sean mucho más fáciles.

stringex de rsl es bastante impresionante, considérelo como si permalink_fu estuviera bien hecho.

Yo uso en gran medida to_param como lo sugiere John Topley.

Recuerde colocar índices de modo que todo lo que esté usando en to_param se pueda buscar rápidamente, o terminará con un escaneo completo de la tabla en cada acceso.(No ¡un potenciador del rendimiento!)

Una solución rápida es colocar la identificación en algún lugar allí, en cuyo caso ActiveRecord ignorará el resto y solo buscará en la identificación.Es por eso que ves muchos sitios Rails con URL como http://example.com/someController/123-a-half-readable-title .

Para obtener más detalles sobre esta y otras observaciones de SEO de mi experiencia con Rails, puede encontrar esta página en mi sitio útil.

Para mí, friendly_id funciona bien, también puede generar slugs, por lo que no es necesario preocuparse por las URL duplicadas, los ámbitos también son compatibles.

Consulte el complemento permalink_fu (extraído de Mephisto)...el repositorio de Git es ubicado aquí.

He creado una joya pequeña y sencilla que facilita la anulación del método to_param.se puede encontrar aquí.

Licenciado bajo: CC-BY-SA con atribución
No afiliado a StackOverflow
scroll top