Skip to content

SEO for title, keywords and description for each controller/action in a unique file

License

Notifications You must be signed in to change notification settings

netconstructor/simple_seo

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

15 Commits
 
 
 
 
 
 
 
 
 
 

Repository files navigation

SimpleSEO

Descripción

El objetivo de este plugin es centralizar la administración del SEO básico (title, keywords y description) en los distintos idiomas de una aplicación en un único fichero yml.

Getting it

$ script/plugin install git://github.com/nickel/simple_seo.git

Uso

Metatag & title

Para poner en funcionamiento el plugin necesitaremos definir en el layout el metodo metatags. Este método recibe opcionalmente title, title_connector y title_reverse.

  • title define un title global para toda la aplicación independiente al definido el fichero yml.
  • title_connector define el conector entre el title global y el definido en el fichero.
  • title_reverse, con este parametro booleano podremos decidir en que orden van los titles antes explicados.

En nuestro application.html.haml (o en tu html.erb :), unos ejemplos:

!!!

%html
  %head
    = metatags
    or
    = metatags(:title => 'My master title', :title_connector => ' :: ')
    or
    = metatags(:title => 'My company', :title_connector => ' - ', :title_reverse => true)

YML File

El fichero donde configuraremos el SEO de nuestro site debe estar en config/seo.yml.

Default

Si no definimos el SEO para un controlador/acción concreto, la información bajo default será la seleccionada por defecto. Esta estrategia nos permite definir el SEO para todas aquellas páginas a las que no deseemos asignarle un SEO específico.

default:
  keywords: "default keywords"

  en:
    title: I need my seo, dear web developer
    keywords: "more keywords"
  es:
    title: Necesito mi seo, querido desarrollador web
  de:
    title: ...

Static controller

Bajo static podemos la lógica que utiliza la aplicación para servir contenido estático, en el caso que la aplicación usara este tipo de lógica. Un ejemplo:

static:
  controller: pages
  action: show
  view: name  # El parametro que indica el nombre del contenido estático.

pages_quienes_somos:  # "controller_#{name}"
  keywords: "waps"
  
  en:
    ...
  es:
    ...

Standard controller/action

Y por cada controlador/action añadiremos la siguiente configuración al fichero:

welcome_index:
  keywords: "website, web, rails, ruby"

  en:
    title: Home
    keywords: "site, car"
    description: "This is a description"
  es:
    title: Inicio
    keywords: "sitio, coche"
    description: "Esto es una descripción"
  de:
    ...

Otras opciones

Si tuviesemos que definer keywords de forma dinámica tenemos la posibilidad de definirlo con el método add_meta_for en el controlador de la siguiente forma:

def show
  add_meta_for(:keywords, :en => "yellow submarine", :es => "submarino amarillo")
  add_meta_for(:description, :en => "...", :es => "...")
end

License and copyright

This app is MIT licensed, wich basically means you can do whatever you want with it, and there's no warranty of any kind. Read the MIT-LICENSE file to get the details. However, if you like it I would like you to send me an e-mail letting me know, also I'd like to receive your feedback and suggestions.

Thanks!

(c) 2009, Juan Gallego (juan.gallego.iv AT gmail DOT com) http://juan.gg

About

SEO for title, keywords and description for each controller/action in a unique file

Resources

License

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published