Auditoría de seguridad WordPress con IA

18 min de lectura
Guía

#Quién hace la auditoría de seguridad WordPress

Soy Mariusz Szatkowski, desarrollador WordPress desde 2006, y trabajo solo desde Gdynia (Polonia). La auditoría la hago yo de principio a fin, sin subcontratar. No soy un centro de operaciones de seguridad ni vendo vigilancia permanente: hago una revisión escrita de tu web y te digo qué corregir y en qué orden. Cuando el rendimiento cae tras un incidente, las auditorías web WPO pueden ir en el mismo encargo, para no dejar la web rápida pero aún vulnerable.

#Qué incluye una auditoría de seguridad WordPress

La auditoría es una revisión de la web que termina en un documento. Reviso:

  • Plugins y temas: versiones, vulnerabilidades publicadas, componentes abandonados y, en los que aceptan datos del usuario, el código.
  • Usuarios y roles: administradores que sobran, cuentas que nadie reconoce, contraseñas de aplicación activas.
  • Configuración: wp-config.php, constantes de seguridad, permisos de ficheros, modo de depuración, configuración de PHP.
  • Cabeceras del servidor: HTTPS, HSTS, Content-Security-Policy, X-Content-Type-Options y lo que el servidor revela de sí mismo.
  • Copias de seguridad: si existen, dónde se guardan, cuánto tiempo y si se pueden restaurar.
  • Señales de intrusión: archivos PHP en uploads, núcleo modificado, tareas cron extrañas.

El resultado es un informe escrito con hallazgos por gravedad y correcciones priorizadas. La eliminación de malware y el endurecimiento son trabajo aparte, si me lo encargas.

#Desde dónde y para quién trabajo

Trabajo en remoto para empresas de España y del resto de la UE, también para quien vende desde Latinoamérica a clientes europeos. No necesito ir a tu oficina ni tocar tus dispositivos: basta con los accesos que describo más abajo. Hablamos por correo y te entrego todo por escrito. Facturo como empresa de la UE con NIF-IVA intracomunitario, y antes de acceder a datos personales firmamos el contrato de encargado del tratamiento del artículo 28 del RGPD.

#Cuánto cuesta una auditoría de seguridad WordPress

El presupuesto es individual. Depende del número de plugins, de si hay código a medida que leer, de si es una tienda y de si la web ya está comprometida. Te lo envío por escrito antes de empezar, junto con el alcance. La limpieza de malware y la aplicación de correcciones se presupuestan aparte, cuando ya se sabe qué hay que hacer.

#¿Qué es una auditoría de seguridad WordPress?

Es una revisión hecha por una persona que conoce WordPress por dentro, con un resultado concreto: una lista de lo que está mal, por qué importa y cómo arreglarlo. Comprobar si la web carga no sirve de auditoría, y un escáner automático no basta. WordPress mueve una parte enorme de la web, así que los ataques automatizados lo prueban todo el rato: no hace falta que alguien te elija para que entren.

#¿Cómo se hackean los sitios WordPress?

Casi todos los incidentes que he limpiado se reducen a unos pocos patrones. Conocerlos cambia lo que se busca en el código y en los registros.

#Patrones de vulnerabilidad en plugins de WordPress

El núcleo de WordPress rara vez es la puerta de entrada. Patchstack contó 11 334 vulnerabilidades nuevas en 2025: el 91 % en plugins, el resto en temas y solo 6 en el núcleo, todas de prioridad baja. En el código de los plugins se repiten las mismas formas:

  • Rutas REST sin autenticación, registradas con permission_callback => '__return_true'.
  • XSS almacenado en shortcodes que imprimen $_GET o metadatos sin pasar por wp_kses_post().
  • Subida arbitraria de ficheros en manejadores AJAX que aceptan el archivo sin wp_check_filetype_and_ext() ni lista blanca de tipos MIME.
  • Escalada de privilegios a través de un guardado de ajustes que confía en la petición y modifica roles.

Cruzo los plugins instalados con las bases de datos públicas de WPScan y Patchstack y después leo el código de los que aceptan datos del usuario. Mirar solo las CVE publicadas deja pasar los fallos que todavía nadie ha catalogado.

#Enumeración de usuarios en WordPress

