Ir directamente al contenido

Ajustes de cookies

Elija por tipo qué cookies permite. Puede cambiar su elección en cualquier momento en Ajustes de cookies, al pie de cada página. Declaración de privacidad

Necesarias

Siempre activadas

Necesarias para iniciar sesión, conservar su carrito y recordar sus preferencias. Siempre están activadas.

¿Qué cookies?
  • weboke_sessie, weboke_klant, weboke_remember: su sesión y mantener la sesión iniciada
  • weboke_basket: su carrito
  • wkBtwIncl: mostrar los precios con o sin IVA
  • wok_cookies: su elección de cookies, 12 meses

Mide qué anuncio lleva a una visita o a un pedido, para no pagar por anuncios que no sirven de nada.

¿Qué cookies?
  • Google Ads a través de Google Tag Manager (_gcl_au, _gcl_aw), hasta 90 días
  • OpenAI Ads, anuncios en ChatGPT
  • wok_aff: a través de qué socio llegó a nosotros (programa de afiliados), 60 días

4,6

País e idioma

Cada país tiene su propio sitio, con los precios y el IVA de ese país.

Ver

Módulo 1 · 1.3

Archivos, wp-config y la base de datos

Módulo 1: Cómo funciona WordPress · Tiempo de lectura: 9 minutos

Objetivo de la lección: Después de esta lección reconocerá las carpetas de WordPress, los ajustes de wp-config.php y las tablas más importantes de la base de datos, y sabrá dónde encontrar qué.

Conceptos clave: wp-admin, wp-includes, wp-content (themes, plugins, uploads, mu-plugins), wp-config.php (DB_*, table_prefix, claves y salts, WP_DEBUG), .htaccess, wp_options (siteurl, home), wp_posts, wp_users

Dos mitades: archivos y base de datos

Un sitio WordPress siempre se compone de dos partes que van juntas:

  1. Archivos en la carpeta web de su dominio (en DirectAdmin domains/example.com/public_html): el código de WordPress, sus temas, sus plugins y todo lo que suba.
  2. Una base de datos: todos sus textos, páginas, menús, ajustes, usuarios y comentarios.

Esta distinción es importante en las copias de seguridad y las migraciones. Una copia de seguridad que solo contenga los archivos carece de todos sus textos. Una copia de seguridad que solo contenga la base de datos carece de todas sus fotos. Necesita ambas (lección 8.1).

Las carpetas

Abra su carpeta web en el Administrador de archivos o con un programa FTP y verá algo así:

public_html/
├── wp-admin/          el escritorio de administración (core)
├── wp-includes/       el resto de WordPress (core)
├── wp-content/        todo lo que es suyo
│   ├── themes/        los temas
│   ├── plugins/       los plugins
│   ├── uploads/       sus archivos multimedia, por año y mes: uploads/2026/11/
│   ├── mu-plugins/    plugins "must use" (si los hay)
│   ├── languages/     traducciones
│   └── upgrade/       carpeta temporal para actualizaciones
├── .htaccess          reglas para el servidor web
├── index.php          el punto de partida de cada solicitud de página
├── wp-config.php      los ajustes de esta instalación
├── wp-login.php       la página de inicio de sesión
├── xmlrpc.php         una antigua conexión para apps (lección 7.3)
└── ...                otros archivos wp-*.php del core

La regla general: wp-admin, wp-includes y los archivos wp-*.php sueltos pertenecen a WordPress. Se sobrescriben en cada actualización. No coloque nunca nada propio ahí ni los modifique.

wp-content es suyo. Una actualización de WordPress no toca esta carpeta (excepto los temas y plugins predeterminados que vienen incluidos). Aquí van sus temas, plugins y archivos subidos. Algunas cosas que conviene saber:

  • uploads es la que crece más rápido. Cada foto que sube, WordPress la guarda en varios formatos (lección 4.4). Un sitio con años de noticias puede tener gigabytes de archivos subidos.
  • mu-plugins (must use) son plugins que siempre están activos y que no puede desactivar desde el escritorio de administración. Algunos proveedores de alojamiento y plugins los utilizan. Los intrusos también los usan a menudo para esconder algo (lección 7.5). Si no reconoce un archivo ahí, averigüe de dónde procede.
  • Un plugin eliminado desaparece de plugins. Un plugin desactivado permanece, con todo su código (lección 5.4).

wp-config.php: los ajustes

