1414055485 Wordpressでog:descriptionから特定の文字をはじきたい


■ 前提
WordpressをPukiwiki記法で書いており、
冒頭に[pukiwiki]というコードを足しています。

利用環境は以下の通りです。
・Wordpress:4.0
・テーマ:TwentyTen(最新版)
・ソーシャルボタンのプラグイン:WP Social Bookmarking Light

■ 起きていること
その上で、記事をfacebookでシェアしようとすると、
この[pukiwiki]というコードが抜粋文面に載ってきてしまいます。(画像参照)

しかし、実際のソースコードでog:descriptionを見ると、
[pukiwiki]は載ってきません。(画像参照)

■ 教えて欲しいこと
実際に表示されるog:descriptionから、特定の文字をはじく方法があれば、
教え頂けますと幸いです。

回答の条件
  • 1人1回まで
  • 13歳以上
  • 登録:2014/10/23 18:11:25
  • 終了:2014/10/30 18:15:04

回答(3件)

id:kazukichi_0914 No.1

かずきち。回答回数126ベストアンサー獲得回数82014/10/26 18:17:29

ポイント34pt

これはwordpressというより、このページのdiscriptionメタタグに依存します。
どこのメタタグが重複しているかは
https://www.google.com/webmasters/tools/
googleのwebマスター→「HTMLの確認」から確認しましょう。
何がmetaタグに記述されているかわかります。

ですが、こちらが解決策です。
PukiWiki/「?」などのリンクを非表示
PukiWikiでは、「PukiWiki」のように半角英字の小文字・大文字を混ぜると、隣に「?」のリンクが自動的に生成されます。
これを消すには、pukiwiki.ini.php の $nowikiname=0; を $nowikiname=1; にしてやればOK。
ini.phpファイルを書き換えて下さい。

他2件のコメントを見る
id:kazukichi_0914

なるほど、ということは重複するメタタグの記述はなかったのですね?
ではではもう一度、googleのウェブマスターでFetch as googleっていう項目があるのですが、このボタンを押してもう一度検索エンジンにこのページに来てもらえるようにしましょう。
もし正しく設定されていれば、検索エンジンも正しくスニペットを作ってくれると思います。

2014/10/27 14:12:18
id:rouge_2008

kazukichi_0914(かずきち。)さん、「$nowikiname」は「[pukiwiki]」を削除する為の設定ではありません。
「WikiName」を無効にして自動リンクさせない為の設定ですから、今回の質問とは関係がありません。(※「BracketName」は有効です。)

・TOP>サーバ構築・運用> PukiWikiをインストールする (Think IT)
http://thinkit.co.jp/cert/article/0609/5/6/3.htm

Wiki名を無効にする

最初にWikiの特徴として「Red Hatといった英大小文字の混在した単語は自動リンクになる」と述べました。しかし実際に運用をしていると邪魔になってきます。それは単語単位でしか見てくれないからです。例えば「Red Hat Enterprise Linux」といったキーワードは、1単語としてもWiki名として成り立ちませんし、全体のキーワードとしても当然自動リンクしてくれません。

そういう場合、結局ブランケットで括るしかないわけですが、Wiki名を無効にして常に括るようにしたほうがWiki名として成り立つかどうかで運用ルールを分けなくてよくなるため、逆に使いやすくなると思います。Wiki名を無効にする場合は、pukiwiki.ini.phpの$nowikinameを1にします(リスト7)。

リスト7:$nowikinameの変更

$nowikiname = 1;