?author=1 redirige a /author/<slug>/ y revela el nombre de acceso del administrador. Lo mismo pasa con /wp-json/wp/v2/users en instalaciones que nunca cerraron ese listado público. En una web endurecida, ambos devuelven 404 o una lista vacía.

#Amplificación por XML-RPC

/xmlrpc.php recibe intentos constantes de redes de bots. El método system.multicall permite envolver muchas llamadas a wp.getUsersBlogs en una sola petición, de modo que un único POST prueba cientos de contraseñas. Si nada en tu web usa XML-RPC, lo desactivo; si lo usa Jetpack o la app móvil de WordPress, lo restrinjo en el WAF en lugar de quitarlo.

#Consecuencias de un hackeo de WordPress en España

Para una empresa española, una web comprometida puede traer obligaciones legales, además del trabajo técnico:

  1. Notificación a la AEPD. Si la brecha afecta a datos personales, el artículo 33 del RGPD obliga al responsable del tratamiento (tú, no tu proveedor) a notificar a la autoridad de control sin dilación indebida y, de ser posible, en un plazo de 72 horas desde que tuvo constancia, salvo que sea improbable que suponga un riesgo para las personas. Con riesgo alto, el artículo 34 exige avisar también a los afectados. Toda brecha, notificada o no, se documenta internamente (artículo 33, apartado 5). En España, la autoridad de control es la AEPD, y la norma nacional que completa el RGPD es la Ley Orgánica 3/2018 de Protección de Datos Personales y garantía de los derechos digitales.
  2. Esquema Nacional de Seguridad para el sector público. El Real Decreto 311/2022 se aplica al sector público y a las empresas privadas que le prestan servicios. Su artículo 31 pide una auditoría de la seguridad al menos cada dos años y otra extraordinaria tras cambios sustanciales; los sistemas de categoría básica pueden acreditar la conformidad con una autoevaluación (artículo 38). Mi informe no sustituye a esa auditoría formal, pero sirve como base técnica para la gestión de vulnerabilidades de la web.
  3. Pasarelas de pago. Si las claves de Redsys, Stripe u otra pasarela están en wp-config.php, una puerta trasera con acceso a ese fichero las lee. Es uno de los primeros puntos que reviso en una tienda.

Para el texto del RGPD, usa la versión publicada en el BOE. De mí recibes lo que necesita tu abogado o tu delegado de protección de datos: si había datos personales en la base de datos, si alguien pudo acceder a ellos y desde cuándo. La decisión de notificar es tuya.

#Vectores de ataque más comunes en WordPress

#Vulnerabilidades de plugins y temas

Plugins y temas son la vía de entrada más frecuente: inyección SQL, cross-site scripting, inclusión de archivos y CSRF. Cada plugin activo es superficie de ataque, y uno abandonado por su autor deja sus fallos sin parchear para siempre. En webs en español es habitual encontrar plugins de pasarelas locales y extensiones regionales con ciclos de actualización más lentos que los plugins grandes del repositorio oficial.

#Ataques de fuerza bruta

Redes de bots prueban combinaciones de usuario y contraseña desde miles de IP distintas, así que bloquear por IP no basta. Lo que funciona: contraseñas largas, límite de intentos y, sobre todo, doble factor para todas las cuentas con acceso al panel.

#Ataques a la cadena de suministro

El código malicioso llega dentro de un plugin o tema que el administrador considera de confianza, a veces a través de una actualización. Se detecta comparando los ficheros con las sumas de verificación oficiales (wp core verify-checksums, wp plugin verify-checksums --all) y vigilando cambios inesperados en los archivos.

#Inyección SQL y XSS

La inyección SQL aprovecha formularios y parámetros mal validados para lanzar consultas en la base de datos: leer, cambiar o borrar datos, incluidas credenciales y datos de clientes. El XSS inyecta scripts que se ejecutan en el navegador del visitante y roban cookies de sesión, redirigen o capturan formularios.

#Auditoría de sitios WordPress creados con IA

Las webs construidas o ampliadas con herramientas de IA fallan por motivos previsibles: nonces ausentes, entradas sin sanear, rutas REST abiertas y plugins que se acumulan tras cada prompt.

CapaQué revisoHallazgo típico
CódigoPlugins propios, functions.phpSin comprobación de capacidades, SQL concatenado
SuperficieREST, AJAX, subidaspermission_callback => '__return_true'
ContenidoDuplicados, cifras inventadasTexto generado con riesgo en temas sensibles

