wordpressスマホ対応サイト・wpプラグイン・検索体験最適化・SNS・ 動画・bgmやテーマ曲を駆使して、リアルビジネスへの集客を達成するためのコラム!

   

wordpress屋のマルチメディアコンテンツ制作読んどけ☆コラム

【PHPでwpプラグインを改造】all in one seoで、og:descriptionを書かなかったときに、文章が全部出力されてしまうのを直したい

      2018/04/04

こんにちは、管理人@SS_mshpです。

今回は、ワードプレスでよくつかわれるプラグイン『all in one seo』で、文字が大量に出力されてしまうような状況になったので、なおしてみます。

設定のダッシュボードでどうにかならない部分は、PHPプログラムで改造!という感じでやってみます。さっそく、状況などをみていきましょう。

■症状:個別記事のdescriptionが空のまま記事を公開すると、og:descriptionに記事全文が出力されてしまった

今回の『all in one seo』で、ちょっと困った点です。記事個別ページなのですが、ここではall in one seoが書き換えて出力するtitle/descriptionのうち、descriptionを空にしたまま公開してしまいました。

そうしたところ、og:description/twitter:description(snsなど共有するときに使う)の部分に、記事が全文出力されてしまい、ヘッダーがごちゃごちゃしてしまいました。


ダッシュボードから、ogの部分を調整してみたところ、特に変化がなかったので、改造してなおしてみることにします。

■descriptionを制御しているファイル1:aioseop_class.phpを改造

■maximum_description_lengthを調整できる部分発見

で、プラグインのファイル構成をチェックしていたところ、『all-in-one-seo-pack/aioseop_class.php』というファイルを見つけました。このファイルには・・

// Max numbers of chars in auto-generated description.
var $maximum_description_length = 320;

というように、自動descriptionの最大文字数を制御しているところがあったので、ここの数字を書き換えます。320とか多すぎるけど、googleが抜粋して表示することもあるので、やらなくてもよい気がしますが、目的は改造です(笑)

■結果:間違えた(笑)こちらはmeta descriptionだった


で、結果なんですが、こちらはogのdescriptionではなかったようです。通常のmeta descriptionが、文字数を調整されて出力されました。しかし、プラグイン改造でmeta descriptionの文字数を弄れるということがわかったので、特に問題はありません。

■aioseop_opengraph.phpファイルを調整してみる

■ファイルの場所や、記述のされかた


で、他にdescriptionかつogのファイルがないかなと思って探したら、書いているファイルを発見しました。

場所は『all-in-one-seo-pack/modules/aioseop_opengraph.php』で、機能ごとにモジュールわけされているので、少しわかりやすかったです。『post_contentで記事本文抜く』という意味のようです。post_excerpt(抜粋)は、他の条件になっていました。しかしこのファイルは、ダッシュボードでの設定によって条件分岐が入り組んでるので、内容は複雑です。

■結果:全文出力は回避

上記の部分を文字数指定できる『mb_substr($post->post_content, 0, 300);』に書き換えました。

指定された文字数とちょっと数字が違うところがあるので、他のところも見てみたいと思いますが、とりあえず『空で公開しても、og:descriptionに記事全文出力しなくなった』ので、このファイルを改造すればよいとわかりました。プラグインじゃなくてもog系はheader.phpに出力タグ書いてもいけそうですけどね。

■そのほかの対策・あとがき・注意

PHPプログラムを改造して、文字の出力を調整しましたけど、実は単純な対策があります。

それは『毎回記事ごとにdescriptionをきちんと書く』です。手間はかかるかもしれませんが、書いておけばきちんと出力してくれます。

とはいえ、プラグインを改造できれば、文字数や表示のしかたなども、かゆいところに手が届くようにできるので、こだわる方は、ぜひやってみてください。

*これは注意なんですけど、wordpress4.9のプログラムエラー警告(エラーを事前に教えてくれる)をすり抜けて、画面を真っ白にしてしまうことがありました。wp4.9が『構文としては合っていると判定したけど、実際には動かない』という書き方をしたときに起こりました。なので、ダウンロードしたプラグインのファイルは保存しておいて、万が一動かなくなったときはすぐに戻せるようにしておくとよいでしょう。

*アトリエSS・web制作サービスページに移動します。webリニューアル・ロゴ・記事・wordpress化などでお力添えできます。

【カテゴリ】 - wordpressプラグイン(拡張)情報 【タグ】 -

Message

メールアドレスが公開されることはありません。

  関連記事

【WPプラグイン】WordPressにサウンドクラウドみたいな波形表示つけたい→WaveSurfer-WPをどうぞ

今回は、以前すこしDJの練習をしていた管理人が、webサイト(wordp …

wordpressのリビジョンを、プラグインで制御する方法(revision control)【データベースを軽く】

今回は、wordpressで溜まりすぎるとデータベースを圧迫するリビジョ …

【WordPressとGoogleカレンダー連携プラグイン】Simple Calendarの設定・Calendar APIやID取得しての設定

今回は、WordPressサイトに、googleアカウントがある人ならみ …

【wordpressで教室・個別相談・サロン予約受付】プラグインEasy Appointmentsの設定・サイト実装方法を詳しく解説

今回は、特定の形態のビジネスで、『カレンダーつき予約フォームで、お客さん …

【wordpress限界高速化】Pjax技術を使ってサイトを高速表示するプラグインと、エラーの対処

今回は、『遅い』とされていた(過去形)wordpressサイトを『Pja …

【WPプラグイン・サイト高速化】EWWW Image Optimizerで、画像をサクッと圧縮して表示を速くしよう

今回は、サイトの高速化で、画像を圧縮してくれるものを試します 画像サイズ …

【phpでWPプラグイン改造】What’s New Generatorで、記事タイトル文字数を設定する

今回は、ワードプレスサイトでよく使われる更新情報表示プラグイン『What …

【WPプラグイン】ページ読み込み画面(ローディングアニメ)をサクッと実装できるWP Smart Preloader

今回は、wordpressのサイトで、ページ読み込み時の画面(ローディン …

【wpプラグイン】ワードプレスサイトに、スマホで電話機能をつけられる『Really Simple Click To Call』

今回は、スマホで電話する機能を、ワードプレスサイトに実装できるプラグイン …

【WPプラグイン】月額無料でレストラン・カフェなど飲食店の予約に使える『Restaurant Reservations』

今回は、飲食店でワードプレスサイトを持ったときに効果を発揮する、月額無料 …

ワードプレスサイトに、コメント機能を実装しない/非表示に

今回は、ブログサイトによくある『コメント機能』を、実装しない方法を考えて …

【ワードプレスサイト製作】俺の最低限なインストールプラグイン晒す 

今回は、ねた準備中につき雑談です。 管理人はワードプレス勢ですが、なるべ …