Cómo crear URL amigables para SEO en Joomla

Joomla proporciona una manera muy fácil de crear URL amigables para SEO, o URL SEF, como también se las conoce.

Las URL optimizadas para SEO son URL que un humano puede leer y dar sentido al contenido que contienen. Siguen una cierta estructura que facilita al usuario comprender en qué parte de la estructura del sitio web se encuentra y cómo se clasifica esa página específica.

La regla general es que si la URL contiene información legible por humanos, cualquier motor de búsqueda podrá usar esa información e indexarla en consecuencia.

Las URL optimizadas para SEO en Joomla dan un gran impulso a su clasificación en los motores de búsqueda y recomendamos encarecidamente a todos que las habiliten. ¡Veamos cómo!

Cómo habilitar URL optimizadas para SEO en Joomla

Primero debe acceder a la configuración global de Joomla como en la captura de pantalla a continuación

go-to-joomla-global-configuration.png

Luego, mientras estás en la pestaña Sitio, en el lado derecho de tu pantalla, hay una sección llamada Configuración de SEO. En esta sección, la primera opción llamada URL amigables para motores de búsqueda debe establecerse en Sí. De esta forma, aparecerán más opciones justo debajo.

De todas las opciones que han aparecido, en este tutorial nos interesa principalmente la primera opción llamada Usar reescritura de URL. Así que asegúrese de que esta opción también esté habilitada. Ahora todo debería verse como el de la captura de pantalla a continuación.

joomla-configuration-seo-friendly.png

Con estas dos opciones configuradas en Sí, en la mayoría de las configuraciones de servidor debería estar listo para comenzar simplemente guardando la configuración global. Sin embargo, existen algunas excepciones para algunos servidores que requieren un poco más de trabajo para que funcionen las URL optimizadas para SEO.

Estas excepciones se separan según el tipo de servicio HTTP utilizado. Por ejemplo, Windows Server usa IIS para todas sus necesidades HTTP. Los servidores Linux, por otro lado, usan un servicio llamado Apache o un servicio más nuevo llamado Nginx.

Veamos qué debe hacer para cada servicio por separado si, por casualidad, necesita hacer algo más que cambiar la configuración general de Joomla.

Cómo habilitar la reescritura de URL para Apache en Joomla

Los servidores Apache utilizan un archivo de texto llamado .htaccess que contiene instrucciones sobre cómo construir URL entre una gran cantidad de otras cosas.

Si no tiene ese archivo .htaccess en particular, puede continuar y crear uno como lo haría con cualquier otro archivo de texto. Luego, para que funcionen las URL optimizadas para SEO, debe agregarles lo que se muestra en el segmento de código a continuación.

## Begin - Joomla! core SEF Section.
#
RewriteRule .* - [E=HTTP_AUTHORIZATION:%{HTTP:Authorization}]
#
# If the requested path and file is not /index.php and the request
# has not already been internally rewritten to the index.php script
RewriteCond %{REQUEST_URI} !^/index.php
# and the requested path and file doesn't directly match a physical file
RewriteCond %{REQUEST_FILENAME} !-f
# and the requested path and file doesn't directly match a physical folder
RewriteCond %{REQUEST_FILENAME} !-d
# internally rewrite the request to the index.php script
RewriteRule .* index.php [L]
#
## End - Joomla! core SEF Section.

También debe tener en cuenta que es posible que tenga un archivo htaccess.txt en su lugar. En ese caso, puede simplemente cambiarle el nombre a .htaccess y asegurarse de que contenga el código anterior.

Cómo habilitar la reescritura de URL para IIS en Joomla

IIS usa la misma filosofía con Apache en términos de usar un archivo de texto que contiene instrucciones de reescritura de URL.

Este archivo se llama web.config y su contenido en Joomla debe ser como se describe en el segmento de código a continuación.

<?xml version="1.0" encoding="UTF-8"?>
<configuration>
   <location path=".">
   <system.webServer>
       <directoryBrowse enabled="false" />
       <rewrite>
           <rules>
               <rule name="Joomla! Rule 1" stopProcessing="true">
                   <match url="^(.*)$" ignoreCase="false" />
                   <conditions logicalGrouping="MatchAny">
                       <add input="{QUERY_STRING}" pattern="base64_encode[^(]*\([^)]*\)" ignoreCase="false" />
                       <add input="{QUERY_STRING}" pattern="(>|%3C)([^s]*s)+cript.*(<|%3E)" />
                       <add input="{QUERY_STRING}" pattern="GLOBALS(=|\[|\%[0-9A-Z]{0,2})" ignoreCase="false" />
                       <add input="{QUERY_STRING}" pattern="_REQUEST(=|\[|\%[0-9A-Z]{0,2})" ignoreCase="false" />
                   </conditions>
                   <action type="CustomResponse" url="index.php" statusCode="403" statusReason="Forbidden" statusDescription="Forbidden" />
               </rule>
               <rule name="Joomla! Rule 2">
                   <match url="(.*)" ignoreCase="false" />
                   <conditions logicalGrouping="MatchAll">
                     <add input="{URL}" pattern="^/index.php" ignoreCase="true" negate="true" />
                     <add input="{REQUEST_FILENAME}" matchType="IsFile" ignoreCase="false" negate="true" />
                     <add input="{REQUEST_FILENAME}" matchType="IsDirectory" ignoreCase="false" negate="true" />
                   </conditions>
                   <action type="Rewrite" url="index.php" />
               </rule>
           </rules>
       </rewrite>
   </system.webServer>
   </location>
</configuration>

Tenga en cuenta que si por casualidad hay un archivo llamado web.config.txt en su estructura de archivos Joomla, entonces debe cambiarle el nombre a web.config.

Cómo habilitar la reescritura de URL para Nginx en Joomla

Finalmente, un próximo servicio http de Linux se llama Nginx y es utilizado por un número creciente de servidores todos los días.

Nginx utiliza una filosofía diferente a los dos servicios anteriores, por lo que no tiene un archivo de configuración para cada sitio web. En su lugar, utiliza un archivo de configuración para todos los sitios web que atiende.

Para los sitios web de Joomla, la siguiente configuración de Nginx en el segmento de código a continuación suele ser lo que se necesita para que las URL optimizadas para SEO funcionen, entre otras cosas.

server {
    ....
    location / {
        expires 1d;
        # Enable Joomla SEF URLs inside Nginx
        try_files $uri $uri/ /index.php?$args;
    }
    ....
}

¡Esperamos que hayas disfrutado de nuestro tutorial sobre URL optimizadas para SEO en Joomla! añadenos a tus favoritos o marcadores y comparte el artículo en tus redes sociales, eso nos ayudaría en gran medida, a cambio te prometemos nuevos contenidos con regularidad.


Esta web utiliza cookies propias para su correcto funcionamiento. Al hacer clic en el botón Aceptar, acepta el uso de estas tecnologías y el procesamiento de sus datos para estos propósitos. Más información
Privacidad