作ってたサイトで、モロに以下のサイトのような問題が起きました。
Facebookのいいね数がおかしい・シェアしてもトップページのURLしか出てこないバグの対処法
なので、これらの記事を参考にOGPを最適化。
WordPressでFacebookのいいね!ボタンを不具合無く設置する際のポイント
WordPressで、OGP(The Open Graph Protocol)に完全な情報を反映させる
結果のコードはコレ。
<?php
$post_id = get_the_ID();
$post = get_post($post_id);
$content = $post->post_content;
$content = apply_filters(’the_content’, $content);
$content = strip_tags($content);
$content = str_replace(” “, “”, $content);
$content = str_replace(” ”, “”, $content);
$content = mb_strimwidth($content, 0, 200, “…”);
?>
<meta property=”fb:app_id” content=”アプリID”>
<meta property=”og:title” content=”<?php the_title(); ?>”>
<meta property=”og:type” content=”blog”>
<meta property=”og:url” content=”<?php the_permalink(); ?>”>
<meta property=”og:description” content=”<?php echo $content; ?>”>
<meta property=”og:site_name” content=”<?php bloginfo(’name’); ?>”>
<?php
$str = $post->post_content;
$searchPattern = ‘/<img.*?src=(["\'])(.+?)\1.*?>/i’;
if ( preg_match( $searchPattern, $str, $imgurl ) ) {
echo ‘<meta property=”og:image” content=”‘.$imgurl[2].’”>’;
} else {
echo ‘<meta property=”og:image” content=”代替画像のパス”>’;
};
?>
facebookめんどくせーなー。
こういう仕様がよく分からなかったり複雑なサービスって仕事で使いたくないわー。
この投稿へのコメント