Como actualizar robots.txt en wordpress


WordPress es una plataforma de gestión de contenidos (CMS, por sus siglas en inglés) de código abierto que se utiliza para crear y administrar sitios web. Es muy popular entre los usuarios y es utilizado por un gran porcentaje de sitios web en Internet.

WordPress ofrece una gran cantidad de características y herramientas que facilitan la creación y gestión de un sitio web, incluyendo plantillas y diseños personalizables, un editor de contenidos intuitivo, la posibilidad de agregar plugins para añadir funcionalidades adicionales y una completa integración con redes sociales. También es fácil de usar y se puede utilizar tanto para sitios personales como profesionales.

Es difícil determinar con certeza cuántos sitios web hay en el mundo que utilizan WordPress, ya que no se tienen registros exhaustivos de todos los sitios web existentes. Sin embargo, se estima que WordPress es utilizado por alrededor del 35% de todos los sitios web en Internet, lo que significa que hay millones de sitios web que utilizan esta plataforma.

WordPress es una plataforma muy popular y ampliamente utilizada debido a sus características y herramientas intuitivas, así como a su gran comunidad de usuarios y desarrolladores que contribuyen con plugins y temas para mejorar la funcionalidad y el diseño de los sitios web.

Fundamentalmente existen dos vías para alojar nuestra web en wordpress: a traves del servicio WordPress.com o alojandolo en un sitio aparte siendo por tanto la principal diferencia entre WordPress.com y los sitios web que utilizan WordPress es cómo se alojan y se administran:

  • WordPress.com es un servicio de alojamiento y gestión de sitios web que utiliza la plataforma de WordPress. Con este servicio, no tiene que preocuparse por el alojamiento o la configuración del sitio, ya que todo es manejado por WordPress.com. Además, no tiene acceso al código fuente de WordPress (suele alegarse que es por motovos de seguridad), por lo que no puede instalar plugins o temas personalizados.
  • Por otro lado, los sitios web que utilizan WordPress pero no están alojados en WordPress.com se instalan en un servidor web propio o en un servicio de alojamiento externo. Esto significa que tiene acceso total al código fuente de WordPress y puede instalar plugins y temas personalizados para mejorar la funcionalidad y el diseño del sitio. Sin embargo el usuario , debe encargarse de la configuración, actualizacion , seguridad y el alojamiento del sitio

En resumen, WordPress.com es un servicio de alojamiento y gestión de sitios web que utiliza la plataforma de WordPress, mientras que los sitios web que utilizan WordPress pero no están alojados en WordPress.com son sitios autohospedados que tienen acceso total al código fuente de WordPress.

hablemos de wordpress

Una pieza clave de nuestro sitio web con wordpress es el fichero robots.txt, pero 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 su 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? Pues Con el archivo robots.txt. Veamos ahora qué es robots.txt y para qué sirve.

para que sirve ropots.txt

El archivo robots.txt

El archivo robots.txt es un archivo de texto plano que puede 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.

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 nos permite seleccionar qué partes de tu sitio web tienen acceso “restringido” para estos bots. Incluso se puede restringir el acceso solo para un tipo de bot..

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 debemos saber que hay algunos bots (sobre todo los ilegales y maliciosos) que se pasan por alto este archivo.

IMPORTANTE: No olvide que este archivo es público y lo puede ver en muchísimas webs poniendo /robots.txt al final de su dominio. Así que, por su bien, ni se le ocurra usarlo para ocultar información privada a los buscadores o cosas por el estilo, porque cualquiera que se meta en su 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: abra un bloc de notas y guárdalo con el nombre robots.txt. Solo tendrá que subirlo al directorio raíz de tu dominio a través del cPanel o por un cliente FTP como Filezilla.

También puede crearlo con el plugin Yoast SEO (tan solo debe ir a la sección de “Herramientas” >> “Editor de archivos” y crear o modificar tu archivo robots.txt).

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

