Antes de explicar qué es el archivo robots.txt y para qué sirve, hay que tener claro qué son los robots y por qué es tan importante este pequeño archivo para el SEO de tu web.
Un robot de búsqueda, bot o araña (para los entendidos también se le llama crawler), es un software que se encarga de rastrear las páginas web en busca de diferentes cosas según el tipo de bot (contenido nuevo, cambios en la estructura web, enlaces, etc.).
Aunque existan bots de muchos tipos, siempre que hablamos de ellos nos viene a la mente los robots o arañas de Google y de otros buscadores, que se encargan de recorrer nuestras webs para indexar su contenido y poder posicionarlos.
Ahora bien, todos queremos indexar en Google y en otros buscadores nuestra web, pero hay ciertas páginas que no nos interesa que las rastreen como archivos internos, páginas no importantes, etc.
¿Cómo hacemos para que los bots solo pasen por las zonas de nuestra web que queramos?
Con el archivo robots.txt.
Antes de que pienses que va a ser muy difícil configurar este archivo quiero decirte dos cosas:
- Lee el artículo hasta el final, ya verás que no es tan complicado como parece.
- Si aun así lo ves complicado, no te preocupes. En este artículo encontrarás un ejemplo de robots.txt perfecto para cualquier web de WordPress que puedes copiar y pegar para usar en tu propio robots.txt.
Veamos ahora qué es robots.txt y para qué sirve.
Contenidos del Post
¿Qué es el archivo robots.txt?
El archivo robots.txt es un archivo de texto plano que puedes crear con un simple bloc de notas con el nombre robots.txt (de ahí su nombre).
Este archivo contiene la información que leerán las arañas de los buscadores con el fin de rastrear las partes de la web que este archivo les permita.
Algunos robots hacen lo que les da la gana así que más que permitir, el archivo robots.txt recomienda qué páginas visitar para rastrearlas o indexarlas.
¿Para qué sirve el robots.txt?
Cuando un bot entra en nuestra web, lo primero que hace es mirar si existe el archivo robots.txt y, si así es, lo analiza para saber qué partes de la web puede o debe rastrear y qué partes están bloqueadas para él.
Digamos que el archivo robots.txt contiene las zonas de la web no permitidas para que estos bots no pasen por ahí y las rastreen.
Por lo tanto, este archivo te permite seleccionar qué partes de tu sitio web tienen acceso «restringido» para estos bots. Incluso puedes restringir el acceso solo para un tipo de bot. Ya lo veremos.
En resumen, el archivo robots.txt sirve para:
- Bloquear el acceso de los buscadores a ciertas páginas y directorios de tu web.
- Denegar a los bots el acceso a archivos de tu sitio.
- No permitir el acceso a tu web a unos bots determinados.
- Impedir que se indexe contenido duplicado (páginas duplicadas, por ejemplo) o páginas que tengas de prueba.
- Prohibir el rastreo de URLs que hayas eliminado y que ahora reporten el error 404.
- Disminuir los recursos gastados del servidor (algunos bots consumen muchos recursos).
- Facilitar la indexación de tu web indicando el directorio de tu mapa del sitio o sitemap XML.
A pesar de esto y como ya expliqué antes, debes saber que hay algunos bots (sobre todo los ilegales y maliciosos) que se pasan por alto este archivo.
No olvides que este archivo es público y lo puedes ver en muchísimas webs poniendo /robots.txt al final de su dominio. Así que, por tu bien, ni se te ocurra usarlo para ocultar información privada a los buscadores o cosas por el estilo, porque cualquiera que se meta en tu robots.txt podrá ver qué URLs estás intentando bloquear a los bots.
Cómo crear el archivo robots.txt en WordPress
Crear el robots.txt para WordPress es muy fácil: abre un bloc de notas y guárdalo con el nombre robots.txt. Solo tendrás que subirlo al directorio raíz de tu dominio a través del cPanel o por un cliente FTP como Filezilla.
También puedes crearlo con el plugin Yoast SEO (aquí tienes una guía), tan solo debes ir a la sección de «Herramientas» >> «Editor de archivos» y crear o modificar tu archivo robots.txt.
Más adelante veremos qué debe contener este archivo.
Por regla general, en todas las instalaciones de WordPress ya viene este archivo creado, aunque bastante simple.
El archivo robots.txt de WordPress tendrá por defecto un aspecto parecido a este:
User-agent: * Disallow: /wp-admin/ Allow: /wp-admin/admin-ajax.php
Recuerda: Para saber si tienes el archivo creado solo tendrás que introducir /robots.txt al final de tu dominio. Por ejemplo: www.tudominio.net/robots.txt.
Cabe destacar que este archivo no es obligatorio. Pero sí es bastante recomendado sobre todo si quieres mejorar el seo de tu sitio web.
Veamos a continuación qué parametros y configuraciones tienes que tener en cuenta para crear el archivo robots.txt para WordPress.
[thrive_leads id=’1399′]
Parámetros y comandos aceptados en el robots.txt
Los comandos del archivo robots.txt son pocos y muy sencillos.
Estos parámetros fueron fijados por el robots exclusion protocol o Estándar de exclusión de robots en español. La sintaxis que debemos utilizar está basada en este protocolo y hay que aplicarla bien si no queremos equivocarnos al crear el archivo robots.txt.
Además de los comandos, debes tener en cuenta estas reglas:
- No utilices otros comandos diferentes a los permitidos.
- Distingue mayúsculas, minúsculas, signos de puntuación y espacios. Presta atención al escribir los comandos y al nombrar el archivo.
- Puedes utilizar la almohadilla (#) seguida de una frase para escribir comentarios.
- Deja una línea en blanco para separar los grupos de comandos que utilices por User-agent.
Estos son los parámetros principales para utilizar en el robots.txt:
- User-agent: especifica a qué tipo de robots van dirigidos los comandos que pongas a continuación. Aquí tienes una lista de todos los User-agent que hay.
- Disallow: Bloquea el acceso del User-agent (el bot) al directorio o url que pongas.
- Allow: Lo contrario de Disallow. Permite el acceso a la url o al directorio que indiques. Normalmente se utiliza para permitir el acceso a una parte más específica del directorio que se haya bloqueado en el Disallow.
- Sitemap: Sirve para indicar a los bots dónde se encuentra el sitemap o mapa del sitio XML del sitio web.
- Crawl-delay: Se utiliza para indicar un tiempo de retardo (en segundos) entre cada página que el bot rastree. Se suele utilizar para evitar consumos exagerados de recursos. No todos los crawlers (bots) harán caso a este comando.
Además de todo esto, existe dos caracteres extra que se usan como comodines:
- El asterisco (*): Se utiliza como comodín para indicar «todos». Se usa mucho en User-agent: *, para todos los bots; o /*/ para indicar todos los directorios.
- El símbolo del dólar ($): Este símbolo se usa en las extensiones de los archivos y sirve para especificar cualquier archivo que acabe con dicha extensión. Por ejemplo: /*.css$ para indicar todos los archivos acabados en .css.
Solucionar recursos bloqueados en Google Search Console
Hace tiempo que Google informó que bloquear el acceso a los archivos CSS y Javascripts en el robots.txt es perjudicial para el SEO y empezó a enviar mensajes desde Google Search Console informando de este error si tenías bloqueado este tipo de archivos.
Por ello, aquí te explico cómo desbloquear recursos CSS y JS. Abre el archivo robots.txt y copia y pega lo siguiente:
User-agent: Googlebot Allow: /*.css$ Allow: /*.js$
Como ya vimos, estos comandos indican al robot de Google que tiene el acceso permitido a todos los recursos CSS y JS.
Cómo configurar el archivo robots.txt para WordPress
Vamos a lo que todo el mundo busca.
¿Existe el robots.txt perfecto para WordPress?
La respuesta es un rotundo NO.
Cada página web tiene páginas diferentes y necesidades distintas.
Es imposible poner el robots.txt perfecto para cada página ya que es algo que hay que mirar web por web.
Pero lo que sí puedo hacer es explicar el mejor archivo robots.txt para WordPress de manera general y que funcionará en todas las webs.
Ya verás que es bastante similar al que tengo yo en esta web. Recuerda que puedes verlo poniendo /robots.txt al final del dominio.
Así que al lío.
A continuación tienes el mejor archivo robots.txt estándar para cualquier web de WordPress. También puedes añadir otros comandos para bloquear algo en particular de tu web.
Recuerda que si ya tienes un robots.txt solo tienes que descargarte por FTP o desde el cPanel el archivo robots.txt que viene por defecto. Una vez lo tengas, ábrelo y modifícalo por lo siguiente:
#Primer Bloque, impedimos que se rastree carpetas de WordPress, el feed, #los comentarios, las búsquedas, las etiquetas... User-agent: * Allow: /wp-admin/admin-ajax.php Disallow: /wp-login Disallow: /wp-admin Disallow: /*/feed/ Disallow: /*/trackback/ Disallow: /*/attachment/ Disallow: /author/ Disallow: *?replytocom Disallow: /tag/*/page/ Disallow: /tag/*/feed/ Disallow: /comments/ Disallow: /xmlrpc.php Disallow: /*?s= Disallow: /*/*/*/feed.xml Disallow: /?attachment_id* Disallow: /search #Segundo Bloque User-Agent: Googlebot Allow: /*.css$ Allow: /*.js$ #Sitemap, puedes añadir más de uno Sitemap: http://www.tudominio.com/sitemap.xml
En el primer bloque especificamos que, para todos los bots (User-agent: *), se permita el acceso al AJAX (se recomienda permitir el acceso) y se deniegue a directorios que no nos interesa que los rastreen, como las páginas internas del WordPress, páginas de búsquedas, etiquetas, comentarios, etc.
En el segundo bloque desbloqueamos los recursos CSS y JS tal y como vimos anteriormente.
Por último, añadimos la URL de nuestro archivo XML sitemap para indicar a los robots dónde está todo lo que deberían rastrear.
Para saber si tienes un sitemap y cuál es su URL solo tendrás que ir a Google Search Console e ir a Rastreo >> Sitemaps.
Si no lo tienes creado, te recomiendo el plugin Yoast SEO para crear sitemaps. Además, aquí tienes mi guía de configuración de Yoast SEO.
PD: Te recomiendo la guía del sitemap para saber todo lo necesario sobre los mapas de sitio y cómo mejorar el SEO.
El probador de robots.txt de Google Search Console
Para ello nos volvemos a dirigir a Google Search Console, y entramos en Rastreo >> Probador de robots.txt.
En este punto debería salir lo que habías puesto dentro del robots.txt.
Si no es así dale al botón de enviar y vuelve a darle al botón de enviar del paso 3 que pone Solicita a Google la Actualicación.
Ahora solo queda darle al botón rojo que pone probar y si todo está correcto, este botón se cambiará por un mensaje que pone PERMITIDO.
Conclusiones sobre el archivo robots.txt
Ya hemos visto que el archivo robots.txt nos ayuda a recomendar a los crawlers qué páginas indexar en Google (u otro navegador) o qué zonas de nuestra web no queremos que sean rastreadas.
No obstante, también hay otras formas alternativas de impedir la indexación de cualquier página como las metaetiquetas robots y el atributo «noindex».
No quería dejar este artículo sin tocar este tema, y es que si bien el archivo robots.txt es muy importante, para páginas específicas se puede usar el noindex.
Usar el noindex es la forma más correcta de impedir la indexación en ciertas páginas. El robots.txt se utiliza más para impedir rastrear ciertos directorios, archivos y páginas que hayas borrado y no puedas acceder de ninguna otra forma.
Con el plugin Yoast SEO puedes añadir «noindex» a las páginas que necesites simplemente yendo a la zona de edición en WordPress de la página en cuestión y seleccionando «noindex» en el apartado para ello del plugin Yoast SEO.
Y hasta aquí el artículo sobre el archivo robots.txt.
Ahora te toca a ti. ¿Ya sabes cómo crear el archivo robots.txt para tu web de WordPress?
¿Has añadido todos los comandos que necesitas o tienes alguna duda?
Responde en los comentarios y comparte si te ha sido de ayuda.
¡Nos leemos!
Imagen de fondo original diseñada por freepik.
Hola David, exclente articulo! Muy completo. Desconocia como desbloquear recursos CSS y JS. Voy a agregarlo en mi robots.txt. Un saludo!
Gracias Luis!
Ese problema lo daba Google desde hace tiempo pero ya verás que con esas 3 simples líneas en dicho archivo está todo solucionado.
Nos leemos!
Hola David, gran artículo!!!! Solamente una pregunta ¿porque se recomienda el dar acceso al AJAX?
Por lo demás yo también he desbloqueado los recursos CSS y JS.
Un saludo.
Hola Mariano,
has hecho una pregunta muy buena.
El Ajax es necesario para muchos archivos y plugins de WordPress.
La verdad que no hay mucha información al respecto pero si por defecto WordPress lo tiene incorporado es por algo.
Yo no lo quitaría.
Un saludo!
Muy util toda la información. Gracias por el artículo, la pondré en práctica! 😉 .
Me alegro de que os guste y muchas gracias por comentar!
Buenas, ante todo muchas gracias por el post, me ha ayudado mucho 🙂
Me surgen un par de dudas ¿es posible editar el archivo robots.txt sin tener acceso a cpanel ni a ftp? ¿si instalo un plugin para crear/modificar el robots se anularía el anterior?
Muy buena pregunta, de hecho ahora mismo lo pongo en la entrada. Así que gracias por preguntar.
Puedes usa algún plugin para modificar el robots.txt, de hecho lo normal es que sustituya y anule el anterior.
Para ello puedes usar el plugin Yoast SEO que recomiendo (aquí tienes la guía). Desde el apartado herramientas de este plugin puedes editar el archivo robots.txt.
Un saludo!
Hola de nuevo David! eso mismo pensaba yo, pero creo que esa funcionalidad ya no es posible en yoast. De ahí que se me haya pasado por la mente instalar un plugin tipo Robots.txt virtual 🙁
¿Cómo que no es posible?
Compruébalo de nuevo, lo acabo de hacer y sí me permite cambiarlo. En el menú de WordPress ve a SEO, Herramientas y Editor de Archivos.
Te tiene que dejar porque lo he comprobado ahora mismo tanto en esta web como en otra.
Un saludo!
Hola David,
Cierto… estaba en un sitio multisite y para acceder hasta esa información necesitaba unos datos que no tenía.
Ya lo he solucionado.
Muchas gracias!
Gracias a ti, me alegro de que pudieras modificar el robots.txt al final.
Un abrazo!
saludos amigo.
tengo el problema de este robot, cuando coloco mi dominio en google me indica lo siguiente :
No hay descripciones de este resultado disponibles debido al archivo robots.txt de este sitio.
hice el archivo lo subido pero no se si lo hice bien porque el problema sigue saliendo
No has puesto bien el robots.txt en google search console.
Acabo de pasarme por el robots.txt de tu sitio web y lo tienes todo en disallow.
Normal que te dé ese error.
Sigue paso a paso la guía para subir el robots.txt a tu Google Search Console, o modifícalo desde el plugin Yoast SEO.
Un abrazo!
Muy buen artículo, gracias David
Hola David,
Gracias por tu articulo que me ha resultado muy instructivo.
El robots de mi web esta bloqueando las imágenes y cuando lo consulte con mi webmaster, él me dice que así se recomienda.
Puedes decirme si esto es así? Google no puede indexar ninguna imagen de mi web y me parece cuanto menos llamativo que así tenga que ser.
Hola Viviana, viendo que son imágenes originales no veo la necesidad de bloquearlas por robots.
Creo que el robots que tienes es el que viene por defecto en joomla pero puedes quitar lo de las imágenes perfectamente.
Lo más normal es que tengas todas las imágenes indexables ya que son originales y aportar valor.
Saludos!
Muchas gracias David!!
Hola David, excelente artículo pero me ha quedado una duda con respecto a incluir los sitemaps, yo los hago desde SEo by Yoast y como tengo hasta un máximo de 1000 entradas por mapa, tengo varios. mi pregunta es cómo incluir varios? Se repite la sintaxis Sitemap: http ://www. tudominio. com/ sitemap.xml por cada uno, se los separa con espacio?
Desde ya muchas gracias.
Hola Silvia, se pueden poner tantos sitemaps como quieras.
Mira por ejemplo el robots.txt de Bloggeris.
La forma de ponerlos es:
Sitemap: url del sitemap1
Sitemap: url del sitemap2
Sitemap: url del sitemap3
etc…
Saludos y gracias por comentar!
¿ Para poner cerca de 9.000 url y que la araña de google sólo revise el último años…? Es para indexar lo más reciento…es web tipo noticias
Salvo que las tengas con url separada por años no se me ocurre una forma de poner disallow a tantas url.
De todas formas si no quieres que se indexen puedes poner directamente el noindex con yoast SEO o hacer redirección.
En mi opinión siendo tantas url las dejaría como están sin más.
Hola David, tengo este problema con mi web, cuando pongo la url en el buscador de Google me sale esto: No hay información disponible sobre esta página
eh puesto la url del robots.txt para ver mi web como esta y sale esta correcto
User-agent: *
Disallow: /wp-admin/
Allow: /wp-admin/admin-ajax.php
cual puede ser la causa de que no salga en el buscador de google? ayuda plisss
Hola jonazz,
Las causas pueden ser muchas. Por ejemplo que sea una web nueva o que la tengas todo en noindex.
Prueba a poner en Google site:tudominio sin las tres www a ver si sale algo (por ejemplo site:bloggers.com)
Lo que saldrá es lo que está indexado en Google. Si no sale nada puede ser porque tengas todo puesto en noindex o porque la web sea muy nueva.
Saludos!
Hola David, gracias por la respuesta rapida 🙂
si efectivamente la web es nueva pero el domino lleva años y tiene muchos backlink
como puedo saber si esta todo en noindex?
como es nueva eso quiere decir que poco a poco se ira indexando? con el tiempo y con el contenido que se cree?
Entonces será porque es nueva, no te preocupes que con el tiempo indexará.
De todas formas asegúrate que en los ajustes > lectura de tu WordPress tienes DESactivada la casilla de visibilidad de los motores de búsqueda.
Saludos!
si esta desactivada en Visibilidad en los motores de búsqueda, eso quiere decir que si se va indexar con el tiempo 🙂
gracias David, saludos buen dia
De nada e igualmente!
También puede ser que el dominio este penalizado por que lo compraste usado, checa eso en search console
David,
Busque muchas veces la explicación de esto y jamas la encontré de manera facil, hasta que llegué aquí. Muchisimas gracias por compartir este conocimiento.
De nada Cindy!
Hola man excelente articulo aprendí un monton , ya que tenia problema con mi web ya que el bot de google no la ratreaba , edite el robots.txt desde yoast plugin y ya comenzó ir mejor la mejor en termino de rastreo, tambien aprendi lo de deabloquer css y jss. Gracias man gran articulo.
Gracias Alex!
Un placer!
no tenia idea sobre alguno de los parametos del robots.txt muchas gracias la verdad me sirvió bastante
hola! cuando le doy a una pagina «no idex» en el yoast seo, el puging modifica automaticamente el robots.txt? o donde van esas intrucciones de no index del yoastSEO? gracias
Hola Steve.
No funciona como dices.
El plugin yoast seo pondrá la etiqueta de noindex directamente dentro del código html de la página en cuestión.
Saludos!
Hola David. Muchas gracias por tu artículo. Yo llevo ya varios días encontrando en search console el maldito problema de recursos bloqueados pero cuando uso el probador de robots.txt me dice que sí está permitido. Tenía el robots.txt por defecto de wordpress y lo he cambiado al que tú recomiendas. Espero que en unos días se solucione y ya no me siga generando error. Muy bien explicado. Muchas gracias!!.
Gracias a ti Jaime!
Ya verás cómo se soluciona.
Saludos!
Excelente artículo, se entendió todo sobre el archivo robots. David, yo tengo un problema (por eso llegué a esta página je je), y es que se me están indexando urls de este estilo:
wp-content/uploads/2017/07
Es decir las carpetas esas que el WordPress crea por fechas para poner las imágenes de la Web, ya tengo unas cuantas indexadas en google y al entrar dan error 404
Leí que no se aconseja poner disallow /wp-content/, también veo que no lo has puesto. Si pongo disallow /wp-content/, Google no indexará las imágenes de mi web? O puede acceder igual a la dirección a través de las imágenes colgadas en las páginas?
Tienes alguna idea para impedir que se me indexen rutas como wp-content/uploads/2017/07, wp-content/uploads, wp-content/uploads/2018, etc. Pero si que se indexen los contenidos dentro como las imágenes, pdf, etc…
La verdad es que no sé porque se indexan 🙁
Hola Micela, si quieres que se indexen las imágenes se indexarán su ruta. De hecho, si buscas en google imágenes y abres una imagen de un wordpress, la ruta será como la que pusiste.
No es nada malo que se indexen las imágenes, diría que es incluso recomendable.
Si ves desde Search Console que las imágenes te están dando muchos errores 404 siempre puedes hacer una redirección pero no aconsejo poner disallow el wp-content.
Saludos!
Allow: /wp-content/uploads/
¿ es buena opción ? o no…tengo muchas imágenes posicionadas y como pongo texto en la foto…
¡Hola Dani!
No entiendo muy bien a qué te refieres.
Si no tienes disallow en wp-content, no hace falta poner allow en /wp-content/uploads/
Cualquier directorio que no aparezca como disallow en el robots.txt se entiendo como que los crawlers tienen permitido entrar y rastrear.
Te lo pongo del tirón y adelante:
Actualmente lo tengo así…no sé por que..
User-agent: *
Disallow: /wp-admin/
Disallow: /wp-includes/
Disallow: /xmlrpc.php
Disallow: /readme.html
Allow: /wp-content/uploads/
Disallow: /wp-content/plugins/
Allow: /*.css*
Allow: /*.js*
#Begin Attracta SEO Tools Sitemap. Do not remove
sitemap: http: //cdn.attracta.com/sitemap/5457971.xml.gz
#End Attracta SEO Tools Sitemap. Do not remove
¿ Podría ponerlo así?
User-agent: *
Allow: /wp-admin/admin-ajax.php
Disallow: /wp-login
Disallow: /wp-admin
Disallow: /*/feed/
Disallow: /*/trackback/
Disallow: /*/attachment/
Disallow: /author/
Disallow: *?replytocom
Disallow: /tag/*/page/
Disallow: /tag/*/feed/
Disallow: /comments/
Disallow: /xmlrpc.php
Disallow: /*?s=
Disallow: /*/*/*/feed.xml
Disallow: /?attachment_id*
Disallow: /search
Allow: /*.css$
Allow: /*.js$
Hola Dani, sí, lo puedes poner así.
El sitemap ese que tenías no lo entiendo muy bien pero puedes poner el sitemap de tu web si quieres también.
Y si quieres también puedes poner el disallow de los plugins como lo tenías pero no me parece necesario.
Hola David, muy bueno tu blog. Queria ver si me puedes ayudar en algo.
Administro una web con contenido delicado (no es pornografia) y quiero que la informacion de los usuarios sea privada ya que para confirmar un usuario se pide foto o pdf de documentos personales como el ID. Como hago para que esta informacion no aparezca en los resultados de busqueda de google?
Estan apareciendo estos documentos en los resultados de las imagenes y tambien aparecen las url a la informacion del usuario en dicha pagina.
Necesito tu ayuda urgente.
Gracias
Uf pues tienes un problema bien grande. Tener públicos datos «sensibles» e incluso la identidad de un usuario puede ser delito si no ha dado consentimiento.
Para que no indexe Google esta información tendrás que utilizar la etiqueta «noindex» (con el plugin Yoast SEO se puede poner).
No obstante, estas páginas deberían ser privadas y que nadie pueda verlas así que yo directamente las eliminaría si no quieres tener problemas.
Saludos.
he usado las lineas que sugeriste para wordpress. tengo dos preguntas. 1.Tienes algunas lineas actualizadas o segerifas para el robot txt. 2.Estoy notando que en los resultados de busqueda me esta indexando las paginas del blog por ejemplo www. dominio.com/page2 pero son las paginas del blog como hago para deshabilitarlo
Hola Alex, en el post tienes las líneas actualizadas para usar en tu robot.txt. Por supuesto, en función de cada situación se pueden añadir o quitar algunas.
En cuanto a tu segunda duda puede probar poniendo esto en el robot.txt: Disallow: */page/*
Saludos!
Hola David. bien detallado tu articulo me encanto; tengo un inconveniente acabo de hacer todo y aun me sigue saliendo No hay información disponible sobre esta página.
Saludos
Hola Mafer, explícame un poco más.
A qué te refieres?
Dónde te sale eso?
Saludos!
Mil Gracias me sirvió mucho!!!
Nada Andrés, un placer!