Foros del Web » Creando para Internet » Sistemas de gestión de contenidos » WordPress »

[SOLUCIONADO] Wordpress, variables y SEO

Estas en el tema de Wordpress, variables y SEO en el foro de WordPress en Foros del Web. Hola Comunidad FDW! Estoy trabajando en Wordpress y una cuestión me tiene un poco desorientado. Después de probar, buscar y leer, y volver a probar, ...
  #1 (permalink)  
Antiguo 03/07/2014, 18:02
 
Fecha de Ingreso: mayo-2009
Mensajes: 104
Antigüedad: 15 años, 6 meses
Puntos: 0
Pregunta Wordpress, variables y SEO

Hola Comunidad FDW!

Estoy trabajando en Wordpress y una cuestión me tiene un poco desorientado. Después de probar, buscar y leer, y volver a probar, decidí publicar acá a ver si a alguien se le ocurre una solución

Resulta que adquirí hace poco un apptheme para crear un directorio, en base a Wordpress. No quiero hacerles publicidad pero si es necesario puedo poner el nombre!

Estoy trabajando ahora en la customización del sistema en localhost, antes de subirlo al servidor.

Siempre cuando hago las webs, le doy bastante importancia al SEO (y casi siempre termino aquí ). Mi consulta, tiene que ver con el SEO directamente:

A través de esta app se pueden crear diferentes ciudades, y categorías (para buscar un determinado item según localización y rubro).

El tema es que por default esta app no viene con muchas opciones SEO. Entonces implemente el plugin de Yoast (que justamente los creadores de esta app dicen que es 100% compatible con su sistema).

Lo que más me preocupa es el title y meta description. NO se puede hacer que muestre la ublicación. Entonces de cara al SEO esto es bastante malo. Porque el title sino es igual para un rubro en Caracas y otro en Lima.

Es decir, lo que me gustaría hacer es que el title sea:

[categoria] en [lugar] | [nombre-sitio] (de estas 3 variables sólo me falta lugar.)

Yoast ofrece distintas variables para los títulos y meta descriptions: http://kb.yoast.com/article/146-yoas...late-variables

pero no pude hace funcionar que aparezca el lugar. Intenté inclusive crear en functions.php una conexión con la variable que tira el lugar actual:

<?php
global $current_cityinfo;
echo $current_cityinfo['cityname'];
?>

Pero no funciona a nivel Yoast, aunque si claro, para publicar el nombre de la ciudad en el front.

Esta misma consulta la dejé en el foro de la emrpesa que provee este app pero no me pueden ofrecer una solución porque el sistema dicen ellos, no lo permite.

Yo creo que tiene que haber alguna manera. Qué opinan? Se les ocurre algo?

Agradezco mucho sus opiniones!
  #2 (permalink)  
Antiguo 03/07/2014, 18:14
Avatar de TMeister
Crazy Coder
 
Fecha de Ingreso: enero-2002
Ubicación: En la Oficina
Mensajes: 2.880
Antigüedad: 22 años, 10 meses
Puntos: 193
Respuesta: Wordpress, variables y SEO

SEO de Yoast tiene hooks para manipular la información que maneja.

Según esa documentación existe el filtro:

wpseo_title

en tu functions.php debes crear tu logica:

Código PHP:
Ver original
  1. add_filter('wpseo_title', 'my_custom_title');
  2.  
  3. function my_custom_title($title){
  4.         // Puedes usar $title que es el titulo original y añadirle lo que quieras.
  5.     return 'Mi titulo custom ' . $current_cityinfo['cityname'];
  6. }

Obviamente no esta probado pero debería funcionar.
  #3 (permalink)  
Antiguo 03/07/2014, 20:09
 
Fecha de Ingreso: mayo-2009
Mensajes: 104
Antigüedad: 15 años, 6 meses
Puntos: 0
Busqueda Respuesta: Wordpress, variables y SEO

Cita:
Iniciado por TMeister Ver Mensaje
SEO de Yoast tiene hooks para manipular la información que maneja.

Según esa documentación existe el filtro:

wpseo_title

en tu functions.php debes crear tu logica:

Código PHP:
Ver original
  1. add_filter('wpseo_title', 'my_custom_title');
  2.  
  3. function my_custom_title($title){
  4.         // Puedes usar $title que es el titulo original y añadirle lo que quieras.
  5.     return 'Mi titulo custom ' . $current_cityinfo['cityname'];
  6. }

Obviamente no esta probado pero debería funcionar.
¡Excelente TMeister, mil gracias! Utilicé en functions:

Código Wordpress:
Ver original
  1. add_filter('wpseo_title', 'my_custom_title');
  2. function my_custom_title($title){
  3. global $current_cityinfo;
  4. return $title . ' ' . $current_cityinfo['cityname'] . '- Nombresitio';
  5. }

y en el tipo de entrada que me interesaba ("categoría"): %%term_title%% en

Y funciona muy bien! el único problema es que me agrega $current_cityinfo['cityname'] en todas las secciones y hay algunas que son globales y no funcionan para un único lugar. Por ejemplo en agregar un lugar al directorio, ahora figura con varios titles según cuál es la ciudad seleccionada.

Sabes de alguna manera para restringir este filtro a un determinado tipo de entrada?

Gracias nuevamente TMesiter!
  #4 (permalink)  
Antiguo 04/07/2014, 09:17
Avatar de TMeister
Crazy Coder
 
Fecha de Ingreso: enero-2002
Ubicación: En la Oficina
Mensajes: 2.880
Antigüedad: 22 años, 10 meses
Puntos: 193
Respuesta: Wordpress, variables y SEO

Claro,

Usando $post

dentro de la misma función debes crear un if para verificar el tipo de post (si es que es un post_type)

Código PHP:
Ver original
  1. add_filter('wpseo_title', 'my_custom_title');
  2.  
  3. function my_custom_title($title){
  4.     global $current_cityinfo, $post;
  5.     // Si es un tipo en especial le agrega el cityname
  6.     if( $post->post_type == 'el_post_type_de_la_app' ){
  7.         return $title . ' ' . $current_cityinfo['cityname'] . '- Nombresitio';
  8.     }
  9.     // Si no regresa el titulo original
  10.     return $title;
  11. }

Ese if puede ser de muchas formas depende totalmente de tu app puedes usar:

is_single
is_page_template
is_category

etc. de nuevo todo depende de tu app.
  #5 (permalink)  
Antiguo 04/07/2014, 13:15
 
Fecha de Ingreso: mayo-2009
Mensajes: 104
Antigüedad: 15 años, 6 meses
Puntos: 0
Respuesta: Wordpress, variables y SEO

Excelente TMesiter, con un par de retoques lo pude adaptar a mi template!

Etiquetas: php, plugin, seo, tema, variables
Atención: Estás leyendo un tema que no tiene actividad desde hace más de 6 MESES, te recomendamos abrir un Nuevo tema en lugar de responder al actual.
Respuesta




La zona horaria es GMT -6. Ahora son las 13:36.