Migrar las noticias de Typo3 (tt_news) a WordPress paso a paso

Hace ya un tiempo escribí este post contando que había conseguido pasar de Typo a WordPress. También decía que algún día escribiría un paso a paso. Un comentario del usuario June me lo pedía, y vamos a tratar de explicarlo.

Para realizar éste paso a paso se necesitan tres cosas (evidentemente):

  • una instalación de Typo3 con la extensión tt_news instalada, que son las noticias que queremos migrar
  • una instalación de WordPress vacía, donde queremos importar las noticias de Typo3
  • paciencia y nervios de acero 🙂

La idea general del proceso es que WordPress permite importar entradas desde diferentes fuentes. Una de ellas es un archivo RSS 2.0. Por ello, lo que vamos a buscar es generar un RSS con todas las noticias en Typo3. Guardaremos ese fichero y posteriormente lo importaremos en WordPress.

Typo3

En Typo3 necesitamos generar las noticias, pero en formato RSS y no mostrarlas como normalmente aparecen. Para ello, nos vamos a crear dos páginas, una llamada RSS que es donde colocaremos un plug-in tt_news y otra colgando de ésta que es necesaria para mostrar las noticias una a una.

Páginas Typo3 para conseguir RSSContenido de la página que genera los RSS

He creado ambas páginas activando la opción de «ocultar en menú», ya que en mi caso no quería que aparecieran en el menú principal de mi sitio.

Dentro de la página rss news (podemos ver su contenido en la imagen lateral) crearemos un plug-in tt_news y un template de extensión (llamado por defecto, y así se quedó, +ext).

La configuración del plugin tt_news: ponemos en la opción de mostrar las noticias LIST (todas las noticias). Es importante definir en Otras opciones la «PageId donde se muestran noticias individuales» y «PageId a donde regresar», apuntando a la página «one rss». El punto de inicio de las noticias será, como siempre, la carpeta donde almacenemos nuestros tt_news.

El contenido del Template

Constants:

### Configure tt_news to display the xml template
### Page that contains the News List
xmlnewsfeed_id = 171
### RSS Setup
plugin.tt_news  {
displayXML {
rss2_tmplFile = EXT:tt_news/res/rss_2.tmpl
xmlFormat = rss2xmlTitle = Export RSS to WordPress
xmplLink = http://www.freniche.com
xmlDesc = Exporting to WPxmlLang = es
xmlIcon = fileadmin/rss_icon.giftitle_stdWrap.htmlSpecialChars = 1

title_stdWrap.htmlSpecialChars.preserveEntities = 1

subheader_stdWrap.stripHtml = 1

subheader_stdWrap.htmlSpecialChars = 1

subheader_stdWrap.htmlSpecialChars.preserveEntities = 1

subheader_stdWrap.crop = 500| ... | 1

subheader_stdWrap.ifEmpty.field = bodytext

xmlLastBuildDate = 1

}

}

plugin.tt_news.limit = 5

plugin.tt_news.displayXML.xmlLimit = 1000

Setup:

# ------------- RSS News Plugin ------------------------------
###Header
page.headerData.500 = TEXT
# MUY IMPORTANTE: las dos siguientes líneas deben ir juntas, las he separado para que se lean mejor en el post
page.headerData.500.value = <link rel="alternate"
type="application/rss+xml" title="RSS-Feed" href="http://www.freniche.com/index.php?id={$xmlnewsfeed_id}&type=100" />
# ------------- This enables the xml news feed ---------------------
xmlnews = PAGExmlnews {
typeNum = 10020 >20 < plugin.tt_news20.pid_list >

20.pid_list = {$xmlnews.pid_list}

20.singlePid = {$xmlnews.singlePid}20.defaultCode = XML

config {disableAllHeaderCode = 1

additionalHeaders = Content-type:text/xmlno_cache = 1

xhtml_cleaning = 0}

}

Es muy importante que en el plugin se incluya el template estático plugin.alt.xml (96) y el template estático (de las extensiones) News Feed (RSS, RD, ATOM) (tt_news), como se puede ver en la imagen.

Configuración del template

En la página one-rss debemos poner un plug-in tt_news (noticias) para que se muestren las noticias una a una (opción qué mostrar puesta a SINGLE).

Generar el RSS

Ahora ya podemos probar si funciona la generación del RSS. Para ello, mostraremos en otra ventana (o pestaña) la página rss news, usando su pageId (que en éste caso es 171) e indicando que el tipo de página es 100. Este type=100 lo indicamos en la parte setup del template (typenum = 100). Luego si vamos a: http://www.freniche.com/index.php?id=171&type=100, se mostrará un flujo RSS al que podremos suscribirnos.

Si hemos llegado hasta aquí, podemos probar a pulsar CTRL-U (o, en mi Mac, Command-U) para ver el código fuente del RSS. Veremos que aparecen las entradas de las noticias de Typo3. ¡Vamos por el buen camino!rss.png

Este código XML podemos guardarlo como un fichero que se llame rss.txt. Ahora pasemos a WordPress para importarlo.

