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:

  1. 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 permanentesCódigo a incluir en wp-config.php
    Nombre del post

    Obtener configuración actual

    <?php
    get_option( 'permalink_structure', '/%postname%/' = false );
    ?>
    PHP
    Fecha y nombre del post

    Enlaces permanentes con fecha y nombre del post

    <?php
    get_option( 'permalink_structure', '/%year%/%monthnum%/%day%/%postname%/' = false );
    ?>
    PHP
    Numerico

    Enlaces permanentes numéricos

    <?php
    get_option( 'permalink_structure', '/archives/%post_id%/' = false );
    ?>
    PHP
  2. Visitaremos la página y comprobaremos si funcionan.
  3. 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.

Desactivar Really simple SSL
Estos son los pasos a realizar para desactivar Really Simple SSL:
  1. Navega a la carpeta wp-content/plugins/really-simple-ssl con tu cliente FTP o navegador de archivos

  2. Localiza el archivo force-deactivate.txt y renombrarlo a force-deactivate.php

  3. 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)
  4. 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 :

  1. Accedemos a nuestro wp-admin → "Ajustes" → "Enlaces permanentes"
  2. 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 );
BASH

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.