Errores Javascript

Tags, etiquetas en los meta-keywords del documento

Icono de Desarrollo webQuizá te has preguntado alguna vez como podrías usar toda la metainformación que se genera con Wordpress para potenciar los microformatos y las técnicas SEO de tus documentos. Actualizado: Esta en[...]

  • 29
  • sep
  • 2007

Publicado por J.A.Cobo. Guardado en Desarrollo web.
hace 2 años y 5 meses 2 comentarios

Quizá te has preguntado alguna vez como podrías usar toda la metainformación que se genera con Wordpress para potenciar los microformatos y las técnicas SEO de tus documentos.

Actualizado: Esta entrada es algo obsoleta y dirigida a versiones antiguas de Wordpress. Actualmente uso algunas otras funciones algo más complicadas que producen un resultado, aunque más sucio, más completo y que, por ejemplo, evita las advertencias de Google sobre metadatos repetidos.

Actualizado

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
<?php protected function themeKeywords() {
	global $post, $wp_query;
	$theKeywords = get_bloginfo('name') . ', ';
	$theTags = array();
 
	// Single:
	if ( is_single() ) {
		$postTags = get_the_tags($post->ID);
		if ( !empty($postTags) ) {
			foreach ( $postTags as $tag )
				$theTags[] .= $tag->name;
		}
	// Páginas:
	} elseif ( is_page() ) {
		$pageTags = get_post_meta($post->ID, 'Etiquetas', true);
		$theTags = !empty($pageTags) 
			? explode(',', $pageTags) 			// Por metadato
			: str_word_count(get_the_title($post->ID), 1);	// Si no, palabras del título
	// Resto:
	} else {
		$wpTitle = wp_title('&raquo;', false, 'right') . get_bloginfo('name');
		$theTitle = explode(
			'&raquo;', 
			is_home() 
				? str_replace(get_bloginfo('name'), get_bloginfo('description'), $wpTitle) 
				: $wpTitle
		);
		$theTags = explode(' ', $theTitle[0]);
	}
 
	/* Final: */
	$theTags = array_unique($theTags);
	$theKeywords .= !empty($theTags) ? implode(', ', $theTags) : '';
 
	return $theKeywords;
} ?>

En relación a esto, ya publiqué hace poco un borrador para un Plantilla XHTML que potenciaba dicha información… incluir el sistema de clasificación por etiquetas sería una nueva implementación a esta plantilla en Wordpress.

Si usas Wordpress 2.3 es bastante fácil incluir los “tags” de tus entradas en las palabras clave de la sección “head” de tu documento.

1
<meta name="keywords" content="palabras, clave, keywords" />

Hay que decir que el sistema de tags aún está muy poco documentado en Wordpress y para conseguir una lista de etiquetas sin formatear habría que hacerlo de forma un poco manual.

No necesitas ningún plugin para SEO o para metatags… simplemente, ésta es la forma:

Busca la sección meta keywords de tu documento, o la sección que prefieras por ejemplo para Dublin Core, etc…, y añade tus tags:

Vamos allá

1
2
3
4
5
6
7
8
<?php if ( is_single() && function_exists('the_tags') ) {
	$post_tags = get_the_tags($post->ID);
	$filteredTags = function_exists('myFilterTag') 
		? array_map("myFilterTag", $post_tags) 
		: array_values($post_tags);
	$theTags = join(', ', $post_tags);
} ?>
<meta name="keywords" content="<?php echo $theTags; ?>, tus, otros, tags" />

Listo :D

*Nota: Puedes comprobar get_the_tags(): if ( function_exists(get_the_tags) ) {} pero es la función principal, sin ella no hay ninguna otra. O lo que es lo mismo, si existe the_tags() existe get_the_tags().
Se recomienda mirar el trac de las etiquetas en el enlace anterior.

Una función

Añado como nota la función de filtrado que uso y que acabará siendo una función global para obtener los tags sin formatear.

Arreglado
1
2
3
4
5
6
7
8
/**
 * myFilterTag (apply to unfiltered tags)
 */
function myFilterTag($myTag) {
	$myFilterTag = apply_filters('the_tags', $myTag);
	$myTagName = htmlentities($myFilterTag); // Otros filtros...
	return $myTagName;
}

¿Por qué no filtrar directamente??:
Porque así puedes usarla en otras secciones de tu documento donde no quieras tener tus tags como enlaces.

Acerca del autor

Avatar del autor J.A.Cobo, «Geek» apasionado por la tecnología, la historia y la aviación con especial interés en el Desarrollo Web basado en estándares, la aplicación semántica de la web y la accesibilidad en la misma. Hubo un tiempo en el que también escribía relatos, principal inspiración para iniciar un «blog».

