質問をすることでしか得られない、回答やアドバイスがある。

15分調べてもわからないことは、質問しよう!

新規登録して質問してみよう
ただいま回答率
85.50%
WordPress

WordPressは、PHPで開発されているオープンソースのブログソフトウェアです。データベース管理システムにはMySQLを用いています。フリーのブログソフトウェアの中では最も人気が高く、PHPとHTMLを使って簡単にテンプレートをカスタマイズすることができます。

Q&A

0回答

1883閲覧

WordPressOGPタグ設定時にog:imageが取得できない不具合

LalalaLa

総合スコア10

WordPress

WordPressは、PHPで開発されているオープンソースのブログソフトウェアです。データベース管理システムにはMySQLを用いています。フリーのブログソフトウェアの中では最も人気が高く、PHPとHTMLを使って簡単にテンプレートをカスタマイズすることができます。

0グッド

1クリップ

投稿2019/02/06 16:20

前提・実現したいこと

現在Wordpressにて構築しているサイトにOGPタグの設定を行いたいです。

Facebookのみog:imageが取得できないエラーが発生しており原因が全くわからない状況となります。(Twitterは正常に取得できています)
お分かりになる方がいれば解決方法についてアドバイスいただけますと幸いです。

現在わかっている範囲ですと同様の不具合の相談がteratail上にありました。
https://teratail.com/questions/49004

こちらの回答では 

IP制限とパスワード設定が原因でした、解決しました!

と記載あるのですが、このIP制限とパスワード設定というのは何を指しているのかが分かりませんでした。

発生している問題・エラーメッセージ

Facebookの提供するシェアデバッカーでは以下のエラーが表示されています。
デバッカーではurlやtypeなどそのほかの項目は全て取得できており、og:imageだけ取得できていない状態となっております。

推測されるプロパティ : 値が他のタグから推測される場合でも、og:imageプロパティは明示的に指定してください。 プロパティがありません :次のプロパティは必須です: og:url, og:type, og:title, og:image, og:description, fb:app_id

該当のソースコード

こちらをfunction.phpに記述しています。

PHP

1/********************* 2OGPタグ/Twitterカード設定を出力 3*********************/ 4function my_meta_ogp() { 5 if( is_front_page() || is_home() || is_singular() ){ 6 global $post; 7 $ogp_title = ''; 8 $ogp_descr = ''; 9 $ogp_url = ''; 10 $ogp_img = ''; 11 $insert = ''; 12 13 if( is_singular() ) { //記事&固定ページ 14 setup_postdata($post); 15 $ogp_title = $post->post_title; 16 $ogp_descr = mb_substr(get_the_excerpt(), 0, 100); 17 $ogp_url = get_permalink(); 18 wp_reset_postdata(); 19 } elseif ( is_front_page() || is_home() ) { //トップページ 20 $ogp_title = get_bloginfo('name'); 21 $ogp_descr = get_bloginfo('description'); 22 $ogp_url = home_url(); 23 } 24 25 //og:type 26 $ogp_type = ( is_front_page() || is_home() ) ? 'website' : 'article'; 27 28 //og:image 29 if ( is_singular() && has_post_thumbnail() ) { 30 $ps_thumb = wp_get_attachment_image_src( get_post_thumbnail_id(), 'full'); 31 $ogp_img = $ps_thumb[0]; 32 } else { 33 $ogp_img = 'TOPページ&アイキャッチ画像がないときに使われる画像のURLを絶対パスで入力し、ブラウザーからは閲覧できています。'; 34 } 35 36 //出力するOGPタグをまとめる 37 $insert .= '<meta property="og:title" content="'.esc_attr($ogp_title).'" />' . "\n"; 38 $insert .= '<meta property="og:description" content="'.esc_attr($ogp_descr).'" />' . "\n"; 39 $insert .= '<meta property="og:type" content="'.$ogp_type.'" />' . "\n"; 40 $insert .= '<meta property="og:url" content="'.esc_url($ogp_url).'" />' . "\n"; 41 $insert .= '<meta property="og:image" content="'.esc_url($ogp_img).'" />' . "\n"; 42 $insert .= '<meta property="og:site_name" content="'.esc_attr(get_bloginfo('name')).'" />' . "\n"; 43 $insert .= '<meta name="twitter:card" content="summary_large_image" />' . "\n"; 44 $insert .= '<meta name="twitter:site" content="ツイッターのアカウント名を入力しています" />' . "\n"; 45 $insert .= '<meta property="og:locale" content="ja_JP" />' . "\n"; 46 47 //facebookのapp_id(設定する場合) 48 $insert .= '<meta property="fb:app_id" content="ここにappIDを入力しています">' . "\n"; 49 //app_idを設定しない場合ここまで消す 50 51 echo $insert; 52 } 53} //END my_meta_ogp 54 55add_action('wp_head','my_meta_ogp');//headにOGPを出力

試したこと

htaccessの確認
robot.txtの確認

気になる質問をクリップする

クリップした質問は、後からいつでもMYページで確認できます。

またクリップした質問に回答があった際、通知やメールを受け取ることができます。

バッドをするには、ログインかつ

こちらの条件を満たす必要があります。

guest

あなたの回答

tips

太字

斜体

打ち消し線

見出し

引用テキストの挿入

コードの挿入

リンクの挿入

リストの挿入

番号リストの挿入

表の挿入

水平線の挿入

プレビュー

まだ回答がついていません

会員登録して回答してみよう

アカウントをお持ちの方は

15分調べてもわからないことは
teratailで質問しよう!

ただいまの回答率
85.50%

質問をまとめることで
思考を整理して素早く解決

テンプレート機能で
簡単に質問をまとめる

質問する

関連した質問