La corrección va por el rescate de webs hechas con IA, los patrones de código en la auditoría de plugins generados por IA y el contenido en la limpieza de AI-slop. Presupuesto individual tras una primera revisión.

#¿Son seguros los plugins de IA con ejecución de código?

Una auditoría habitual busca vulnerabilidades: versiones antiguas, CVE conocidas, validación débil. Hay otro riesgo creciente: plugins que dan a propósito a un agente de IA ejecución de PHP, consultas a la base de datos y operaciones con ficheros (por MCP, CLI o webhook). Esto es una función documentada, y en la práctica equivale a dar a un tercero ejecución remota de código.

Un escáner de CVE da ese plugin por limpio, porque no hay nada que reportar. El riesgo se traslada a la autenticación y a la cadena de suministro: quién guarda la clave del endpoint, dónde vive el secreto, si el endpoint se alcanza desde Internet y qué pasa si se compromete la cuenta del proveedor del modelo.

En cada auditoría añado cinco comprobaciones:

  1. Inventario de plugins que declaran ejecución de código, acceso a la base de datos u operaciones con ficheros vía IA.
  2. Para cada uno: si el endpoint exige autenticación y si es público.
  3. Dónde viven las credenciales (wp-config.php, tabla de opciones, variables de entorno) y quién puede leerlas.
  4. Si las operaciones quedan en un registro que permita reconstruir un incidente.
  5. Mi recomendación por defecto: fuera de producción; en staging, solo con consentimiento y lista blanca de IP.

En el informe los clasifico junto a las puertas traseras en uploads, porque el resultado práctico es parecido: alguien de fuera puede cambiar ficheros y datos.

#Endurecimiento de WordPress paso a paso

Esto es lo que reviso y, si falta, recomiendo en el informe, más o menos en este orden. Aplicarlo es trabajo aparte, que puedes hacer tú, tu desarrollador o yo.

Constantes en wp-config.php. DISALLOW_FILE_EDIT desactiva el editor de código del panel y DISALLOW_FILE_MODS también el instalador de plugins. FORCE_SSL_ADMIN fuerza HTTPS en el panel. Las actualizaciones menores del núcleo, que traen los parches de seguridad, conviene dejarlas automáticas. El fichero, con permisos 440 o 400 y sin escritura para el usuario del servidor web. Las claves de Redsys, Stripe o de la pasarela del banco, mejor en variables de entorno fuera de la raíz pública que en wp-config.php.

Rotación de secretos. Tras un incidente, se cambian las ocho claves y sales (AUTH_KEY, SECURE_AUTH_KEY y el resto) con el generador de wordpress.org, lo que cierra todas las sesiones. También reviso las contraseñas de aplicación activas en el perfil de cada usuario y recomiendo revocar las que no correspondan a una integración conocida.

Acceso al panel. Doble factor con TOTP (por ejemplo, el plugin Two Factor o Wordfence Login Security) y una vía documentada para recuperar el acceso por WP-CLI si alguien pierde el teléfono. El límite de intentos funciona mejor en el WAF o la CDN que solo en PHP: en Cloudflare, una regla que limite los POST a /wp-login.php por IP y un desafío en /xmlrpc.php.

Sistema de ficheros. Ejecución de PHP bloqueada dentro de /wp-content/uploads/ con una regla de .htaccess o el bloque equivalente de nginx. Listado de directorios desactivado. xmlrpc.php cerrado si la web no lo usa. Permisos de referencia: directorios 755, archivos 644.

Detección. Comparación periódica de núcleo y plugins con las sumas de verificación oficiales por WP-CLI, alertas cuando aparece un administrador nuevo y registros de acceso guardados el tiempo suficiente para reconstruir un incidente.

#Incidentes más comunes tras un hackeo de WordPress

El administrador que vuelve. Un plugin de formularios vulnerable permite crear un usuario con wp_insert_user() desde un endpoint AJAX mal protegido. La cuenta recibe el rol de administrador y un nombre inocente como “Support”. Restaurar la copia de la semana pasada no sirve si la cuenta ya estaba ahí: la copia también está contaminada. Se detecta comparando wp_users y wp_usermeta con la última copia limpia, sin fiarse del listado del panel.

