Actualizar o editar enlaces permanentes en WordPress
En ocasiones puede ser necesario actualizar los enlaces permanentes de una instalación de WordPress debido a modificaciones en su .htaccess o la migración de un servidor / ruta a otro.
Actualizar enlaces permanentes a través de la API de WordPress
Es posible guardar los enlaces permanentes a través de instrucciones en un archivo .php como wp-includes/permalinks.php y así evitamos acceder a wp-admin. Para ello:
Crearemos el archivo wp-includes/permalinks.php partiendo de la raíz del WordPress y colocaremos el código según la configuración actual:
Tipo de enlaces permanentes Código a incluir en wp-config.php Nombre del post Obtener configuración actual
<?php get_option( 'permalink_structure', '/%postname%/' = false ); ?>
PHPFecha y nombre del post Enlaces permanentes con fecha y nombre del post
<?php get_option( 'permalink_structure', '/%year%/%monthnum%/%day%/%postname%/' = false ); ?>
PHPNumerico Enlaces permanentes numéricos
<?php get_option( 'permalink_structure', '/archives/%post_id%/' = false ); ?>
PHP- Visitaremos la página y comprobaremos si funcionan.
- Eliminaremos el archivo wp-includes/permalinks.php
Opcional: Desactivar Really Simple SSL
En ocasiones guardar los enlaces permanentes no surte efecto debido a que está activo Really Simple SSL, y éstos continúan brindando error 404, basta con desactivar el plugin para que éstos funcionen.
Navega a la carpeta wp-content/plugins/really-simple-ssl con tu cliente FTP o navegador de archivos
Localiza el archivo force-deactivate.txt y renombrarlo a force-deactivate.php
- Abre un navegador y accede a la URL: http://dominio.com/wp-content/plugins/really-simple-ssl/force-deactivate.php (Nota: Es necesario utilizar http)
- Borra la caché del navegador o utiliza una sesión de incógnito para comprobar que funciona.
Alternativa 1. Modificar los enlaces permanentes a través de wp-admin
Es posible modificar o actualizar los enlaces permanentes a través del wp-admin. Para ello seguiremos los siguientes pasos :
- Accedemos a nuestro wp-admin → "Ajustes" → "Enlaces permanentes"
- Una vez hayamos accedido a los enlaces permanentes, nos mostrará una ventana donde podremos modificar y guardar de nuevo los enlaces permanentes.
Simple: Esta opción es la menos recomendada ya que muestra una URL no muy agradable cuando accedemos al contenido de nuestra web
Ejemplo
https://www.demo.nicalia.com/es/?p=1716
Dia y nombre / Mes y nombre: Con estos dos formatos, las URLs a las entradas de nuestra web incluirán la fecha en la que se publicó. En el caso de tener un blog de noticias es un tipo de formato bastante útil.
Ejemplo
https://www.demo.nicalia.com/2020/03/24/ejemplo/
Numérico: Se asemeja al formato simple pero solo añade el identificador interno del contenido de la web.
Ejemplo
https://www.demo.nicalia.com/fotos/234
Nombre de la entrada: Con esta opción indicamos que se muestre el nombre de la entrada del contenido al que accedamos.
Ejemplo
https://www.demo.nicalia.com/entrada1/
Estructura personalizada: Nos permite crear nuestra propia estructura de enlaces a través de las etiquetas que proporciona Wordpress.
Ejemplo
https://www.demo.nicalia.com/%year%/%monthnum%/%day%/%postname%/
3. Una vez hayamos modificado nuestros enlaces permanentes haremos clic en "Guardar cambios" . Con esto ya tendremos nuestros enlaces modificados y actualizados.
Obtener la configuración actual de los enlaces a través de la API
El propósito de haber recopilado esto es automatizar algún día todo en una ejecución sin que tengamos que comprobar qué configuración de enlaces tiene nosotros.
Comando a ejecutar
get_option( 'permalink_structure', $default = false );
Información útil
Structure Tags #Structure Tags
You can use these tags to customize your “Pretty” or “Almost Pretty” permalinks. A few hints:
- You do not put your site url in the permalinks fields. You only use one of the structure tags, or a combination of tags.
- Make sure to end your structure with either %post_id% or %postname% (e.g. /%year%/%monthnum%/%day%/%postname%/) so that each permalink points to an individual post.
%year%
The year of the post, four digits, for example 2018
%monthnum%
Month of the year, for example 05
%day%
Day of the month, for example 28
%hour%
Hour of the day, for example 15
%minute%
Minute of the hour, for example 43
%second%
Second of the minute, for example 33
%post_id%
The unique ID # of the post, for example 423
%postname%
A sanitized version of the title of the post (post slug field on Edit Post/Page panel). So “This Is A Great Post!” becomes this-is-a-great-post in the URI.
%category%
A sanitized version of the category name (category slug field on New/Edit Category panel). Nested sub-categories appear as nested directories in the URI.
%author%
A sanitized version of the author name.