<?xml version="1.0" encoding="UTF-8"?><rss version="2.0"
	xmlns:content="http://purl.org/rss/1.0/modules/content/"
	xmlns:wfw="http://wellformedweb.org/CommentAPI/"
	xmlns:dc="http://purl.org/dc/elements/1.1/"
	xmlns:atom="http://www.w3.org/2005/Atom"
	xmlns:sy="http://purl.org/rss/1.0/modules/syndication/"
	xmlns:slash="http://purl.org/rss/1.0/modules/slash/"
	>

<channel>
	<title>WordPress | Eligeunaweb Agencia de marketing y programación web</title>
	<atom:link href="https://eligeunaweb.es/category/wordpress/feed/" rel="self" type="application/rss+xml" />
	<link>https://eligeunaweb.es</link>
	<description>Diseño de paginas web, tiendas online, posicionamiento SEO  y redes sociales</description>
	<lastBuildDate>Sat, 12 Jul 2025 07:00:15 +0000</lastBuildDate>
	<language>es</language>
	<sy:updatePeriod>
	hourly	</sy:updatePeriod>
	<sy:updateFrequency>
	1	</sy:updateFrequency>
	

<image>
	<url>https://eligeunaweb.es/wp-content/uploads/2018/09/favicon.png</url>
	<title>WordPress | Eligeunaweb Agencia de marketing y programación web</title>
	<link>https://eligeunaweb.es</link>
	<width>32</width>
	<height>32</height>
