SCHEMA Pro: Añadir campos al Schema de LocalBusiness (hasMap y latitude + longitude)

Hace tiempo que usamos el plugin SCHEMA PRO para WordPress. Si tienes una web en WordPress y no lo usas, ya tardas en instalarlo. Es de pago pero merece la pena.

Uno de los temas que no nos gusta es que en el marcado LocalBusiness hay campos que no incluye, pero se le pueden añadir y esto es lo que vamos a ver hoy.

En el marcado Local Business de SCHEMA Pro echamos de menos los siguientes campos:

  • hasMap -> Para poner el enlace al Google My Buisness o una localización en Google Maps.
  • geo – latitude -> Para configurar las coordenadas geográficas; en este caso la latitud.
  • geo – longitude -> Para configurar las coordenadas geográficas; en este caso la longitud.

¿Cómo añadir los campos hasMap y geo (latitude y longitude) a Schema Pro?

Para añadir estos campos simplemente añadimos este código en el archivo functions.php del child theme activo en WordPress:

/**
 * SCHEMA PRO: Add hasMap and geo data
 */
add_action( 'after_setup_theme', 'add_my_custom_meta_field' );
function add_my_custom_meta_field() {
	add_filter( 'wp_schema_pro_schema_meta_fields', 'my_extra_schema_field' );
	add_filter( 'wp_schema_pro_schema_local_business', 'my_extra_schema_field_mapping', 10, 3 );
}

/**
 * Add fields for mapping.
 *
 * @param  array $fields Mapping fields array.
 * @return array
 */
function my_extra_schema_field( $fields ) {
	$fields['bsf-aiosrs-local-business']['subkeys']['has-map'] = array( 
		'label'    => esc_html__( 'hasMap', 'wp-schema-pro' ),
		'type'     => 'text',
		'default'  => 'none',
		'required' => false,
	);
	$fields['bsf-aiosrs-local-business']['subkeys']['geo-latitude'] = array( 
		'label'    => esc_html__( 'latitude', 'wp-schema-pro' ),
		'type'     => 'text',
		'default'  => 'none',
		'required' => false,
	);
	$fields['bsf-aiosrs-local-business']['subkeys']['geo-longitude'] = array( 
		'label'    => esc_html__( 'longitude', 'wp-schema-pro' ),
		'type'     => 'text',
		'default'  => 'none',
		'required' => false,
	);
	return $fields;
}

/**
 * Mapping extra field for schema markup.
 *
 * @param  array $schema Schema array.
 * @param  array $data   Mapping fields array.
 * @return array
 */
function my_extra_schema_field_mapping( $schema, $data, $post ) {
	if ( isset( $data['has-map'] ) && ! empty( $data['has-map'] ) ) {
		$schema['hasMap'] = esc_html( $data['has-map'] );
	}
	if ( isset( $data['geo-latitude'] ) && ! empty( $data['geo-latitude'] ) && isset( $data['geo-longitude'] ) && ! empty( $data['geo-longitude'] ) ) {
		$schema['geo']['@type'] = 'GeoCoordinates';
		$schema['geo'][latitude] = esc_html( $data['geo-latitude'] );
		$schema['geo'][longitude] = esc_html( $data['geo-longitude'] );
	}
	return $schema;
}

 

Y automáticamente al crear un SCHEMA del tipo Local Business nos añadirá estos tres campos al final.

SCHEMA Pro Local Business SCHEMA - Añadir más campos

Y obviamente esto pasa la validación de Google del marcado y le aporta información muy valiosa.

Descubre porqué somos Apasionados del Marketing

Mira también

Lo más buscado en Amazon a nivel mundial en 2018 (AHREFS)

Lo más buscado en Amazon a nivel mundial en 2018 (AHREFS)

Hoy queremos compartir con vosotros un post de nuestros amigos de AHREFS con las 100 …