2 comentarios para « Tags, etiquetas en los meta-keywords del documento»

  1. Covi,

    Muchas gracias por la información.

    Pude insertar tags como meta keywords usando myFilterTag, pero tengo problemas con las vocales con tilde y otros caracteres especiales.

    Además, no entiendo cómo llamar a la función myPureTags desde el header.

    Gracias, de nuevo.

  2. Covi dice:

    Lo siento :D edité el post sin actualizar ambos códigos, es evidente que la función de filtrado no existe xD

    Si usaste el código con myFilterTag() , la función del bloque de código inferior se debe llamar así también ^^.
    Es decir, cambia: myPureTags($myTag) por myFilterTag($myTag) o viceversa.

    Por esa misma razón no te formatea los caracteres especiales, la función al efecto es htmlentities() pero como la función myFilterTag() no existe, no se aplica nada a las keywords.
    Gracias por comentar y espero que te haya servido.

    Nota: Es un función propia… debes añadirla a tu código en la sección que prefieras pero lo más normal y elegante es tenerla en tu functions.php.
    Obviamente se puede prescindir de ella, por eso indico: Your filters ya que esa sección está dedicada a que cada uno aplique los filtros que crea oportunos, por ejemplo en un entorno anglosajón, imagino que con aplicar los filtros de seguridad y formateo ( appy_filters() ) de Wordpress les basta.

    PD: De todas formas edito el post para arreglarlo, perdón :(

Reacciones (track/pingbacks)

Dejar un comentario.no seas tímido

Campos personales


¿Qué opinas?

Licencia y acuerdo

Logo Creative Commons Los datos introducidos en este formulario se tratarán, en matería de seguridad, de acuerdo a la normativa española sobre protección de datos ( LOPD ) pese a no estar sujetos a ella. Los contenidos pasarán a ser liberados para Cultura Digital.org bajo las licencias Creative Commons BY-SA y GFDL1.3 como una obra derivada de la que el autor mantendrá el copyright.
Asegúrate de entender estos términos antes de enviar tu comentario.

Artículo 2: Ámbito de aplicación.
[...]
Punto 2. El régimen de protección de los datos de carácter personal que se establece en la presente Ley Orgánica no será de aplicación:
a) A los ficheros mantenidos por personas físicas en el ejercicio de actividades exclusivamente personales o domésticas.
[...]

El autor del blog, Juan Antonio Cobo, se reserva el derecho a decidir sobre la publicación de los comentarios de acuerdo a la lógica común, las buenas maneras y la relevancia de los mismos con la entrada.

Avatar en TwitterJuan Antonio Cobo
JuanAntonioCobo

  • http://blog.culturadigital.org/acerca-de - 19
  • Joder como juega el depor, partidazo Sevilla - Depor (vía Do).
    - hace 5 horas y 28 minutos
  • @pedrerol ¿Sutil sugerencia para el Madrid acerca de Del Bosque? -tras el mundial claro- (vía web).
    - hace 5 horas y 34 minutos
  • @pedrerol vía web, @maldinisport vía Twitterrific (Mac) ...tendrá que valer la coletilla: «Canal plus, es más» gg (vía web).
    - hace 5 horas y 42 minutos
  • Maldición madridista, en basket también?? (vía Do).
    - hace 9 horas y 44 minutos
  • @jakinho Pues no sé explicarlo técnicamente pero creo que es obvio mientras el balón no empiece a desacelerar. (vía web).
    - hace 9 horas y 46 minutos
  • Malouda se merecía el gol, gran gol. (vía Do).
    - hace 10 horas y 7 minutos
  • @pedrerol @JuanAntonioCobo Hay que hablar en el vestuario y trabajar más para dar ejemplo. En eso sí que estoy de acuerdo. (vía web).
    - hace 10 horas y 57 minutos
  • Malouda una máquina de asistencias y colgar balones perfectos. (vía Do).
    - hace 11 horas y 2 minutos
  • Bufffff, golazo increíble de Parker (West Ham), como mola la Premier. (vía Do).
    - hace 11 horas y 11 minutos
  • Que empalagoso Petón: «decir Guardiola y buen gusto es redundante», ojjj, que dulzón por Dios. Por cierto: como juega el Chelsea macho. (vía Do).
    - hace 11 horas y 20 minutos
  • Me encanta cuando cambias de canal y justo pillas un gol: Chelsea 1 West Ham 0 (vía Do).
    - hace 11 horas y 22 minutos
  • Viendo la mejor película española en años: Airbag :D (vía Do).
    - hace 11 horas y 32 minutos
  • @glinfolaguardia A ver si kedams para actualizar la sección, hay muxo en glinfo.es Ah, y nolvides q la foto del castillo va como CC-BY-SA ;) (vía web).
    - hace 1 día y 9 horas
  • @pedrerol El «majo» de Guti será como sea pero dijo la pura verdad y realidad del Madrid. Y no olvides que su pase dio pie a la indv. de CR9 (vía web).
    - hace 1 día y 9 horas
  • Confirmado, no recomendaré jamás Telefónica ADSL; más vale malo conocido: ya.com (vía Do).
    - hace 2 días y 13 horas
  • Qué verguenza Telefónica, hacen contratos de 6megas en centrales al 110% de abonados, jopu*** (vía Do).
    - hace 2 días y 14 horas
  • @sirolopez Pellegrini llegará a loq sea, pero da la impresión de no tener alma para el Madrid. Yo dije que Lass&Guti se anulan, dsd Liv'pool (vía web).
    - hace 3 días
  • Guti&Lass nunca,parc mentira@sirolopez "Con Lass Y Diarra le metimos seis al zaragoza".Pellegirni dixit.¡Vale!..por si acaso oy no lo pruebs (vía web).
    - hace 3 días y 4 horas
  • Pero donde vas con Lass y Guti juntos, y con Kaká y dejarte a Van der var, donde vas??! (vía Do).
    - hace 3 días y 5 horas

Sígueme en Twitter Sígueme