Si alguna vez has tenido que cambiar las constantes WP_HOME
o WP_SITEURL
de WordPress por el motivo que sea, seguro que has dudado, aunque solo sea un momentito, entre qué significa cada una, cuál era para qué.
Qué son WP_HOME y WP_SITEURL
Y no, no estás con la caraja, es que es confuso, pues el mismo nombre parece contradictorio. Esto, afortunadamente, se aclara algo en la documentación, que te resumo:
WP_SITEURL
– Permite definir la dirección de WordPress (URL). Debe incluir la partehttps://
y no debe terminar en/
.WP_HOME
– Es la dirección que desea que las personas escriban en su navegador para llegar a su sitio WordPress. Debe incluir la partehttps://
y no debe terminar en/
.
¿Ya lo has entendido?, ¿está claro verdad? … ¡ah! ¿que no?
Te pongo un ejemplo…
Imagina que tienes una web con WordPress instalado, no en la raíz del dominio, sino en una subcarpeta, algo más habitual de lo que imaginas. Lo vas a entender enseguida…
Tu dominio es https://misuperweb.com
pero resulta que todos los archivos de WordPress resulta que están en la carpeta https://misuperweb.com/wordpress/
¿a que ya te suena? Es un fallo muy habitual, sobre todo en instalaciones manuales, al descomprimir el archivo ZIP de WordPress, pues te crea esa ruta.
Podrías, por supuesto, mover todo lo que contiene la carpeta al directorio superior, al raíz, y configurar tu web con la misma dirección URL para WP_SITEURL
y WP_HOME
(https://misuperweb.com
) pero puedes dejarlo como está, y configurar WP_SITEURL
y WP_HOME
así:
define('WP_HOME', 'https://misuperweb.com'); define('WP_SITEURL', 'https://misuperweb.com/wordpress');
¿Ya lo vas entendiendo? Te lo explico como yo lo conseguí entender:
WP_SITEURL
– Es la URL de la carpeta donde están instalados los archivos y carpetas de WordPress. No es la ruta absoluta a tu carpeta en el hosting, sino la URL.WP_HOME
– Es lo que se supone que los usuarios deben teclear en su navegador para ver tu web. La página de inicio (home).
Sí, lo que confunde es lo de SITEURL
¿verdad?, ¿url del sitio?, si lo unes a WP_HOME
(casa/hogar de WP) el lío está asegurado, pero no, es como te lo he resumido justo arriba.
Por qué es confusa la diferencia entre WP_HOME y WP_SITEURL
¿No te parece a ti que deberían usarse al revés?
En realidad es la consecuencia de lo que hay en los ajustes generales de tu sitio WordPress, aquí:
¿Tiene algo que ver con lo de WP_SITEURL
y WP_HOME
, o sea …
¿Es esta la correspondencia?:
- Dirección de WordPress (URL) –
WP_HOME
- Dirección del sitio (URL) –
WP_SITEURL
No, es justo lo contrario pero la (supuesta) traducción ayuda a la confusión, en realidad la correspondencia es esta:
- Dirección de WordPress (URL) –
WP_SITEURL
- Dirección del sitio (URL) –
WP_HOME
Porque si pones esto, por ejemplo:
Estás modificando la constante WP_SITEURL
, que equivale al valor siteurl
en la tabla de opciones de la base de datos, y con eso le estás diciendo que los archivos y carpetas de WordPress están en https://aulawp.com/wordpress
y la URL para ver tu web (Dirección del sitio (URL) = WP_HOME
) es https://aulawp.com
.
Configurados así, al tratar de visitar la URL del sitio se vería la web rota, y si tratas de acceder a la administración de WordPress del sitio te llevaría a https://aulawp.com/wordpress/wp-login.php
, pues es bajo esa ruta en la que le tienes dicho que está instalado WordPress.
Al contrario, si pones esto otro…
Aquí lo que estás cambiando son la constante WP_HOME
y la opción home
(en la base de datos).
El problema es menos grave, porque:
- Dirección de WordPress (URL) – En principio estaría bien, si está todo en la carpeta raíz.
- Dirección del sitio (URL) – En este caso el único problema es que verías un error 404, de no encontrado, al tratar de acceder a una dirección URL de tu web que (presumiblemente) no existe
/wordpress/
.
¡Está todo mal!
En realidad no está mal el nombre de los ajustes generales de WordPress, porque en realidad…
- Dirección de WordPress (URL) es donde están los archivos de WordPress.
- Dirección del sitio (URL) es la dirección a la que dirigirse para ver tu sitio.
Lo que enreda la cosa es el nombre de las constantes de WordPress WP_SITEURL
y WP_HOME
, que además se corresponden con los valores en la base de datos siteurl
y home
, respectivamente, pero que parecen significar lo contrario.
¿Ves por qué es tan lioso?
¿Y dónde se pone eso de WP_HOME y WP_SITEURL?
En principio en ninguna parte, es opcional, para…
Sería algo así:
define('WP_HOME', 'https://nuevodominio.com'); //url de la web define('WP_SITEURL', 'https://nuevodominio.com/wordpress'); //url donde esta instalado WordPress
Para terminar de complicar la cosa…
Resulta que no es esto todo lo que debes saber sobre WP_SITEURL
y WP_HOME
, siteurl
y home
, dirección de WordPress (URL) y dirección del sitio (URL), hay más.
Ya que pasamos por aquí, que nos hemos metido en el jaleo este, debes saber un par de cosas más:
- Definir las constantes
WP_SITEURL
yWP_HOME
no cambia las opcionessiteurl
yhome
en la base de datos. Así que si defines estas constantes en el archivo wp-config.php por un cambio de dominio, aunque estás forzando estas URLs, deberías realizar alguna búsqueda y reemplazo en la base de datos, de cualquier URL con el dominio antiguo hacia el nuevo. - Cambiar los ajustes de dirección de WordPress (URL) y dirección del sitio (URL) sí cambian las opciones
siteurl
yhome
en la base de datos.
¿Sientes mareo? Respira hondo y lentamente
Si toda la explicación anterior no so lo no te ha aclarado la diferencia entre dirección del sitio y dirección de WordPress, WP_SITEURL
y WP_HOME
, siteurl
y home
y estás con aún más confusión, mira esta tabla:
AJUSTE WORDPRESS | QUÉ SIGNIFICA | CONSTANTE WORDPRESS | OPCIÓN EN BASE DE DATOS |
Dirección de WordPress (URL) | URL donde está instalado WordPress, sus carpetas y archivos para que funcione. | WP_SITEURL | siteurl |
Dirección del sitio (URL) | URL para ver la página de inicio del sitio, el dominio. | WP_HOME | home |
¡Muuucho más claro! ¿Ya mejor?