Vamos 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
Deja una respuesta