La puerta trasera en uploads. Un PHP escondido en /wp-content/uploads/ con nombre de caché recibe código en base64 por POST y lo ejecuta con eval(). Una restauración parcial que solo toca núcleo y plugins lo deja vivo. Por eso reviso cualquier .php, .phtml o .phar dentro de uploads y compruebo que el servidor no ejecuta PHP en ese directorio.

La clave publicada en un repositorio. Un .env con credenciales SMTP o de Stripe acaba en un repositorio público, y el servidor de correo pasa a enviar spam. Hay que cambiar las claves, limpiar el historial de git con git filter-repo y bloquear esos ficheros con un hook antes del commit. Busco .env, copias de wp-config.php y cualquier fichero accesible desde la web que contenga DB_PASSWORD o claves.

El coste de un incidente es sobre todo tiempo: horas para encontrar la vía de entrada, la web en mantenimiento, semanas hasta que Google retira el aviso de Safe Browsing y, si había datos personales, la conversación con tus clientes.

#¿Cómo es el proceso de auditoría de seguridad WordPress?

#Alcance y accesos

Me escribes qué tipo de web es, qué datos trata, dónde está alojada y qué te preocupa. Te respondo por escrito con el alcance, los accesos que necesito y el presupuesto. Antes de tocar nada hago una copia de archivos y base de datos.

#Revisión automática

Con WP-CLI compruebo la integridad del núcleo y los plugins, listo versiones de PHP, MySQL y servidor web, y cruzo cada plugin y tema con las bases de vulnerabilidades publicadas. Busco ficheros sospechosos y reviso permisos de archivos y directorios.

#Revisión manual

Lo que un escáner no ve lo miro a mano, sin atacar la web en producción:

  • Privilegios: si una cuenta con rol limitado llega a funciones de administrador.
  • Validación de datos: si formularios y rutas REST o AJAX comprueban lo que reciben.
  • Autenticación: si hay caminos alternativos a zonas protegidas.
  • Exposición de información: si los mensajes de error, los comentarios HTML o la API filtran datos.

#Configuración

wp-config.php (claves, prefijo, modo de depuración), permisos del sistema de archivos, directivas de Apache o Nginx, directivas de PHP como expose_php, display_errors o allow_url_fopen, y la configuración TLS y de renovación del certificado.

#Informe

Un documento con cada hallazgo clasificado por gravedad (crítica, alta, media, baja), con la prueba (extracto de registro, captura o ruta del archivo), el riesgo explicado sin jerga y la corrección concreta, en el orden en que conviene aplicarla. Está escrito para que tu desarrollador pueda aplicarlo sin preguntarme. Lo que no pude comprobar por falta de acceso queda anotado.

#Seguridad WordPress para comercio electrónico

#PCI DSS y datos de pago en WooCommerce

PCI DSS se aplica a quien acepta pagos con tarjeta. En WooCommerce, lo sensato es que la pasarela (Redsys, Stripe, PayPal u otra) reciba los datos de la tarjeta en su propio formulario o mediante tokens, de modo que tu base de datos nunca guarde números de tarjeta. Aun así, una puerta trasera en la tienda puede modificar el checkout para capturar lo que escribe el cliente, así que reviso las plantillas de pago y los scripts que cargan en esa página.

#Cuentas de cliente en WooCommerce

Las cuentas de cliente guardan datos personales. Límite de intentos de acceso, contraseñas razonables y recoger solo los datos que de verdad necesitas reducen el daño si algo falla.

#Plan de respuesta a incidentes en WordPress

Conviene decidir antes del incidente quién hace qué: quién toca la web, quién habla con los clientes y quién decide sobre la notificación a la AEPD. En una empresa pequeña puede ser la misma persona, pero tiene que estar escrito.

Durante el incidente, contener sin destruir pruebas: copia primero, aislar después. Tras la limpieza, comprobar que no queda malware, cerrar la vía de entrada y vigilar de cerca unas semanas por si vuelve.

#Plugins y herramientas de seguridad para WordPress

Wordfence ofrece cortafuegos a nivel de aplicación, escáner de malware y doble factor. Sucuri combina un WAF en la nube con limpieza de malware y vigilancia de listas negras. All-In-One Security cubre lo básico de forma gratuita. Ninguno sustituye a una revisión: un plugin de seguridad no te dice que tienes un administrador de más ni que tus copias no se pueden restaurar. Elige uno mantenido activamente y que no duplique lo que ya hace tu WAF o tu hosting.

