Google+, foto’s bij de zoekresultaten beter uitgelegd

Vandaag probeerde ik kort uit te leggen, waarom het zinvol is een google+ pagina aan te maken, als je een website hebt of online publiceert. Google gebruikt de profielfoto van Google+ in de zoekresultaten. Google plaatst jouw foto dus naast de artikelen die jij geschreven hebt in de zoekresultaten. Behalve een lange termijn effect is er ook een direct effect. Je artikel / link valt in de zoekresultaten meer op als er een foto bij staat. Hoe meer je opvalt, hoe meer kliks je krijgt. Deze techniek heet Google Authorship.

De lange termijn effecten beschreef ik eerder al in Personal branding en Google+.

Nu denk je vast beter uitgelegd? Ik snap het nog steeds niet helemaal. Die betere uitleg komt in dit geval dan ook niet van mij, maar van Luuk. Luuk maakte en heldere en duidelijk video (quicktip) over dit onderwerp: Quicktip 2: Je profielplaatje in de google zoekresultaten. Dat was duidelijk of niet?
Uiteraard heb je ook alle comments bij deze video gelezen? Uit de comments valt op te maken, dat het tonen van een link naar je Google+ pagina middels een ‘hidden’ link niet de juiste weg is. Zelfs al volg je met het plaatsen van een dergelijke link in grote lijnen de wens van Google, Google houdt niet van verborgen content. Andere zoekmachines trouwens ook niet.

Om toch naar je Google+ profiel te linken heb je twee mogelijkheden. In de eerst plaats kun je natuurlijk de link wel zichtbaar maken. De zichtbare link hoef dan natuurlijk niet noodzakelijkerwijs onderaan de pagina geplaatst te worden. De tweede mogelijkheid is de link te plaatsen in een meta-tag. Ook dit vraag misschien om wat extra uitleg. In de header van elke pagina, d.w.z. ergens tussen de <head> en </head> tags plaats je de volgende regel:

<link rel="author" href="https://plus.google.com/116797701827736533225/posts" />

Waarbij je uiteraard de link vervangt door een link naar je eigen profiel. Hoe je de juiste link kunt vinden kon je zien in de eerder genoemde video.

Originele tekst in wordpress plugin aanpassen

Gisteren vroeg @KarinBron op twitter: “I want to change the “succesfully added to cart” string in #WooCommerce #WordPress, of course outside the core files #dtv“. In eerste instantie begreep ik de vraag niet helemaal. Ik dacht dat het ging om het aanpassen van de vertaling. Waar het om ging: In een plugin is een Engelstalige string (tekst) opgenomen. Deze string wordt netjes vertaald via de mee geleverde language files van de plugin. Als gebruiker van de plugin zou je hier misschien liever een andere tekst zien. De snelste oplossing lijkt dus de language files aan te passen. Verondersteld dat de originele taal van de plugin Engels is, dan kan in languages/en_US.po een “vertaling” worden toegevoegd. Je vertaald dan dus de ongewenste Engelse tekst, naar de gewenste Engelse tekst. Dat kun je herhalen voor alle talen. Nadeel in dit geval is dus dat je de originele vertaalbestanden aanpast. Dat moet je elke keer doen als de plugin geupdate is.

Er moet dus een andere oplossing gezocht worden. Ik zal het hier uit leggen voor het specifieke geval waarover de vraag ging. De plugin waar het om gaat is Woocommerce. Deze plugin heeft een bestand woocommerce-functions.php, daarin komt de functie woocommerce_add_to_cart_message()voor. In die functie staat de volgende regel:


$message = sprintf('%s %s', get_permalink(woocommerce_get_page_id('cart')), __('View Cart →', 'woocommerce'), __('Product successfully added to your cart.', 'woocommerce') );

Het gaat om de tekst “Product successfully added to your cart.”, die tekst willen we aanpassen. Van de betreffende functie kunnen we geen ‘hook’ maken. Een oplossing hiervoor vond ik op remove/add filter to WordPress Function fil….

De output van de functie kan ik dus aanpassen in functions.php van mijn theme. Aan functions.php voeg ik dan dus toe:


function my_filer_function( $message )
{
// Here you should modify $message as you want, and then return it.
$replace = 'Thanks, Product successfully added to your cart.';
$message = preg_replace('/(.*<\/a> )(.*)/',"$1".$replace,$message);
return $message;
}
// Then add the function to that filter hook and prioritize it last
add_filter( 'woocommerce_add_to_cart_message', 'my_filer_function', 999);

De tekst “Product successfully added to your cart.” wordt dus vervangen door de tekst “Thanks, Product successfully added to your cart.”. Op de website heb ik getest of dit ook gebeurd. Dat werkt inderdaad prima. Er is nog een klein probleempje. De tekst wordt namelijk niet meer vertaald als ik de website in een andere taal bekijk.

In de bovenstaande code vervang ik de replace daarom door:

$replace = __('Thanks, Product successfully added to your cart.','your_domain');

De vertaling wordt in dit geval afgehandeld door de language files uit het ‘your_domain’ domein. Dit is onderdeel van mijn theme, omdat ik in functions.php ook heb opgenomen:
//Load the theme translation files
load_theme_textdomain( 'your_domain', TEMPLATEPATH.'/languages' );

Om de nieuwe tekst ook vertaald te krijgen naar bijvoorbeeld het Nederlands, voeg ik deze toe aan “TEMPLATEPATH.’/languages/nl_NL.po'”, daarin zet ik nu:

#: wp_webvrouw5/functions.php:119
msgid "Thanks, Product successfully added to your cart."
msgstr "Bedankt, het product is aan je winkelmandje toegevoegd."

De string is nu vertaald. Alle aanpassingen zijn gemaakt binnen mijn theme en ik kan de plugin dus blijven updaten.
Mocht bij een update van de plugin de structuur (html output) van woocommerce_add_to_cart_message worden aangepast dan zou het kunnen dat de replace niet meer werkt.

Wij wil zien dat het ook echt werkt kan kijken naar: NCFS Knuffelapen. Na het klikken op kopen, zie je de nieuwe tekst in het Nederlands. Nu de aap nog even afrekenen, daarmee steun je het goede doel!