wp-config.php es lo primero que carga WordPress. Contiene los datos con los que WordPress accede a la base de datos, y algunos ajustes para toda la instalación. Una versión resumida:

define( 'DB_NAME', 'usuario_wp1' );
define( 'DB_USER', 'usuario_wp1' );
define( 'DB_PASSWORD', 'una-contraseña-larga-y-aleatoria' );
define( 'DB_HOST', 'localhost' );
define( 'DB_CHARSET', 'utf8mb4' );

define( 'AUTH_KEY',         'texto largo y aleatorio' );
define( 'SECURE_AUTH_KEY',  'texto largo y aleatorio' );
define( 'LOGGED_IN_KEY',    'texto largo y aleatorio' );
define( 'NONCE_KEY',        'texto largo y aleatorio' );
define( 'AUTH_SALT',        'texto largo y aleatorio' );
define( 'SECURE_AUTH_SALT', 'texto largo y aleatorio' );
define( 'LOGGED_IN_SALT',   'texto largo y aleatorio' );
define( 'NONCE_SALT',       'texto largo y aleatorio' );

$table_prefix = 'wp_';

define( 'WP_DEBUG', false );

/* Eso es todo, ¡deje de editar aquí! */
require_once ABSPATH . 'wp-settings.php';

Qué significa:

  • DB_NAME, DB_USER, DB_PASSWORD, DB_HOST: con qué base de datos, usuario y contraseña se conecta WordPress, y en qué servidor. Si alguno no es correcto, verá "Error establishing a database connection". Esto suele ocurrir tras una migración o tras cambiar una contraseña de la base de datos.
  • Las claves y salts (las ocho líneas con KEY y SALT): textos aleatorios con los que WordPress firma las cookies de inicio de sesión. Quien las conozca podría, en teoría, crear una cookie de inicio de sesión válida. Si las sustituye, se cerrará la sesión de todos los usuarios. Esto es precisamente lo que hay que hacer tras un hackeo (lección 7.5). Puede obtener valores nuevos en https://api.wordpress.org/secret-key/1.1/salt/.
  • $table_prefix: el prefijo de todos los nombres de tabla, normalmente wp_. Así pueden varias instalaciones compartir una misma base de datos. Elegir otro prefijo no es una medida de seguridad real, pero tampoco es perjudicial.
  • WP_DEBUG: activa los mensajes de error. En un sitio en producción esto está desactivado (false). Cómo consultar errores de forma segura sin mostrarlos a los visitantes lo verá en la lección 5.4.
  • Los ajustes que añada usted mismo (por ejemplo, DISALLOW_FILE_EDIT en la lección 7.4 o DISABLE_WP_CRON en la lección 6.3) deben colocarse antes de la línea "deje de editar aquí".

wp-config.php contiene la contraseña de su base de datos. No comparta nunca el archivo, no coloque una copia de él en la carpeta web (como wp-config.php.bak o wp-config.old: cualquiera podría descargarla, ya que el servidor web no la ejecuta como PHP) y asígnele permisos de archivo estrictos (lección 7.4).

.htaccess

En LiteSpeed y Apache, la carpeta web contiene un archivo .htaccess con reglas para el servidor web. Empieza con un punto, por lo que muchos programas lo ocultan. WordPress coloca este bloque para las direcciones amigables (enlaces permanentes):

# BEGIN WordPress
<IfModule mod_rewrite.c>
RewriteEngine On
RewriteBase /
RewriteRule ^index\.php$ - [L]
RewriteCond %{REQUEST_FILENAME} !-f
RewriteCond %{REQUEST_FILENAME} !-d
RewriteRule . /index.php [L]
</IfModule>
# END WordPress

Dicho de forma sencilla: "si no es un archivo existente (!-f) ni una carpeta existente (!-d), entrégaselo a index.php." Ese es el paso 2 de la lección 1.2. Los plugins (de caché, de seguridad) suelen añadir sus propios bloques. Coloque sus propias reglas fuera de los bloques de WordPress y de los plugins, ya que esos bloques a veces se reescriben. En nginx no existe .htaccess; ahí el proveedor de alojamiento gestiona esto en la configuración del servidor.

La base de datos: qué tabla sirve para qué

Con phpMyAdmin (en DirectAdmin, dentro de Administrador de bases de datos) puede consultar la base de datos. Una instalación normal tiene doce tablas; los plugins suelen añadir más. Las más importantes:

