{"id":9503,"date":"2026-08-12T10:22:12","date_gmt":"2026-08-12T08:22:12","guid":{"rendered":"https:\/\/www.hostingtg.com\/blog\/?p=9503"},"modified":"2026-08-12T10:22:14","modified_gmt":"2026-08-12T08:22:14","slug":"memcached-para-acelerar-tu-wordpress","status":"publish","type":"post","link":"https:\/\/www.hostingtg.com\/blog\/memcached-para-acelerar-tu-wordpress\/","title":{"rendered":"Memcached para acelerar tu WordPress: qu\u00e9 es y c\u00f3mo funciona"},"content":{"rendered":"\n<p class=\"wp-block-paragraph\">Cuando hablamos de <a href=\"https:\/\/www.hostingtg.com\/blog\/bfcache-en-wordpress\/\">acelerar WordPress<\/a>, casi siempre terminamos escuchando las mismas recomendaciones: optimizar las im\u00e1genes, reducir plugins, utilizar una versi\u00f3n reciente de PHP, activar alg\u00fan sistema de cach\u00e9 y, por supuesto, alojar la web en un servidor que tenga recursos suficientes.<\/p>\n\n\n\n<p class=\"wp-block-paragraph\">Todo eso ayuda.<\/p>\n\n\n\n<p class=\"wp-block-paragraph\">Pero existe otra tecnolog\u00eda que muchas veces pasa bastante m\u00e1s desapercibida y que, en determinados proyectos, puede ser especialmente interesante: <strong>Memcached<\/strong>.<\/p>\n\n\n\n<p class=\"wp-block-paragraph\">Me gusta Memcached precisamente porque trabaja sin hacer ruido. No modifica el dise\u00f1o de la web, no a\u00f1ade ninguna funci\u00f3n espectacular al panel de WordPress y el visitante ni siquiera sabe que est\u00e1 ah\u00ed. Su trabajo consiste en algo mucho menos vistoso: intentar que determinadas operaciones que WordPress necesita realizar una y otra vez puedan resolverse m\u00e1s r\u00e1pido.<\/p>\n\n\n\n<p class=\"wp-block-paragraph\">Eso s\u00ed, conviene dejar algo claro desde el principio.<\/p>\n\n\n\n<p class=\"wp-block-paragraph\"><strong>Memcached no es un bot\u00f3n m\u00e1gico para acelerar WordPress.<\/strong><\/p>\n\n\n\n<p class=\"wp-block-paragraph\">En mi caso, nunca lo planteo de esa manera. Podemos tener Memcached perfectamente configurado y continuar con una web lenta si el verdadero problema est\u00e1 en otro sitio: im\u00e1genes enormes, plugins que consumen demasiados recursos, c\u00f3digo PHP poco eficiente, llamadas externas lentas o una configuraci\u00f3n del servidor que no est\u00e1 a la altura.<\/p>\n\n\n\n<p class=\"wp-block-paragraph\">Por eso creo que la pregunta correcta no es solamente \u201c\u00bfc\u00f3mo activo Memcached en WordPress?\u201d.<\/p>\n\n\n\n<p class=\"wp-block-paragraph\">Antes deber\u00edamos preguntarnos:<\/p>\n\n\n\n<p class=\"wp-block-paragraph\"><strong>\u00bfQu\u00e9 hace Memcached exactamente, qu\u00e9 problema resuelve y tiene sentido utilizarlo en mi WordPress?<\/strong><\/p>\n\n\n\n<p class=\"wp-block-paragraph\">Eso es lo que vamos a ver en esta gu\u00eda.<\/p>\n\n\n\n<hr class=\"wp-block-separator has-alpha-channel-opacity\"\/>\n\n\n\n<h2 class=\"wp-block-heading\">\u00bfQu\u00e9 es Memcached y para qu\u00e9 sirve en WordPress?<\/h2>\n\n\n\n<p class=\"wp-block-paragraph\">Memcached es un sistema de almacenamiento temporal de datos en memoria RAM. Su objetivo es permitir que una aplicaci\u00f3n pueda recuperar determinados datos r\u00e1pidamente sin tener que repetir una y otra vez operaciones que resultan m\u00e1s costosas.<\/p>\n\n\n\n<p class=\"wp-block-paragraph\">Llevado a WordPress, podemos entenderlo con un ejemplo sencillo.<\/p>\n\n\n\n<p class=\"wp-block-paragraph\">Imaginemos que WordPress necesita cierta informaci\u00f3n para generar una p\u00e1gina. Parte de esa informaci\u00f3n puede encontrarse en la base de datos. WordPress realiza la consulta, MySQL o MariaDB procesa la petici\u00f3n y devuelve el resultado.<\/p>\n\n\n\n<p class=\"wp-block-paragraph\">Hasta aqu\u00ed no hay nada extra\u00f1o.<\/p>\n\n\n\n<p class=\"wp-block-paragraph\">El problema aparece cuando WordPress necesita obtener repetidamente esa misma informaci\u00f3n.<\/p>\n\n\n\n<p class=\"wp-block-paragraph\">Si determinados resultados pueden mantenerse temporalmente en memoria, la aplicaci\u00f3n puede reutilizarlos en lugar de obligar a la base de datos a repetir siempre el mismo trabajo.<\/p>\n\n\n\n<p class=\"wp-block-paragraph\">Ah\u00ed aparece Memcached.<\/p>\n\n\n\n<h3 class=\"wp-block-heading\">C\u00f3mo funciona Memcached de forma sencilla<\/h3>\n\n\n\n<p class=\"wp-block-paragraph\">Simplificando bastante el proceso, podr\u00edamos imaginar algo parecido a esto:<\/p>\n\n\n\n<p class=\"wp-block-paragraph\"><strong>WordPress \u2192 solicita un dato \u2192 consulta la base de datos \u2192 obtiene el resultado \u2192 lo almacena temporalmente en Memcached.<\/strong><\/p>\n\n\n\n<p class=\"wp-block-paragraph\">Cuando vuelve a necesitarlo:<\/p>\n\n\n\n<p class=\"wp-block-paragraph\"><strong>WordPress \u2192 comprueba la cach\u00e9 \u2192 encuentra el dato \u2192 lo recupera desde memoria.<\/strong><\/p>\n\n\n\n<p class=\"wp-block-paragraph\">La idea de fondo es muy simple: evitar trabajo repetitivo cuando no es necesario repetirlo.<\/p>\n\n\n\n<p class=\"wp-block-paragraph\">Eso no significa que todas las consultas de WordPress desaparezcan ni que Memcached almacene absolutamente todo. Tampoco quiere decir que la base de datos deje de ser necesaria.<\/p>\n\n\n\n<p class=\"wp-block-paragraph\">Memcached es simplemente <strong>una capa de cach\u00e9 adicional<\/strong>.<\/p>\n\n\n\n<h3 class=\"wp-block-heading\">Por qu\u00e9 acceder a datos desde RAM puede ahorrar trabajo<\/h3>\n\n\n\n<p class=\"wp-block-paragraph\">La memoria RAM est\u00e1 dise\u00f1ada para ofrecer acceso r\u00e1pido a los datos que se encuentran almacenados en ella.<\/p>\n\n\n\n<p class=\"wp-block-paragraph\">Por eso, cuando WordPress puede reutilizar un objeto o resultado que ya est\u00e1 disponible en memoria, evita tener que generar o recuperar nuevamente esa informaci\u00f3n desde una fuente m\u00e1s lenta.<\/p>\n\n\n\n<p class=\"wp-block-paragraph\">Lo importante aqu\u00ed no es obsesionarse con milisegundos te\u00f3ricos.<\/p>\n\n\n\n<p class=\"wp-block-paragraph\">A m\u00ed me parece bastante m\u00e1s \u00fatil pensar en Memcached como una herramienta para <strong>reducir trabajo repetido<\/strong>.<\/p>\n\n\n\n<p class=\"wp-block-paragraph\">Si una web tiene pocas operaciones din\u00e1micas y apenas tr\u00e1fico, esa reducci\u00f3n quiz\u00e1 no cambie demasiado la experiencia.<\/p>\n\n\n\n<p class=\"wp-block-paragraph\">Si tenemos un WordPress con muchas peticiones, numerosos plugins, usuarios identificados o una cantidad importante de operaciones contra la base de datos, entonces el escenario cambia bastante.<\/p>\n\n\n\n<h3 class=\"wp-block-heading\">WordPress ya tiene cach\u00e9 de objetos, \u00bfpor qu\u00e9 necesitamos Memcached?<\/h3>\n\n\n\n<p class=\"wp-block-paragraph\">WordPress ya incorpora un sistema de cach\u00e9 de objetos.<\/p>\n\n\n\n<p class=\"wp-block-paragraph\">El detalle importante es que, de forma predeterminada, los objetos almacenados en esa cach\u00e9 no permanecen necesariamente disponibles entre diferentes peticiones.<\/p>\n\n\n\n<p class=\"wp-block-paragraph\">Una cach\u00e9 persistente permite conservar determinados objetos para reutilizarlos posteriormente.<\/p>\n\n\n\n<p class=\"wp-block-paragraph\">Y ah\u00ed es donde puede entrar Memcached.<\/p>\n\n\n\n<p class=\"wp-block-paragraph\">Cuando WordPress est\u00e1 correctamente preparado para utilizar una cach\u00e9 de objetos persistente, algunos datos calculados o recuperados anteriormente pueden continuar disponibles para futuras peticiones.<\/p>\n\n\n\n<p class=\"wp-block-paragraph\">En otras palabras: <strong>WordPress ya conoce el concepto de cach\u00e9 de objetos; Memcached puede aportar la persistencia y el almacenamiento en memoria necesarios para aprovecharla entre diferentes peticiones.<\/strong><\/p>\n\n\n\n<hr class=\"wp-block-separator has-alpha-channel-opacity\"\/>\n\n\n\n<h2 class=\"wp-block-heading\">\u00bfMemcached realmente puede acelerar WordPress?<\/h2>\n\n\n\n<p class=\"wp-block-paragraph\">S\u00ed, Memcached puede <a href=\"https:\/\/www.hostingtg.com\/hosting-wordpress\/\">ayudar a acelerar WordPress<\/a>.<\/p>\n\n\n\n<p class=\"wp-block-paragraph\">Pero esta respuesta necesita bastantes matices.<\/p>\n\n\n\n<p class=\"wp-block-paragraph\">El rendimiento de una web depende de muchas piezas diferentes, y Memcached solamente act\u00faa sobre algunas de ellas.<\/p>\n\n\n\n<p class=\"wp-block-paragraph\">Es un error pensar:<\/p>\n\n\n\n<blockquote class=\"wp-block-quote is-layout-flow wp-block-quote-is-layout-flow\">\n<p class=\"wp-block-paragraph\">Mi WordPress est\u00e1 lento \u2192 instalo Memcached \u2192 problema resuelto.<\/p>\n<\/blockquote>\n\n\n\n<p class=\"wp-block-paragraph\">En algunos sitios puede resultar \u00fatil. En otros, el cambio ser\u00e1 peque\u00f1o. Y en determinados casos puede que el cuello de botella real no tenga absolutamente nada que ver con aquello que Memcached puede mejorar.<\/p>\n\n\n\n<h3 class=\"wp-block-heading\">Qu\u00e9 operaciones puede evitar repetir<\/h3>\n\n\n\n<p class=\"wp-block-paragraph\">La utilidad principal de una cach\u00e9 de objetos est\u00e1 en poder reutilizar datos que la aplicaci\u00f3n necesita repetidamente.<\/p>\n\n\n\n<p class=\"wp-block-paragraph\">WordPress y sus plugins pueden realizar numerosas operaciones para construir una p\u00e1gina, preparar configuraciones, obtener informaci\u00f3n y procesar determinadas peticiones.<\/p>\n\n\n\n<p class=\"wp-block-paragraph\">Si parte de esos objetos puede conservarse temporalmente, WordPress no necesita reconstruir todo desde cero cada vez.<\/p>\n\n\n\n<p class=\"wp-block-paragraph\">Cuanto m\u00e1s trabajo repetitivo exista, mayor sentido empieza a tener disponer de una buena <a href=\"https:\/\/www.hostingtg.com\/blog\/borrar-cache-en-wordpress\/\">estrategia de cach\u00e9<\/a>.<\/p>\n\n\n\n<p class=\"wp-block-paragraph\">Por eso Memcached puede resultar particularmente interesante en proyectos din\u00e1micos.<\/p>\n\n\n\n<p class=\"wp-block-paragraph\">No debemos medir su utilidad simplemente por el n\u00famero de p\u00e1ginas que tiene una web.<\/p>\n\n\n\n<p class=\"wp-block-paragraph\">Una p\u00e1gina con relativamente poco contenido puede ejecutar muchas operaciones internas. Y una web enorme puede tener buena parte de su contenido p\u00fablico servido mediante otros sistemas de cach\u00e9.<\/p>\n\n\n\n<p class=\"wp-block-paragraph\">Hay que mirar c\u00f3mo funciona realmente el sitio.<\/p>\n\n\n\n<h3 class=\"wp-block-heading\">Lo que Memcached no va a solucionar<\/h3>\n\n\n\n<p class=\"wp-block-paragraph\">Este es uno de los puntos en los que prefiero insistir.<\/p>\n\n\n\n<p class=\"wp-block-paragraph\">Memcached no corrige autom\u00e1ticamente:<\/p>\n\n\n\n<ul class=\"wp-block-list\">\n<li>im\u00e1genes de varios megabytes;<\/li>\n\n\n\n<li>archivos JavaScript innecesarios;<\/li>\n\n\n\n<li>hojas CSS enormes;<\/li>\n\n\n\n<li>llamadas a servicios externos que tardan demasiado;<\/li>\n\n\n\n<li>plugins que realizan procesos pesados;<\/li>\n\n\n\n<li>c\u00f3digo PHP poco eficiente;<\/li>\n\n\n\n<li>consultas SQL mal planteadas;<\/li>\n\n\n\n<li>un servidor sin recursos suficientes;<\/li>\n\n\n\n<li>una mala configuraci\u00f3n general de WordPress.<\/li>\n<\/ul>\n\n\n\n<p class=\"wp-block-paragraph\">Si el navegador est\u00e1 tardando varios segundos en descargar una imagen gigantesca, almacenar objetos en RAM no va a reducir m\u00e1gicamente el tama\u00f1o de esa imagen.<\/p>\n\n\n\n<p class=\"wp-block-paragraph\">Si un plugin est\u00e1 haciendo algo especialmente costoso en cada petici\u00f3n, quiz\u00e1 tengamos que analizar ese plugin.<\/p>\n\n\n\n<p class=\"wp-block-paragraph\">Y si PHP o la base de datos est\u00e1n mal configurados, a\u00f1adir otra capa tecnol\u00f3gica tampoco deber\u00eda ser nuestra primera reacci\u00f3n.<\/p>\n\n\n\n<p class=\"wp-block-paragraph\">Por eso suelo ver Memcached como <strong>una pieza dentro de una estrategia de optimizaci\u00f3n<\/strong>, no como la estrategia completa.<\/p>\n\n\n\n<hr class=\"wp-block-separator has-alpha-channel-opacity\"\/>\n\n\n\n<h2 class=\"wp-block-heading\">\u00bfCu\u00e1ndo merece la pena utilizar Memcached en WordPress?<\/h2>\n\n\n\n<p class=\"wp-block-paragraph\">No todos los proyectos WordPress necesitan exactamente las mismas optimizaciones.<\/p>\n\n\n\n<p class=\"wp-block-paragraph\">Una web corporativa sencilla con cinco o diez p\u00e1ginas, pocas visitas y contenido que cambia muy poco no se comporta igual que una tienda WooCommerce, una revista digital con miles de art\u00edculos o una plataforma con usuarios identificados realizando acciones continuamente.<\/p>\n\n\n\n<p class=\"wp-block-paragraph\">Por eso la respuesta a \u201c\u00bfnecesito Memcached?\u201d deber\u00eda empezar siempre con otra pregunta:<\/p>\n\n\n\n<p class=\"wp-block-paragraph\"><strong>\u00bfQu\u00e9 tipo de WordPress tenemos delante?<\/strong><\/p>\n\n\n\n<h3 class=\"wp-block-heading\">Blogs y webs con mucho contenido o tr\u00e1fico<\/h3>\n\n\n\n<p class=\"wp-block-paragraph\">Cuando aumenta el n\u00famero de peticiones tambi\u00e9n aumenta la cantidad total de trabajo que el servidor tiene que realizar.<\/p>\n\n\n\n<p class=\"wp-block-paragraph\">Si varias peticiones necesitan los mismos objetos o resultados, poder reutilizar informaci\u00f3n almacenada temporalmente puede reducir trabajo innecesario.<\/p>\n\n\n\n<p class=\"wp-block-paragraph\">En una web con mucho tr\u00e1fico esto empieza a resultar especialmente interesante porque una peque\u00f1a optimizaci\u00f3n repetida miles de veces deja de ser tan peque\u00f1a.<\/p>\n\n\n\n<p class=\"wp-block-paragraph\">Eso no significa que cualquier blog grande necesite obligatoriamente Memcached. Puede existir cach\u00e9 de p\u00e1gina, CDN y otras optimizaciones que reduzcan much\u00edsimo el trabajo realizado por WordPress.<\/p>\n\n\n\n<p class=\"wp-block-paragraph\">Lo importante es analizar el conjunto.<\/p>\n\n\n\n<h3 class=\"wp-block-heading\">WooCommerce y sitios din\u00e1micos<\/h3>\n\n\n\n<p class=\"wp-block-paragraph\">Personalmente, es en proyectos din\u00e1micos donde encuentro m\u00e1s f\u00e1cil entender el valor de la cach\u00e9 de objetos.<\/p>\n\n\n\n<p class=\"wp-block-paragraph\">Una tienda WooCommerce tiene productos, categor\u00edas, atributos, precios, usuarios, sesiones, carritos y configuraciones que pueden participar en multitud de operaciones.<\/p>\n\n\n\n<p class=\"wp-block-paragraph\">Adem\u00e1s, no podemos tratar absolutamente todas las p\u00e1ginas de una tienda como si fueran contenido est\u00e1tico id\u00e9ntico para cualquier visitante.<\/p>\n\n\n\n<p class=\"wp-block-paragraph\">El carrito de una persona no puede convertirse alegremente en la p\u00e1gina cacheada que recibe otra.<\/p>\n\n\n\n<p class=\"wp-block-paragraph\">Por eso una estrategia de rendimiento para WooCommerce suele necesitar trabajar en diferentes niveles.<\/p>\n\n\n\n<p class=\"wp-block-paragraph\">La cach\u00e9 de p\u00e1gina puede continuar teniendo mucho sentido donde sea posible utilizarla, mientras que una cach\u00e9 persistente de objetos puede ayudar en otra parte del proceso.<\/p>\n\n\n\n<h3 class=\"wp-block-heading\">Webs con muchos plugins o consultas repetitivas<\/h3>\n\n\n\n<p class=\"wp-block-paragraph\">El n\u00famero de plugins por s\u00ed solo no determina si una web necesita Memcached.<\/p>\n\n\n\n<p class=\"wp-block-paragraph\">Tener treinta plugins bien desarrollados puede ser menos problem\u00e1tico que tener cinco plugins que realizan operaciones muy pesadas.<\/p>\n\n\n\n<p class=\"wp-block-paragraph\">Lo que debemos preguntarnos es qu\u00e9 trabajo est\u00e1 realizando WordPress.<\/p>\n\n\n\n<p class=\"wp-block-paragraph\">Si comprobamos que existe una gran cantidad de operaciones repetidas relacionadas con objetos y base de datos, la cach\u00e9 persistente empieza a encajar mucho mejor.<\/p>\n\n\n\n<h3 class=\"wp-block-heading\">Cu\u00e1ndo probablemente notar\u00e1s poco beneficio<\/h3>\n\n\n\n<p class=\"wp-block-paragraph\">Una web peque\u00f1a, con poco tr\u00e1fico, casi completamente est\u00e1tica y bien servida desde una cach\u00e9 de p\u00e1gina podr\u00eda no obtener una mejora espectacular.<\/p>\n\n\n\n<p class=\"wp-block-paragraph\">Y no pasa nada.<\/p>\n\n\n\n<p class=\"wp-block-paragraph\">Optimizar no consiste en activar todas las tecnolog\u00edas disponibles.<\/p>\n\n\n\n<p class=\"wp-block-paragraph\">Consiste en aplicar las que solucionan un problema real.<\/p>\n\n\n\n<p class=\"wp-block-paragraph\">Esta es una idea que intento mantener siempre presente: <strong>m\u00e1s tecnolog\u00eda no significa autom\u00e1ticamente m\u00e1s rendimiento<\/strong>.<\/p>\n\n\n\n<hr class=\"wp-block-separator has-alpha-channel-opacity\"\/>\n\n\n\n<h2 class=\"wp-block-heading\">Cach\u00e9 de p\u00e1gina y Memcached: no hacen lo mismo<\/h2>\n\n\n\n<p class=\"wp-block-paragraph\">Existe bastante confusi\u00f3n entre cach\u00e9 de p\u00e1gina, cach\u00e9 de navegador, cach\u00e9 de objetos y otras formas de almacenamiento temporal.<\/p>\n\n\n\n<p class=\"wp-block-paragraph\">En ocasiones incluso se habla de ellas como si fueran alternativas directas.<\/p>\n\n\n\n<p class=\"wp-block-paragraph\">No siempre lo son.<\/p>\n\n\n\n<h3 class=\"wp-block-heading\">Qu\u00e9 hace una cach\u00e9 de p\u00e1gina<\/h3>\n\n\n\n<p class=\"wp-block-paragraph\">Una cach\u00e9 de p\u00e1gina intenta evitar que WordPress tenga que construir completamente una p\u00e1gina cada vez que un visitante la solicita.<\/p>\n\n\n\n<p class=\"wp-block-paragraph\">En lugar de ejecutar todo el proceso de PHP, cargar WordPress, realizar consultas y generar el resultado final, el servidor puede entregar una versi\u00f3n previamente generada de esa p\u00e1gina cuando las condiciones permiten hacerlo.<\/p>\n\n\n\n<p class=\"wp-block-paragraph\">Para contenido p\u00fablico y relativamente est\u00e1tico puede ser tremendamente eficaz.<\/p>\n\n\n\n<h3 class=\"wp-block-heading\">Qu\u00e9 hace una cach\u00e9 de objetos<\/h3>\n\n\n\n<p class=\"wp-block-paragraph\">Memcached trabaja en otro nivel.<\/p>\n\n\n\n<p class=\"wp-block-paragraph\">No tenemos por qu\u00e9 estar almacenando la p\u00e1gina HTML completa que termina viendo el usuario.<\/p>\n\n\n\n<p class=\"wp-block-paragraph\">Estamos hablando de objetos y datos que WordPress puede necesitar durante su ejecuci\u00f3n.<\/p>\n\n\n\n<p class=\"wp-block-paragraph\">De esa manera, incluso cuando WordPress tiene que procesar una petici\u00f3n din\u00e1micamente, parte del trabajo necesario puede encontrarse ya resuelto y almacenado temporalmente.<\/p>\n\n\n\n<p class=\"wp-block-paragraph\">Esa es la diferencia fundamental.<\/p>\n\n\n\n<p class=\"wp-block-paragraph\"><strong>La cach\u00e9 de p\u00e1gina intenta evitar generar nuevamente la p\u00e1gina completa.<\/strong><\/p>\n\n\n\n<p class=\"wp-block-paragraph\"><strong>La cach\u00e9 de objetos intenta evitar repetir determinadas operaciones internas.<\/strong><\/p>\n\n\n\n<h3 class=\"wp-block-heading\">Por qu\u00e9 pueden trabajar juntas<\/h3>\n\n\n\n<p class=\"wp-block-paragraph\">No suelo plantear Memcached y la cach\u00e9 de p\u00e1gina como si hubiera que elegir una u otra.<\/p>\n\n\n\n<p class=\"wp-block-paragraph\">Pueden complementarse.<\/p>\n\n\n\n<p class=\"wp-block-paragraph\">Podemos utilizar cach\u00e9 de p\u00e1gina en las zonas p\u00fablicas que lo permitan y, al mismo tiempo, mantener una cach\u00e9 persistente de objetos para mejorar determinadas operaciones internas.<\/p>\n\n\n\n<p class=\"wp-block-paragraph\">Cada capa est\u00e1 resolviendo un problema diferente.<\/p>\n\n\n\n<p class=\"wp-block-paragraph\">Y esta forma de verlo evita uno de los errores habituales en optimizaci\u00f3n: activar tecnolog\u00edas sin entender qu\u00e9 hace exactamente cada una.<\/p>\n\n\n\n<hr class=\"wp-block-separator has-alpha-channel-opacity\"\/>\n\n\n\n<h2 class=\"wp-block-heading\">Memcached vs Redis en WordPress<\/h2>\n\n\n\n<p class=\"wp-block-paragraph\">Cuando se habla de cach\u00e9 persistente de objetos en WordPress, tarde o temprano aparece otra tecnolog\u00eda: Redis.<\/p>\n\n\n\n<p class=\"wp-block-paragraph\">La pregunta habitual es muy sencilla:<\/p>\n\n\n\n<p class=\"wp-block-paragraph\"><strong>\u00bfEs mejor Redis o Memcached?<\/strong><\/p>\n\n\n\n<p class=\"wp-block-paragraph\">Mi recomendaci\u00f3n ser\u00eda evitar una respuesta universal.<\/p>\n\n\n\n<p class=\"wp-block-paragraph\">Ambas tecnolog\u00edas pueden utilizarse como parte de una estrategia de cach\u00e9 persistente y ambas buscan evitar que la aplicaci\u00f3n tenga que repetir determinados trabajos.<\/p>\n\n\n\n<p class=\"wp-block-paragraph\">Para un usuario de WordPress, la decisi\u00f3n deber\u00eda estar mucho m\u00e1s relacionada con la infraestructura disponible, la integraci\u00f3n ofrecida por el hosting y la soluci\u00f3n que realmente tengamos bien soportada.<\/p>\n\n\n\n<h3 class=\"wp-block-heading\">Qu\u00e9 tienen en com\u00fan<\/h3>\n\n\n\n<p class=\"wp-block-paragraph\">Desde la perspectiva que nos interesa aqu\u00ed, ambas tecnolog\u00edas pueden mantener informaci\u00f3n temporal en memoria y permitir que WordPress reutilice datos.<\/p>\n\n\n\n<p class=\"wp-block-paragraph\">Es decir, las dos pueden participar en una estrategia para reducir operaciones repetidas.<\/p>\n\n\n\n<h3 class=\"wp-block-heading\">Principales diferencias<\/h3>\n\n\n\n<p class=\"wp-block-paragraph\">Redis y Memcached no son exactamente el mismo sistema y existen diferencias t\u00e9cnicas entre ambos.<\/p>\n\n\n\n<p class=\"wp-block-paragraph\">Pero en una gu\u00eda centrada en acelerar WordPress no creo que tenga demasiado sentido convertir esta comparaci\u00f3n en un tratado independiente.<\/p>\n\n\n\n<p class=\"wp-block-paragraph\">Lo realmente importante para la mayor\u00eda de usuarios ser\u00e1:<\/p>\n\n\n\n<ul class=\"wp-block-list\">\n<li>qu\u00e9 sistema proporciona su servidor;<\/li>\n\n\n\n<li>cu\u00e1l est\u00e1 correctamente configurado;<\/li>\n\n\n\n<li>qu\u00e9 integraci\u00f3n utiliza WordPress;<\/li>\n\n\n\n<li>qu\u00e9 soluci\u00f3n puede mantener y supervisar su proveedor.<\/li>\n<\/ul>\n\n\n\n<h3 class=\"wp-block-heading\">\u00bfCu\u00e1l elegir para WordPress?<\/h3>\n\n\n\n<p class=\"wp-block-paragraph\">Si tu hosting ya dispone de Memcached preparado para trabajar con WordPress, no veo demasiado sentido en instalar otra tecnolog\u00eda \u00fanicamente porque alguien haya dicho que es \u201cmejor\u201d.<\/p>\n\n\n\n<p class=\"wp-block-paragraph\">Y lo mismo puede aplicarse al caso contrario.<\/p>\n\n\n\n<p class=\"wp-block-paragraph\">Antes que buscar la herramienta supuestamente perfecta, prefiero una soluci\u00f3n <strong>bien configurada, integrada y mantenida<\/strong>.<\/p>\n\n\n\n<hr class=\"wp-block-separator has-alpha-channel-opacity\"\/>\n\n\n\n<h2 class=\"wp-block-heading\">Antes de activar Memcached, averigua qu\u00e9 est\u00e1 ralentizando WordPress<\/h2>\n\n\n\n<p class=\"wp-block-paragraph\">Esta es probablemente la recomendaci\u00f3n que considero m\u00e1s importante de toda la gu\u00eda.<\/p>\n\n\n\n<p class=\"wp-block-paragraph\"><strong>Antes de activar cosas, prefiero medir.<\/strong><\/p>\n\n\n\n<p class=\"wp-block-paragraph\">Tenemos tendencia a tratar la optimizaci\u00f3n como una lista de comprobaci\u00f3n:<\/p>\n\n\n\n<p class=\"wp-block-paragraph\">\u201cInstala esto.\u201d<\/p>\n\n\n\n<p class=\"wp-block-paragraph\">\u201cActiva aquello.\u201d<\/p>\n\n\n\n<p class=\"wp-block-paragraph\">\u201cDeshabilita lo otro.\u201d<\/p>\n\n\n\n<p class=\"wp-block-paragraph\">Y al final podemos terminar con cinco sistemas diferentes modificando el comportamiento de la cach\u00e9 sin tener demasiado claro cu\u00e1l era el problema original.<\/p>\n\n\n\n<h3 class=\"wp-block-heading\">No optimices WordPress a ciegas<\/h3>\n\n\n\n<p class=\"wp-block-paragraph\">Si una web tarda tres segundos en responder, primero quiero saber d\u00f3nde se est\u00e1n perdiendo esos tres segundos.<\/p>\n\n\n\n<p class=\"wp-block-paragraph\">Puede ser PHP.<\/p>\n\n\n\n<p class=\"wp-block-paragraph\">Puede ser la base de datos.<\/p>\n\n\n\n<p class=\"wp-block-paragraph\">Puede ser una llamada a una API externa.<\/p>\n\n\n\n<p class=\"wp-block-paragraph\">Puede ser un plugin.<\/p>\n\n\n\n<p class=\"wp-block-paragraph\">Puede ser falta de CPU.<\/p>\n\n\n\n<p class=\"wp-block-paragraph\">Puede ser memoria insuficiente.<\/p>\n\n\n\n<p class=\"wp-block-paragraph\">Puede ser el frontend.<\/p>\n\n\n\n<p class=\"wp-block-paragraph\">Puede ser una combinaci\u00f3n de varios factores.<\/p>\n\n\n\n<p class=\"wp-block-paragraph\">Hasta que no tengamos una idea razonable de qu\u00e9 est\u00e1 ocurriendo, cualquier optimizaci\u00f3n corre el riesgo de convertirse simplemente en una apuesta.<\/p>\n\n\n\n<h3 class=\"wp-block-heading\">Posibles cuellos de botella que conviene revisar<\/h3>\n\n\n\n<p class=\"wp-block-paragraph\">Antes de decidir que Memcached es la soluci\u00f3n, revisar\u00eda al menos:<\/p>\n\n\n\n<ul class=\"wp-block-list\">\n<li>tiempo de ejecuci\u00f3n de PHP;<\/li>\n\n\n\n<li>comportamiento de la base de datos;<\/li>\n\n\n\n<li>n\u00famero y tipo de consultas;<\/li>\n\n\n\n<li>plugins especialmente pesados;<\/li>\n\n\n\n<li>peticiones hacia servicios externos;<\/li>\n\n\n\n<li>recursos disponibles en el servidor;<\/li>\n\n\n\n<li>cach\u00e9 de p\u00e1gina;<\/li>\n\n\n\n<li>tama\u00f1o de im\u00e1genes;<\/li>\n\n\n\n<li>scripts y estilos cargados;<\/li>\n\n\n\n<li>comportamiento del tema;<\/li>\n\n\n\n<li>diferencias entre usuarios identificados y visitantes an\u00f3nimos.<\/li>\n<\/ul>\n\n\n\n<p class=\"wp-block-paragraph\">No significa que tengamos que convertirnos en administradores de sistemas para mantener una web.<\/p>\n\n\n\n<p class=\"wp-block-paragraph\">Significa simplemente que <strong>debemos intentar relacionar cada soluci\u00f3n con un problema concreto<\/strong>.<\/p>\n\n\n\n<h3 class=\"wp-block-heading\">Cu\u00e1ndo la cach\u00e9 de objetos s\u00ed ataca el problema<\/h3>\n\n\n\n<p class=\"wp-block-paragraph\">Si despu\u00e9s de analizar la web observamos mucho trabajo repetitivo relacionado con consultas, objetos o datos que podr\u00edan reutilizarse entre peticiones, entonces Memcached empieza a tener bastante m\u00e1s sentido.<\/p>\n\n\n\n<p class=\"wp-block-paragraph\">Eso es optimizar con criterio.<\/p>\n\n\n\n<hr class=\"wp-block-separator has-alpha-channel-opacity\"\/>\n\n\n\n<h2 class=\"wp-block-heading\">Qu\u00e9 necesitas para usar Memcached en WordPress<\/h2>\n\n\n\n<p class=\"wp-block-paragraph\">Otro error habitual consiste en pensar que basta con instalar un plugin llamado \u201cMemcached\u201d dentro de WordPress.<\/p>\n\n\n\n<p class=\"wp-block-paragraph\">No funciona exactamente as\u00ed.<\/p>\n\n\n\n<p class=\"wp-block-paragraph\">Memcached necesita existir primero a nivel de infraestructura.<\/p>\n\n\n\n<h3 class=\"wp-block-heading\">Un servidor o hosting compatible con Memcached<\/h3>\n\n\n\n<p class=\"wp-block-paragraph\">El servicio tiene que estar disponible en el servidor.<\/p>\n\n\n\n<p class=\"wp-block-paragraph\">Si utilizas hosting administrado, puede que el proveedor ya lo tenga preparado y solamente necesites activar la integraci\u00f3n correspondiente.<\/p>\n\n\n\n<p class=\"wp-block-paragraph\">Si administras tu propio servidor, tendr\u00e1s que encargarte de instalar y configurar los componentes necesarios.<\/p>\n\n\n\n<p class=\"wp-block-paragraph\">Por eso el hosting tiene bastante m\u00e1s importancia en esta historia de lo que parece.<\/p>\n\n\n\n<h3 class=\"wp-block-heading\">Memcached funcionando a nivel de servidor<\/h3>\n\n\n\n<p class=\"wp-block-paragraph\">El servicio tiene que estar activo y ser accesible desde el entorno donde se ejecuta WordPress.<\/p>\n\n\n\n<p class=\"wp-block-paragraph\">Simplemente ver una opci\u00f3n llamada Memcached en un panel no deber\u00eda ser nuestra \u00fanica comprobaci\u00f3n.<\/p>\n\n\n\n<p class=\"wp-block-paragraph\">Necesitamos saber que realmente existe un servicio preparado para recibir las peticiones.<\/p>\n\n\n\n<h3 class=\"wp-block-heading\">PHP tiene que poder comunicarse con Memcached<\/h3>\n\n\n\n<p class=\"wp-block-paragraph\">WordPress se ejecuta sobre PHP.<\/p>\n\n\n\n<p class=\"wp-block-paragraph\">Por tanto, tambi\u00e9n necesitamos que el entorno PHP pueda trabajar con el servicio que estamos utilizando.<\/p>\n\n\n\n<p class=\"wp-block-paragraph\">Aqu\u00ed la configuraci\u00f3n exacta depender\u00e1 del servidor y del proveedor.<\/p>\n\n\n\n<h3 class=\"wp-block-heading\">Una cach\u00e9 de objetos persistente en WordPress<\/h3>\n\n\n\n<p class=\"wp-block-paragraph\">Y llegamos al paso que suele generar m\u00e1s confusi\u00f3n:<\/p>\n\n\n\n<p class=\"wp-block-paragraph\"><strong>tener Memcached encendido en el servidor no significa autom\u00e1ticamente que WordPress lo est\u00e9 utilizando.<\/strong><\/p>\n\n\n\n<p class=\"wp-block-paragraph\">WordPress necesita una implementaci\u00f3n de cach\u00e9 persistente capaz de comunicarse con Memcached.<\/p>\n\n\n\n<p class=\"wp-block-paragraph\">Un elemento habitual en este proceso es el archivo:<\/p>\n\n\n\n<p class=\"wp-block-paragraph\"><code>object-cache.php<\/code><\/p>\n\n\n\n<p class=\"wp-block-paragraph\">Este archivo puede funcionar como <em>drop-in<\/em> y sustituir el comportamiento predeterminado de la cach\u00e9 de objetos de WordPress.<\/p>\n\n\n\n<p class=\"wp-block-paragraph\">Lo importante no es memorizar el nombre del archivo.<\/p>\n\n\n\n<p class=\"wp-block-paragraph\">Lo importante es entender la arquitectura:<\/p>\n\n\n\n<p class=\"wp-block-paragraph\"><strong>servidor preparado + PHP preparado + WordPress preparado para utilizar esa cach\u00e9.<\/strong><\/p>\n\n\n\n<p class=\"wp-block-paragraph\">Si falta una de esas piezas, podemos tener Memcached instalado sin estar obteniendo el resultado que esperamos.<\/p>\n\n\n\n<hr class=\"wp-block-separator has-alpha-channel-opacity\"\/>\n\n\n\n<h2 class=\"wp-block-heading\">C\u00f3mo configurar Memcached en WordPress<\/h2>\n\n\n\n<p class=\"wp-block-paragraph\">La configuraci\u00f3n concreta depende mucho del hosting, del sistema operativo, de la versi\u00f3n de PHP y de si administramos nosotros mismos el servidor.<\/p>\n\n\n\n<p class=\"wp-block-paragraph\">Por eso prefiero explicar el proceso de una manera que sirva para entender qu\u00e9 debemos conseguir, en lugar de publicar una serie de comandos como si fueran universales.<\/p>\n\n\n\n<h3 class=\"wp-block-heading\">Paso 1. Comprueba que Memcached est\u00e1 disponible en el servidor<\/h3>\n\n\n\n<p class=\"wp-block-paragraph\">Antes de tocar WordPress, tenemos que saber si el servicio existe.<\/p>\n\n\n\n<p class=\"wp-block-paragraph\">Si utilizas hosting administrado, consulta el panel o pregunta al soporte.<\/p>\n\n\n\n<p class=\"wp-block-paragraph\">Si gestionas tu propio servidor, necesitar\u00e1s comprobar que el servicio est\u00e1 instalado y funcionando.<\/p>\n\n\n\n<h3 class=\"wp-block-heading\">Paso 2. Verifica que PHP puede comunicarse con Memcached<\/h3>\n\n\n\n<p class=\"wp-block-paragraph\">No basta con tener un proceso ejecut\u00e1ndose.<\/p>\n\n\n\n<p class=\"wp-block-paragraph\">El entorno PHP desde el que funciona WordPress tiene que disponer de la integraci\u00f3n necesaria para utilizarlo.<\/p>\n\n\n\n<p class=\"wp-block-paragraph\">En un hosting gestionado esta parte puede estar resuelta por el proveedor.<\/p>\n\n\n\n<h3 class=\"wp-block-heading\">Paso 3. Configura WordPress para utilizar cach\u00e9 persistente<\/h3>\n\n\n\n<p class=\"wp-block-paragraph\">Ahora necesitamos que WordPress utilice realmente Memcached como almacenamiento para determinados objetos.<\/p>\n\n\n\n<p class=\"wp-block-paragraph\">Esto puede realizarse mediante una soluci\u00f3n compatible que integre la cach\u00e9 persistente de objetos con WordPress.<\/p>\n\n\n\n<h3 class=\"wp-block-heading\">Paso 4. Revisa la integraci\u00f3n mediante <code>object-cache.php<\/code><\/h3>\n\n\n\n<p class=\"wp-block-paragraph\">El <em>drop-in<\/em> <code>object-cache.php<\/code> es una pieza importante porque permite modificar el comportamiento de la cach\u00e9 de objetos de WordPress.<\/p>\n\n\n\n<p class=\"wp-block-paragraph\">No recomendar\u00eda copiar un archivo encontrado al azar en Internet.<\/p>\n\n\n\n<p class=\"wp-block-paragraph\">La implementaci\u00f3n debe corresponderse con la soluci\u00f3n que est\u00e9s utilizando y con la configuraci\u00f3n del servidor.<\/p>\n\n\n\n<h3 class=\"wp-block-heading\">Paso 5. Limpia la cach\u00e9 y comprueba el funcionamiento<\/h3>\n\n\n\n<p class=\"wp-block-paragraph\">Despu\u00e9s de configurar un sistema de cach\u00e9 siempre conviene comprobar el resultado.<\/p>\n\n\n\n<p class=\"wp-block-paragraph\">No doy por hecho que algo funciona simplemente porque no ha aparecido ning\u00fan error.<\/p>\n\n\n\n<p class=\"wp-block-paragraph\">Hay que verificarlo.<\/p>\n\n\n\n<p class=\"wp-block-paragraph\">Y ese es precisamente el siguiente punto.<\/p>\n\n\n\n<hr class=\"wp-block-separator has-alpha-channel-opacity\"\/>\n\n\n\n<h2 class=\"wp-block-heading\">C\u00f3mo saber si WordPress est\u00e1 utilizando realmente Memcached<\/h2>\n\n\n\n<p class=\"wp-block-paragraph\">Instalar Memcached y comprobar Memcached son dos cosas diferentes.<\/p>\n\n\n\n<p class=\"wp-block-paragraph\">Esta distinci\u00f3n me parece especialmente importante porque podemos terminar pensando que hemos optimizado WordPress cuando, en realidad, nuestra instalaci\u00f3n ni siquiera est\u00e1 utilizando la cach\u00e9 persistente.<\/p>\n\n\n\n<h3 class=\"wp-block-heading\">Tener Memcached instalado no significa que WordPress lo use<\/h3>\n\n\n\n<p class=\"wp-block-paragraph\">Este es el concepto principal.<\/p>\n\n\n\n<p class=\"wp-block-paragraph\">Podemos tener:<\/p>\n\n\n\n<ul class=\"wp-block-list\">\n<li>Memcached instalado;<\/li>\n\n\n\n<li>Memcached ejecut\u00e1ndose;<\/li>\n\n\n\n<li>recursos reservados para Memcached;<\/li>\n<\/ul>\n\n\n\n<p class=\"wp-block-paragraph\">y aun as\u00ed no disponer de una integraci\u00f3n correcta con WordPress.<\/p>\n\n\n\n<p class=\"wp-block-paragraph\">Por eso hay que comprobar las dos partes: servidor y aplicaci\u00f3n.<\/p>\n\n\n\n<h3 class=\"wp-block-heading\">Qu\u00e9 revisar en WordPress<\/h3>\n\n\n\n<p class=\"wp-block-paragraph\">Quiero comprobar que WordPress est\u00e1 cargando correctamente el sistema de cach\u00e9 persistente.<\/p>\n\n\n\n<p class=\"wp-block-paragraph\">Si utilizamos una soluci\u00f3n basada en un <em>drop-in<\/em>, tambi\u00e9n revisar\u00eda que <code>object-cache.php<\/code> est\u00e9 presente donde corresponde y pertenezca realmente a la implementaci\u00f3n que hemos decidido utilizar.<\/p>\n\n\n\n<p class=\"wp-block-paragraph\">Tambi\u00e9n podemos observar el estado general de WordPress y las herramientas de diagn\u00f3stico disponibles para comprobar si la cach\u00e9 persistente est\u00e1 activa.<\/p>\n\n\n\n<h3 class=\"wp-block-heading\">Qu\u00e9 comprobar en el servidor<\/h3>\n\n\n\n<p class=\"wp-block-paragraph\">A nivel de servidor interesa saber si Memcached:<\/p>\n\n\n\n<ul class=\"wp-block-list\">\n<li>est\u00e1 funcionando;<\/li>\n\n\n\n<li>est\u00e1 recibiendo peticiones;<\/li>\n\n\n\n<li>est\u00e1 utilizando memoria;<\/li>\n\n\n\n<li>est\u00e1 almacenando objetos;<\/li>\n\n\n\n<li>devuelve datos desde cach\u00e9.<\/li>\n<\/ul>\n\n\n\n<p class=\"wp-block-paragraph\">No siempre necesitaremos entrar en estad\u00edsticas avanzadas, pero comprobar actividad es bastante mejor que asumirla.<\/p>\n\n\n\n<h3 class=\"wp-block-heading\">C\u00f3mo interpretar hits y misses<\/h3>\n\n\n\n<p class=\"wp-block-paragraph\">Dos conceptos habituales son los <strong>hits<\/strong> y los <strong>misses<\/strong>.<\/p>\n\n\n\n<p class=\"wp-block-paragraph\">Un hit ocurre cuando la aplicaci\u00f3n solicita un elemento y este se encuentra en la cach\u00e9.<\/p>\n\n\n\n<p class=\"wp-block-paragraph\">Un miss ocurre cuando el elemento no est\u00e1 disponible y hay que recuperarlo desde su origen.<\/p>\n\n\n\n<p class=\"wp-block-paragraph\">Tener misses no significa autom\u00e1ticamente que exista un problema.<\/p>\n\n\n\n<p class=\"wp-block-paragraph\">Una cach\u00e9 nunca tiene por qu\u00e9 contener todo.<\/p>\n\n\n\n<p class=\"wp-block-paragraph\">Los datos caducan, se eliminan o simplemente todav\u00eda no han sido solicitados.<\/p>\n\n\n\n<p class=\"wp-block-paragraph\">Lo que nos interesa es comprobar que existe actividad y que el sistema realmente est\u00e1 cumpliendo la funci\u00f3n para la que lo hemos configurado.<\/p>\n\n\n\n<hr class=\"wp-block-separator has-alpha-channel-opacity\"\/>\n\n\n\n<h2 class=\"wp-block-heading\">Qu\u00e9 ocurre cuando los datos desaparecen de Memcached<\/h2>\n\n\n\n<p class=\"wp-block-paragraph\">Otra confusi\u00f3n habitual consiste en pensar que Memcached act\u00faa como una especie de base de datos ultrarr\u00e1pida.<\/p>\n\n\n\n<p class=\"wp-block-paragraph\">No es as\u00ed.<\/p>\n\n\n\n<h3 class=\"wp-block-heading\">Memcached no es almacenamiento permanente<\/h3>\n\n\n\n<p class=\"wp-block-paragraph\">Los datos almacenados en Memcached son temporales.<\/p>\n\n\n\n<p class=\"wp-block-paragraph\">Los objetos pueden caducar o pueden desaparecer cuando el sistema necesita liberar memoria.<\/p>\n\n\n\n<p class=\"wp-block-paragraph\">Eso no es un fallo.<\/p>\n\n\n\n<p class=\"wp-block-paragraph\">Forma parte de c\u00f3mo funciona una cach\u00e9.<\/p>\n\n\n\n<h3 class=\"wp-block-heading\">MySQL o MariaDB siguen siendo la fuente original<\/h3>\n\n\n\n<p class=\"wp-block-paragraph\">La informaci\u00f3n importante contin\u00faa almacenada en WordPress y en su base de datos.<\/p>\n\n\n\n<p class=\"wp-block-paragraph\">Memcached mantiene copias temporales de determinados datos para permitir una recuperaci\u00f3n m\u00e1s r\u00e1pida.<\/p>\n\n\n\n<p class=\"wp-block-paragraph\">Por eso nunca deber\u00edamos dise\u00f1ar una configuraci\u00f3n en la que perder la cach\u00e9 signifique perder informaci\u00f3n importante.<\/p>\n\n\n\n<p class=\"wp-block-paragraph\">La aplicaci\u00f3n debe poder reconstruirla.<\/p>\n\n\n\n<h3 class=\"wp-block-heading\">Expiraci\u00f3n y eliminaci\u00f3n de objetos<\/h3>\n\n\n\n<p class=\"wp-block-paragraph\">Supongamos que WordPress solicita un dato y este ya no existe en Memcached.<\/p>\n\n\n\n<p class=\"wp-block-paragraph\">\u00bfQu\u00e9 sucede?<\/p>\n\n\n\n<p class=\"wp-block-paragraph\">Simplemente tiene que volver a obtenerlo desde su fuente original.<\/p>\n\n\n\n<p class=\"wp-block-paragraph\">Despu\u00e9s puede almacenarlo otra vez en la cach\u00e9 y reutilizarlo en siguientes peticiones.<\/p>\n\n\n\n<p class=\"wp-block-paragraph\">Por eso no me preocupa que una cach\u00e9 pueda vaciarse.<\/p>\n\n\n\n<p class=\"wp-block-paragraph\">Lo preocupante ser\u00eda que estuvi\u00e9ramos tratando esa cach\u00e9 como almacenamiento permanente.<\/p>\n\n\n\n<p class=\"wp-block-paragraph\"><strong>Memcached acelera el acceso a ciertos datos; no sustituye la base de datos.<\/strong><\/p>\n\n\n\n<hr class=\"wp-block-separator has-alpha-channel-opacity\"\/>\n\n\n\n<h2 class=\"wp-block-heading\">El hosting tambi\u00e9n determina cu\u00e1nto puedes optimizar WordPress<\/h2>\n\n\n\n<p class=\"wp-block-paragraph\">Cuando hablamos de velocidad muchas veces concentramos toda la atenci\u00f3n en el panel de administraci\u00f3n de WordPress.<\/p>\n\n\n\n<p class=\"wp-block-paragraph\">Pero WordPress no funciona en el vac\u00edo.<\/p>\n\n\n\n<p class=\"wp-block-paragraph\">PHP se ejecuta en un servidor.<\/p>\n\n\n\n<p class=\"wp-block-paragraph\">MySQL o MariaDB est\u00e1n en un servidor.<\/p>\n\n\n\n<p class=\"wp-block-paragraph\">La memoria est\u00e1 en un servidor.<\/p>\n\n\n\n<p class=\"wp-block-paragraph\">Los archivos est\u00e1n almacenados en un servidor.<\/p>\n\n\n\n<p class=\"wp-block-paragraph\">Y Memcached tambi\u00e9n necesita infraestructura a nivel de servidor.<\/p>\n\n\n\n<p class=\"wp-block-paragraph\">Por eso prefiero empezar la optimizaci\u00f3n por los cimientos.<\/p>\n\n\n\n<h3 class=\"wp-block-heading\">Memcached necesita infraestructura a nivel de servidor<\/h3>\n\n\n\n<p class=\"wp-block-paragraph\">Si el proveedor de hosting no ofrece Memcached y t\u00fa no controlas el servidor, dif\u00edcilmente podr\u00e1s solucionarlo instalando un plugin.<\/p>\n\n\n\n<p class=\"wp-block-paragraph\">Este es uno de los motivos por los que considero que elegir hosting tambi\u00e9n forma parte de la optimizaci\u00f3n.<\/p>\n\n\n\n<h3 class=\"wp-block-heading\">PHP, almacenamiento y base de datos tambi\u00e9n importan<\/h3>\n\n\n\n<p class=\"wp-block-paragraph\">No tendr\u00eda demasiado sentido presumir de tener Memcached mientras mantenemos una configuraci\u00f3n deficiente en todo lo dem\u00e1s.<\/p>\n\n\n\n<p class=\"wp-block-paragraph\">La velocidad final depende de muchas piezas:<\/p>\n\n\n\n<ul class=\"wp-block-list\">\n<li>PHP;<\/li>\n\n\n\n<li>memoria;<\/li>\n\n\n\n<li>almacenamiento;<\/li>\n\n\n\n<li>base de datos;<\/li>\n\n\n\n<li>configuraci\u00f3n del servidor;<\/li>\n\n\n\n<li>cach\u00e9;<\/li>\n\n\n\n<li>WordPress;<\/li>\n\n\n\n<li>plugins;<\/li>\n\n\n\n<li>tema;<\/li>\n\n\n\n<li>desarrollo.<\/li>\n<\/ul>\n\n\n\n<p class=\"wp-block-paragraph\">Cuando varias de ellas est\u00e1n bien resueltas, las mejoras empiezan a sumar.<\/p>\n\n\n\n<h3 class=\"wp-block-heading\">C\u00f3mo lo planteamos en HostingTG<\/h3>\n\n\n\n<p class=\"wp-block-paragraph\">Precisamente por eso en nuestros servidores de <strong>HostingTG<\/strong> disponemos de Memcached.<\/p>\n\n\n\n<p class=\"wp-block-paragraph\">Nuestro planteamiento con el Hosting WordPress no consiste solamente en dar espacio para instalar el CMS y dejar toda la optimizaci\u00f3n en manos de un plugin.<\/p>\n\n\n\n<p class=\"wp-block-paragraph\">Trabajamos con infraestructura que incluye almacenamiento SSD NVMe, diferentes versiones de PHP y herramientas pensadas para alojar WordPress, junto con copias de seguridad diarias, cPanel, SSL, medidas de seguridad y migraci\u00f3n gratuita.<\/p>\n\n\n\n<p class=\"wp-block-paragraph\">Y para m\u00ed hay otro punto importante: el soporte.<\/p>\n\n\n\n<p class=\"wp-block-paragraph\">Muchas veces un problema de rendimiento no se resuelve pulsando un bot\u00f3n.<\/p>\n\n\n\n<p class=\"wp-block-paragraph\">Hay que entender qu\u00e9 est\u00e1 ocurriendo.<\/p>\n\n\n\n<p class=\"wp-block-paragraph\">Por eso contar con soporte especializado en WordPress puede terminar siendo tan importante como disponer de una determinada tecnolog\u00eda en el servidor.<\/p>\n\n\n\n<hr class=\"wp-block-separator has-alpha-channel-opacity\"\/>\n\n\n\n<h2 class=\"wp-block-heading\">Errores habituales al utilizar Memcached en WordPress<\/h2>\n\n\n\n<p class=\"wp-block-paragraph\">Memcached no es especialmente complicado de entender cuando tenemos claro para qu\u00e9 sirve.<\/p>\n\n\n\n<p class=\"wp-block-paragraph\">Los problemas suelen comenzar cuando esperamos de \u00e9l algo que nunca estuvo dise\u00f1ado para hacer.<\/p>\n\n\n\n<h3 class=\"wp-block-heading\">Pensar que instalarlo es suficiente<\/h3>\n\n\n\n<p class=\"wp-block-paragraph\">El primer error ya lo hemos comentado.<\/p>\n\n\n\n<p class=\"wp-block-paragraph\">Memcached puede estar instalado en el servidor sin que WordPress lo est\u00e9 utilizando.<\/p>\n\n\n\n<p class=\"wp-block-paragraph\">Hay que completar y verificar la integraci\u00f3n.<\/p>\n\n\n\n<h3 class=\"wp-block-heading\">Activar varias soluciones de cach\u00e9 sin entender qu\u00e9 hace cada una<\/h3>\n\n\n\n<p class=\"wp-block-paragraph\">M\u00e1s cach\u00e9 no significa necesariamente mejor cach\u00e9.<\/p>\n\n\n\n<p class=\"wp-block-paragraph\">Podemos terminar con diferentes plugins y servicios intentando controlar la misma parte del proceso.<\/p>\n\n\n\n<p class=\"wp-block-paragraph\">Antes de activar otro sistema, quiero saber:<\/p>\n\n\n\n<p class=\"wp-block-paragraph\"><strong>\u00bfqu\u00e9 est\u00e1 almacenando?, \u00bfd\u00f3nde?, \u00bfdurante cu\u00e1nto tiempo? y \u00bfqu\u00e9 problema intenta solucionar?<\/strong><\/p>\n\n\n\n<h3 class=\"wp-block-heading\">Esperar que arregle problemas de frontend<\/h3>\n\n\n\n<p class=\"wp-block-paragraph\">Si el principal problema son im\u00e1genes enormes, JavaScript, CSS o recursos externos, Memcached no es la herramienta principal para resolverlos.<\/p>\n\n\n\n<p class=\"wp-block-paragraph\">No podemos pedir a una cach\u00e9 de objetos que optimice aquello que el navegador est\u00e1 descargando.<\/p>\n\n\n\n<h3 class=\"wp-block-heading\">No medir antes y despu\u00e9s<\/h3>\n\n\n\n<p class=\"wp-block-paragraph\">Si activamos Memcached y no sabemos c\u00f3mo se comportaba la web antes, \u00bfc\u00f3mo vamos a saber si realmente ha servido de algo?<\/p>\n\n\n\n<p class=\"wp-block-paragraph\">No siempre tendremos que preparar un laboratorio de rendimiento.<\/p>\n\n\n\n<p class=\"wp-block-paragraph\">Pero s\u00ed deber\u00edamos guardar alguna referencia del comportamiento anterior y comprobar despu\u00e9s si la situaci\u00f3n ha mejorado.<\/p>\n\n\n\n<h3 class=\"wp-block-heading\">Tratar Memcached como si fuera una base de datos<\/h3>\n\n\n\n<p class=\"wp-block-paragraph\">Probablemente sea el error conceptual m\u00e1s importante.<\/p>\n\n\n\n<p class=\"wp-block-paragraph\">Memcached almacena datos temporales.<\/p>\n\n\n\n<p class=\"wp-block-paragraph\">Nuestra informaci\u00f3n original tiene que seguir existiendo en su fuente correspondiente.<\/p>\n\n\n\n<p class=\"wp-block-paragraph\">Si ma\u00f1ana reiniciamos la cach\u00e9, WordPress deber\u00eda poder continuar funcionando.<\/p>\n\n\n\n<hr class=\"wp-block-separator has-alpha-channel-opacity\"\/>\n\n\n\n<h2 class=\"wp-block-heading\">Entonces, \u00bfmerece la pena Memcached para acelerar WordPress?<\/h2>\n\n\n\n<p class=\"wp-block-paragraph\">S\u00ed, <strong>Memcached puede merecer mucho la pena para acelerar WordPress<\/strong>, especialmente cuando tenemos un sitio din\u00e1mico que realiza numerosas operaciones repetitivas y puede beneficiarse de una cach\u00e9 persistente de objetos.<\/p>\n\n\n\n<p class=\"wp-block-paragraph\">Pero no lo activar\u00eda simplemente porque est\u00e1 disponible.<\/p>\n\n\n\n<p class=\"wp-block-paragraph\">Primero intentar\u00eda entender el problema.<\/p>\n\n\n\n<p class=\"wp-block-paragraph\">Despu\u00e9s medir\u00eda.<\/p>\n\n\n\n<p class=\"wp-block-paragraph\">Y solamente entonces decidir\u00eda si Memcached est\u00e1 actuando sobre uno de los cuellos de botella reales.<\/p>\n\n\n\n<p class=\"wp-block-paragraph\">Una peque\u00f1a web corporativa y un WooCommerce con muchos usuarios no tienen las mismas necesidades.<\/p>\n\n\n\n<p class=\"wp-block-paragraph\">Una p\u00e1gina completamente servida desde cach\u00e9 tampoco se comporta igual que una zona privada donde cada petici\u00f3n tiene que procesarse din\u00e1micamente.<\/p>\n\n\n\n<p class=\"wp-block-paragraph\">La optimizaci\u00f3n siempre necesita contexto.<\/p>\n\n\n\n<p class=\"wp-block-paragraph\">En mi caso, por eso prefiero pensar en Memcached como una pieza de un conjunto mucho m\u00e1s amplio.<\/p>\n\n\n\n<p class=\"wp-block-paragraph\">Una buena configuraci\u00f3n de PHP es otra pieza.<\/p>\n\n\n\n<p class=\"wp-block-paragraph\">Un almacenamiento r\u00e1pido es otra.<\/p>\n\n\n\n<p class=\"wp-block-paragraph\">Una base de datos bien configurada tambi\u00e9n.<\/p>\n\n\n\n<p class=\"wp-block-paragraph\">Despu\u00e9s tenemos la cach\u00e9 de p\u00e1gina, la cach\u00e9 de objetos, WordPress, los plugins, el tema, las im\u00e1genes y el c\u00f3digo que utiliza nuestra web.<\/p>\n\n\n\n<p class=\"wp-block-paragraph\">El visitante no sabe nada de todo esto.<\/p>\n\n\n\n<p class=\"wp-block-paragraph\">No sabe si utilizamos Memcached.<\/p>\n\n\n\n<p class=\"wp-block-paragraph\">No sabe qu\u00e9 versi\u00f3n de PHP estamos ejecutando.<\/p>\n\n\n\n<p class=\"wp-block-paragraph\">No sabe si tenemos SSD NVMe.<\/p>\n\n\n\n<p class=\"wp-block-paragraph\">No sabe cu\u00e1ntas operaciones hemos evitado.<\/p>\n\n\n\n<p class=\"wp-block-paragraph\">Simplemente pulsa un enlace y espera que la p\u00e1gina responda r\u00e1pido.<\/p>\n\n\n\n<p class=\"wp-block-paragraph\">Y eso es, al final, lo que importa.<\/p>\n\n\n\n<p class=\"wp-block-paragraph\">Porque <strong>acelerar WordPress rara vez depende de instalar una \u00fanica herramienta<\/strong>.<\/p>\n\n\n\n<p class=\"wp-block-paragraph\">Normalmente depende de algo bastante menos espectacular:<\/p>\n\n\n\n<p class=\"wp-block-paragraph\"><strong>hacer bien muchas peque\u00f1as cosas al mismo tiempo.<\/strong><\/p>\n\n\n\n<hr class=\"wp-block-separator has-alpha-channel-opacity\"\/>\n\n\n\n<h2 class=\"wp-block-heading\">Dudas de la comunidad<\/h2>\n\n\n\n<h3 class=\"wp-block-heading\">\u00bfMemcached hace que WordPress cargue m\u00e1s r\u00e1pido?<\/h3>\n\n\n\n<p class=\"wp-block-paragraph\">Puede hacerlo cuando WordPress se beneficia de reutilizar objetos y datos almacenados temporalmente en memoria. El resultado depender\u00e1 del tipo de web y de d\u00f3nde se encuentre realmente el cuello de botella.<\/p>\n\n\n\n<p class=\"wp-block-paragraph\">Si el principal problema de rendimiento est\u00e1 en im\u00e1genes, scripts externos o alg\u00fan otro elemento que Memcached no pueda mejorar, el efecto ser\u00e1 mucho menor.<\/p>\n\n\n\n<h3 class=\"wp-block-heading\">\u00bfMemcached sirve para WooCommerce?<\/h3>\n\n\n\n<p class=\"wp-block-paragraph\">Puede resultar especialmente interesante en WooCommerce porque una tienda tiene muchas partes din\u00e1micas: usuarios, carritos, sesiones, productos, categor\u00edas, atributos, precios y configuraciones.<\/p>\n\n\n\n<p class=\"wp-block-paragraph\">Eso no significa que debamos activarlo sin analizar el sitio, pero WooCommerce es precisamente uno de los escenarios donde una cach\u00e9 persistente de objetos puede tener bastante sentido.<\/p>\n\n\n\n<h3 class=\"wp-block-heading\">\u00bfMemcached sustituye un plugin de cach\u00e9?<\/h3>\n\n\n\n<p class=\"wp-block-paragraph\">No necesariamente.<\/p>\n\n\n\n<p class=\"wp-block-paragraph\">Depende de qu\u00e9 tipo de cach\u00e9 implemente el plugin.<\/p>\n\n\n\n<p class=\"wp-block-paragraph\">Memcached trabaja principalmente como almacenamiento temporal para objetos y datos. Una soluci\u00f3n de cach\u00e9 de p\u00e1gina puede tener una funci\u00f3n diferente.<\/p>\n\n\n\n<p class=\"wp-block-paragraph\">Ambas pueden complementarse.<\/p>\n\n\n\n<h3 class=\"wp-block-heading\">\u00bfPuedo utilizar Memcached y cach\u00e9 de p\u00e1gina al mismo tiempo?<\/h3>\n\n\n\n<p class=\"wp-block-paragraph\">S\u00ed.<\/p>\n\n\n\n<p class=\"wp-block-paragraph\">De hecho, tiene bastante sentido cuando cada sistema est\u00e1 correctamente configurado.<\/p>\n\n\n\n<p class=\"wp-block-paragraph\">La cach\u00e9 de p\u00e1gina puede encargarse de contenido que no necesita ser generado nuevamente en cada visita, mientras que Memcached puede ayudar con determinadas operaciones internas cuando WordPress s\u00ed tiene que ejecutarse.<\/p>\n\n\n\n<h3 class=\"wp-block-heading\">\u00bfEs mejor Redis o Memcached para WordPress?<\/h3>\n\n\n\n<p class=\"wp-block-paragraph\">No considero que exista una respuesta universal.<\/p>\n\n\n\n<p class=\"wp-block-paragraph\">Ambas opciones pueden utilizarse dentro de una estrategia de cach\u00e9 persistente.<\/p>\n\n\n\n<p class=\"wp-block-paragraph\">Para muchos usuarios ser\u00e1 m\u00e1s importante utilizar la tecnolog\u00eda que su hosting tenga bien integrada, configurada y soportada.<\/p>\n\n\n\n<h3 class=\"wp-block-heading\">\u00bfNecesito un VPS para utilizar Memcached?<\/h3>\n\n\n\n<p class=\"wp-block-paragraph\">Lo que necesitas es un entorno de hosting que ofrezca el servicio y permita que WordPress lo utilice.<\/p>\n\n\n\n<p class=\"wp-block-paragraph\">Puedes encontrar Memcached en servicios administrados sin necesidad de gestionar personalmente un VPS.<\/p>\n\n\n\n<p class=\"wp-block-paragraph\">Lo importante es comprobar qu\u00e9 ofrece tu proveedor.<\/p>\n\n\n\n<h3 class=\"wp-block-heading\">\u00bfC\u00f3mo s\u00e9 si mi hosting tiene Memcached?<\/h3>\n\n\n\n<p class=\"wp-block-paragraph\">Puedes revisar el panel de control o consultar directamente con soporte.<\/p>\n\n\n\n<p class=\"wp-block-paragraph\">Adem\u00e1s de preguntar si el servicio existe, conviene confirmar c\u00f3mo se integra con WordPress y qu\u00e9 pasos necesitas realizar para utilizar una cach\u00e9 persistente de objetos.<\/p>\n\n\n\n<h3 class=\"wp-block-heading\">\u00bfQu\u00e9 es <code>object-cache.php<\/code> en WordPress?<\/h3>\n\n\n\n<p class=\"wp-block-paragraph\">Es un archivo que puede funcionar como <em>drop-in<\/em> para modificar la forma en la que WordPress gestiona su cach\u00e9 de objetos.<\/p>\n\n\n\n<p class=\"wp-block-paragraph\">Cuando utilizamos una soluci\u00f3n de cach\u00e9 persistente, este archivo puede formar parte de la integraci\u00f3n entre WordPress y el sistema externo de cach\u00e9.<\/p>\n\n\n\n<h3 class=\"wp-block-heading\">\u00bfQu\u00e9 ocurre si Memcached se queda sin memoria?<\/h3>\n\n\n\n<p class=\"wp-block-paragraph\">Los elementos almacenados en cach\u00e9 son temporales y pueden ser eliminados cuando sea necesario liberar espacio.<\/p>\n\n\n\n<p class=\"wp-block-paragraph\">La informaci\u00f3n original no deber\u00eda depender de Memcached.<\/p>\n\n\n\n<p class=\"wp-block-paragraph\">Si un dato deja de estar disponible en la cach\u00e9, WordPress debe poder recuperarlo nuevamente desde su fuente original y almacenarlo otra vez.<\/p>\n\n\n\n<h3 class=\"wp-block-heading\">\u00bfMemcached sustituye MySQL o MariaDB?<\/h3>\n\n\n\n<p class=\"wp-block-paragraph\">No.<\/p>\n\n\n\n<p class=\"wp-block-paragraph\">MySQL o MariaDB siguen almacenando los datos originales de WordPress.<\/p>\n\n\n\n<p class=\"wp-block-paragraph\">Memcached funciona como una capa temporal destinada a facilitar la recuperaci\u00f3n de determinados datos y reducir trabajo repetitivo.<\/p>\n\n\n\n<p class=\"wp-block-paragraph\">La base de datos y Memcached tienen funciones diferentes.<\/p>\n\n\n\n<p class=\"wp-block-paragraph\"><strong>Opini\u00f3n Personal<\/strong><\/p>\n\n\n\n<p class=\"wp-block-paragraph\">Memcached es una de esas tecnolog\u00edas que merece m\u00e1s atenci\u00f3n de la que suele recibir cuando hablamos de optimizaci\u00f3n de WordPress.<\/p>\n\n\n\n<p class=\"wp-block-paragraph\">No porque vaya a transformar por s\u00ed sola una web lenta en una web ultrarr\u00e1pida, sino porque puede ayudar a reducir trabajo repetitivo y mejorar la eficiencia cuando realmente existe un cuello de botella relacionado con la cach\u00e9 de objetos y la base de datos.<\/p>\n\n\n\n<p class=\"wp-block-paragraph\">En mi caso, prefiero verlo como una pieza m\u00e1s dentro de una estrategia completa de rendimiento. De poco sirve tener Memcached funcionando perfectamente si despu\u00e9s cargamos im\u00e1genes enormes, utilizamos plugins poco optimizados o tenemos una mala configuraci\u00f3n del servidor.<\/p>\n\n\n\n<p class=\"wp-block-paragraph\">Por eso mi recomendaci\u00f3n es sencilla: <strong>medir primero y optimizar despu\u00e9s<\/strong>.<\/p>\n\n\n\n<p class=\"wp-block-paragraph\">Cuando se utiliza en el escenario adecuado, especialmente en webs din\u00e1micas, WooCommerce o proyectos con muchas consultas, Memcached puede aportar bastante valor. Pero lo importante es entender qu\u00e9 problema estamos intentando resolver antes de activarlo.<\/p>\n\n\n\n<p class=\"wp-block-paragraph\">Ahora me interesa conocer tu experiencia.<\/p>\n\n\n\n<p class=\"wp-block-paragraph\"><strong>\u00bfHas utilizado Memcached en WordPress? \u00bfNotaste alguna mejora o te encontraste con alg\u00fan problema al configurarlo? D\u00e9jame tu experiencia en los comentarios.<\/strong><\/p>\n","protected":false},"excerpt":{"rendered":"<p>Cuando hablamos de acelerar WordPress, casi siempre terminamos escuchando las mismas recomendaciones: optimizar las im\u00e1genes, reducir plugins, utilizar una versi\u00f3n reciente de PHP, activar alg\u00fan sistema de cach\u00e9 y, por supuesto, alojar la web en un servidor que tenga recursos suficientes. Todo eso ayuda. Pero existe otra tecnolog\u00eda que muchas veces pasa bastante m\u00e1s desapercibida [&hellip;]<\/p>\n","protected":false},"author":1,"featured_media":9504,"comment_status":"open","ping_status":"open","sticky":false,"template":"","format":"standard","meta":{"_aifi_custom_prompt":"","site-sidebar-layout":"default","site-content-layout":"","ast-site-content-layout":"default","site-content-style":"default","site-sidebar-style":"default","ast-global-header-display":"","ast-banner-title-visibility":"","ast-main-header-display":"","ast-hfb-above-header-display":"","ast-hfb-below-header-display":"","ast-hfb-mobile-header-display":"","site-post-title":"","ast-breadcrumbs-content":"","ast-featured-img":"","footer-sml-layout":"","ast-disable-related-posts":"","theme-transparent-header-meta":"","adv-header-id-meta":"","stick-header-meta":"","header-above-stick-meta":"","header-main-stick-meta":"","header-below-stick-meta":"","astra-migrate-meta-layouts":"set","ast-page-background-enabled":"default","ast-page-background-meta":{"desktop":{"background-color":"","background-image":"","background-repeat":"repeat","background-position":"center center","background-size":"auto","background-attachment":"scroll","background-type":"","background-media":"","overlay-type":"","overlay-color":"","overlay-opacity":"","overlay-gradient":""},"tablet":{"background-color":"","background-image":"","background-repeat":"repeat","background-position":"center center","background-size":"auto","background-attachment":"scroll","background-type":"","background-media":"","overlay-type":"","overlay-color":"","overlay-opacity":"","overlay-gradient":""},"mobile":{"background-color":"","background-image":"","background-repeat":"repeat","background-position":"center center","background-size":"auto","background-attachment":"scroll","background-type":"","background-media":"","overlay-type":"","overlay-color":"","overlay-opacity":"","overlay-gradient":""}},"ast-content-background-meta":{"desktop":{"background-color":"var(--ast-global-color-5)","background-image":"","background-repeat":"repeat","background-position":"center center","background-size":"auto","background-attachment":"scroll","background-type":"","background-media":"","overlay-type":"","overlay-color":"","overlay-opacity":"","overlay-gradient":""},"tablet":{"background-color":"var(--ast-global-color-5)","background-image":"","background-repeat":"repeat","background-position":"center center","background-size":"auto","background-attachment":"scroll","background-type":"","background-media":"","overlay-type":"","overlay-color":"","overlay-opacity":"","overlay-gradient":""},"mobile":{"background-color":"var(--ast-global-color-5)","background-image":"","background-repeat":"repeat","background-position":"center center","background-size":"auto","background-attachment":"scroll","background-type":"","background-media":"","overlay-type":"","overlay-color":"","overlay-opacity":"","overlay-gradient":""}},"footnotes":""},"categories":[491],"tags":[1414,1463,293],"class_list":["post-9503","post","type-post","status-publish","format-standard","has-post-thumbnail","hentry","category-wordpress","tag-acelerar-wordpress","tag-memcached","tag-optimizar"],"_links":{"self":[{"href":"https:\/\/www.hostingtg.com\/blog\/wp-json\/wp\/v2\/posts\/9503","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/www.hostingtg.com\/blog\/wp-json\/wp\/v2\/posts"}],"about":[{"href":"https:\/\/www.hostingtg.com\/blog\/wp-json\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"https:\/\/www.hostingtg.com\/blog\/wp-json\/wp\/v2\/users\/1"}],"replies":[{"embeddable":true,"href":"https:\/\/www.hostingtg.com\/blog\/wp-json\/wp\/v2\/comments?post=9503"}],"version-history":[{"count":2,"href":"https:\/\/www.hostingtg.com\/blog\/wp-json\/wp\/v2\/posts\/9503\/revisions"}],"predecessor-version":[{"id":9506,"href":"https:\/\/www.hostingtg.com\/blog\/wp-json\/wp\/v2\/posts\/9503\/revisions\/9506"}],"wp:featuredmedia":[{"embeddable":true,"href":"https:\/\/www.hostingtg.com\/blog\/wp-json\/wp\/v2\/media\/9504"}],"wp:attachment":[{"href":"https:\/\/www.hostingtg.com\/blog\/wp-json\/wp\/v2\/media?parent=9503"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/www.hostingtg.com\/blog\/wp-json\/wp\/v2\/categories?post=9503"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/www.hostingtg.com\/blog\/wp-json\/wp\/v2\/tags?post=9503"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}