-
WordPress
画像やh2をカウントし管理画面の投稿一覧に表示させ、なおかつカウント数をカスタムフィールドに保存させる
SEO対策で画像やh2の数、インスタの数が影響しているのかということを調査するためにプラグインを一本書きました。 管理画面にカウント数を表示させて、 count_img count_h2 count_insta というカスタムフィールドを生成させ、 カスタムフィールドに値を保存させます。 CSVエクスポートができるようになります googleスプレッドーシートにまとめて比較分析することができます。 -
WordPress
サーバーの環境構築
一人で運用管理するサーバーと違って、複数人の人が扱う場合、サーバーの環境を構築することもエンジニアのお仕事です。通常、サーバーは、 ① 商用環境② ステージング環境③ 開発環境④ 検証環境と4つの環境をセットで用意します。① 商用環境は、別の言い方で本番環境とも言います。本番環境をいきなりいじるというのはあまり好ましくないので、以下の環境を用意することが多いです。②ステージング環境は、なるべく本番環境に近い環境です。本番環境を定期的にバックアップして同期させたりしています。③ 開発環境は何か新しい機能やテーマを変える時に開発するために用意します。④ 検証環境もサーバーやシステムの機能を検証するときシステムをリニューアルするときに用意します。必ずしも必要とは限りません。予算と運営上のコストとの関係で①と②しかない場合もあります。開発や機能も必要なく管理画面だけですべて完結するのであれば、商用環境だけでもいいでしょう。開発はローカルマシーンでという手もあるかもしれないですが、クラウド上のサーバーのほうが安価で安心になってきています。URLのリンクを送れば手軽にチェックを受けることもできるので、インターネット上にサーバーを建てたほうが今はいいかなと思っています。 -
WordPress
ボタンを横に2つ並べたい
運営の方から管理画面から簡単にアフリエィトボタンをつけたいという要望がありました。さらにボタンを1つの場合や2つの場合があるのでそういう時でも柔軟に対応してほしいとのことです。WordPressって便利ですね。いちから開発しなくてもすでに先駆者の方がすでにツールを作られているのです Shortcodes Ultimateと言うプラグインが便利です。insert shortcodeからショートコードで、画像やカラムを作成していきます。 class名を作成してカスタムスタイルをあてることができます。 今回は、PC版のレイアウトの横幅が大きすぎてボタンとボタンに間が空きすぎるので、カスタムスタイルで、カラムの幅を縮めました。 -
WordPress
kusnagi+nginxの設定を見てみる
プライムストラテージー株式会社が提供するkusanagiがレンタルサーバーで標準で搭載されるようになった。Kusanagiがデビューしてからもう5年の月日が経っている。Kusanagiのドキュメント通りにプロビジョンを行えば、ほとんど何もせずに高速でWordPressが動作する環境を手にいれることができる。これが、オープンイノベーションのすごいところだ。みんなが便利で世の中に役に立つために技術を公開してくれている。WordPressのサイトは、全世界のサイトの1/3以上を占めるようになった。 kusanagiの良いところは、キャッシュ機構を利用してある程度ページビューまでは、1台のサーバーで賄うことができると言うことである。サーバーのスペックにもよるが、1台のサーバーで月間1000万PVくらいは余裕で捌くことができるのではないかと思う。 だからとって、サーバーの中身や動作がわからなければ有料でプライムストラテージ株式会社にお願いすることになる。そうでなければ、ゼロから自分たちでサーバーを構築するのか?という話になる。 サーバーを構築するために予算で1000万円をかけれるのであればそれでもいいかもしれない。 当たりまえだが、制作会社や開発会社は他社が作ったサーバーやシステムをすごく嫌がる。 お客さんにとって何が一番のメリットかと言うことを考えた場合、特殊なものではなく、標準的なものでそろえることが、一番安上がりで一番安全で早いと言うことを覚えておいたほうがいい。まずは、 nginxの設定ファイルがどこにあるかということだが、 nginxの設定ファイルを確認する。 nginxのファイルの位置は、下記にファイルが作成される。 /etc/nginx/conf.d/ プロビジョン名.confプロビジョン名_ssl.conf が作成される。そして、confファイルにSSLの設定やログ周り、キャッシュ周りの設定、nginxの設定がすべて書かれていると言うことがわかる それでは、簡単にconfファイルを見てみよう。 SSL設定の確認 kusanagiでは、めんどうなSSLの設定もコマンド一発で反映される。しかもSSLの費用は無料である。 そして、その設定は、9行目から12行目のnginxのconfファイルに反映される。 http→httpsへのリダイレクト 以下のコマンドで、httpでアクセスがあった場合、httpsにリダイレクトをかけてくれます。 ログファイルの確認 ログの場所ですが、/home/kusanagi/プロビジョング名/log以下にファイルが作られる。 nginxをリブートしたいときは KUSNAGAI の場合は、以下のコマンドで PHP (PHP-FPM), […] -
WordPress
kusanagi環境で管理画面にBasic認証をかける
公開したサイトで管理画面のセキュリティを高めるためにBasic認証をかけたいというニーズがあるかと思います。kusanagiの環境の場合、標準では、nginxを使っているので、Apacheとはまた違った設定が必要になります。プラグイン有効化でポチッといけたらいいんですけれどね。。。 パスワードファイルを作成 新規で.htpasswd ファイルを作成する場合 # htpasswd -c /home/kusanagi/.htpasswd [ユーザー名] nginxの設定ファイル編集 kusanagiの場合、親切にベーシック認証の設定が記述されています。こちらをコメントアウトするだけでOKです。76行目あたりでしょうか?/etc/nginx/conf.d/以下の プロファイル名_http.conf と プロファイル名_ssl.conf)を編集します 変更前 location ~* /wp-login.php|/wp-admin/((?!admin-ajax.php).)*$ { satisfy any; allow 0.0.0.0/0; allow 127.0.0.1; deny […] -
WordPress
ランキングにイベントクリックを動作させる
ランキングや記事の表示数を確認するために wp popular postで 使用しています。 計測するためのツールとして、wp popular post wp post viewssimple GA rankingがあります。ランキングの表示から本当にクリックされているか計測したい。そこでイベントトラッキングを仕込んでみる。 functions.phpに下記コードを追加します。 【 参考サイト 】 -
WordPress
とっても便利なAdminer
Adminerというプラグインを使うとデータベースへのアクセスが楽になります。 セキュリティ上phpMyAdminをインストールできない場合でもデータベースへアクセスすることが可能です。 どうしてもデーターベースへアクセスしたいという場合があります。データーベース内を検索したり、置換をかけたりインポートしたりエクスポートができます。Run Adminerで画面を開く これで、データーベースのテーブルを見ることができる。 CSVインポートの機能を使うと時間がかかることでもAdminerを使ったほうがあっという間にインポートできたりします。 -
WordPress
バックアップ復元手順書
通常一人でサーバーを管理するということはなくて、複数人のサーバーに入れる人がいます。 ドキュメントや手順書というのはとても大切です。 プログラムを書くより大事なことかもしれません。 サーバーで作業をする場合は、まずは、作業手順書を作成して、手順書どおりにやります。作業手順書は、上長などにレビューをしてもらったほうがいいかもしれません。でないと簡単に事故になります。手順書をレビューを受けることによって、万が一事故が発生した場合でも事故の責任を自分ではないように逃げることができます。 組織によっては、セキュリティが厳しくて、サーバーにログインする場合、作業予定日時、作業日時、作業終了日時、作業目的、作業内容を記帳をしないといけないケースもあります。 注意事項 本番で稼働しているサーバーで動く外部連携とのプラグインを切る。例)twitterの連携を切る バックアップと復元に必要なもの 必要なものはファイルとデーターベース 1./home/kusanagi/DocumentRoot2.データーベース 作業 ■1. SSHで本番サーバーログイン cd /home/kusanagi/ pwdで確認 ■2. /home/kusanagi/exampe/以下すべてを圧縮 ディレクトリーのコピーを作成 cp -rf DocumentRoot DocumentRoot20180425 圧縮 tar […] -
WordPress
ユーザー権限に応じて管理画面の表示を変える
WordPressでは、1人でブログを運営することもできますが、複数人でサイトを更新、修正するための権限機能が備わっています。閲覧者投稿者 (author) 編集者 (editor) 管理者 (adminstrator) と権限が分かれています。 一般的なメディアサイトでもWordPressの標準的な機能を利用して、下記のように権限を使用しています。投稿者(author)=ライター編集者(editor)=編集者管理者(adminstrator)=編集長記事の公開の流れですが、①複数のライターが記事を入稿して、②編集者が記事をチェックして、③最終的に編集長が記事を公開(予約投稿をセット)するという流れです。WordPressの標準的な機能では、権限によって見せたくない機能や表示がでてきますので、これをお客様の要望に応じて、非表示にするなどの対応を行います。 一般的には、User Role Editorで機能ごとの権限のチェックを行い、それで調整できない部分は、cssなどで調整を行います。(権限を追加することももちろんできるのですが、なるべくなら標準の機能で合わせていったほうがいいでしょう。) https://ja.wordpress.org/plugins/user-role-editor/ 管理画面でユーザー権限に応じて表示・非表示するプラグインを作成しました。 -
WordPress
Google Analitics イベントトラッキング対応
Webサイトを運用するようになると、フォームの「ボタン」やバナーの「リンク」を踏んだという数値の計測や解析が必要になってきます。 googleアナリティクスの設定では把握できない行動の数値を計測することができます。 その場合、トラッキングタグを埋めこむ必要がでてきます。 手作業でももちろん埋めることもできますが、 こちらのWP Google Analytics Eventsというプラグインを使うことで、簡単にトラッキングを計測することができます。 【参考記事】 https://wacul-ai.com/blog/access-analysis/google-analytics-setting/eventtracking/ -
WordPress
noinex化への対応
そもそもnoindex とは サイトの運用上、noindex化が必要な場合もできてます。noindex は、メタタグと呼ばれるものの一つで、サイト内のあるページを検索エンジンにインデックスさせないために使います。 サイトの検索順位が決まるまでのプロセスは、「①クロール → ②インデックス → ③ランキング」の3つのステップがありますが、noindex はこのうち、2番目のインデックスで止めることです。 そして、noindex が設定されたページは、検索結果には表示されなくなります。 SEO的にあまり良質ではないコンテンツをindexさせないことで、サイト全体の価値を上げ、Googleからの評価を良くすることができる場合があります。 noindexに対応するために、 大まかな手順としては、① noindex化「0=する」、「1=しない」のスイッチをカスタムフィールドで作ります。 ② noindex化するにチェックがあった場合、headerにnoindexを表示させます。 noindexのスイッチを作成する。 フィールドタイプは、「ラジオボタン」選択肢は、0 : noindex化しない1 : noindex化する 投稿画面、固定画面で下記のように表示されます。 […] -
WordPress
直近の改修・保守サイト
メンジョイ 開発会社からの引き継ぎで、小学館さんの女性メディアのサイトの保守・管理業務に携わっていました。運営に必要なプラグインの開発やテンプレートの改修を行っていました。インフラはAWSを使用しています。 PCサイト スマホ版 使用言語 PHP / Javascript / html5 / CSS3 幻冬舎ゴールドオンライン Media Weaver (メディアウェーバー)というCMSを使用しています。言語はRubyです。 PCサイト スマホ版 使用言語 Ruby / Javascript / html5 / CSS3 -
WordPress
ショートコードで本文中のコンテンツをPC、スマホへの切り替えを行う
今どきのサイトだとレスポンシブデザインだったりエージェントごとにテーマをスイッチングされているかと思いますが、 例えば、画像で作られたバナーとかは、テーマをスイッチしたとしても本文の内容をPCとスマホを分けたいという場合もありますよね。。本文中に以下のショートコードを入れるだけで簡単にPCとスマホに分けることができます。 ショートコードを動かすためには、functions.phpに以下のコードを追加します。 プラグインも作成しましたので、試してください。 -
WordPress
固定ページのslug名から本文を取得し表示させる
サイトの修正・保守を任されているといちいちテンプレートに記述するのではなく、手離れよく運営の方が管理画面からTOPページなどにバナーを入れたり、文言を入れたいと言う場面があるのではないでしょうか? 固定ページをテンプレートパーツ化するという手法です。 固定ページを新規に作成して、その中にコンテンツを作成し、スラッグ名から固定ページの本文を取得し表示させることが出来ます。 投稿IDから取得でもよかったのですが、投稿IDからだとステージング環境と本番環境で、IDに差がでてくるので、スラッグ名で取得できたほうがいいですよね。 index.phpなどに表示させたい場所に下記のコードを記述します。 固定ページをテンプレートパーツとして利用することで、WordPressのリビジョン機能を使うことができます。 例えば、このバナーをいつ変えたっけぇ、、とか溯って見ることができるわけです。