Para crear un archivo robots.txt en un sitio de WordPress en caso de que no lo tenga en su sitio, primero necesita acceder al panel de administración de tu sitio. Luego, siga estos pasos:

  1. Haga clic en «Ajustes» en el menú de la izquierda.
  2. En la página de ajustes, haga clic en la pestaña «Lectura».
  3. En la sección «Archivo robots.txt», verá un cuadro de texto donde puede escribir las directivas que quiera incluir en tu archivo robots.txt.
  4. Introduzca las directivas que quiera en el cuadro de texto. Asegúresee de seguir la sintaxis correcta para las directivas de robots.txt.
  5. Cuando haya terminado de escribir las directivas, haga clic en «Guardar cambios».

Recuerde que para saber si tiene el archivo creado solo tendrá que introducir /robots.txt al final de tu dominio. Por ejemplo: http://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é parámetros y configuraciones tienes que tener en cuenta para crear el archivo robots.txt para WordPress.

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 exclusión 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.

Comandos:

  • User-agent (spider name): le indica qué tipo de rastreador debe cumplir las indicaciones que colocarás.
  • Disallow (ruta no permitida): informa al rastreador las páginas que no debe rastrear.
  • Allow (ruta permitida): le dice al rastreador las páginas que sí deben ser rastreadas.
  • Sitemap (mapa del sitio): indica la ubicación del sitemap de tu sitio web, importante para que los rastreadores te encuentren.
  • Crawl-delay: le indica al rastreador el tiempo en segundos que debe esperar entre cada página que rastrea. Con este comando podrás reducir la carga de tu servidor en caso de que lo necesites. El tiempo recomendado es de 5-10 segundos.
  • Insertar Notas: Si quiere, para mejorar el orden en sus archivos, puede incluir una nota usando el signo “#”. Ejemplo: # Este archivo se creó en enero de 2018.

