Use goo.gl to create a short URLs in WordPress

Постановка:

Клиент ме попита – Има ли начин да правя статистика на линковете, които се споделят през социалните ми приставки в сайта/блога? Дали в последствие от споделените в социалните портали материали получавам обратен трафик?

Подготовка:

В началото изградихме тракинг система с google analytics, google webmaster tools и допълнителни параметри към URL адреса, но се оказа, че получава твърде обширна информация и трябва да отделя време, за да определи необходимите му параметри. Добре за месечни отчети, но за лек (кампаниен, както се изрази) преглед – не става.

В следващите няколко стъпки от тестването, разбрахме че отворената статистика на goo.gl е перфектна за неговите цели.

Добавихме curl.so модула към PHP машината на сайта и използвахме Google URL Shortener PHP Class на David Walsh. Прекрасно написано, лесно за внедряване и ползване.

goo.gl for WordPress:

След като цялата функционалност заработи, дойде искане от клиента да го вмъкнем и в неговата WordPress инсталация, за да може и там да го ползва. Освен това искаше да се генерират автоматично линкове към статистиката на goo.gl, за да може по-лесно да проследява информацията.

Заредих Theme Functions (functions.php) в редактора на WordPress и добавих целия клас (без изменения) на David Walsh. След това в Header темплейта (header.php) добавих php блок, който да извиква методите от класът, да генерира краткия линк и да го записва като мета данни към конкретния материал.

<?php
	// Set goo.gl short URL
	$googer = new GoogleURLAPI();
	$shortDWName = $googer->shorten(get_permalink());
	$post_id = $post->ID;
	$meta_key = "_goo_gl";
	$meta_value = $shortDWName;
	$unique = true;
	if (get_post_meta($post_id, $meta_key, $unique) == "")
	{
		add_post_meta($post_id, $meta_key, $meta_value, $unique);
	}
?>

Това е цялата магия. Така, за всеки един материал ще се генерира кратък линк, който може да се ползва след това в генерирането на линковете в социалните приставки. Начина на ползване е следния:

<?php
	$meta_value = get_post_meta($post_id, $meta_key, true);
	echo $meta_value;
?>

Линкове в admin панела

Остана да се генерират автоматични линкове, които да се визуализират в страницата за администрация на статиите в блога. Всичко става през Theme Functions (functions.php).

// goo.gl link in admin posts list
add_filter( 'manage_posts_columns', 'goo_gl_add_column' );
add_action( 'manage_posts_custom_column', 'goo_gl_add_value', 10, 2 );
function goo_gl_add_column($cols) {
	$cols['goo_gl'] = __('goo_gl');
	return $cols;
}
function goo_gl_add_value($column_name, $post_id) {
	if ( 'goo_gl' == $column_name ) {
		$post_id = url_to_postid( get_permalink() );
		$meta_values = substr((get_post_meta($post_id, "_goo_gl", true)), 14);
		echo '<a href="http://goo.gl/#analytics/goo.gl/'.$meta_values.'/all_time">http://goo.gl/'.$meta_values.'</a>';
	}
}
add_filter( 'manage_edit-post_sortable_columns', 'goo_gl_sortable_column' );
function goo_gl_sortable_column( $columns ) {
	$columns['goo_gl'] = 'goo_gl';
	return $columns;
}

Добавяме нова колона в административната таблица на постовете с име goo_gl и за всяка една публикация добавяме линка към отворената статистика на goo.gl.

Вашият коментар