#Web hackeada: qué hacer en la primera hora

  1. No borres nada. Copia los archivos y la base de datos tal como están. Los archivos infectados son prueba y muestran por dónde entró el atacante.
  2. Cambia las contraseñas desde un dispositivo limpio: panel de WordPress, hosting, SFTP, base de datos, claves API de pagos y correo. Cierra todas las sesiones.
  3. Pon la web fuera de línea o activa el modo mantenimiento si sirve malware, redirige a los visitantes o recoge datos de formularios y pagos.
  4. Pide al hosting los registros access.log y error.log y pregunta cuánto tiempo los conserva. Sin registros no se sabe qué se leyó.
  5. Revisa Google Search Console. Un propietario desconocido es una señal habitual de intrusión; elimínalo cuando la copia esté a salvo.
  6. Apunta la hora en que confirmaste la intrusión. Desde ahí corren los plazos del RGPD.

#¿Cómo es la limpieza tras un hackeo?

Trabajo sobre una copia, no sobre producción. Primero la vía de entrada (registros, wp core verify-checksums, comparación de los archivos de plugins y temas), después la eliminación de malware y puertas traseras en archivos y base de datos, la revisión de administradores y tareas cron, la reinstalación del núcleo y los plugins desde fuentes limpias y el cambio de todos los secretos. Termina con una comprobación final y, si Google marcó la web, una solicitud de revisión. La duración depende de cuántos archivos están infectados y de si hay registros, por eso doy una estimación solo después de ver la web. El resultado incluye una valoración del riesgo de fuga de datos.

#¿Qué accesos necesita una auditoría de seguridad WordPress?

  • Una cuenta de administrador temporal con doble factor activado. La creas para la auditoría y la borras cuando termino.
  • Acceso SSH o SFTP de solo lectura. Me permite comprobar la integridad de los ficheros con WP-CLI, revisar permisos, leer access.log y error.log y buscar puertas traseras en /wp-content/uploads/. Sin él, parte de la superficie queda sin revisar.
  • Una lista breve de integraciones y plugins importantes: nombre y para qué sirve cada uno. Me ayuda a decidir qué código leer primero.

Ayudan también el acceso a Google Search Console, el informe de una auditoría anterior si existe y las alertas de tu herramienta de seguridad actual. Si falta algo, ajusto el alcance y dejo anotado en el informe lo que no pude verificar. Envía los accesos por un canal aparte, nunca en el texto del formulario.

#Auditorías web WPO y rendimiento tras incidentes de seguridad

Una intrusión o un plugin malicioso a menudo pasa desapercibido hasta que el servidor empieza a ir lento. Las auditorías web WPO miden LCP, INP, CLS y TTFB antes y después de las correcciones, según los criterios de Core Web Vitals de Google Search Central. Hacerlas junto a la revisión de seguridad permite saber si la lentitud viene de scripts inyectados, de consultas MySQL sin índices o de la capa de PHP.

#Mantenimiento de seguridad después de la auditoría

Las correcciones envejecen: cada actualización de plugin o cambio de configuración puede abrir algo nuevo. Si no quieres ocuparte tú, el mantenimiento WordPress continuado incluye actualizaciones probadas en staging, copias guardadas más de 30 días en la UE y monitorización de disponibilidad cada pocos minutos.

Pedir una auditoría de seguridad

#Servicios relacionados

Antes de fijar el alcance, mira la web tú mismo: el chequeo de sitio WordPress descarga la versión pública de una dirección y da números medidos, incluidas las peticiones que bloquean el primer pintado y cuánto pesan. El resultado es inmediato y no pide correo.

Recomendaciones de LinkedIn

Recomendaciones y opiniones sobre el trabajo con WPPoland

Recomendaciones de personas de las comunidades WordPress, WordCamp y e-commerce. Escriben sobre entrega puntual, profundidad técnica y un enfoque orientado al negocio en el desarrollo de sitios.

Karolina Czapla

Karolina Czapla

Estratega de Marketing, Performance & Digital Strategy

“Trabajar con Mariusz en el WordCamp me ha mostrado lo poco común que es combinar competencias técnicas profundas con un verdadero liderazgo. Planifica, coordina y entrega con precisión, a la vez que da al equipo espacio para crecer y aportar. Cuando otros dicen 'no se puede', él encuentra una solución sin hacer ruido.”