Commodities:

  • Asterisco () – Se usa en una secuencia cualquiera de caracteres. Por ejemplo, los directorios que comienzan por “privado” quedarían “/privado/”
  • Dólar ($) – Se usa para indicar el final de una URL. Por ejemplo, para indicar un archivo que termina con la extensión .php usarías “/*.php$”.

Restricciones

  • Incluir todos los rastreadores – User-agent: *
  • Especificar el rastreador de Google – User-agent: Googlebot
  • Para especificar el rastreador de Bing – User-agent: Bingbot
  • Para restringir el rastreo de todo el sitio web – Disallow: /
  • Para restringir un único directorio – Disallow: /directorio/
  • Si quiere que no rastreen directorios que comienzan por “algo” – Disallow: /algo/ Evitar el rastreo de una página – Disallow: /pagina-web.html Restringir la extensión .gif – Disallow: /.gif$
  • Permitir un subdirectorio – Allow: /directorio/subdirectorio/
  • Señalar el mapa del sitio – Sitemap: http://www.example.com/sitemap.xml

Además de los comandos, debe tener en cuenta estas reglas:

  • No utilice 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.
  • Puede utilizar la almohadilla (#) seguida de una frase para escribir comentarios.
  • Deje 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, necesitamos desbloquear recursos CSS y JS. Para ello abra el archivo robots.txt y copia y pegue 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.

No existe el robots.txt perfecto para WordPress

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í podemos es proponer el archivo robots.txt para WordPress de manera general y que funcionará en todas las webs.

A continuación vamos a ver el mejor archivo robots.txt estándar para cualquier web de WordPress. También se pueden añadir otros comandos para bloquear algo en particular de tu web (recuerde que si ya tiene un robots.txt solo tiene que descargarlo por FTP o desde el cPanel el archivo robots.txt que viene por defecto).

Una vez tengamos el archivo, ábralo y modifíquelo 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, puede añadir más de uno

Sitemap: http://www.tudominio.com/sitemap.xml

Aclaraciones:

  • 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 tiene un sitemap y cuál es su URL solo tendrá que ir a Google Search Console e ir a Rastreo >> Sitemaps.(si no lo tiene creado, el plugin Yoast SEO es útil para crear sitemaps).

El probador de robots.txt de Google Search Console

Una vez haya conseguido crear el archivo robots.txt y guardarlo en el directorio raíz de su web, queda comprobar que esté todo bien y los robots puedan acceder perfectamente al resto de la web. 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ía puesto dentro del robots.txt. Si no es así dele al botón de enviar y vuelve a darle al botón de enviar del paso 3 que pone Solicita a Google la Actualizació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 finales 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”.

Destacar 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 pueda acceder de ninguna otra forma.

feliz año 2023

¡Feliz año nuevo! amigo lector , espero que el próximo año traiga alegrías, éxitos y muchas cosas positivas . ¡Que tenga un año maravilloso!

Acceso desde windows a Openstack con ssh


La mayor parte de la autenticación en entornos de Windows se realiza con un par de nombre de usuario y contraseña. Esta funciona bien en los sistemas que comparten un dominio común. Al trabajar con varios dominios (por ejemplo, entre sistemas locales y hospedados en la nube), se expone más a intrusiones de fuerza bruta.

En comparación, los entornos de Linux, normalmente, usan pares de clave pública y privada para controlar la autenticación, lo que no requiere el uso de contraseñas que se puedan adivinar. OpenSSH incluye herramientas que ayudan a admitir esta opción, en concreto:

  • ssh-keygen para generar claves seguras.
  • ssh-agent y ssh-add para almacenar claves privadas de forma segura.
  • scp y sftp para copiar archivos de claves públicas de forma segura durante el uso inicial de un servidor.

En este documento se proporciona información general sobre cómo usar estas herramientas en Windows para empezar a usar la autenticación de claves con SSH. Si no estás familiarizado con la administración de claves SSH, se recomienda que revises el informe interno de NIST 7966 titulado «Seguridad de la administración de acceso interactiva y automatizada con Secure Shell (SSH)».

Acerca de los pares de claves

Los pares de claves hacen referencia a los archivos de clave pública y privada que utilizan determinados protocolos de autenticación.

La autenticación de clave pública SSH usa algoritmos criptográficos asimétricos para generar dos archivos de clave: uno «privado» y otro «público». Los archivos de clave privada son el equivalente de una contraseña y deben estar protegidos en todo momento. Si alguien adquiere tu clave privada, esa persona puede iniciar sesión en cualquier servidor SSH al que tengas acceso. La clave pública es la que se coloca en el servidor SSH y puede compartirse sin poner en peligro la clave privada.

Al usar la autenticación de claves con un servidor SSH, el servidor SSH y el cliente comparan las claves públicas del nombre de usuario proporcionado con la clave privada. Si la clave pública del lado servidor no se puede validar con la clave privada del lado cliente, se produce un error de autenticación.

Para implementar la autenticación multifactor con pares de claves, debes solicitar que se proporcione una frase de contraseña cuando se genera el par de claves (consulta Generación de claves a continuación). Durante la autenticación, se solicita al usuario la frase de contraseña, que se usa junto con la presencia de la clave privada en el cliente SSH para autenticar al usuario.

Generación de claves de host

Las claves públicas tienen requisitos de ACL específicos que, en Windows, equivalen a permitir el acceso únicamente a los administradores y al sistema. Para facilitar esta tarea,

  • El módulo de PowerShell de OpenSSHUtils se creó para establecer las ACL de claves correctamente y debe instalarse en el servidor.
  • Al usar sshd por primera vez, se generará automáticamente el par de claves para el host. Si el ssh-agent se está ejecutando, las claves se agregarán automáticamente al almacén local.

Para facilitar la autenticación de claves con un servidor SSH, ejecuta los siguientes comandos desde un símbolo del sistema de PowerShell con privilegios elevados: PowerShell

# Install the OpenSSHUtils module to the server. This will be valuable when deploying user keys.
Install-Module -Force OpenSSHUtils -Scope AllUsers

# By default the ssh-agent service is disabled. Allow it to be manually started for the next step to work.
Get-Service -Name ssh-agent | Set-Service -StartupType Manual

# Start the ssh-agent service to preserve the server keys
Start-Service ssh-agent

# Now start the sshd service
Start-Service sshd

Dado que no hay ningún usuario asociado al servicio sshd, las claves de host se almacenan en \ProgramData\ssh.

Generación de claves de usuario

Para usar la autenticación basada en claves, primero debes generar algunos pares de claves públicas o privadas para el cliente. Desde PowerShell o cmd, usa ssh-keygen para generar algunos archivos de clave. PowerShell

cd ~\.ssh\
ssh-keygen

Esta operación debería mostrar algo similar a lo siguiente (donde «username» se reemplaza por tu nombre de usuario)

Generating public/private ed25519 key pair.
Enter file in which to save the key (C:\Users\username\.ssh\id_ed25519):

Puede presionar Entrar para aceptar el valor predeterminado o puedes especificar una ruta de acceso en la que quieres que se generen las claves. Llegados a este punto, se te pedirá que uses una frase de contraseña para cifrar los archivos de clave privada. La frase de contraseña funciona con el archivo de clave para proporcionar una autenticación en dos fases. En este ejemplo, vamos a dejar la frase de contraseña vacía.

Enter passphrase (empty for no passphrase):
Enter same passphrase again:
Your identification has been saved in C:\Users\username\.ssh\id_ed25519.
Your public key has been saved in C:\Users\username\.ssh\id_ed25519.pub.
The key fingerprint is:
SHA256:OIzc1yE7joL2Bzy8!gS0j8eGK7bYaH1FmF3sDuMeSj8 username@server@LOCAL-HOSTNAME

The key's randomart image is:
+--[ED25519 256]--+
|        .        |
|         o       |
|    . + + .      |
|   o B * = .     |
|   o= B S .      |
|   .=B O o       |
|  + =+% o        |
| *oo.O.E         |
|+.o+=o. .        |
+----[SHA256]-----+

Ahora tienes un par de claves ED25519 pública y privada (los archivos .pub son claves públicas y los demás son claves privadas):

Mode                LastWriteTime         Length Name
----                -------------         ------ ----
-a----        9/28/2018  11:09 AM           1679 id_ed25519
-a----        9/28/2018  11:09 AM            414 id_ed25519.pub

Recuerde que los archivos de clave privada son el equivalente de una contraseña, por lo que se deben proteger de la misma manera que las contraseñas. Para que sea más fácil, usa ssh-agent para almacenar de forma segura las claves privadas en un contexto de seguridad de Windows y asócialas con tu inicio de sesión de Windows. Para ello, inicia el servicio de ssh-agent como administrador y usa ssh-add para almacenar la clave privada. PowerShell

# Make sure you're running as an Administrator
Start-Service ssh-agent

# This should return a status of Running
Get-Service ssh-agent

# Now load your key files into ssh-agent
ssh-add ~\.ssh\id_ed25519


Después de completar estos pasos, cada vez que se necesite una clave privada para la autenticación desde este cliente, ssh-agent recuperará automáticamente la clave privada local y la pasará al cliente SSH.

Nota

Se recomienda realizar una copia de seguridad de la clave privada en una ubicación segura y, a continuación, eliminarla del sistema local después de agregarla al agente SSH. No se puede recuperar la clave privada del agente. Si pierdes el acceso a la clave privada, tendrás que crear un nuevo par de claves y actualizar la clave pública en todos los sistemas con los que interactúes.

Implementación de la clave pública

Para usar la clave de usuario que se creó anteriormente, la clave pública debe colocarse en el servidor en un archivo de texto denominado authorized_keys en users\nombre de usuario\.ssh\. Las herramientas de OpenSSH incluyen scp (una utilidad de transferencia de archivos segura) para ayudarte con esta operación.

Para trasladar el contenido de la clave pública (~.ssh\id_ed25519.pub) a un archivo de texto denominado authorized_keys en ~.ssh\ en el servidor o host.

En este ejemplo se usa la función Repair-AuthorizedKeyPermissions en el módulo OpenSSHUtils que se instaló anteriormente en el host de las instrucciones anteriores. PowerShell

# Make sure that the .ssh directory exists in your server's home folder
ssh user1@[email protected] mkdir C:\users\user1\.ssh\

# Use scp to copy the public key file generated previously to authorized_keys on your server
scp C:\Users\user1\.ssh\id_ed25519.pub user1@[email protected]:C:\Users\user1\.ssh\authorized_keys

# Appropriately ACL the authorized_keys file on your server
ssh --% user1@[email protected] powershell -c $ConfirmPreference = 'None'; Repair-AuthorizedKeyPermission C:\Users\user1\.ssh\authorized_keys

Estos pasos completan la configuración necesaria para usar la autenticación con SSH basada en claves en Windows. Después de esto, el usuario puede conectarse al host de sshd desde cualquier cliente que tenga la clave privada.