• Skip to main content
  • Skip to header right navigation
  • Skip to site footer

Antonio Pérez

Full Stack developer

  • Home
  • Sobre mi
  • Podcast
  • Blog
  • Contacto
desarrollo full stack

Como añadir el archivo robots.txt a tu aplicación Ruby on Rails de forma dinámica

You are here: Home / Ruby on Rails / Como añadir el archivo robots.txt a tu aplicación Ruby on Rails de forma dinámica
29/12/2016 by apcano1978

Ruby on RailsVamos hoy con algo sencillito, pero bastante importante, gestionar el archivo robots.txt para una App web hecha con Ruby on Rails.

Parto de la base de que tienes cierto conocimiento y sabes como generar los controladores y vistas de la app. Si no es así, écha un vistazo primero a este punto aquí en http://guides.rubyonrails.org/ tienes un montón de guías de Rails, aunque, por desgracia, están en inglés.

Bueno, comencemos, la primera opción que tienes es modificar de forma estática el archivo robots.txt que tienes en la carpeta public, pero claro, esto no es muy Rails style, así que vamos a complicarlo un poco, no? ¡si no para que nos hemos metido a programadores!

Paso 1. Generar la ruta del archivo

En primer lugar debes añadir la siguiente línea al archivo routes.rb

#config/routes.rb

get '/robots.:format' => 'pages#robots'

Con esto ya tenemos creada la ruta para acceder al archivo, le hemos especificado que el controlador lo tenemos en pages_controller.rb (se supone que pages es el scope donde tenemos una serie de páginas, tu puedes cambiarlo por el que quieras)

Paso 2. Generar el controlador para robots.txt

En este caso, como le hemos especificado en routes.rb que el controlador está en el método robots dentro de pages tenemos que crear este método dentro de pages_controller.rb (tu ya crealo dentro del controlador que le hayas específicado)

#app/controllers/pages_controller.rb

def robots
   respond_to :text
   expires_in 6.hours, public: true
end

ahí tienes el metodo robots, ahora, a por el último paso crear la vista dinámica

Paso 3. Generar la vista dinámica

Como ya habrás supuesto ahora la vista la crearemos en app/views/pages/robots.text.erb (o haml, lo que más te gusta)

#app/views/pages/robots.text.erb

<% if Rails.env.production? %>
  User-Agent: *
  Allow: /
  Disallow: /admin
<% else %>
  User-Agent: *
  Disallow: /
<% end %>

Aquí he diferenciado dependiendo del entorno en el que nos encontremos, para el entorno de desarrollo ( que suelo trabajar con una url en internet) he deshabilitado el acceso a toda la app, sin embargo, si nos encontramos en el entorno de producción, lo que he deshabilitado ha sido solamente la carpeta /admin, aunque claro, aquí ya dependerá de tu caso concreto, mi recomendación es que deshabilites todas las carpetas que pertenezcan al back end de la app que estés realizando

Et voilá, listo, ya tienes tu robots.txt creado, ahora ya si quieres pruebalo yéndote a la url de tu web y lo verás ahí, flamante, tan bonito que es para emocionarse…

Espero que te haya resultado útil, quieres comentar? no dudes en hacerlo. Tienes dudas? Envíamelas contactando conmigo mediante el formulario o cualquier otro método que se te ocurra. Espero tus noticias

Categoría: Desarrollo Back End, Ruby on Rails, SEO

About apcano1978

Intento nadar entre frameworks, IDEs, SDKs… Algunos lo llaman Full stack developer, yo creo que es solo un eufemismo para decir «el que está en medio de todos los follones» Ruby on Rails y Angular … y bastante tengo …

Previous Post:Como añadir widget areas a la home de tu child theme de Genesis
Next Post:Modelo vista controlador, ¿Que demonios es esto?

Reader Interactions

Deja una respuesta Cancelar la respuesta

Tu dirección de correo electrónico no será publicada. Los campos obligatorios están marcados con *

Ahora también en youtube

Ve al canal

Copyright © 2023 · Antonio Pérez · All Rights Reserved · Powered by Mai Theme