メタタグの重複を確認する必要はあると思いますが、解決策が出鱈目すぎます。
少し前に別の質問(http://q.hatena.ne.jp/1413428819)でも質問内容を理解していないと思われる回答をしていましたが、質問を理解してから回答するようにしてください。

2014/10/27 14:14:17
id:rand198

「Pukiwiki記法で書いている」と書きましたが、
具体的には「Pukiwiki for Wordpress」というプラグインを利用しています。
http://blog.makotokw.com/portfolio/wordpress/pukiwiki_for_wordpress/#content_1_4

こちらのプラグインでは、[pukiwiki][/pukiwiki]内にPukiwiki記法で記述すると、
マークアップしてくれるというものです。

やはりそういった使用上、消すのは難しいのでしょうか・・・。
他にもお気づきの点などありましたら、教えていただけますと幸いです。

id:a-kuma3 No.2

a-kuma3回答回数4412ベストアンサー獲得回数18032014/10/28 20:50:15スマートフォンから投稿

ポイント33pt

あの、質問者の id:rand198 さんがコメントに書いた、この記事なんですが。
http://liginc.co.jp/programmer/archives/5358

fb_meta_tag のフィルターですけど、これ使えば、description の内容を編集できるんじゃないでしょうか。

Facebook のプラグインって、これですよね。
http://plugins.svn.wordpress.org/facebook/tags/1.5.5/open-graph-protocol.php

function add_og_protocol() が OGP のデータを作ってる。
416 行目くらいまでで、meta タグのデータを作り終わってる。
例えば、description は、$meta_tags[ self::OGP_NS . 'description' ] に詰まってる。

432 行目で、fb_meta_tags のフィルターを、この $meta_tags を引数にして呼び出してる。

これって、fb_meta_tags のフィルターで $meta_tags の内容を編集して、つまり、pukiwiki の記述を取り除いて、返してあげれば良いんじゃないでしょうか。

実際にフィルターに定義する関数は、こんな感じに、なると思います。

<?php

add_filter("fb_meta_tags", "remove_pukiwiki_tag");

function remove_pukiwiki_tag($meta_tags) {
    $d = $meta_tags[ Facebook_Open_Graph_Protocol::OGP_NS . 'description' ];
    $d = preg_replace("/\[\/?pukiwiki\]/", '', $d);
    $meta_tags[ Facebook_Open_Graph_Protocol::OGP_NS . 'description' ] = $d;

    return $meta_tags;
}
?>
id:psne No.3

ぽけっとしすてむ回答回数444ベストアンサー獲得回数2362014/10/29 20:26:24

ポイント33pt

現在使用しているOGP出力プラグイン(Facebook公式プラグイン)が、投稿の生データ(編集時に表示されるテキスト)を参照しているために[pukiwiki]と表示されてしまうと考えられます。

対応策として2点挙げます。

1.All in One SEO Pack等のプラグインで個別に設定する
WordPress › All in One SEO Pack « WordPress Plugins
一般的なSEO対策をするためのプラグインですが、OGPの埋め込み、記事ごとの設定などが可能です。

f:id:psne:20141029200740p:image


2.必要な部分のみpukiwiki記法を行う
Wordpressには、標準で柔軟な装飾が可能なエディタが準備されています。
そのため、記事の「ツカミ」の部分のみ通常の方法で記述する事で回避できます。

記事の概要。はてな人力検索で回答しました。
…(160文字程度書くと良い具合になると思います。)
[pukiwiki]
記事本文の続き
[/pukiwiki]

  • id:rouge_2008
    記事本文の冒頭に「[pukiwiki]」を記述していて、元々は「og:description」にも設定されていたのですか?(※現在は自分でカスタマイズして「og:description」からは削除済みの状態)
    その場合、カスタマイズ前の状態がキャッシュに残っているのかもしれませんので、デバッガーで削除してみてください。

    「Open Graph Object Debugger」
    https://developers.facebook.com/tools/debug/og/object/

    ・「facebook ogp キャッシュ」の検索結果
    https://www.google.co.jp/webhp?ie=UTF-8#q=facebook%20ogp%20%E3%82%AD%E3%83%A3%E3%83%83%E3%82%B7%E3%83%A5
  • id:rand198
    コメント頂き有難うございます!!

    > 記事本文の冒頭に「[pukiwiki]」を記述していて、元々は「og:description」にも設定されていたのですか?
    いえ、状態としては特にカスタマイズはしておらず、
    自動で「og:description」に入ってしまっている為、削除したいといった状態です。

    やはり自動で入ってしまう状態は変わっていないようで、
    キャッシュの削除をしても改善することができませんでした・・・。

    ご回答有難うございました!
    他にもお気づきの点などあれば、教えていただけますと幸いです。
  • id:rouge_2008
    ソースコードの「og:description」には記載されていないという事(※添付画像も確認済み)ですが、『自動で「og:description」に入ってしまっている』というのはどういう状態ですか?
    シェアボタン押下後に開くウィンドウの抜粋文に含まれているのは画像で確認できますが、このウィンドウには含まれているが、ソースコードには含まれていないという事で間違いないですか?
    ウィンドウの抜粋文には「og:description」が反映されているはずですので、ソースコードには「[pukiwiki]」が含まれていないとなると原因が分かりません。

    試しに「og:description」を手動で記述して確認してみてはいかがでしょう?(※キャッシュの削除も必要です。)
    ※動作確認ですので、一旦OGPの自動での出力は止めてください。
    「og:description」だけでなく、タイトルや画像などすべてのOGPを手動で記述して確認してみてください。
    条件分岐タグを利用すれば、任意の個別投稿ページにだけ出力できます。(※動作確認後のキャッシュの削除が面倒ですので、他のページへのOGPの出力は行わない方がいいと思います。2~3ページ程度でしたら、他の個別投稿ページでも確認してみてください。)

    ・条件分岐タグ
    http://wpdocs.sourceforge.jp/Conditional_Tags#.E5.80.8B.E5.88.A5.E6.8A.95.E7.A8.BF.E3.83.9A.E3.83.BC.E3.82.B8
  • id:rouge_2008
    書き忘れましたが、メタタグの重複については、ウェブマスター ツールではなく目視で行ってください。
    ウェブマスター ツールには即時反映されていない可能性もありますので・・・(※OGPタグの重複を検出するかどうかも不明です。)

    もし重複がある場合には、上でコメントしたFacebookの「Open Graph Object Debugger」で分かるはずですので、おそらく大丈夫ではないかと思います。
  • id:psne
    コメントでも指摘されていますが、再度確認させてください。
    投稿した内容は、

    [pukiwiki]
    ※再度記事を更新しました(2014/10/08)。
    ……
    [/pukiwiki]

    このような書き方をしていませんか?

    また、質問の画像にあるソースコードと現在のソースコードが若干違っているようです。
    ※ property="og:description" content="[pukiwiki] ※再度記事を更新しました(2014/10/08)。…
    (現在の状態では、このように出力されているようです。)

    未検証ですが、All in One SEO Pack Pluginなど別プラグインを使用して、個別にdescriptionを設定してみてはいかがでしょうか。
    https://wordpress.org/plugins/all-in-one-seo-pack/


    解決しましたら、回答の方へ書き直しを行います。
  • id:rand198
    皆様、丁寧にコメント頂き有難うございます。
    また状況説明が分かりづらく申し訳ありません。

    少し状況に変化がありましたので、最新の状況を以下に記載致します。

    --------------------------------------------------------------------
    ■ og:descriptionに[pukiwiki]が表示されるかについて

    (1) 記事のソースコード側  :表示される ←new
    (2) FBの「Object Debugger」:表示される


    ■ OGPは何で設定しているか

    自分の方で特に設定していなかったので、調べたところ、
    入れている「Facebook公式プラグイン」で自動生成されているようでした。

    以下ページのようにこちらでの出力を制御して、
    ぽけっとしすてむ様にアドバイス頂いた、
    別プラグインで設定する他ないのかな…と思っております。

    Wordpressのfacebookプラグインのogp出力を制御する方法 | 株式会社LIG http://liginc.co.jp/programmer/archives/5358

    --------------------------------------------------------------------
  • id:rand198
    ◎ rouge_2008様

    丁寧にコメント頂き、有難うございます!
    大変勉強になります。

    --------------------------------------------
    ・ソースコードに[pukiwiki]が表示されない件
    --------------------------------------------
    こちらですが、今確認した所、
    ソースコードにも[pukiwiki]が表示されるようになりました。

    OGPのキャッシュを削除した以外に何もしていないので、
    見ていたキャッシュが古かったようです。
    (ただ、公開時から[pukiwiki]は入っていたので、なぜ当初なかったのかが謎ですが…)

    お手数をおかけし、申し訳ありませんでした。


    --------------------------------------------
    ・メタタグの重複について
    --------------------------------------------

    目視で見てみた所、特に重複はございませんでした。
    教えて頂いたFBの「Object Debugger」でも、特に重複がないようです。
  • id:rand198
    ◎ ぽけっとしすてむ様

    コメント頂き有難うございます!

    --------------------------------------------
    ・記事の書き方について
    --------------------------------------------

    まさに仰る通りの書き方で記載しています。

    これらのコードは、記事本文側で[pukiwiki][/pukiwiki]部分を、
    <div class="pukiwiki_content>というタグで囲むという挙動をしているようです。

    やはり、こういった仕様ですと、descriptionではじくのは難しいでしょうか…。

    --------------------------------------------
    ・ソースコードの違いについて
    --------------------------------------------

    確認して頂き、有難うございました。
    当方でも最新のものを確認した所、[pukiwiki]が表示されました。


    --------------------------------------------
    ・個別にdescriptionを設定する件について
    --------------------------------------------

    なるほど、上書きするといったイメージでしょうか。

    前述の通り、facebook側での出力によるもののようなので、
    こちらでの出力をとめて、別プラグインで設定するほうがわかりやすいのかな、と思えてきました。
  • id:a-kuma3
    背中を押されて、解答欄に書きました  (^_^;)

この質問への反応(ブックマークコメント)

トラックバック

「あの人に答えてほしい」「この質問はあの人が答えられそう」というときに、回答リクエストを送ってみてましょう。

これ以上回答リクエストを送信することはできません。制限について

絞り込み :
はてなココの「ともだち」を表示します。
回答リクエストを送信したユーザーはいません