WordPress

Aquí es todo muuuucho más fácil. WordPress importa RSS sin problemas, a través de la opción Administrar -> Importar. Entre los formatos disponibles aparece RSS. Basta ahora con seleccionar el fichero rss.txt que hemos generado antes y ¡listo!. Las entradas comienzan a importarse.

importar-rss.png

En mi caso el límite de subida del fichero RSS de WordPress era demasiado pequeño, así que tiré por la calle de enmedio y rompí el fichero en varios trozos para que entraran correctamente en su tamaño. Para eso está en UNIX el comando split.

j j j

¡Acabo de importar todas las entradas de Typo3 a WordPress!

Oh Yeah! ¡Prueba superada!

Acabo de incorporar todas las entradas del blog antiguo Typo3 de freniche.com (gestionadas mediante la extensión de Typo3 tt_news) en esta nueva encarnación del Blog que usa WordPress. Estuve buscando un tiempo por Internet, pero no encontré un «cómo migrar de Typo3 a WordPress». Más adelante escribiré un paso a paso de cómo lo he hecho yo, pero de momento sólo quería anunciar que:

  • todas las entradas que estaban disponibles en freniche.com (typo3) están ahora disponibles en freniche.com (WordPress)
  • probablemente algunos enlaces ya no funcionen (las primeras entradas son de 2003)
  • los caracteres especiales del Español (acentos, eñe, etc.) se han perdido. Pido paciencia.
  • progresivamente voy a revisar entrada por entrada para corregir estos errores e incluir las imágenes que tenían originalmente.
  • se han creado categorías duplicadas, o algunos posts duplicados. Lo iremos solucionando.
  • terminar de pulir los problemas que el plugin de «multiidioma» le causa a la plantilla, y es lo que causa que las fechas aparezcan a veces «raras».

Ahora ya quedan dos tareas fundamentales, para considerar la web en su v1.0 terminada (ya me vale, tras casi 5 años):

  • acabar de importar los artículos (páginas en Typo3) que no eran parte del Blog, sino información más o menos estática (ya hay algunos en la sección Artículos). Esto me exigirá redactar de nuevo algunos, revisarlos, etc. Un poco como las entradas.
  • cambiar entre Typo3 y WordPress, de forma que cuando alguien escriba www.freniche.com en su navegador por defecto le salga WordPress.

Tras estos cambios quiero adaptar el Blog para que sea cómodo de ver desde el móvil, traducir algunas entradas al Inglés, etc. Lo de siempre, vamos.

j j j

Muchos cambios en freniche.com

Hace tiempo que vengo observando las carencias en este sitio web. Había cosas evidentes que se debían arreglar, pero no encontraba el tiempo. Hoy me he puesto manos a la obra y he solucionado algunas de ellas:

  • Para empezar, ahora se muestran 10 posts en la página de inicio, y no tres, que es como viene por defecto el plug-in tt_news, encargado de las noticias. Creo que es más sencillo desplazar la página hacia abajo que no intuir que hay que pinchar en la opción de menú «Archivo completo» para ver todos los envíos.
  • Para empeorar las cosas, al final de la lista había un enlace «Ir al Archivo» que no estaba activo. No hay nada peor que algo así. Si muestras algo en una web, que funcione. Y si no, no lo enseñes, porque frustra a la gente. Intenta pinchar y nada, mueve el ratón alrededor y ¡nada!. En fin, ahora funciona.
  • He añadido una opción de «envíos por meses», que muestra los posts agrupados por años y meses, al estilo del resto de los blogs del mundo. Hay que imitar a la mayoría porque, si no, si se es «demasiado diferente», se hace pensar demasiado al visitante y puede ser que se acabe largando y no vuelva jamás. Ya se sabe lo que dice Steve Krug: «Don’t make me think»
  • Por fin funciona el libro de visitas. Está en Inglés. Ya lo traduciremos, etc. etc. Pero funciona.
  • Y por último, pero no por ello menos importante, he conseguido activar la simulación de URL estática en Typo3 (SimulateStaticDocuments). Typo3 ofrece unas URLs francamente feas y complicadas de recordar. Encima, estas URLs no les gustan demasiado a los buscadores. Por ejemplo, la URL antigua para ir al inicio es:

www.freniche.com/index.php?id=20
y la nueva es:
www.freniche.com/index.php/Noticias/37/0/
¿Cuál es m?s fácil de recordar? Al menos la segunda lleva la palabra «Noticias» dentro 🙂

Quedan algunas mejoras evidentes en el uso de la página y su navegación, que iré preparando poco a poco. También debería repasar el aspecto estético. Pero eso será en Agosto.

j j j

Por fin Typo3 funciona en www.freniche.com

Logo Typo3

Tras una larga y dura pelea, parece que la migración al nuevo servidor va funcionando. Esto significa que todo lo que hay dinámico en la página ya funciona (por ej., las FAQs).

Ahora que, por fin, la parte de sistemas va a funcionar me voy a dedicar a introducir todo el contenido que os mereceis.

Saludos al fin desde un servidor estable.

j j j