Co‑organizadora, WordCamp Gdynia 2024 y 2025

Anna Kamińska

Anna Kamińska

Talent Acquisition Specialist / HR People Partner

“El portafolio de Mariusz habla por sí solo: refleja su precisión, versatilidad y sentido de la responsabilidad. Se puede confiar en él para conducir un proyecto desde la idea hasta la entrega, mantener informados a los stakeholders y asegurar que todo se haga correctamente y a tiempo.”

Trabajamos en el mismo equipo

Sarah‑Luisa Kwolek

Sarah‑Luisa Kwolek

Gestora de Proyectos TI & Product Owner, Web/App

“Durante más de dos años pude contar siempre con Mariusz para tareas de WordPress, desde el styling y los templates hasta integraciones con terceros. Aporta estabilidad al equipo y mantiene la parte de frontend bajo control.”

Mariusz fue su cliente en proyectos WordPress

Argert Boja

Argert Boja

Senior Full‑Stack Developer

“Mariusz es el compañero de equipo que todos esperan tener: competencias técnicas profundas full‑stack en WordPress, explicaciones claras y una actitud positiva incluso bajo presión. Se mueve con soltura entre plugins personalizados, optimización de rendimiento y layouts de Gutenberg, sin perder de vista la visión de conjunto.”

Trabajamos juntos en proyectos WordPress

Varun Patil

Varun Patil

Líder de Growth & CRM

“Más allá del desarrollo, Mariusz entiende SEO, analítica y growth. Habla directamente con los stakeholders, hace las preguntas correctas y entrega soluciones que mueven los indicadores de negocio: de AMP a tracking y rendimiento.”

Fue responsable de Mariusz en iniciativas de growth

Rafał Osiński

Rafał Osiński

Founder @ EasyTrips.pl, Senior WordPress Dev

“Conozco a Mariusz a través de la comunidad WordPress desde hace muchos años. Es fiable, muy implicado y siempre está presente: en meetups, WordCamps y en los proyectos. Si le importa la colaboración a largo plazo y alguien que trate su sitio como si fuera suyo, él es la persona indicada.”

Co‑organizador de la comunidad WordUp Trójmiasto y WordCamp

Daniel Blossfeld

Daniel Blossfeld

Consultor de Optimización de Procesos y Digitalización

“Tuve el placer de trabajar con Mariusz durante casi tres años. En ese tiempo, sus competencias técnicas profundas en desarrollo WordPress resultaron de un valor incalculable en una variedad de proyectos, desde la construcción de sitios web hasta áreas de socios online e incluso integraciones con Shopify. Es un desarrollador fiable y capaz.”

Mariusz fue su cliente en proyectos WordPress

Natalie Wiszczor

Natalie Wiszczor

Gestora de CRM y E-mail Marketing

“Tuve el gran placer de trabajar con Mariusz durante más de 4 años en el ámbito técnico. Durante ese tiempo demostró ser un compañero competente y fiable. Destacaron especialmente su carácter amable y su notable perseverancia para resolver retos técnicos complejos. Incluso en situaciones de estrés siempre mantuvo la cabeza fría y contribuyó significativamente a un ambiente de trabajo positivo y productivo con su actitud optimista. 🙏🏻🚀”

Trabajó con Mariusz en distintos equipos

Mark Chalklen

Mark Chalklen

Head of Design & Build en Itineris Limited

“Mariusz es un gran miembro del equipo, siempre dispuesto a meterse de lleno en cualquier tarea y a aprender cosas nuevas. Un excelente comunicador y, en general, una persona muy agradable con la que trabajar. ¡Eso sí, es difícil ganarle en nuestra clasificación semanal de Strava!”

Gestionó a Mariusz directamente

Jessica Di Pasquale

Jessica Di Pasquale

Liderando iniciativas de SEO con estrategias de crecimiento basadas en datos.

“Mariusz es una persona muy hábil, paciente y experta. Siempre dispuesto a ayudar y corregir errores, valoré mucho trabajar con él. ¡Es un compañero estupendo!”

Gestionó a Mariusz directamente

Biki John

Biki John

Apasionado del Marketing de Contenidos y entusiasta del SEO