</image> 
	<item>
		<title>Cómo buscar y reemplazar contenido en todas las publicaciones de WordPress con SQL</title>
		<link>https://eligeunaweb.es/como-buscar-y-reemplazar-contenido-en-todas-las-publicaciones-de-wordpress-con-sql-2/</link>
					<comments>https://eligeunaweb.es/como-buscar-y-reemplazar-contenido-en-todas-las-publicaciones-de-wordpress-con-sql-2/#respond</comments>
		
		<dc:creator><![CDATA[eligeunaweb]]></dc:creator>
		<pubDate>Tue, 15 Jul 2025 07:00:00 +0000</pubDate>
				<category><![CDATA[Recomendaciones]]></category>
		<category><![CDATA[WordPress]]></category>
		<guid isPermaLink="false">https://eligeunaweb.es/?p=987610930</guid>

					<description><![CDATA[]]></description>
										<content:encoded><![CDATA[<div class="et_pb_section et_pb_section_0 et_section_regular" >
				
				
				
				
				
				
				<div class="et_pb_row et_pb_row_0">
				<div class="et_pb_column et_pb_column_4_4 et_pb_column_0  et_pb_css_mix_blend_mode_passthrough et-last-child">
				
				
				
				
				<div class="et_pb_module et_pb_text et_pb_text_0  et_pb_text_align_left et_pb_bg_layout_light">
				
				
				
				
				<div class="et_pb_text_inner"><h1>Cómo buscar y reemplazar contenido en todas las publicaciones de WordPress con SQL:</h1>
<h1>Guía completa para ecommerce y sitios web</h1>
<p>¿Necesitas cambiar un texto, URL o palabra clave en todas tus entradas o páginas de WordPress? Hacerlo manualmente puede ser interminable, especialmente si gestionas un ecommerce o un blog con cientos o miles de publicaciones.</p>
<p>La solución más eficiente es usar SQL directamente sobre la base de datos. En este artículo aprenderás cómo buscar y reemplazar textos de forma masiva y segura en WordPress.</p>
<p>Está pensado tanto para usuarios no técnicos que quieran entender el proceso, como para desarrolladores y agencias que necesitan consultas listas para trabajar.</p>
<div style="height: 40px;"></div>
<h2>Índice de contenidos</h2>
<ul>
<li><a href="#por-que-reemplazar">¿Por qué hacer un reemplazo masivo en WordPress?</a></li>
<li><a href="#estructura-bbdd">Dónde se guarda el contenido en WordPress</a></li>
<li><a href="#consultas-sql">Consulta SQL para buscar y reemplazar</a></li>
<li><a href="#ejemplo-practico">Ejemplo práctico paso a paso</a></li>
<li><a href="#buenas-practicas">Buenas prácticas y seguridad</a></li>
<li><a href="#seo-beneficios">Impacto SEO y comercial</a></li>
<li><a href="#conclusion">Conclusión</a></li>
</ul>
<div style="height: 40px;"></div>
<h2 id="por-que-reemplazar">¿Por qué hacer un reemplazo masivo en WordPress?</h2>
<p>Algunos casos habituales:</p>
<ul>
<li>Actualizar URLs tras un cambio de dominio.</li>
<li>Corregir errores tipográficos masivos.</li>
<li>Cambiar nombres de marcas o productos.</li>
<li>Actualizar enlaces rotos a nuevas direcciones.</li>
<li>Optimización SEO reemplazando keywords.</li>
</ul>
<p>Hacerlo a mano es inviable en sitios grandes. SQL lo soluciona en segundos.</p>
<div style="height: 40px;"></div>
<h2 id="estructura-bbdd">Dónde se guarda el contenido en WordPress</h2>
<p>El contenido principal de entradas y páginas se guarda en la tabla:</p>
<table border="1" cellpadding="5" cellspacing="0">
<tbody>
<tr>
<th>Tabla</th>
<th>Descripción</th>
</tr>
<tr>
<td>wp_posts</td>
<td>Guarda todo el contenido (títulos, contenido, resúmenes, etc.).</td>
</tr>
</tbody>
</table>
<p>Campos clave:</p>
<ul>
<li><strong>post_content</strong> → el contenido de la publicación.</li>
<li><strong>post_title</strong> → el título.</li>
<li><strong>post_excerpt</strong> → el resumen.</li>
</ul>
<div style="height: 40px;"></div>
<h2 id="consultas-sql">Consulta SQL para buscar y reemplazar</h2>
<p>La consulta básica para buscar y reemplazar en <code>post_content</code> es:</p>
<pre class="caja-codigo-blog">UPDATE wp_posts
SET post_content = REPLACE(post_content, 'texto_antiguo', 'texto_nuevo');
</pre>
<p>Explicación línea por línea:</p>
<ul>
<li><code>UPDATE wp_posts</code> → indica la tabla a modificar.</li>
<li><code>SET post_content = REPLACE(...)</code> → reemplaza texto dentro del campo.</li>
<li>Reemplaza todas las apariciones de <strong>texto_antiguo</strong> por <strong>texto_nuevo</strong>.</li>
</ul>
<p>Si quieres reemplazar también en títulos:</p>
<pre class="caja-codigo-blog">UPDATE wp_posts
SET post_title = REPLACE(post_title, 'texto_antiguo', 'texto_nuevo');
</pre>
<div style="height: 40px;"></div>
<h2 id="ejemplo-practico">Ejemplo práctico paso a paso</h2>
<p>Imagina que migraste de <code>http://antiguo.com</code> a <code>https://nuevo.com</code> y quieres actualizar todos los enlaces.</p>
<h3>1. Haz backup de la base de datos</h3>
<pre class="caja-codigo-blog">mysqldump -u usuario -p base_de_datos &gt; backup_wp.sql
</pre>
<h3>2. Ejecuta la consulta</h3>
<pre class="caja-codigo-blog">UPDATE wp_posts
SET post_content = REPLACE(post_content, 'http://antiguo.com', 'https://nuevo.com');
</pre>
<p>¡Listo! Todas las referencias en los contenidos han sido reemplazadas.</p>
<div style="height: 40px;"></div>
<h2 id="buenas-practicas">Buenas prácticas y seguridad</h2>
<ul>
<li>Siempre haz un backup antes de ejecutar cualquier consulta.</li>
<li>Prueba primero en un entorno staging.</li>
<li>Si manejas contenido multilingüe, verifica idiomas antes de hacer reemplazos globales.</li>
<li>Revisa resultados con búsquedas posteriores.</li>
</ul>
<p>Un simple error en un REPLACE puede generar cientos de contenidos rotos.</p>
<div style="height: 40px;"></div>
<h2 id="seo-beneficios">Impacto SEO y comercial</h2>
<p>Hacer un buen reemplazo masivo ayuda a:</p>
<ul>
<li>Corregir enlaces rotos que afectan el SEO.</li>
<li>Evitar canibalización de palabras clave.</li>
<li>Refrescar el contenido rápidamente tras cambios estratégicos.</li>
<li>Mejorar la autoridad de tu web evitando enlaces antiguos.</li>
</ul>
<p>¡Cada detalle cuenta para mantener el posicionamiento de tu sitio!</p>
<div style="height: 40px;"></div>
<h2 id="conclusion">Conclusión</h2>
<p>Buscar y reemplazar contenido en WordPress mediante SQL es la forma más rápida y precisa de mantener tu web actualizada. Con cuidado y buenos backups, puedes ahorrar horas de trabajo y evitar errores masivos.</p>
<p><strong>¿No te atreves a tocar SQL? ¡Contáctanos y lo hacemos por ti de forma segura!</strong></p>
<div style="height: 40px;"></div>
<h2>Textos para redes sociales</h2>
<h3>LinkedIn (versión no técnica)</h3>
<p>🌐 <strong>¿Necesitas cambiar enlaces o textos en tu web WordPress?</strong><br /><br /><br />Hacerlo a mano puede ser eterno. Hoy te explico cómo buscar y reemplazar contenido en segundos con SQL. ¡Mantén tu web limpia y actualizada!<br /><br /><br />#WordPress #SQL #Ecommerce #DigitalMarketing #OptimizaciónWeb</p>
<div style="height: 20px;"></div>
<h3>LinkedIn (versión técnica)</h3>
<p><strong>WordPress y el poder de REPLACE() en SQL 🚀</strong><br /><br /><br />Si has migrado URLs o necesitas corregir textos masivos, aquí tienes:<br /><br />✅ Consulta SQL explicada línea a línea.<br /><br />✅ Ejemplo práctico con backup.<br /><br />✅ Buenas prácticas para evitar errores.<br /><br /><br />¡No más búsquedas manuales en miles de posts!<br /><br /><br />#WordPress #SQL #DevOps #DataCleaning #DesarrolloWeb</p>
<div style="height: 20px;"></div>
<h3>Facebook / Instagram publicación</h3>
<p>🌐 <strong>¡Actualiza tu WordPress sin dolores de cabeza!</strong><br /><br /><br />Aprende cómo buscar y reemplazar textos masivos en WordPress con SQL. Ahorra tiempo y evita errores.<br /><br /><br />👉 Descúbrelo paso a paso en nuestro blog.<br /><br /><br />#WordPress #SQL #OptimizaciónWeb #MarketingDigital</p>
<div style="height: 20px;"></div>
<h3>Carrusel Instagram / Facebook</h3>
<p><strong>Slide 1:</strong> 🌐 ¿Tu WordPress necesita cambios masivos?<br /><br /><br /><strong>Slide 2:</strong> 📝 Cambiar texto a mano es lento y riesgoso.<br /><br /><br /><strong>Slide 3:</strong> 💻 Con SQL puedes reemplazar en segundos.<br /><br /><br /><strong>Slide 4:</strong> ✅ Ahorra tiempo y errores.<br /><br /><br /><strong>Slide 5:</strong> 👉 Aprende cómo en nuestro blog técnico.</p>
<div style="height: 40px;"></div></div>
			</div>
			</div>
				
				
				
				
			</div>
				
				
			</div>La entrada <a href="https://eligeunaweb.es/como-buscar-y-reemplazar-contenido-en-todas-las-publicaciones-de-wordpress-con-sql-2/">Cómo buscar y reemplazar contenido en todas las publicaciones de WordPress con SQL</a> apareció primero en <a href="https://eligeunaweb.es">Eligeunaweb Agencia de marketing y programación web</a>.]]></content:encoded>
					
					<wfw:commentRss>https://eligeunaweb.es/como-buscar-y-reemplazar-contenido-en-todas-las-publicaciones-de-wordpress-con-sql-2/feed/</wfw:commentRss>
			<slash:comments>0</slash:comments>
		
		
			</item>
		<item>
		<title>Eliminar revisiones de WordPress masivamente para optimizar la base de datos</title>
		<link>https://eligeunaweb.es/eliminar-revisiones-de-wordpress-masivamente-para-optimizar-la-base-de-datos/</link>
					<comments>https://eligeunaweb.es/eliminar-revisiones-de-wordpress-masivamente-para-optimizar-la-base-de-datos/#respond</comments>
		
		<dc:creator><![CDATA[eligeunaweb]]></dc:creator>
		<pubDate>Wed, 09 Jul 2025 07:00:00 +0000</pubDate>
				<category><![CDATA[Recomendaciones]]></category>
		<category><![CDATA[WordPress]]></category>
		<guid isPermaLink="false">https://eligeunaweb.es/?p=987610905</guid>

					<description><![CDATA[]]></description>
										<content:encoded><![CDATA[<div class="et_pb_section et_pb_section_1 et_section_regular" >
				
				
				
				
				
				
				<div class="et_pb_row et_pb_row_1">
				<div class="et_pb_column et_pb_column_4_4 et_pb_column_1  et_pb_css_mix_blend_mode_passthrough et-last-child">
				
				
				
				
				<div class="et_pb_module et_pb_text et_pb_text_1  et_pb_text_align_left et_pb_bg_layout_light">
				
				
				
				
				<div class="et_pb_text_inner"><h1>Eliminar revisiones de WordPress masivamente para optimizar la base de datos: Guía completa para ecommerce y blogs</h1>

<p>¿Tu web WordPress va cada vez más lenta y no sabes por qué? Una de las causas más frecuentes de bases de datos pesadas y rendimiento pobre en WordPress son las <strong>revisiones de publicaciones</strong>.</p>

<p>Si tienes un blog, tienda online o página corporativa que publica mucho contenido, las revisiones pueden multiplicar el tamaño de la base de datos innecesariamente. Hoy aprenderás a eliminarlas masivamente de forma segura, con consultas SQL, plugins o código PHP.</p>

<p>Este artículo está pensado tanto para usuarios no técnicos que quieran limpiar su WordPress, como para desarrolladores que buscan optimizar proyectos grandes.</p>

<div style="height:40px;"></div>

<h2>Índice de contenidos</h2>

<ul>
  <li><a href="#que-son-revisiones">¿Qué son las revisiones en WordPress?</a></li>
  <li><a href="#impacto-bd">Impacto de las revisiones en la base de datos</a></li>
  <li><a href="#consultas-sql">Eliminar revisiones con SQL</a></li>
  <li><a href="#php-script">Eliminar revisiones con script PHP</a></li>
  <li><a href="#plugins">Plugins para eliminar revisiones</a></li>
  <li><a href="#buenas-practicas">Buenas prácticas antes de borrar</a></li>
  <li><a href="#beneficios-seo">Beneficios SEO y rendimiento</a></li>
  <li><a href="#conclusion">Conclusión</a></li>
</ul>

<div style="height:40px;"></div>

<h2 id="que-son-revisiones">¿Qué son las revisiones en WordPress?</h2>

<p>WordPress guarda una copia de cada versión que editas de tus páginas o entradas. Eso se llama <strong>revisión</strong>.</p>

<p>Por ejemplo:</p>

<ul>
  <li>Escribes un artículo.</li>
  <li>Lo editas 5 veces antes de publicarlo.</li>
  <li>WordPress guarda las 5 versiones antiguas más la definitiva.</li>
</ul>

<p>Esto está genial para recuperar contenido perdido… ¡pero llena la base de datos!</p>

<div style="height:40px;"></div>

<h2 id="impacto-bd">Impacto de las revisiones en la base de datos</h2>

<p>Imagina un blog con 1.000 entradas. Si cada una tiene 10 revisiones, son 10.000 registros extra en la tabla <code>wp_posts</code>.</p>

<p>Además:</p>

<ul>
  <li>Aumenta el tamaño de la tabla <code>wp_posts</code>.</li>
  <li>Hace las consultas más lentas.</li>
  <li>Puede ralentizar el backend de WordPress.</li>
</ul>

<p>Si tu web está en un servidor compartido, esto se nota aún más.</p>

<div style="height:40px;"></div>

<h2 id="consultas-sql">Eliminar revisiones con SQL</h2>

<p>La forma más directa y técnica de eliminar revisiones es vía SQL.</p>

<h3>1. Haz backup antes de nada</h3>

<p>Ejecuta un backup de tu base de datos:</p>

<pre class="caja-codigo-blog">
mysqldump -u user -p database_name > backup_wp.sql
</pre>

<div style="height:40px;"></div>

<h3>2. Eliminar revisiones</h3>

<p>Ejecuta esta query:</p>

<pre class="caja-codigo-blog">
DELETE FROM wp_posts
WHERE post_type = 'revision';
</pre>

<p><strong>Explicación:</strong></p>

<ul>
  <li><code>wp_posts</code> → tabla donde se guardan las revisiones.</li>
  <li><code>post_type = 'revision'</code> → borra solo las revisiones, no entradas normales.</li>
</ul>

<p>¡Ojo! Esto elimina todas las revisiones de todos los posts.</p>

<div style="height:40px;"></div>

<h3>3. Limpiar la tabla wp_postmeta</h3>

<p>Tras eliminar revisiones, pueden quedar huérfanos metadatos.</p>

<p>Query para borrar metadatos huérfanos:</p>

<pre class="caja-codigo-blog">
DELETE pm
FROM wp_postmeta pm
LEFT JOIN wp_posts wp ON wp.ID = pm.post_id
WHERE wp.ID IS NULL;
</pre>

<p>Esto elimina registros en <code>wp_postmeta</code> que ya no tienen post asociado.</p>

<div style="height:40px;"></div>

<h2 id="php-script">Eliminar revisiones con script PHP</h2>

<p>Si prefieres no entrar a SQL, puedes usar PHP.</p>

<p>Copia este snippet en tu archivo <code>functions.php</code> (¡mejor en un plugin propio!):</p>

<pre class="caja-codigo-blog">
function eliminar_revisiones() {
    global $wpdb;
    $wpdb->query( "DELETE FROM $wpdb->posts WHERE post_type = 'revision'" );
}
add_action( 'admin_init', 'eliminar_revisiones' );
</pre>

<p>Explicación:</p>

<ul>
  <li>Usa el objeto global <code>$wpdb</code> para conectarse a la base.</li>
  <li>Elimina todas las revisiones.</li>
  <li>Se ejecuta al entrar al panel de administración.</li>
</ul>

<p>¡Úsalo con precaución!</p>

<div style="height:40px;"></div>

<h2 id="plugins">Plugins para eliminar revisiones</h2>

<p>Si no quieres código ni SQL, existen plugins:</p>

<ul>
  <li><strong>WP-Optimize</strong>: limpia revisiones, transients y más.</li>
  <li><strong>Advanced Database Cleaner</strong>: permite programar limpiezas.</li>
  <li><strong>WP Rocket</strong>: incluye opción de borrar revisiones.</li>
</ul>

<p>Ventajas:</p>

<ul>
  <li>Sin tocar SQL.</li>
  <li>Programación automática.</li>
  <li>Interfaz gráfica sencilla.</li>
</ul>

<p>Inconvenientes:</p>

<ul>
  <li>Puedes instalar un plugin solo para una limpieza puntual.</li>
  <li>Algunos son de pago.</li>
</ul>

<div style="height:40px;"></div>

<h2 id="buenas-practicas">Buenas prácticas antes de borrar</h2>

<ul>
  <li>Haz siempre un backup.</li>
  <li>No borres revisiones si estás en medio de grandes cambios de contenido.</li>
  <li>Limita la creación de revisiones futuras añadiendo en <code>wp-config.php</code>:</li>
</ul>

<pre class="caja-codigo-blog">
define( 'WP_POST_REVISIONS', 5 );
</pre>

<p>Esto limita las revisiones por post a un máximo de 5.</p>

<div style="height:40px;"></div>

<h2 id="beneficios-seo">Beneficios SEO y rendimiento</h2>

<p>Eliminar revisiones no afecta directamente al SEO externo, pero sí a la salud interna del sitio:</p>

<ul>
  <li>Mejora la velocidad del backend.</li>
  <li>Reduce consultas SQL innecesarias.</li>
  <li>Evita bases de datos gigantes.</li>
  <li>Facilita auditorías SEO, al trabajar sobre una base más ligera.</li>
</ul>

<p>Para ecommerce con WooCommerce, una base limpia es aún más importante por el volumen de datos de productos.</p>

<div style="height:40px;"></div>

<h2 id="conclusion">Conclusión</h2>

<p>Eliminar revisiones masivas en WordPress es una tarea sencilla pero crítica. Mejora el rendimiento y mantiene tu web ligera y lista para crecer.</p>

<p><strong>¿No te atreves a borrar revisiones por miedo a romper algo?</strong> ¡<strong>Contáctanos y lo haremos por ti de forma segura!</strong></p>

<div style="height:40px;"></div></div>
			</div>
			</div>
				
				
				
				
			</div>
				
				
			</div>La entrada <a href="https://eligeunaweb.es/eliminar-revisiones-de-wordpress-masivamente-para-optimizar-la-base-de-datos/">Eliminar revisiones de WordPress masivamente para optimizar la base de datos</a> apareció primero en <a href="https://eligeunaweb.es">Eligeunaweb Agencia de marketing y programación web</a>.]]></content:encoded>
					
					<wfw:commentRss>https://eligeunaweb.es/eliminar-revisiones-de-wordpress-masivamente-para-optimizar-la-base-de-datos/feed/</wfw:commentRss>
			<slash:comments>0</slash:comments>
		
		
			</item>
		<item>
		<title>Los mejores plugins para formularios accesibles con lógica condicional</title>
		<link>https://eligeunaweb.es/los-mejores-plugins-para-formularios-accesibles-con-logica-condicional/</link>
					<comments>https://eligeunaweb.es/los-mejores-plugins-para-formularios-accesibles-con-logica-condicional/#respond</comments>
		
		<dc:creator><![CDATA[eligeunaweb]]></dc:creator>
		<pubDate>Wed, 25 Jun 2025 07:00:00 +0000</pubDate>
				<category><![CDATA[Accesibilidad]]></category>
		<category><![CDATA[Recomendaciones]]></category>
		<category><![CDATA[WordPress]]></category>
		<guid isPermaLink="false">https://eligeunaweb.es/?p=987610838</guid>

					<description><![CDATA[]]></description>
										<content:encoded><![CDATA[<div class="et_pb_section et_pb_section_2 et_section_regular" >
				
				
				
				
				
				
				<div class="et_pb_row et_pb_row_2">
				<div class="et_pb_column et_pb_column_4_4 et_pb_column_2  et_pb_css_mix_blend_mode_passthrough et-last-child">
				
				
				
				
				<div class="et_pb_module et_pb_text et_pb_text_2  et_pb_text_align_left et_pb_bg_layout_light">
				
				
				
				
				<div class="et_pb_text_inner"><h3><strong>Introducción</strong></h3>
<p>Un formulario con lógica condicional mejora la experiencia del usuario y, si es accesible, garantiza que cualquier persona pueda usarlo sin barreras.</p>
<p>En este artículo revisamos los <strong>mejores plugins para crear formularios accesibles con lógica condicional</strong> en WordPress y WooCommerce.</p>

<div style="height:40px;"></div>

<h4>Índice</h4>
<ul>
<li><a href="#porque"><strong>1. ¿Por qué usar lógica condicional y accesibilidad?</strong></a></li>
<li><a href="#tabla"><strong>2. Comparativa de plugins recomendados</strong></a></li>
<li><a href="#analisis"><strong>3. Análisis de cada plugin</strong></a></li>
<li><a href="#buenaspracticas"><strong>4. Buenas prácticas y consejos</strong></a></li>
<li><a href="#conclusion"><strong>5. Conclusión</strong></a></li>
</ul>

<div style="height:40px;"></div>

<h3 id="porque"><strong>1. Importancia de lógica condicional y accesibilidad</strong></h3>
<ul>
<li>✅ Muestra solo campos relevantes según respuestas previas.</li>
<li>♿ Compatible con lectores de pantalla y navegación por teclado.</li>
<li>📈 Aumenta la tasa de conversión y reduce abandonos.</li>
</ul>

<div style="height:40px;"></div>

<h3 id="tabla"><strong>2. Comparativa rápida</strong></h3>
<table>
<thead><tr><th>Plugin</th><th>Lógica condicional</th><th>Accesible (WCAG)</th><th>Gratis</th></tr></thead>
<tbody>
<tr><td>Gravity Forms</td><td>✅ Avanzada</td><td>✅ Buen soporte ARIA</td><td>❌</td></tr>
<tr><td>Ninja Forms</td><td>✅ Fácil</td><td>✅ Compatible con lectores</td><td>✅ (limitado)</td></tr>
<tr><td>WS Form</td><td>✅ Muy completa</td><td>✅ Validación WCAG</td><td>❌</td></tr>
<tr><td>Fluent Forms</td><td>✅ Intuitiva</td><td>✅ Compatible WCAG</td><td>✅ (limitado)</td></tr>
<tr><td>WPForms</td><td>✅ Básica</td><td>✅ Campos accesibles</td><td>✅ (limitado)</td></tr>
</tbody>
</table>

<div style="height:40px;"></div>

<h3 id="analisis"><strong>3. Análisis de plugins</strong></h3>

<h4>🔹 Gravity Forms</h4>
<p>El más robusto. Condicional avanzado, gran integración y soporte técnico premium. Soporte de roles ARIA bien documentado.</p>

<h4>🔹 Ninja Forms</h4>
<p>Ideal para principiantes. Lógica condicional clara y buenos controles de accesibilidad. Versión gratuita para formularios básicos.</p>

<h4>🔹 WS Form</h4>
<p>Plugin muy técnico, excelente para agencias. Valida accesibilidad en tiempo real y facilita tests de WCAG.</p>

<h4>🔹 Fluent Forms</h4>
<p>Equilibrio entre facilidad y potencia. Plantillas accesibles y lógica condicional intuitiva. Versión gratuita muy funcional.</p>

<h4>🔹 WPForms</h4>
<p>Simple y directo. Lógica condicional sencilla, plantillas limpias y campos bien etiquetados para screen readers.</p>

<div style="height:40px;"></div>

<h3 id="buenaspracticas"><strong>4. Buenas prácticas</strong></h3>
<ul>
<li>🔑 Usar `<label>` siempre vinculado a cada campo.</li>
<li>♿ Validar con Lighthouse o axe para comprobar accesibilidad.</li>
<li>🧩 Revisar que la lógica condicional funcione también con teclado.</li>
<li>🎨 Personaliza mensajes de error claros y visibles.</li>
</ul>

<div style="height:40px;"></div>

<h3 id="conclusion"><strong>5. Conclusión</strong></h3>
<p>Estos plugins permiten crear formularios dinámicos y accesibles, mejorando la experiencia de todos los usuarios y cumpliendo WCAG AA.</p>
<p>📩 ¿Quieres que configuremos un formulario accesible para tu tienda? Contáctanos.</p></div>
			</div>
			</div>
				
				
				
				
			</div>
				
				
			</div>La entrada <a href="https://eligeunaweb.es/los-mejores-plugins-para-formularios-accesibles-con-logica-condicional/">Los mejores plugins para formularios accesibles con lógica condicional</a> apareció primero en <a href="https://eligeunaweb.es">Eligeunaweb Agencia de marketing y programación web</a>.]]></content:encoded>
					
					<wfw:commentRss>https://eligeunaweb.es/los-mejores-plugins-para-formularios-accesibles-con-logica-condicional/feed/</wfw:commentRss>
			<slash:comments>0</slash:comments>
		
		
			</item>
		<item>
		<title>Comparativa: WP Rocket vs LiteSpeed Cache</title>
		<link>https://eligeunaweb.es/comparativa-wp-rocket-vs-litespeed-cache/</link>
					<comments>https://eligeunaweb.es/comparativa-wp-rocket-vs-litespeed-cache/#respond</comments>
		
		<dc:creator><![CDATA[eligeunaweb]]></dc:creator>
		<pubDate>Wed, 18 Jun 2025 07:00:00 +0000</pubDate>
				<category><![CDATA[Recomendaciones]]></category>
		<category><![CDATA[WordPress]]></category>
		<guid isPermaLink="false">https://eligeunaweb.es/?p=987610812</guid>

					<description><![CDATA[]]></description>
										<content:encoded><![CDATA[<div class="et_pb_section et_pb_section_3 et_section_regular" >
				
				
				
				
				
				
				<div class="et_pb_row et_pb_row_3">
				<div class="et_pb_column et_pb_column_4_4 et_pb_column_3  et_pb_css_mix_blend_mode_passthrough et-last-child">
				
				
				
				
				<div class="et_pb_module et_pb_text et_pb_text_3  et_pb_text_align_left et_pb_bg_layout_light">
				
				
				
				
				<div class="et_pb_text_inner"><h3><strong>Introducción</strong></h3>
<p>Una web rápida mejora la experiencia del usuario, el SEO y la tasa de conversión. Dos de los plugins más populares para optimizar el rendimiento de WordPress son <strong>WP Rocket</strong> y <strong>LiteSpeed Cache</strong>.</p>
<p>En este artículo analizamos sus diferencias, rendimiento, facilidad de uso y cuándo elegir uno u otro.</p>

<div style="height:40px;"></div>

<h4>Índice</h4>
<ul>
<li><a href="#quees"><strong>1. ¿Qué es WP Rocket?</strong></a></li>
<li><a href="#lscache"><strong>2. ¿Qué es LiteSpeed Cache?</strong></a></li>
<li><a href="#tabla"><strong>3. Comparativa rápida</strong></a></li>
<li><a href="#detalles"><strong>4. Análisis detallado de rendimiento y compatibilidad</strong></a></li>
<li><a href="#cuandousar"><strong>5. ¿Cuál elegir según tu servidor y tipo de web?</strong></a></li>
<li><a href="#conclusion"><strong>6. Conclusión</strong></a></li>
</ul>

<div style="height:40px;"></div>

<h3 id="quees"><strong>1. ¿Qué es WP Rocket?</strong></h3>
<p>WP Rocket es un plugin de cache premium, compatible con cualquier servidor. Su enfoque es la simplicidad: se instala y optimiza la web con pocos clics.  
Incluye minificación de CSS/JS, precarga de caché, Lazy Load y optimización de bases de datos.</p>

<div style="height:40px;"></div>

<h3 id="lscache"><strong>2. ¿Qué es LiteSpeed Cache?</strong></h3>
<p>LiteSpeed Cache es un plugin gratuito optimizado para servidores con LiteSpeed Web Server o OpenLiteSpeed.  
Ofrece cache de página a nivel de servidor (Edge Side Includes), optimización de imágenes, minificación y CDN QUIC.cloud.</p>

<div style="height:40px;"></div>

<h3 id="tabla"><strong>3. Comparativa rápida</strong></h3>
<table>
<thead><tr><th>Aspecto</th><th>WP Rocket</th><th>LiteSpeed Cache</th></tr></thead>
<tbody>
<tr><td>Precio</td><td>De pago (licencia anual)</td><td>Gratis</td></tr>
<tr><td>Servidor recomendado</td><td>Cualquiera (Apache, Nginx)</td><td>LiteSpeed/OpenLiteSpeed</td></tr>
<tr><td>Facilidad de uso</td><td>Muy sencillo, preconfigurado</td><td>Más ajustes avanzados</td></tr>
<tr><td>CDN integrado</td><td>No</td><td>Sí (QUIC.cloud)</td></tr>
<tr><td>Rendimiento máximo</td><td>Muy alto</td><td>Excelente en LiteSpeed</td></tr>
</tbody>
</table>

<div style="height:40px;"></div>

<h3 id="detalles"><strong>4. Rendimiento y compatibilidad</strong></h3>
<ul>
<li>✅ <strong>WP Rocket:</strong> destaca por su facilidad de configuración y soporte premium. Compatible con cualquier hosting.</li>
<li>✅ <strong>LiteSpeed Cache:</strong> ofrece la mejor aceleración si usas un servidor LiteSpeed. Aprovecha el cache a nivel de servidor, no solo PHP.</li>
<li>⚠️ Si usas Apache sin LiteSpeed, WP Rocket suele dar mejores resultados.</li>
</ul>

<div style="height:40px;"></div>

<h3 id="cuandousar"><strong>5. ¿Cuál elegir?</strong></h3>
<ul>
<li>🚀 <strong>WP Rocket:</strong> recomendado para usuarios no técnicos que quieren resultados rápidos sin complicaciones.</li>
<li>⚡ <strong>LiteSpeed Cache:</strong> ideal si tu hosting tiene LiteSpeed u OpenLiteSpeed. Gratis, potente y configurable.</li>
</ul>

<div style="height:40px;"></div>

<h3 id="conclusion"><strong>6. Conclusión</strong></h3>
<p>Ambos plugins son excelentes, pero su rendimiento óptimo depende del servidor y del nivel técnico del usuario.</p>
<p>📩 Si necesitas ayuda para optimizar tu WordPress, ¡escríbenos y te ayudamos a configurarlo!</p></div>
			</div>
			</div>
				
				
				
				
			</div>
				
				
			</div>La entrada <a href="https://eligeunaweb.es/comparativa-wp-rocket-vs-litespeed-cache/">Comparativa: WP Rocket vs LiteSpeed Cache</a> apareció primero en <a href="https://eligeunaweb.es">Eligeunaweb Agencia de marketing y programación web</a>.]]></content:encoded>
					
					<wfw:commentRss>https://eligeunaweb.es/comparativa-wp-rocket-vs-litespeed-cache/feed/</wfw:commentRss>
			<slash:comments>0</slash:comments>
		
		
			</item>
		<item>
		<title>Los 5 mejores plugins para hacer backup en WordPress</title>
		<link>https://eligeunaweb.es/los-5-mejores-plugins-para-hacer-backup-en-wordpress/</link>
					<comments>https://eligeunaweb.es/los-5-mejores-plugins-para-hacer-backup-en-wordpress/#respond</comments>
		
		<dc:creator><![CDATA[eligeunaweb]]></dc:creator>
		<pubDate>Wed, 11 Jun 2025 07:00:00 +0000</pubDate>
				<category><![CDATA[Recomendaciones]]></category>
		<category><![CDATA[WordPress]]></category>
		<guid isPermaLink="false">https://eligeunaweb.es/?p=987610750</guid>

					<description><![CDATA[]]></description>
										<content:encoded><![CDATA[<div class="et_pb_section et_pb_section_4 et_section_regular" >
				
				
				
				
				
				
				<div class="et_pb_row et_pb_row_4">
				<div class="et_pb_column et_pb_column_4_4 et_pb_column_4  et_pb_css_mix_blend_mode_passthrough et-last-child">
				
				
				
				
				<div class="et_pb_module et_pb_text et_pb_text_4  et_pb_text_align_left et_pb_bg_layout_light">
				
				
				
				
				<div class="et_pb_text_inner"><h3><strong>Introducción</strong></h3>
<p>Hacer copias de seguridad regulares en WordPress es una de las mejores prácticas para evitar pérdidas de datos ante errores, ataques o actualizaciones fallidas.</p>
<p>En este artículo revisamos los <strong>5 mejores plugins para hacer backup en WordPress</strong>, con una comparativa clara, ventajas, tipo de copias y facilidad de restauración.</p>

<div style="height:40px;"></div>

<h4>Índice</h4>
<ul>
<li><a href="#porqueelegir"><strong>1. Por qué usar un plugin de backup</strong></a></li>
<li><a href="#tabla"><strong>2. Comparativa de los 5 mejores plugins</strong></a></li>
<li><a href="#detalle"><strong>3. Análisis detallado de cada uno</strong></a></li>
<li><a href="#consejos"><strong>4. Recomendaciones según tu tipo de sitio</strong></a></li>
<li><a href="#conclusion"><strong>5. Conclusión</strong></a></li>
</ul>

<div style="height:40px;"></div>

<h3 id="porqueelegir"><strong>1. ¿Por qué usar un plugin de backup?</strong></h3>
<ul>
<li>💾 Evitas pérdida de datos por fallos o errores humanos</li>
<li>🔐 Puedes restaurar tu web en minutos si algo sale mal</li>
<li>📦 Haces copias completas del sitio y la base de datos</li>
<li>📤 Algunos permiten subir copias automáticamente a la nube</li>
</ul>

<div style="height:40px;"></div>

<h3 id="tabla"><strong>2. Comparativa rápida</strong></h3>
<table>
<thead><tr><th>Plugin</th><th>Copias automáticas</th><th>Destino</th><th>Restauración</th><th>Gratis</th></tr></thead>
<tbody>
<tr><td>UpdraftPlus</td><td>✅</td><td>Dropbox, Google Drive</td><td>✅</td><td>✅</td></tr>
<tr><td>All-in-One WP Migration</td><td>❌</td><td>Archivo descargable</td><td>✅</td><td>✅</td></tr>
<tr><td>WPvivid</td><td>✅</td><td>FTP, Drive, S3</td><td>✅</td><td>✅</td></tr>
<tr><td>Duplicator</td><td>❌</td><td>ZIP local</td><td>✅</td><td>✅</td></tr>
<tr><td>Jetpack Backup</td><td>✅</td><td>Cloud Automattic</td><td>✅ 1 clic</td><td>❌</td></tr>
</tbody>
</table>

<div style="height:40px;"></div>

<h3 id="detalle"><strong>3. Análisis de los 5 mejores</strong></h3>

<h4>🔹 UpdraftPlus</h4>
<p>El más completo en versión gratuita. Copias manuales o programadas. Compatible con múltiples destinos en la nube. Restauración directa.</p>

<h4>🔹 All-in-One WP Migration</h4>
<p>Ideal para migraciones rápidas. Genera un solo archivo exportable. Restauración sencilla, aunque sin backups programados.</p>

<h4>🔹 WPvivid</h4>
<p>Alternativa moderna con copias automáticas, cloud externa y herramientas de migración. Ligero y bien documentado.</p>

<h4>🔹 Duplicator</h4>
<p>Muy utilizado para mover sitios. Paquetes completos en ZIP con script de instalación. Requiere conocimientos básicos para restaurar.</p>

<h4>🔹 Jetpack Backup</h4>
<p>Versión premium de Automattic. Ideal para tiendas que necesitan copias en tiempo real y restauraciones instantáneas. Pago mensual.</p>

<div style="height:40px;"></div>

<h3 id="consejos"><strong>4. ¿Cuál elegir según tu web?</strong></h3>
<ul>
<li>🛍️ Tiendas: Jetpack o UpdraftPlus Premium</li>
<li>📄 Blogs: UpdraftPlus o WPvivid</li>
<li>👨‍💻 Técnicos o agencias: Duplicator para staging y migración</li>
<li>📥 Copias locales rápidas: All-in-One WP Migration</li>
</ul>

<p>🎯 Consejo: Siempre programa al menos una copia semanal y guarda una externa en la nube.</p>

<div style="height:40px;"></div>

<h3 id="conclusion"><strong>5. Conclusión</strong></h3>
<p>El plugin ideal depende de tu tipo de web, experiencia técnica y frecuencia de actualización.  
Tener una estrategia de backup es esencial para cualquier proyecto online, sin importar su tamaño.</p>
<p>📩 ¿No sabes cuál plugin te conviene más? Escríbenos y te ayudamos a configurarlo.</p></div>
			</div>
			</div>
				
				
				
				
			</div>
				
				
			</div>La entrada <a href="https://eligeunaweb.es/los-5-mejores-plugins-para-hacer-backup-en-wordpress/">Los 5 mejores plugins para hacer backup en WordPress</a> apareció primero en <a href="https://eligeunaweb.es">Eligeunaweb Agencia de marketing y programación web</a>.]]></content:encoded>
					
					<wfw:commentRss>https://eligeunaweb.es/los-5-mejores-plugins-para-hacer-backup-en-wordpress/feed/</wfw:commentRss>
			<slash:comments>0</slash:comments>
		
		
			</item>
		<item>
		<title>Cómo buscar y reemplazar contenido en todas las publicaciones de WordPress con SQL</title>
		<link>https://eligeunaweb.es/como-buscar-y-reemplazar-contenido-en-todas-las-publicaciones-de-wordpress-con-sql/</link>
					<comments>https://eligeunaweb.es/como-buscar-y-reemplazar-contenido-en-todas-las-publicaciones-de-wordpress-con-sql/#respond</comments>
		
		<dc:creator><![CDATA[eligeunaweb]]></dc:creator>
		<pubDate>Wed, 04 Jun 2025 07:00:00 +0000</pubDate>
				<category><![CDATA[Recomendaciones]]></category>
		<category><![CDATA[WordPress]]></category>
		<guid isPermaLink="false">https://eligeunaweb.es/?p=987610700</guid>

					<description><![CDATA[]]></description>
										<content:encoded><![CDATA[<div class="et_pb_section et_pb_section_5 et_section_regular" >
				
				
				
				
				
				
				<div class="et_pb_row et_pb_row_5">
				<div class="et_pb_column et_pb_column_4_4 et_pb_column_5  et_pb_css_mix_blend_mode_passthrough et-last-child">
				
				
				
				
				<div class="et_pb_module et_pb_text et_pb_text_5  et_pb_text_align_left et_pb_bg_layout_light">
				
				
				
				
				<div class="et_pb_text_inner"><h3><strong>Introducción</strong></h3>
<p>¿Has cambiado el nombre de tu marca, el dominio de tu sitio, o una URL interna en tus publicaciones?  
¿Tienes errores en cientos de entradas que quieres corregir de forma masiva?</p>
<p>En esta guía aprenderás cómo <strong>buscar y reemplazar contenido en todas las publicaciones de WordPress usando SQL</strong>, sin plugins, sin afectar otros datos y con total control.</p>

<div style="height:40px;"></div>

<h4>Índice</h4>
<ul>
<li><a href="#casos"><strong>1. Cuándo usar reemplazo masivo en WordPress</strong></a></li>
<li><a href="#estructura"><strong>2. Entendiendo la tabla wp_posts</strong></a></li>
<li><a href="#buscar"><strong>3. Buscar contenido específico con SQL</strong></a></li>
<li><a href="#reemplazar"><strong>4. Reemplazar contenido directamente en SQL</strong></a></li>
<li><a href="#filtrar"><strong>5. Cómo filtrar por tipo de post, idioma o fecha</strong></a></li>
<li><a href="#validar"><strong>6. Validar y revisar resultados tras la operación</strong></a></li>
<li><a href="#riesgos"><strong>7. Precauciones y respaldo</strong></a></li>
<li><a href="#conclusion"><strong>8. Conclusión</strong></a></li>
</ul>

<div style="height:40px;"></div>

<h3 id="casos"><strong>1. Casos comunes de uso</strong></h3>
<ul>
<li>🔁 Cambiar URLs internas tras una migración</li>
<li>🚫 Corregir shortcodes antiguos mal escritos</li>
<li>🎨 Reemplazar menciones a una marca, producto o ruta</li>
<li>🖼️ Sustituir rutas de imágenes externas o desactualizadas</li>
</ul>

<div style="height:40px;"></div>

<h3 id="estructura"><strong>2. La tabla wp_posts</strong></h3>
<p>Los textos de entradas y páginas están en el campo <code>post_content</code> de la tabla <code>wp_posts</code>:</p>
<pre class="caja-codigo-blog">SELECT ID, post_title, post_content
FROM wp_posts
WHERE post_type = 'post';</pre>

<div style="height:40px;"></div>

<h3 id="buscar"><strong>3. Buscar contenido con SQL</strong></h3>
<pre class="caja-codigo-blog">SELECT ID, post_title
FROM wp_posts
WHERE post_content LIKE '%tudominioantiguo.com%';</pre>

<p>📌 Usa esto para comprobar qué contenido necesita reemplazo antes de modificarlo.</p>

<div style="height:40px;"></div>

<h3 id="reemplazar"><strong>4. Reemplazo directo con SQL</strong></h3>
<pre class="caja-codigo-blog">UPDATE wp_posts
SET post_content = REPLACE(post_content, 'tudominioantiguo.com', 'tudominionuevo.com')
WHERE post_content LIKE '%tudominioantiguo.com%';</pre>

<p>✔️ Esto actualiza todas las entradas y páginas donde aparece ese texto.</p>

<div style="height:40px;"></div>

<h3 id="filtrar"><strong>5. Filtros útiles</strong></h3>
<p>Solo posts publicados:</p>
<pre class="caja-codigo-blog">AND post_status = 'publish'</pre>

<p>Solo páginas:</p>
<pre class="caja-codigo-blog">WHERE post_type = 'page'</pre>

<p>Publicaciones desde 2022:</p>
<pre class="caja-codigo-blog">AND post_date &gt; '2022-01-01'</pre>

<div style="height:40px;"></div>

<h3 id="validar"><strong>6. Validar los cambios</strong></h3>
<ul>
<li>✅ Haz primero un <code>SELECT</code> para verificar resultados</li>
<li>📸 Compara antes y después visualmente (copias, staging)</li>
<li>🧪 Si puedes, hazlo primero en una base de prueba</li>
</ul>

<div style="height:40px;"></div>

<h3 id="riesgos"><strong>7. Precauciones</strong></h3>
<ul>
<li>💾 Haz backup completo antes de ejecutar <code>UPDATE</code></li>
<li>🛑 No reemplaces contenido que pueda estar dentro de JSON o scripts (puede romper estructura)</li>
<li>⚠️ No edites contenido serializado desde SQL sin deserializarlo</li>
</ul>

<div style="height:40px;"></div>

<h3 id="conclusion"><strong>8. Conclusión</strong></h3>
<p>Buscar y reemplazar directamente desde SQL te ahorra tiempo, te da control y evita depender de plugins externos.  
Con una consulta bien formulada puedes corregir errores masivos o actualizar tu contenido con seguridad y precisión.</p>
<p>📩 Si necesitas asistencia para revisar o automatizar este proceso en una instalación grande, escríbenos.</p></div>
			</div>
			</div>
				
				
				
				
			</div>
				
				
			</div>La entrada <a href="https://eligeunaweb.es/como-buscar-y-reemplazar-contenido-en-todas-las-publicaciones-de-wordpress-con-sql/">Cómo buscar y reemplazar contenido en todas las publicaciones de WordPress con SQL</a> apareció primero en <a href="https://eligeunaweb.es">Eligeunaweb Agencia de marketing y programación web</a>.]]></content:encoded>
					
					<wfw:commentRss>https://eligeunaweb.es/como-buscar-y-reemplazar-contenido-en-todas-las-publicaciones-de-wordpress-con-sql/feed/</wfw:commentRss>
			<slash:comments>0</slash:comments>
		
		
			</item>
		<item>
		<title>Errores de seguridad en WordPress que comprometen tu tienda online</title>
		<link>https://eligeunaweb.es/errores-de-seguridad-en-wordpress-que-comprometen-tu-tienda-online/</link>
					<comments>https://eligeunaweb.es/errores-de-seguridad-en-wordpress-que-comprometen-tu-tienda-online/#respond</comments>
		
		<dc:creator><![CDATA[eligeunaweb]]></dc:creator>
		<pubDate>Tue, 20 May 2025 07:00:00 +0000</pubDate>
				<category><![CDATA[Recomendaciones]]></category>
		<category><![CDATA[Seguridad]]></category>
		<category><![CDATA[WordPress]]></category>
		<guid isPermaLink="false">https://eligeunaweb.es/?p=987501816</guid>

					<description><![CDATA[]]></description>
										<content:encoded><![CDATA[<div class="et_pb_section et_pb_section_6 et_section_regular" >
				
				
				
				
				
				
				<div class="et_pb_row et_pb_row_6">
				<div class="et_pb_column et_pb_column_4_4 et_pb_column_6  et_pb_css_mix_blend_mode_passthrough et-last-child">
				
				
				
				
				<div class="et_pb_module et_pb_text et_pb_text_6  et_pb_text_align_left et_pb_bg_layout_light">
				
				
				
				
				<div class="et_pb_text_inner"><h3><strong>Introducción</strong></h3>
<p>WordPress es potente, flexible y ampliamente utilizado, pero si no se gestiona correctamente, puede convertirse en un blanco fácil para ataques.</p>
<p>En este artículo analizamos los <strong>errores de seguridad más comunes en WordPress</strong> que pueden comprometer una tienda online: desde configuraciones mal gestionadas hasta malas prácticas con plugins o permisos de archivos.</p>
<p>También te mostraremos cómo detectar, prevenir y corregir estos fallos con soluciones prácticas.</p>

<div style="height:40px;"></div>

<h4>Índice</h4>
<ul>
<li><a href="#paso1"><strong>1. Uso de contraseñas débiles o reutilizadas</strong></a></li>
<li><a href="#paso2"><strong>2. Plugins y temas desactualizados</strong></a></li>
<li><a href="#paso3"><strong>3. Permisos de archivos incorrectos</strong></a></li>
<li><a href="#paso4"><strong>4. Acceso a wp-admin sin protección</strong></a></li>
<li><a href="#paso5"><strong>5. Usuarios con roles mal asignados</strong></a></li>
<li><a href="#paso6"><strong>6. Información expuesta en errores o encabezados</strong></a></li>
<li><a href="#paso7"><strong>7. Falta de monitorización o registros</strong></a></li>
<li><a href="#paso8"><strong>8. Conclusión y checklist rápida</strong></a></li>
</ul>

<div style="height:40px;"></div>

<h3 id="paso1"><strong>1. Uso de contraseñas débiles o reutilizadas</strong></h3>
<p>Muchas intrusiones comienzan por fuerza bruta o por uso de contraseñas filtradas en otras plataformas.  
💡 Usa un gestor de contraseñas y activa doble factor (2FA) siempre que sea posible.</p>

<div style="height:40px;"></div>

<h3 id="paso2"><strong>2. Plugins y temas desactualizados</strong></h3>
<p>Los plugins representan más del 90% de las vulnerabilidades activas en WordPress.  
✔️ Revisa semanalmente actualizaciones.  
✔️ Elimina los que no uses.  
✔️ Usa plugins conocidos y mantenidos.</p>

<div style="height:40px;"></div>

<h3 id="paso3"><strong>3. Permisos de archivos incorrectos</strong></h3>
<table>
<thead><tr><th>Archivo</th><th>Permisos recomendados</th></tr></thead>
<tbody>
<tr><td>wp-config.php</td><td>400 o 440</td></tr>
<tr><td>Archivos .php del core</td><td>644</td></tr>
<tr><td>Carpetas /wp-content/</td><td>755</td></tr>
</tbody></table>

<p>🔐 Ajusta desde FTP o consola con <code>chmod</code> y <code>chown</code>.</p>

<div style="height:40px;"></div>

<h3 id="paso4"><strong>4. Acceso a wp-admin sin protección</strong></h3>
<p>El área de administración debería tener al menos uno de estos métodos:</p>
<ul>
<li>🔒 Autenticación doble factor</li>
<li>🔐 Protección por IP o htpasswd</li>
<li>🛡️ Limitación de intentos de acceso</li>
</ul>

<div style="height:40px;"></div>

<h3 id="paso5"><strong>5. Roles mal asignados a usuarios</strong></h3>
<p>Evita tener usuarios con rol de administrador innecesario.  
💡 Audita con SQL:</p>
<pre class="caja-codigo-blog">SELECT user_id, meta_value
FROM wp_usermeta
WHERE meta_key = 'wp_capabilities'
  AND meta_value LIKE '%administrator%';</pre>

<p>📌 Revisa cada usuario antes de cambiar roles automáticamente.</p>

<div style="height:40px;"></div>

<h3 id="paso6"><strong>6. Información expuesta en errores o encabezados</strong></h3>
<ul>
<li>🔍 Evita mostrar errores PHP en producción: <code>display_errors = Off</code></li>
<li>🔧 Desactiva el «generator» que muestra versión de WordPress</li>
<li>💡 Usa un plugin de seguridad para gestionar headers HTTP</li>
</ul>

<div style="height:40px;"></div>

<h3 id="paso7"><strong>7. Falta de logs y monitorización</strong></h3>
<p>¿Cómo sabrías si te han intentado hackear ayer?</p>
<ul>
<li>Activa <strong>WP_DEBUG_LOG</strong></li>
<li>Instala plugins como WP Activity Log</li>
<li>Revisa logs de acceso en el servidor</li>
</ul>

<div style="height:40px;"></div>

<h3 id="paso8"><strong>8. Conclusión y checklist</strong></h3>
<p>✅ Checklist rápida:</p>
<ul>
<li>Contraseñas fuertes y 2FA activado</li>
<li>Plugins y temas actualizados</li>
<li>Roles bien asignados</li>
<li>Permisos seguros</li>
<li>wp-admin protegido</li>
<li>Monitorización activa</li>
</ul>

<p>📩 ¿Quieres que revisemos tu instalación o la reforcemos con reglas personalizadas? Escríbenos y te ayudamos.</p></div>
			</div>
			</div>
				
				
				
				
			</div>
				
				
			</div>La entrada <a href="https://eligeunaweb.es/errores-de-seguridad-en-wordpress-que-comprometen-tu-tienda-online/">Errores de seguridad en WordPress que comprometen tu tienda online</a> apareció primero en <a href="https://eligeunaweb.es">Eligeunaweb Agencia de marketing y programación web</a>.]]></content:encoded>
					
					<wfw:commentRss>https://eligeunaweb.es/errores-de-seguridad-en-wordpress-que-comprometen-tu-tienda-online/feed/</wfw:commentRss>
			<slash:comments>0</slash:comments>
		
		
			</item>
		<item>
		<title>Cómo detectar claves pesadas en wp_options que afectan rendimiento en WordPress</title>
		<link>https://eligeunaweb.es/como-detectar-claves-pesadas-en-wp_options-que-afectan-rendimiento-en-wordpress/</link>
					<comments>https://eligeunaweb.es/como-detectar-claves-pesadas-en-wp_options-que-afectan-rendimiento-en-wordpress/#respond</comments>
		
		<dc:creator><![CDATA[eligeunaweb]]></dc:creator>
		<pubDate>Tue, 13 May 2025 05:00:00 +0000</pubDate>
				<category><![CDATA[Recomendaciones]]></category>
		<category><![CDATA[WordPress]]></category>
		<guid isPermaLink="false">https://eligeunaweb.es/?p=987501790</guid>

					<description><![CDATA[]]></description>
										<content:encoded><![CDATA[<div class="et_pb_section et_pb_section_7 et_section_regular" >
				
				
				
				
				
				
				<div class="et_pb_row et_pb_row_7">
				<div class="et_pb_column et_pb_column_4_4 et_pb_column_7  et_pb_css_mix_blend_mode_passthrough et-last-child">
				
				
				
				
				<div class="et_pb_module et_pb_text et_pb_text_7  et_pb_text_align_left et_pb_bg_layout_light">
				
				
				
				
				<div class="et_pb_text_inner"><h3><strong>Introducción</strong></h3>
<p>Cuando haces una migración, restructuración o limpieza de URLs en WordPress, es imprescindible crear redirecciones 301 para no perder tráfico ni posicionamiento SEO.</p>
<p>Hacerlas una a una desde plugins puede ser lento e ineficiente. En esta guía aprenderás a <strong>crear redirecciones 301 masivas directamente desde la base de datos</strong>, sin depender de plugins externos y con control total desde código o MySQL.</p>

<div style="height:40px;"></div>

<h4>Índice</h4>
<ul>
<li><a href="#paso1"><strong>1. ¿Cuándo se usan redirecciones 301?</strong></a></li>
<li><a href="#paso2"><strong>2. Opciones para aplicar redirecciones en WordPress</strong></a></li>
<li><a href="#paso3"><strong>3. Crear tabla personalizada para redirecciones</strong></a></li>
<li><a href="#paso4"><strong>4. Cargar redirecciones desde CSV</strong></a></li>
<li><a href="#paso5"><strong>5. Código PHP para forzar redirecciones al cargar WordPress</strong></a></li>
<li><a href="#paso6"><strong>6. Alternativa avanzada: usar .htaccess o nginx para gran volumen</strong></a></li>
<li><a href="#paso7"><strong>7. Conclusión</strong></a></li>
</ul>

<div style="height:40px;"></div>

<h3 id="paso1"><strong>1. ¿Cuándo aplicar redirecciones 301?</strong></h3>
<ul>
<li>🔁 Has cambiado la estructura de URLs (categorías, slugs, idiomas)</li>
<li>📦 Has migrado contenido desde otro CMS</li>
<li>🧹 Estás eliminando páginas antiguas pero quieres preservar tráfico</li>
<li>🧠 Google Search Console detecta errores 404 recurrentes</li>
</ul>

<div style="height:40px;"></div>

<h3 id="paso2"><strong>2. Opciones comunes para hacer redirecciones</strong></h3>
<table>
<thead><tr><th>Método</th><th>Ventajas</th><th>Desventajas</th></tr></thead>
<tbody>
<tr><td>Plugins como Redirection</td><td>Interfaz sencilla</td><td>Puede ralentizar grandes sitios</td></tr>
<tr><td>.htaccess / nginx</td><td>Rendimiento excelente</td><td>No editable desde WordPress</td></tr>
<tr><td>Función PHP + tabla propia</td><td>Flexible, escalable, seguro</td><td>Requiere conocimientos técnicos</td></tr>
</tbody></table>

<div style="height:40px;"></div>

<h3 id="paso3"><strong>3. Crear una tabla personalizada para redirecciones</strong></h3>
<pre class="caja-codigo-blog">CREATE TABLE wp_redirecciones_301 (
  id INT AUTO_INCREMENT PRIMARY KEY,
  origen VARCHAR(255) NOT NULL,
  destino VARCHAR(255) NOT NULL,
  activo TINYINT DEFAULT 1
);</pre>

<p>💡 Puedes añadir campos como tipo (301, 302), fecha, notas, etc.</p>

<div style="height:40px;"></div>

<h3 id="paso4"><strong>4. Importar redirecciones desde un CSV</strong></h3>
<p>Ejemplo básico de contenido del CSV:</p>
<table>
<thead><tr><th>origen</th><th>destino</th></tr></thead>
<tbody>
<tr><td>/blog/entrada-antigua</td><td>/nueva-url</td></tr>
<tr><td>/producto-x</td><td>/productos/actualizados/producto-x</td></tr>
</tbody></table>

<p><strong>Insertar en la base de datos:</strong></p>
<pre class="caja-codigo-blog">LOAD DATA INFILE '/ruta/redirecciones.csv'
INTO TABLE wp_redirecciones_301
FIELDS TERMINATED BY ',' ENCLOSED BY '"'
LINES TERMINATED BY '\n'
IGNORE 1 ROWS
(@origen, @destino)
SET origen = TRIM(@origen), destino = TRIM(@destino);</pre>

<div style="height:40px;"></div>

<h3 id="paso5"><strong>5. Código PHP para aplicar redirecciones</strong></h3>
<pre class="caja-codigo-blog">add_action('template_redirect', function () {
    global $wpdb;
    $uri = esc_url_raw($_SERVER['REQUEST_URI']);
    $redir = $wpdb->get_row($wpdb->prepare(
        "SELECT destino FROM wp_redirecciones_301 WHERE origen = %s AND activo = 1",
        $uri
    ));
    if ($redir) {
        wp_redirect(home_url($redir->destino), 301);
        exit;
    }
});</pre>

<p>🧠 Este código revisa si la URL actual existe en la tabla y, si está activa, lanza un 301 hacia la nueva.</p>

<div style="height:40px;"></div>

<h3 id="paso6"><strong>6. Alternativa: usar .htaccess o nginx</strong></h3>
<p>Para miles de redirecciones o tráfico muy alto:</p>
<pre class="caja-codigo-blog">Redirect 301 /pagina-antigua /pagina-nueva</pre>
<p>💡 Si usas nginx:</p>
<pre class="caja-codigo-blog">rewrite ^/antigua-url$ /nueva-url permanent;</pre>

<p>📋 Puedes generar estas líneas automáticamente desde un exportador PHP.</p>

<div style="height:40px;"></div>

<h3 id="paso7"><strong>7. Conclusión</strong></h3>
<p>Las redirecciones 301 son una herramienta esencial para preservar tráfico, mantener el SEO y mejorar la experiencia de usuario.</p>
<p>Con una tabla propia y un script PHP puedes gestionarlas de forma masiva y profesional, sin depender de plugins pesados.</p>
<p>📩 ¿Te gustaría tener esto automatizado o integrado con Google Sheets? Escríbenos y lo preparamos a medida.</p></div>
			</div>
			</div>
				
				
				
				
			</div>
				
				
			</div>La entrada <a href="https://eligeunaweb.es/como-detectar-claves-pesadas-en-wp_options-que-afectan-rendimiento-en-wordpress/">Cómo detectar claves pesadas en wp_options que afectan rendimiento en WordPress</a> apareció primero en <a href="https://eligeunaweb.es">Eligeunaweb Agencia de marketing y programación web</a>.]]></content:encoded>
					
					<wfw:commentRss>https://eligeunaweb.es/como-detectar-claves-pesadas-en-wp_options-que-afectan-rendimiento-en-wordpress/feed/</wfw:commentRss>
			<slash:comments>0</slash:comments>
		
		
			</item>
		<item>
		<title>Cómo crear redirecciones 301 masivas desde base de datos en WordPress</title>
		<link>https://eligeunaweb.es/como-crear-redirecciones-301-masivas-desde-base-de-datos-en-wordpress/</link>
					<comments>https://eligeunaweb.es/como-crear-redirecciones-301-masivas-desde-base-de-datos-en-wordpress/#respond</comments>
		
		<dc:creator><![CDATA[eligeunaweb]]></dc:creator>
		<pubDate>Mon, 12 May 2025 05:00:00 +0000</pubDate>
				<category><![CDATA[Recomendaciones]]></category>
		<category><![CDATA[WordPress]]></category>
		<guid isPermaLink="false">https://eligeunaweb.es/?p=987501785</guid>

					<description><![CDATA[]]></description>
										<content:encoded><![CDATA[<div class="et_pb_section et_pb_section_8 et_section_regular" >
				
				
				
				
				
				
				<div class="et_pb_row et_pb_row_8">
				<div class="et_pb_column et_pb_column_4_4 et_pb_column_8  et_pb_css_mix_blend_mode_passthrough et-last-child">
				
				
				
				
				<div class="et_pb_module et_pb_text et_pb_text_8  et_pb_text_align_left et_pb_bg_layout_light">
				
				
				
				
				<div class="et_pb_text_inner"><h3><strong>Introducción</strong></h3>
<p>Cuando haces una migración, restructuración o limpieza de URLs en WordPress, es imprescindible crear redirecciones 301 para no perder tráfico ni posicionamiento SEO.</p>
<p>Hacerlas una a una desde plugins puede ser lento e ineficiente. En esta guía aprenderás a <strong>crear redirecciones 301 masivas directamente desde la base de datos</strong>, sin depender de plugins externos y con control total desde código o MySQL.</p>

<div style="height:40px;"></div>

<h4>Índice</h4>
<ul>
<li><a href="#paso1"><strong>1. ¿Cuándo se usan redirecciones 301?</strong></a></li>
<li><a href="#paso2"><strong>2. Opciones para aplicar redirecciones en WordPress</strong></a></li>
<li><a href="#paso3"><strong>3. Crear tabla personalizada para redirecciones</strong></a></li>
<li><a href="#paso4"><strong>4. Cargar redirecciones desde CSV</strong></a></li>
<li><a href="#paso5"><strong>5. Código PHP para forzar redirecciones al cargar WordPress</strong></a></li>
<li><a href="#paso6"><strong>6. Alternativa avanzada: usar .htaccess o nginx para gran volumen</strong></a></li>
<li><a href="#paso7"><strong>7. Conclusión</strong></a></li>
</ul>

<div style="height:40px;"></div>

<h3 id="paso1"><strong>1. ¿Cuándo aplicar redirecciones 301?</strong></h3>
<ul>
<li>🔁 Has cambiado la estructura de URLs (categorías, slugs, idiomas)</li>
<li>📦 Has migrado contenido desde otro CMS</li>
<li>🧹 Estás eliminando páginas antiguas pero quieres preservar tráfico</li>
<li>🧠 Google Search Console detecta errores 404 recurrentes</li>
</ul>

<div style="height:40px;"></div>

<h3 id="paso2"><strong>2. Opciones comunes para hacer redirecciones</strong></h3>
<table>
<thead><tr><th>Método</th><th>Ventajas</th><th>Desventajas</th></tr></thead>
<tbody>
<tr><td>Plugins como Redirection</td><td>Interfaz sencilla</td><td>Puede ralentizar grandes sitios</td></tr>
<tr><td>.htaccess / nginx</td><td>Rendimiento excelente</td><td>No editable desde WordPress</td></tr>
<tr><td>Función PHP + tabla propia</td><td>Flexible, escalable, seguro</td><td>Requiere conocimientos técnicos</td></tr>
</tbody></table>

<div style="height:40px;"></div>

<h3 id="paso3"><strong>3. Crear una tabla personalizada para redirecciones</strong></h3>
<pre class="caja-codigo-blog">CREATE TABLE wp_redirecciones_301 (
  id INT AUTO_INCREMENT PRIMARY KEY,
  origen VARCHAR(255) NOT NULL,
  destino VARCHAR(255) NOT NULL,
  activo TINYINT DEFAULT 1
);</pre>

<p>💡 Puedes añadir campos como tipo (301, 302), fecha, notas, etc.</p>

<div style="height:40px;"></div>

<h3 id="paso4"><strong>4. Importar redirecciones desde un CSV</strong></h3>
<p>Ejemplo básico de contenido del CSV:</p>
<table>
<thead><tr><th>origen</th><th>destino</th></tr></thead>
<tbody>
<tr><td>/blog/entrada-antigua</td><td>/nueva-url</td></tr>
<tr><td>/producto-x</td><td>/productos/actualizados/producto-x</td></tr>
</tbody></table>

<p><strong>Insertar en la base de datos:</strong></p>
<pre class="caja-codigo-blog">LOAD DATA INFILE '/ruta/redirecciones.csv'
INTO TABLE wp_redirecciones_301
FIELDS TERMINATED BY ',' ENCLOSED BY '"'
LINES TERMINATED BY '\n'
IGNORE 1 ROWS
(@origen, @destino)
SET origen = TRIM(@origen), destino = TRIM(@destino);</pre>

<div style="height:40px;"></div>

<h3 id="paso5"><strong>5. Código PHP para aplicar redirecciones</strong></h3>
<pre class="caja-codigo-blog">add_action('template_redirect', function () {
    global $wpdb;
    $uri = esc_url_raw($_SERVER['REQUEST_URI']);
    $redir = $wpdb->get_row($wpdb->prepare(
        "SELECT destino FROM wp_redirecciones_301 WHERE origen = %s AND activo = 1",
        $uri
    ));
    if ($redir) {
        wp_redirect(home_url($redir->destino), 301);
        exit;
    }
});</pre>

<p>🧠 Este código revisa si la URL actual existe en la tabla y, si está activa, lanza un 301 hacia la nueva.</p>

<div style="height:40px;"></div>

<h3 id="paso6"><strong>6. Alternativa: usar .htaccess o nginx</strong></h3>
<p>Para miles de redirecciones o tráfico muy alto:</p>
<pre class="caja-codigo-blog">Redirect 301 /pagina-antigua /pagina-nueva</pre>
<p>💡 Si usas nginx:</p>
<pre class="caja-codigo-blog">rewrite ^/antigua-url$ /nueva-url permanent;</pre>

<p>📋 Puedes generar estas líneas automáticamente desde un exportador PHP.</p>

<div style="height:40px;"></div>

<h3 id="paso7"><strong>7. Conclusión</strong></h3>
<p>Las redirecciones 301 son una herramienta esencial para preservar tráfico, mantener el SEO y mejorar la experiencia de usuario.</p>
<p>Con una tabla propia y un script PHP puedes gestionarlas de forma masiva y profesional, sin depender de plugins pesados.</p>
<p>📩 ¿Te gustaría tener esto automatizado o integrado con Google Sheets? Escríbenos y lo preparamos a medida.</p></div>
			</div>
			</div>
				
				
				
				
			</div>
				
				
			</div>La entrada <a href="https://eligeunaweb.es/como-crear-redirecciones-301-masivas-desde-base-de-datos-en-wordpress/">Cómo crear redirecciones 301 masivas desde base de datos en WordPress</a> apareció primero en <a href="https://eligeunaweb.es">Eligeunaweb Agencia de marketing y programación web</a>.]]></content:encoded>
					
					<wfw:commentRss>https://eligeunaweb.es/como-crear-redirecciones-301-masivas-desde-base-de-datos-en-wordpress/feed/</wfw:commentRss>
			<slash:comments>0</slash:comments>
		
		
			</item>
		<item>
		<title>Cómo detectar URLs rotas o 404 desde base de datos y generar dashboard en PHP</title>
		<link>https://eligeunaweb.es/como-detectar-urls-rotas-o-404-desde-base-de-datos-y-generar-dashboard-en-php/</link>
					<comments>https://eligeunaweb.es/como-detectar-urls-rotas-o-404-desde-base-de-datos-y-generar-dashboard-en-php/#respond</comments>
		
		<dc:creator><![CDATA[eligeunaweb]]></dc:creator>
		<pubDate>Wed, 07 May 2025 05:00:00 +0000</pubDate>
				<category><![CDATA[E-commerce]]></category>
		<category><![CDATA[Recomendaciones]]></category>
		<category><![CDATA[WordPress]]></category>
		<guid isPermaLink="false">https://eligeunaweb.es/?p=987501770</guid>

					<description><![CDATA[]]></description>
										<content:encoded><![CDATA[<div class="et_pb_section et_pb_section_9 et_section_regular" >
				
				
				
				
				
				
				<div class="et_pb_row et_pb_row_9">
				<div class="et_pb_column et_pb_column_4_4 et_pb_column_9  et_pb_css_mix_blend_mode_passthrough et-last-child">
				
				
				
				
				<div class="et_pb_module et_pb_text et_pb_text_9  et_pb_text_align_left et_pb_bg_layout_light">
				
				
				
				
				<div class="et_pb_text_inner"><h3><strong>Introducción</strong></h3>
<p>Las URLs rotas o errores 404 son uno de los mayores enemigos del SEO técnico y de la experiencia de usuario. Si tu sitio WordPress o eCommerce genera enlaces que terminan en páginas no encontradas, estás perdiendo posicionamiento, visitas y conversiones.</p>
<p>En este artículo te enseño cómo detectar estas URLs rotas directamente desde la base de datos (sin depender únicamente de plugins) y cómo construir un <strong>dashboard en PHP</strong> para monitorizarlas y gestionarlas tú mismo.</p>
<div style="height: 40px;"></div>
<h4>Índice</h4>
<ul>
<li><a href="#paso1"><strong>1. ¿Por qué es importante detectar URLs rotas?</strong></a></li>
<li><a href="#paso2"><strong>2. Orígenes comunes de los errores 404</strong></a></li>
<li><a href="#paso3"><strong>3. Tablas y fuentes de datos donde rastrear URLs rotas</strong></a></li>
<li><a href="#paso4"><strong>4. Consultas SQL útiles para localizar URLs inexistentes</strong></a></li>
<li><a href="#paso5"><strong>5. Crear un dashboard en PHP para visualizar los errores</strong></a></li>
<li><a href="#paso6"><strong>6. Automatizar limpieza, redirecciones o reportes</strong></a></li>
<li><a href="#paso7"><strong>7. Conclusión</strong></a></li>
</ul>
<div style="height: 40px;"></div>
<h3 id="paso1"><strong>1. ¿Por qué es importante detectar URLs rotas?</strong></h3>
<p>Las páginas 404 afectan a:</p>
<ul>
<li>🚫 El SEO: Google penaliza sitios con enlaces rotos internos o externos.</li>
<li>🧭 La navegación del usuario: genera frustración y pérdida de confianza.</li>
<li>📉 Las conversiones: especialmente si enlaces rotos apuntan a productos o páginas de venta.</li>
</ul>
<div style="height: 40px;"></div>
<h3 id="paso2"><strong>2. Orígenes comunes de los errores 404</strong></h3>
<table>
<thead>
<tr>
<th>Origen</th>
<th>Ejemplo</th>
<th>Solución típica</th>
</tr>
</thead>
<tbody>
<tr>
<td>Migraciones mal hechas</td>
<td>Enlaces antiguos sin redirección</td>
<td>Redirecciones 301 o limpiar referencias</td>
</tr>
<tr>
<td>Contenido eliminado</td>
<td>Páginas borradas sin control</td>
<td>Redireccionar o devolver 410</td>
</tr>
<tr>
<td>Enlaces internos rotos</td>
<td>Menús, widgets o botones con URL antigua</td>
<td>Actualizar enlaces o regenerar menús</td>
</tr>
<tr>
<td>Errores en el sitemap</td>
<td>Sitemap incluye páginas ya eliminadas</td>
<td>Regenerar sitemap</td>
</tr>
</tbody>
</table>
<div style="height: 40px;"></div>
<h3 id="paso3"><strong>3. Tablas y fuentes de datos donde rastrear URLs rotas</strong></h3>
<ul>
<li><strong>wp_posts:</strong> para revisar URLs antiguas o inconsistentes</li>
<li><strong>wp_postmeta:</strong> para campos personalizados que contienen enlaces</li>
<li><strong>wp_options:</strong> donde suelen almacenarse menús o widgets</li>
<li><strong>Logs de servidor (access_log / error_log):</strong> fuente ideal de errores 404 reales</li>
<li><strong>Herramientas externas:</strong> como Screaming Frog, Google Search Console, Ahrefs, etc.</li>
</ul>
<div style="height: 40px;"></div>
<h3 id="paso4"><strong>4. Consultas SQL útiles para localizar URLs inexistentes</strong></h3>
<p><strong>Detectar enlaces internos rotos en campos personalizados:</strong></p>
<pre class="caja-codigo-blog">SELECT post_id, meta_key, meta_value
FROM wp_postmeta
WHERE meta_value LIKE '%http%'
  AND meta_value LIKE '%tudominio.com%'
  AND NOT EXISTS (
    SELECT 1 FROM wp_posts WHERE guid = wp_postmeta.meta_value
);</pre>
<p><em>💡 Esto detecta campos donde se guarda una URL pero ya no hay contenido en ese enlace.</em></p>
<div style="height: 40px;"></div>
<p><strong>Buscar URLs antiguas que ya no están en el contenido activo:</strong></p>
<pre class="caja-codigo-blog">SELECT ID, post_title, post_content
FROM wp_posts
WHERE post_content LIKE '%/categoria-antigua/%'
  AND post_status = 'publish';</pre>
<div style="height: 40px;"></div>
<h3 id="paso5"><strong>5. Crear un dashboard en PHP para visualizar los errores</strong></h3>
<p>Puedes crear un panel sencillo que lea errores desde tu log de servidor y los muestre en pantalla.</p>
<pre class="caja-codigo-blog">&lt;?php
$log = file('/var/log/apache2/access.log'); // Cambia la ruta según tu sistema
$errores = [];

foreach ($log as $line) {
    if (strpos($line, '404') !== false) {
        preg_match('/GET (.*?) HTTP/', $line, $matches);
        if (!empty($matches[1])) {
            $url = $matches[1];
            $errores[$url] = ($errores[$url] ?? 0) + 1;
        }
    }
}

arsort($errores);
echo "&lt;h3&gt;Errores 404 detectados:&lt;/h3&gt;&lt;ul&gt;";
foreach ($errores as $url =&gt; $count) {
    echo "&lt;li&gt;&lt;strong&gt;$count veces:&lt;/strong&gt; $url&lt;/li&gt;";
}
echo "&lt;/ul&gt;";
?&gt;</pre>
<p>💡 Puedes añadir filtros por fecha, excluir bots o integrar exportación CSV.</p>
<div style="height: 40px;"></div>
<h3 id="paso6"><strong>6. Automatizar limpieza, redirecciones o reportes</strong></h3>
<ul>
<li>Genera automáticamente redirecciones 301 para URLs rotas frecuentes</li>
<li>Guarda en base de datos los errores detectados y genera informes periódicos</li>
<li>Usa `wp_safe_redirect()` o `.htaccess` para redireccionar desde PHP</li>
<li>Conecta Google Sheets o tu CRM para registrar los errores más críticos</li>
</ul>
<div style="height: 40px;"></div>
<h3 id="paso7"><strong>7. Conclusión</strong></h3>
<p>Controlar los errores 404 y las URLs rotas es una parte fundamental del mantenimiento SEO de cualquier web profesional. Con SQL y un poco de PHP puedes hacer tu propio sistema de monitorización.</p>
<p>¿Quieres que te preparemos un dashboard a medida o revisar los logs de tu sitio?</p>
<p>&nbsp;</p>
<p>📩 Escríbenos y lo hacemos contigo.</p></div>
			</div>
			</div>
				
				
				
				
			</div>
				
				
			</div>La entrada <a href="https://eligeunaweb.es/como-detectar-urls-rotas-o-404-desde-base-de-datos-y-generar-dashboard-en-php/">Cómo detectar URLs rotas o 404 desde base de datos y generar dashboard en PHP</a> apareció primero en <a href="https://eligeunaweb.es">Eligeunaweb Agencia de marketing y programación web</a>.]]></content:encoded>
					
					<wfw:commentRss>https://eligeunaweb.es/como-detectar-urls-rotas-o-404-desde-base-de-datos-y-generar-dashboard-en-php/feed/</wfw:commentRss>
			<slash:comments>0</slash:comments>
		
		
			</item>
	</channel>
</rss>