TablaQué contiene
wp_postsEntradas, páginas, revisiones, elementos de menú y, en los temas de bloques, también plantillas y patrones. Las imágenes también son aquí una "entrada" de tipo attachment
wp_postmetaDatos adicionales de las entradas, como el precio de un producto o los ajustes de un creador de páginas
wp_optionsAjustes del sitio y de los plugins. Aquí están siteurl y home (lección 3.1), el nombre del tema activo y la lista de plugins activos
wp_users y wp_usermetaUsuarios, sus contraseñas (cifradas) y su rol
wp_terms, wp_term_taxonomy, wp_term_relationshipsCategorías, etiquetas y a qué entradas pertenecen
wp_comments y wp_commentmetaComentarios

Dos datos útiles. Primero: en wp_options están siteurl y home. Si son incorrectos (por ejemplo, tras una migración), su sitio enviará a todos a la dirección equivocada y usted no podrá volver a entrar en la administración. En ese caso puede restaurarlos en phpMyAdmin o con reglas en wp-config.php (lección 3.1). Segundo: muchos ajustes se guardan serializados, un formato de PHP en el que se cuenta la longitud de cada texto. Si modifica ese valor a mano, o aplica a la base de datos un simple "buscar y reemplazar", esa longitud deja de ser correcta y el ajuste se rompe (lección 3.2).

Consultar en phpMyAdmin es seguro. Modificar solo debe hacerlo si sabe lo que hace, y siempre con una copia de seguridad.

En la práctica: así se ve en un panel

Como ejemplo usamos DirectAdmin. En cPanel y Plesk los apartados se llaman igualmente Administrador de archivos (File Manager) y phpMyAdmin.

  1. Abra el Administrador de archivos y vaya a domains/example.com/public_html. Active la opción de mostrar archivos ocultos para ver .htaccess.
  2. Haga clic en wp-config.php y elija ver (no editar). Busque DB_NAME y $table_prefix.
  3. Abra phpMyAdmin, elija a la izquierda la base de datos con ese nombre y consulte qué tablas hay.
  4. Haga clic en la tabla wp_options (con su prefijo) y busque las filas siteurl y home.

Resumen

  • Un sitio WordPress son archivos más base de datos; una copia de seguridad necesita ambos.
  • wp-admin, wp-includes y los archivos sueltos del core pertenecen a WordPress; wp-content es suyo.
  • wp-config.php contiene los datos de la base de datos, las claves y salts, el prefijo de las tablas y ajustes como WP_DEBUG. No guarde nunca una copia de él en la carpeta web.
  • .htaccess dirige todo lo que no es un archivo hacia index.php; las reglas propias se colocan fuera de los bloques de WordPress.
  • En wp_options están siteurl y home; los datos serializados no se modifican a mano.

Cuestionario

1. Quiere hacer una modificación que sobreviva a una actualización de WordPress. ¿Dónde debe colocarla?



2. Tras una migración ve el mensaje "Error establishing a database connection". ¿Dónde mira primero?



3. ¿Qué ocurre si sustituye las claves y salts en wp-config.php?



4. ¿Por qué es peligroso un archivo wp-config.php.bak en la carpeta web?



5. ¿En qué tabla encuentra la lista de plugins activos?



Ejercicio

Ejercicio D1.3: Explore su propia instalación. Abra su carpeta web en el Administrador de archivos o con un programa FTP y, a continuación, su base de datos en phpMyAdmin. No haga nada más que observar. Marque lo que haya encontrado y anote: el prefijo de las tablas, el número de tablas de la base de datos, los valores de siteurl y home en wp_options, y las carpetas de wp-content. Anote también si hay archivos en wp-content/mu-plugins y si sabe de dónde proceden. No comparta nunca su contraseña de base de datos, ni siquiera en este formulario.

Ejercicio D1.3: Explore su propia instalación

Este ejercicio lo hace usted mismo; nadie lo revisa. Marque lo que haya hecho y señale el ejercicio como realizado.






Sus marcas y notas se quedan solo en este navegador; no las enviamos a ningún sitio. Si ha iniciado sesión, en Mis cursos solo guardamos que ha realizado el ejercicio.

Para saber más

Estos artículos describen los pasos en los paneles de WebOké; en otros paneles funcionan de forma parecida.

Un momento…

Configure sus dominios

Configure para cada dominio los servidores de nombres, la vinculación a su hosting y quién será el titular.

Cargando sus dominios…