“Fue genial trabajar con Mariusz. Valoré mucho su amplio conocimiento de WordPress y lo útil que resultó siempre que necesité ayuda para moverme por el CMS. Elogio totalmente a Mariusz por su paciencia, su buen carácter y su dominio del oficio; todos lo echaremos mucho de menos.”

Trabajó con Mariusz en distintos equipos

Rafal Borowiec

Rafal Borowiec

Desarrollador de Software, Consultor, Manager y Profesor

“Tuve la oportunidad de trabajar con Mariusz durante 7 meses. Destaca en optimización técnica para motores de búsqueda (SEO). Mariusz cuenta también con una sólida experiencia en desarrollo AMP, GTM y GA. Se siente muy cómodo con WordPress: trabajó en una variedad de proyectos y tareas relacionadas con WordPress, incluyendo desarrollo de landing pages, mejoras de rendimiento y mucho más. Si busca un experto sólido en WordPress especializado en SEO, tracking, rendimiento y desarrollo, no dude en ponerse en contacto con Mariusz.”

Gestionó a Mariusz directamente

Belinda Koch

Belinda Koch

Analista de Web-Tracking en TUI

“Mariusz es una persona estupenda con quien trabajar. Está extremadamente motivado por aprender cosas nuevas y compartir su conocimiento, y domina una amplia gama de temas. Trabajamos juntos en analítica digital y tracking y le estoy muy agradecida por toda la energía, el apoyo y las ideas que aportó a los proyectos.”

Trabajó con Mariusz en temas de analítica digital y tracking

Ali Nezamolmaleki

Ali Nezamolmaleki

Growth, SEO, Pensamiento Analítico, AMP

“Mariusz es una persona extremadamente talentosa en su campo de trabajo. Siempre es capaz de aportar una nueva perspectiva para resolver problemas y de pensar fuera de la caja en situaciones en las que todo parece bloqueado. Trabajar con él es siempre un placer por su personalidad positiva y su actitud de 'se puede hacer'.”

Trabajó con Mariusz en el mismo equipo

Karol Jakubcewicz

Karol Jakubcewicz

Desarrollador Front-end / JavaScript

“Mariusz es un desarrollador WordPress y especialista en SEO/SEM increíblemente experimentado con quien he tenido el placer de trabajar durante casi dos años. Fue una de las figuras clave responsables de la mejora constante del tiempo de carga y del posicionamiento de las páginas. Admiro sus competencias técnicas profundas, vitales para un proyecto WordPress tan complejo, multilingüe y altamente personalizado. Mucha experiencia, una enorme actitud positiva: recomiendo encarecidamente colaborar con Mariusz en cualquier proyecto web.”

Trabajó con Mariusz en el mismo equipo

Paweł Lewczuk

Paweł Lewczuk

Desarrollador Front-end, Desarrollador WordPress

“Colaboré con Mariusz en varios proyectos y nuestra cooperación fue siempre ejemplar. Creo que aún tenemos por delante muchos proyectos conjuntos. ¡Muy recomendable!”

Mariusz fue cliente de Paweł

Przemek Wroblewski

Przemek Wroblewski

Desarrollador de Software con más de 20 años de experiencia

“Encontré en Mariusz a alguien con gran experiencia y un conocimiento profundo de las soluciones frontend. Un desarrollador WordPress sólido, competente y responsable. Tiene facilidad para construir relaciones interpersonales con los demás. Tuvo la visión de ver los beneficios y la pasión para convertirlos en resultados medibles para AirHelp. Sin duda, alguien que querría tener en mi equipo.”

Trabajó con Mariusz en distintos equipos

Todas las recomendaciones en LinkedIn

Preguntas frecuentes

Preguntas sobre alcance, entrega, costes y calidad.

