Si te dedicas a diseñar y personalizar temas para Blogger o si quieres realizar tu propio diseño, aqui te explicare a fondo las etiquetas, variables y datos que maneja el sistema de Blogger. En este articulo te explicare de forma clara y sencilla sobre los principales codigos y etiquetas que puedes utilizar para crear temas modernos, funcionales y optimizados para SEO.
Esta guia es un extracto simplificado del Blog original Blogger Code PE, donde se profundiza en las referencias tecnicas del sistema de plantillas de Blogger. Aqui encontraras las definiciones, tipos y ejemplos practicos que te ayudaran a implementar correctamente las funcionalidades de tus temas.
¿Por qué es importante conocer estas etiquetas y variables en Blogger?
Blogger utiliza un sistema de plantillas basado en XML y etiquetas personalizadas que permiten insertar datos dinámicos y condicionales para mostrar contenido, configurar vistas, mostrar widgets, y mucho más. Sin embargo, la documentación oficial no siempre es fácil de interpretar, por eso esta referencia práctica es útil para desarrolladores y diseñadores que quieren optimizar sus plantillas sin cometer errores.
Dominar estas etiquetas no solo te permite crear temas más personalizados y profesionales, sino también mejorar la experiencia de usuario y el SEO de tu blog, al controlar mejor cómo se muestran los títulos, descripciones, enlaces canónicos, fechas, autores y comentarios.
Referencias principales: Etiquetas, Variables y su uso en Blogger
A continuación, se muestra una tabla con las etiquetas y variables más comunes, explicando qué hacen, su tipo de dato y un ejemplo básico de cómo usarlas dentro de las plantillas de Blogger.Argumento / Etiqueta | Descripción | Tipo | Ejemplo de Uso |
---|---|---|---|
view.title | Muestra el título de la vista o página actual | String | <data:view.title/> |
view.title.escaped | Título escapado para evitar problemas con caracteres especiales en HTML | String | <data:view.title.escaped/> |
view.description | Descripción general de la vista | String | <data:view.description/> |
view.description.escaped | Descripción escapada para HTML seguro | String | <data:view.description.escaped/> |
view.type | Define el tipo de página (inicio, post, archivo, búsqueda, etc.) | String | <data:view.type/> |
view.url.canonical | URL canónica para mejorar el SEO y evitar contenido duplicado | String | <data:view.url.canonical/> |
view.isHomepage | Indica si la vista actual es la página principal | Boolean | <b:if cond='data:view.isHomepage'>...</b:if> |
view.isPost | Indica si se está mostrando una entrada individual | Boolean | <b:if cond='data:view.isPost'>...</b:if> |
view.isSearch | Indica si la vista corresponde a una página de resultados de búsqueda | Boolean | <b:if cond='data:view.isSearch'>...</b:if> |
Más ejemplos y variables útiles para personalizar tus temas
Además de las variables principales para identificar el tipo de vista y su contenido, Blogger ofrece configuraciones para mostrar u ocultar elementos como fecha, autor, etiquetas, comentarios, botones para compartir y estilos visuales.
Estas configuraciones son clave para que puedas crear temas flexibles que se adapten a diferentes estilos y necesidades.
Argumento / Variable | Descripción | Tipo | Ejemplo de Uso |
---|---|---|---|
showDateHeader | Controla la visualización del encabezado con la fecha del post | Boolean | <b:if cond='data:showDateHeader'>...</b:if> |
showAuthor | Muestra el nombre del autor del post | Boolean | <b:if cond='data:showAuthor'>...</b:if> |
showLabels | Controla la aparición de etiquetas o categorías en el post | Boolean | <b:if cond='data:showLabels'>...</b:if> |
showShareButtons | Habilita botones para compartir el contenido en redes sociales | Boolean | <b:if cond='data:showShareButtons'>...</b:if> |
style.textcolor | Define el color del texto en la plantilla | String (color hexadecimal o nombre) | <data:style.textcolor/> |
style.bgcolor | Define el color de fondo de la plantilla | String (color) | <data:style.bgcolor/> |
Uso práctico de etiquetas para posts y comentarios
Variable | Descripción | Tipo | Ejemplo de Uso |
---|---|---|---|
posts.dateHeader | Fecha del post, solo aparece si es el primer post del día | String (fecha) | <data:posts.dateHeader/> |
posts.id | ID numérico único del post | Integer | <data:posts.id/> |
posts.title | Título del post | String | <data:posts.title/> |
posts.snippets.long | Resumen de la Entrada de 200 caracteres | String | <data:posts.snippets.long/> |
posts.snippets.short | Resumen de la Entrada de 100 caracteres | String | <data:posts.snippets.short/> |
posts.body | Contenido principal del post | HTML/String | <data:posts.body/> |
posts.author | Nombre para mostrar del autor del post | String | <data:posts.author/> |
posts.url | URL permanente (permalink) del post | String (URL) | <data:posts.url/> |
posts.timestamp | Fecha y hora del post | String (fecha/hora) | <data:posts.timestamp/> |
posts.labels | Lista de etiquetas del post (cada etiqueta tiene propiedades) | Array [Object] | Iterar con <b:loop values='data:posts.labels' var='label'> |
posts.labels.name | Texto del nombre de la etiqueta | String | <data:label.name/> |
posts.labels.url | URL que lista posts con esa etiqueta | String (URL) | <data:label.url/> |
posts.labels.isLast | Indica si es la última etiqueta (para separar con comas) | Boolean | <b:if cond='data:label.isLast'> |
posts.allowComments | Indica si se permiten comentarios en el post | Boolean | <b:if cond='data:posts.allowComments'> |
posts.numComments | Número de comentarios en el post | Integer | <data:posts.numComments/> |
posts.showBacklinks | Indica si se muestran backlinks | Boolean | <b:if cond='data:posts.showBacklinks'> |
posts.numBacklinks | Número de backlinks | Integer | <data:posts.numBacklinks/> |
posts.addCommentUrl | URL para agregar un comentario | String (URL) | <data:posts.addCommentUrl/> |
posts.emailPostUrl | URL para enviar el post por email | String (URL) | <data:posts.emailPostUrl/> |
posts.editUrl | URL para editar el post | String (URL) | <data:posts.editUrl/> |
posts.feedLinks | Lista de feeds específicos del post (p. ej. comentarios) | Array [Object] | Iterar con <b:loop values='data:posts.feedLinks' var='feed'> |
posts.feedLinks.url | URL del feed | String (URL) | <data:feed.url/> |
posts.feedLinks.name | Nombre del feed (Posts, Comments) | String | <data:feed.name/> |
posts.feedLinks.feedType | Tipo de feed (Atom, RSS) | String | <data:feed.feedType/> |
posts.feedLinks.mimeType | Mime type del feed | String | <data:feed.mimeType/> |
posts.comments | Lista de comentarios del post (solo en páginas de item) | Array [Object] | Iterar con <b:loop values='data:posts.comments' var='comment'> |
posts.comments.id | ID numérico del comentario | Integer | <data:comment.id/> |
posts.comments.body | Contenido del comentario | String/HTML | <data:comment.body/> |
posts.comments.timestamp | Fecha y hora del comentario | String | <data:comment.timestamp/> |
posts.comments.author | Nombre del autor del comentario o 'Anonymous' | String | <data:comment.author/> |
posts.comments.authorUrl | URL del perfil del autor (si no es anónimo) | String (URL) | <data:comment.authorUrl/> |
posts.comments.deleteUrl | URL para eliminar el comentario | String (URL) | <data:comment.deleteUrl/> |
posts.comments.isDeleted | Indica si el comentario fue borrado (muestra texto placeholder) | Boolean | <b:if cond='data:comment.isDeleted'>...</b:if> |
Uso práctico de Widgets
Teniendo en cuenta los conceptos que hemos compartido, podemos crear cualquier Widget en Blogger. A continuacion mostrare los Codigos necesarios de los Widgets existentes y dejare un ejemplo de uso.
Variable / Configuración | Descripción | Tipo | Ejemplo de Uso |
---|---|---|---|
Blog Widget | Contenedor general para widgets dentro del blog | Objeto | <b:widget id='Widget1'>...</b:widget> |
Settings | Configuraciones generales para widgets y temas | Objeto | <data:settings/> |
showDateHeader | Muestra el encabezado de fecha en posts | Boolean | <b:if cond='data:showDateHeader'>...</b:if> |
style.textcolor | Color del texto principal en la plantilla | String (color) | <data:style.textcolor/> |
showShareButtons | Habilita botones para compartir posts en redes sociales | Boolean | <b:if cond='data:showShareButtons'>...</b:if> |
showCommentLink | Muestra el enlace para agregar comentarios | Boolean | <b:if cond='data:showCommentLink'>...</b:if> |
style.urlcolor | Color para los enlaces URL | String (color) | <data:style.urlcolor/> |
showAuthor | Controla la visibilidad del autor del post | Boolean | <b:if cond='data:showAuthor'>...</b:if> |
style.linkcolor | Color para los links dentro del texto | String (color) | <data:style.linkcolor/> |
style.unittype | Unidad de medida usada en estilos (px, em, %) | String | <data:style.unittype/> |
style.bgcolor | Color de fondo de la plantilla o sección | String (color) | <data:style.bgcolor/> |
timestampLabel | Etiqueta o texto para mostrar la fecha/hora | String | <data:timestampLabel/> |
showAuthorProfile | Indica si se muestra el perfil del autor | Boolean | <b:if cond='data:showAuthorProfile'>...</b:if> |
style.layout | Tipo o nombre del layout usado en la plantilla | String | <data:style.layout/> |
showLabels | Muestra etiquetas o categorías en posts | Boolean | <b:if cond='data:showLabels'>...</b:if> |
showLocation | Muestra ubicación geográfica del autor o post | Boolean | <b:if cond='data:showLocation'>...</b:if> |
postLabelsLabel | Etiqueta que precede a la lista de etiquetas del post | String | <data:postLabelsLabel/> |
showTimestamp | Controla la visualización de la fecha/hora en posts | Boolean | <b:if cond='data:showTimestamp'>...</b:if> |
postsPerAd | Cantidad de posts entre cada anuncio o bloque de publicidad | Integer | <data:postsPerAd/> |
showBacklinks | Muestra enlaces de backlinks en posts | Boolean | <b:if cond='data:showBacklinks'>...</b:if> |
style.bordercolor | Color del borde de secciones o elementos | String (color) | <data:style.bordercolor/> |
showInlineAds | Muestra anuncios insertados dentro del contenido | Boolean | <b:if cond='data:showInlineAds'>...</b:if> |
showReactions | Habilita reacciones o interacciones tipo “me gusta” | Boolean | <b:if cond='data:showReactions'>...</b:if> |
Ejemplo de un Widget de Pagina:
<b:widget id='PageList1' locked='false' title='Páginas' type='PageList' version='2' visible='true'> <b:widget-settings> <b:widget-setting name='pageListJson'><![CDATA[{"link0":{"href":"/","position":0,"title":"Inicio"}}]]></b:widget-setting> <b:widget-setting name='homeTitle'>Inicio</b:widget-setting> </b:widget-settings> <b:includable id='main'> <div class='float-menu'> <nav> <ul> <b:loop values='data:links' var='link'> <li><a expr:href='data:link.href'> <b:class cond='data:link.isCurrentPage' name='is-active-page'/> <data:link.title/></a></li> </b:loop> </ul> </nav> <button class='float-menu-trigger'> <svg viewBox='0 0 24 24'><path d='M3,6H21V8H3V6M3,11H21V13H3V11M3,16H21V18H3V16Z'/></svg> </button> </div> </b:includable> <b:includable id='content'> <div class='widget-content'> <b:include name='pageList'/> </div> </b:includable> <b:includable id='overflowButton'> <b:include name='verticalMoreIcon'/> </b:includable> <b:includable id='overflowablePageList'> <div class='overflowable-container'> <div class='overflowable-contents'> <div class='container'> <b:with value='true' var='overflow'> <b:with value='"tabs"' var='pageListClass'> <b:include name='pageList'/> </b:with> </b:with> </div> </div> <div class='overflow-button hidden'> <b:include name='overflowButton'/> </div> </div> </b:includable> <b:includable id='pageLink'> <li> <b:class cond='data:overflow' name='overflowable-item'/> <b:class cond='data:link.isCurrentPage' name='selected'/> <a expr:href='data:link.href'><data:link.title/></a> </li> </b:includable> <b:includable id='pageList'> <ul> <b:class cond='data:pageListClass' expr:name='data:pageListClass'/> <b:loop values='data:links' var='link'> <b:include name='pageLink'/> </b:loop> </ul> </b:includable> </b:widget>
Cabe destacar que las expresiones, las cuales son utilizadas para poder obtener ciertas informaciones como imagenes, post url, entre otras deben de utilizarse de la siguiente manera. Debes de colocar expr:
delante de lo que quieres conseguir. Ejemplo:
<a expr:href='data:post.url'>