¿Cómo sé si mi sitio WordPress ha sido hackeado?#
Señales habituales: Chrome avisa de 'sitio engañoso', las posiciones en Google caen de golpe, aparecen administradores que nadie creó, hay contenido o enlaces de spam (a menudo con palabras clave en japonés), la web redirige a otras páginas, va lenta por scripts ajenos, hay archivos desconocidos en los directorios de WordPress o el hosting te avisa de malware. Ante cualquiera de ellas, haz una copia antes de borrar nada.
¿Con qué frecuencia debería auditar la seguridad de mi WordPress?#
Para una web de empresa, una revisión completa al año suele bastar; una tienda que trata pagos y datos personales conviene revisarla con más frecuencia. Además, tras cualquier incidente, tras cambios grandes (tema nuevo, migración, plugins con acceso a datos) o si notas un comportamiento raro. Si tu web pertenece al sector público o le presta servicio y está sujeta al Esquema Nacional de Seguridad, el artículo 31 del Real Decreto 311/2022 fija una auditoría al menos cada dos años.
¿Cuáles son las vulnerabilidades más comunes en WordPress?#
El riesgo está en los plugins, no en el núcleo. Según Patchstack, en 2025 se publicaron 11 334 vulnerabilidades nuevas en el ecosistema WordPress, el 91 % en plugins, el resto en temas, y solo 6 en el núcleo, de prioridad baja. Lo que más se repite: inyección SQL en plugins mal escritos, cross-site scripting, subidas que aceptan ficheros ejecutables, contraseñas débiles expuestas a fuerza bruta y permisos de ficheros que nadie revisó tras el lanzamiento.
¿Puedo hacer una auditoría de seguridad WordPress yo mismo?#
Una primera pasada sí, con Wordfence o el escáner de Sucuri. Lo que un escáner no hace es leer el código de los plugins que aceptan datos del usuario, comparar los usuarios y opciones de la base de datos con lo que debería haber, ni revisar la configuración del servidor y las copias. Eso es lo que reviso a mano y dejo por escrito.
¿Qué debo hacer justo después de una brecha de seguridad?#
1) Haz una copia de archivos y base de datos tal como están, son la prueba. 2) Cambia todas las contraseñas desde un dispositivo limpio: WordPress, hosting, SFTP, base de datos, claves de pago y correo. 3) Pon la web en mantenimiento si sirve malware o recoge datos. 4) Pide al hosting los registros de acceso y de errores. 5) Apunta la hora en que confirmaste la intrusión, porque desde ahí corre el plazo de 72 horas del artículo 33 del RGPD. 6) Después, limpieza, cierre de la vía de entrada y, si Google marcó la web, solicitud de revisión.
¿Qué incluye el informe de una auditoría de seguridad WordPress?#
Un documento con lo que revisé (plugins y temas, usuarios y roles, wp-config.php y permisos, cabeceras HTTP, configuración de PHP y del servidor, copias de seguridad) y la lista de hallazgos clasificados por gravedad. Cada hallazgo lleva la prueba (extracto de registro, captura o ruta del archivo), el riesgo en lenguaje claro y la corrección concreta, en el orden en que conviene aplicarlas. Lo que no pude comprobar por falta de acceso queda anotado.
¿Puedes corregir tú los problemas que encuentre la auditoría?#
Sí, como trabajo aparte con su propio presupuesto, una vez leído el informe. Puede incluir limpieza de malware, actualizaciones, cambios de configuración y endurecimiento. Tras aplicar las correcciones vuelvo a comprobar cada hallazgo y te digo cuáles quedan cerrados. Si prefieres que lo haga tu propio desarrollador, el informe está escrito para que pueda aplicarlo sin preguntarme.
¿En qué se diferencia una auditoría WPO de una auditoría de seguridad?#
Una auditoría WPO (Web Performance Optimization) mide Core Web Vitals, el tiempo de respuesta del servidor (TTFB) y el peso de los recursos. La de seguridad revisa vulnerabilidades, malware y accesos. Se cruzan a menudo: un script inyectado o un plugin defectuoso también ralentiza la web, así que revisar ambas cosas a la vez permite saber si la lentitud viene del ataque o de la propia instalación.
¿Qué aportan las auditorías web WPO en un sitio WordPress comprometido?#
Después de limpiar, una auditoría web WPO mide LCP, INP, CLS y TTFB y separa los scripts inyectados de los plugins legítimos pero pesados. El informe ordena las acciones que devuelven la velocidad y cierran vías de ataque a la vez.

Mira qué muestra tu sitio en público

Danos la dirección de un sitio que gestiones. Lo descargamos como lo haría un navegador y mostramos qué se deduce de ello, junto con lo que leímos exactamente.

Descargamos páginas públicas en la dirección que nos des, nunca iniciamos sesión y no guardamos nada más allá de un contador anónimo de ejecuciones.