カテゴリー: WordPress

  • [WordPress] プラグインのアンインストールで残骸が残るプラグイン -アンインストールで共通する問題の備忘記録 [2021/10/16]

    [WordPress] プラグインのアンインストールで残骸が残るプラグイン -アンインストールで共通する問題の備忘記録 [2021/10/16]

    はじめに

    WordPressのプラグインで必要でなくなれば、即削除するのが通常と思われますが、そのプラグインの残骸が残るケースを体験しました。今後の教訓にすべき内容です。

    以下に、その現象と対策について備忘記録します。

    今後の問題発生に備えて、プラングインのアンインストール時には、必ずその対策の実施をお勧めする。

    問題の現象

    「Social Counter」は、WordPressサイトに、FaceBookやTwitterのリンクと共に、そのフォロワー数を表示するプラグインです。

    AMPプラグインと相性が悪く、AMPで検証して、コードやJavaScriptのAMP最適化をした場合、カウンターの表示色や体裁が崩れてしまうことが多かったため、削除することにしました。

    その結果、ページに表示されていた「カウンター」は、ショートコードをそのまま残したままになってしまいました。

    最初の対応策は、キャッシュをクリアしてみましたが、効果がありませんでした。

    結局、削除した「Social Counter」を再インストールして、FaceBookとTwitterのカウンターが有効になっているのを、無効にしました。すると、ページには、カウンターは表示されなくなりました。1つのページで確認した後、「Social Counter」を無効化しました。その後、他のページを表示させてみると、同じ問題が生じました。

    どうやら、ページ毎に「カウンター」を埋め込んでいるようです。その機構はわかりませんが、ページが表示される度に処理しているものと考えられます。そうだとすると、これまでに、表示したことのあるページには、「カウンター」が埋め込まれているので、それを、カウンターの無効化での表示が1度は必要ということになります。

    問題点のまとめ

    • アンインストールしても、ショートコードが残る

    英語書くのは気合が必要なので、開発者には、気が向いたら連絡したいと思います。

    1.「Social Counter」

    • アンインストールの方法
    • 「Social Counter」を有効化のままにしておく
    • 「FaceBook」,「Twitter」のカウンター表示を無効化にセットする
    • 以上の設定により、1度はカウンター表示で表示されたことがあるページは、もう一度表示された時にカウンター表示のショートコードが削除される
    • 各ページの表示を訪問者さんに任せるか、自分で一つずつ表示して確認するか、いずれかで実施する。でも、最終的には、自分で確認することになりますね。

    という、まどろっこしい対策となりました。

    Advice

    必要でなくなったプラグインは、先ず、無効化にしてしばらく様子を見ましょう。速攻削除してしばらく経過してしまうと、削除したプラグインの名前すら忘れてしまい。問題が起こった時に、どのプラグインが原因であるかの示唆も選られに難くなってしまいます。必要出ないプラグインの無効化が、ある程度の期間で問題が生じないなら、削除するという二段階での削除が安全です。

    2.「AMP」

    本家のAMPプラグインは、データベース(DB)に残骸が残ります。そのため、直接、DBを操作する必要があるようです。これまでに経験する不具合として、検証済みURLのページに投稿が表示されなく問題があります。普通にAMPプラグインを無効化して削除するものの、残骸の残っているようで、再インストールしても、その問題は解決されずの残るというものです。DBを弄る度量はないし、仕方がないので、コツコツと作業をする羽目になるのでした(Mr.Harikiri)。

    How to Remove AMP Plugin Data on Your Site (参照日 2021/10/16)

    https://mainwp.com/how-to-remove-amp-plugin-data-on-your-site/

    対策

    WordPressでは、プラグイン/テーマを削除したとしても、一部の独立したテーブルやデータが残るようです。以下のプラグインの説明にそのように書いてありました。インストールしていたプラグインの影響を完全になくすためには、プラグインを削除した後、関連するデータベースの削除も同時に必要だということです。

    現在、AMPオフィシャルプラグインで問題が起こっています(2020/09/23)。プラグインの削除と再インストールでは、問題は同様に発生しているため、関連するデータベースの削除を考えています。その後、調査した結果は、前述のようにDBの削除しか無いようです。僕の場合は、削除が目的ではなく不具合の修正なのですが、安全策としてDBを操作せずにコツコツと他の方法で対応することにしました。

    Advanced Database Cleaner

    https://ja.wordpress.org/plugins/advanced-database-cleaner/
    編集履歴
    2020/06/06 はりきり(Mr)
    2020/09/24 追記 (同問題の原因がDatabaseにあり、それの削除も必要であること。AMPプラグインでの問題の対策予定)
    2021/10/16,追記(AMPプラグインの不具合は、DBのようであることについて)
  • [Synology] NAS/Router ログ・センターは、毎日1回は見るべし – サーバーへの総当たり攻撃を発見、システムのログイン制限の適切な設定と自動ブロック-  [2021/08/01]

    [Synology] NAS/Router ログ・センターは、毎日1回は見るべし – サーバーへの総当たり攻撃を発見、システムのログイン制限の適切な設定と自動ブロック- [2021/08/01]

    ID16720

    はじめに

    この2021/07/27から8/1にかけて「brute-force attack」によるUID/PW情報を破る試行行為が静かに行われていました。Synology NASおよびRouter製品のセキュリティの話です。

    前回、2020/06に気が付いたケースでは、Mail Serverへのattackを3ヶ月間、もしかすると半年間許してしまったことに焦りを感じました。それ以来、Log Centerの確認は1日に1回は無理でも1週間に数日は確認するようにしていたため、このコロナ禍の7/30には、そのattack (DSMへのログイン試行)を認識することができました。数日後の8/1まで対策に時間を要したのは、対策方法を見つけるまで時間がかかったためです

    Warning Logの内容は以下の通りです。

    User [admin] from [xxx.xxx.xxx.xxx]failed to log in via [DSM] due to authorization failure.

    以下、今回のケースの対策方法についても、この記事にまとめておきたいと思います。

    前回(半年以上のアタックを受けていたケース)の対策を施してからは、Log Centerの日常な監視を強化して、追加の設定等により、その有効性を高めていたつもりでした。Log Centerの確認では、表示したいグループを、接続(Connection)にして、黄色で表示されるWarning情報に記録されている怪しいIPアドレスはブロックリストに登録し、更に、効果的な自動ブロックはアクセス制限の設定値を熟慮して設定しています。

    NASやRouterには、必要なセキュリティ機能が装備されています。ローカルネットワークの外からのアクセスを許可している場合は、適切に設定しておかなければ、不正アクセスの踏み台になったり、データを失ったりすることもあり得ます。NAS/Routerには、それぞれで、何らかのサーバーが構築されているはずです。これらのサーバーへのattackを受け難くするために、Synology製のNAS/Routerには、不正ログインやアタックを阻止する強化された機能があるので、適切に設定することでよりセキュリティを高めることが可能です。

    前回のケースは、MailPlus Serverに対する不正ログイン試行 (frute-force-attach)を偶然に発見しました。その日まで半年の間、四六時中、ログイン試行を許していたのでした。

    以下に紹介した方法は、外部からのアクセスを許しているサーバー全般に対して、ログイン試行 (brute-force-attack)を共通に自動ブロックして阻止することができます。この自動ブロックは、特定のIPアドレスに対してのものであり、一定期間で解除される仕組みとなっています。しかし、今回のように、Synology DSMに対して、特定のポート番号を知られて、毎回、IPアドレスを変更してくるattackには完全に遮断することができておらず、Log Centerの記録に警告(warning)として残ることになりました。このケースの場合、基本設定というよりは、対処療法となります。その都度対処することが対応策の基本ということです。

    今回のケースではDSMへのLog in試行でしたが、IDは[admin]固定でIPアドレスを変化させながら、また、PWは色々と試行していると考えられます。以下に解説している基本設定のままでは、警告「ログインの失敗」(failure to log in)が4分おきに記録されていました。この状態を良しとしておいてもしばらくは良いと思いますが、その内、ヒットされる危険性もあります。でもadminは無効にしておけば、ヒットされることはありませんが。でも、ログに残ってくるattackは鬱陶しいですね。

    ログセンターをまだインストールしていない場合は、パッケージセンターからインストールを済ませておきます。インストールできていれば、下図のように「ロクセンター」が表示されるはずです。

    Mr.Harikirの環境の場合、Routerのログは、NASに転送して一元管理しています。RouterとNASにLog Centerをインストールしてあり、ログが集まってくるNASのLog Centerを定期的に確認しています。

    図1. ログセンターは毎日確認

    Log Center

    Log Centerが少しトリッキーなので、少し注意点と簡単な使用方法を以下に示しておきます。

    1. 注意点、概要とログのタグページがありますが、表示内容がなぜか一致していない。概要ページのログには記録されているログインの失敗情報がログページで接続(connection)表示させても、その情報が無い場合がある。
    2. 使い方、表示を一般から接続(connection)にして警告(warning)を確認する。
    3. 今回のケースでは、DSMへのログインの失敗が約4分間隔で記録されていた。以下に開設している今日までの設定では、Mail Serverへのattackには効果がありました。しかし、DSMへのattackに対しては、attack自体を許しており、そのため記録が残っている。

    これまで2回のattackに対する設定概要

    1. 前回のケースであるMail Serverへのattackの対策は、以下の「基本設定」以降に詳しく解説しています。
    2. 今回のケースであるDSMへのLog in attackの対策は、追加事項として、ここに示しておきます。
      1. DSMへのログイン(log in)では、ポート番号が知られてしまっているため、attackを許していると考えて以下の対策で解決しました
      1. コントロールパネル→ネットワーク設定→DSM設定
      2. ポート番号の変更と適用。モグラ叩き的な対策ですが有効な対策の一つです(2021/08/01)。
      3. DSMのポート番号は、PhotoStationやCalenderなどに使われているので、クライアントからの接続設定も更新しておく必要もあります。

    基本設定

    前回のケースでは、attackを受けたのはMail Serverであったため、Mail Serverへのattackが無くなるように設定されています。今回の対応により、その設定内容の変更はありません。今回のDSMへのログイン試行の対処療法として設定すべき項目は、DSMのポート番号の変更のみです。

    前回、MailPlus Serverへのattackを受けた時の状況

    これまで、Log Center (ログセンター)のログは、時折確認していました。しかし、Warningに関しては、重要視していませんでした

    たまたま、今日(2020/06/05)、Warningをしっかり見てみたところ、3分間隔で、MailPlus Serverに対するログイン試行を繰り返していることに気づきました。しかも、3日間に渡ってです。Logを遡って見てみると、以下のことがわかりました。

    • 一回の攻撃は、約3日間をひとまとまりとして行われていた
    • その約3日間が数日間の間隔を置いて、同様の攻撃が行われていました
    • これを大きな「かたまり」として1つと勘定すると、まとまった攻撃の回数は半年間で、5回を確認できました
    • 3日間でのやり口は、約3分間隔でログインの試行をユーザー名を色々と変えながら行っていました。
      • ユーザーIDは、home、ad, user, user0など、よく使われるものでした(図1)

    この攻撃を許していたことに冷や汗です。

    図1. MailPlus Serverへのログイン試行ログ

    基本設定による対策

    DS918+のアクセス制限の適切な設定

    アクセス回数によるログインの制限を、以下のような考え方によって適切に設定します。

    • 3分間隔のログイン間隔を前提にします
    • 3回のログイン・ミスが生じた場合にブロックするようにします
    • 3 x 3 =9 分間で、3回のミスが生じた場合をブロックできれば良いことになります
    • 時間に余裕を持たせて例えば、12分を設定します
    • 回数は、3回を設定します

    コントロールパネル→セキュリティ→アカウント

    図2. ログイン制限の設定

    設定例

    当初の設定では、時間の設定を1分にしていました。早めに検知できた方が良いと直感的に考えたからでしたが、その設定は間違いでした。1分以内で実行できるログイン試行数は、それほど多くありません。時間は、10分から60分程度が、検知するには必要です。更に、自分がログインしてすることと、不正アクセス者がログイン試行することを考えると、60分の時間内でのログイン試行数が設定の鍵になります。

    例1

    12分間の間で、3回~(最大4回)のログインを試行して失敗した場合、自動的にブロックします。4分間隔以下を検出できます。この場合、12分間で3回間違えるとブロックされます。自分がログインする場合も同様なので、少ない回数の3回については注意が必要です。

    • ログイン試行回数(Login Attempts) : 3 回
    • その時間範囲 (Within) : 12 分

    例2

    例1は、4分間隔のログイン思考を前提にしましたが、不正アクセス者は検知をさせるためには、間隔を更に長くすることも考えられます。

    そこで修正して、各値を約3倍にを考えてみます。60分間の間で、10回のログイン試行のブロックを考えます。この場合、60分間以内に、10回ミスするとブロックできます。自分がアクセスする場合、10もミスはしないと思います。また、不正アクセス者が、10回の限られた回数でID/PWを破れるとは考えられません。妥当な設定だと思います。ただし、この設定では、不正ログイン試行を6分に1以上のアタックに対しては、自動ブロックができません。

    この自動ブロックができない状態がそのまま続いたとして24時間経過後には、240回のログイン試行がおこなわれてしまいます。

    • ログイン試行回数(Login Attempts) : 10 回
    • その時間範囲 (Within) : 60分
    • 自動ブロックができない最悪のケースでは、24時間後には、240回のログイン試行を許してしまう

    例3

    例2の、10回、60分の設定では、最悪の場合、24時間後には、240回のログイン試行を許します。

    そこで、10回のミスは、自分もあり得ると許容して、時間をもう少し考えます。24時間以内に10回ミスしたら、自動ブロックするようにすればどうでしょうか。

    自分がログインする時、1日の内に連続して10回もミスはしません。10回、24 x 60 =1440分の設定を最終案として考えてみましょう。

    不正ログイン試行が、この設定を最悪逃れられた場合、1日(24時間、1440分)で10回を許すことになります。1日で10回ということは、1週間で70回の試行回数になります。

    Log Centerの確認を毎日行えば、10回の試行回数で発見できます。1週間毎の確認であれば、70回の試行回数で発見できることになります。なかなか、リーズナブルな設定値になってきました。これを最終提案とします。

    • ログイン試行回数(Login Attempts) : 10 回
    • その時間範囲 (Within) : 1440分
    • 自動ブロックができない最悪のケースでは、24時間後には10回、1週間では70回ののログイン試行を許してしまいますが、それ以外は自動ブロックできます。
    • 妥当な設定であると判断しました。

    設定の効果

    ログイン制限の設定は、12分-3回に設定してみました。今、まだ、不正ログイン施工を実行中(bot)ですが、以下の様に、3回のログイン試行により、自動的にブロックされたことが、Log Centerのログから確認できました。

    図3. 自動ブロックされたことを確認

    メール通知

    NASシステムの通知方法として、メールアドレスを設定しているなら、前述の設定で、自動ブロックされた時には、メールで通知がきます。

    図4. 自動ブロックされたると携帯に通知がくる

    永遠にブロックする

    自分がブロックされることもあると思います。そこで、自動ブロック期間は、1日にしています。

    自動ブロックの通知が届いた場合は、自分に関係しないIPアドレスは,設定から永遠にブロックしておきます。

    コントロールパネル → セキュリティ→ アカウント→ブロックリスト

    ブロックリストには、自動的にブロックしたIPアドレスがリストされていので、そのIPアドレスを控えておき、作成したブロックリストを改めて作成します。上書きするか聞いてきますが、気にせず上書きして、永遠にブロックします。

    自動ブロックの通知が届いた場合は、設定から永遠にブロックしておきます。

    図5. ブロックリストに永遠にリストしておく

    まとめ

    1回目の「Brute-force-attack」と思われる不正アクセスの心込みについは、新型コロナウイルスのため、自宅待機していたことで気が付けましたが、これまでの少なくとも6ヶ月間、不正アタックを放置していたことになります。

    ざっくり計算してみると,3日間で3分間隔の不正ログイン試行では、その総試行回数は、3 × 24 × 60 ÷ 3 = 1,440回です。

    それをこの半年間で、少なくとも5回行われていたので、1,440 x 5 = 7,200回の不正ログイン試行を許してしまったことになります。

    Log Centerは、週に2回は見ていましたが、今思えば、なんの基準もなく漫然と見ていました。今回は、それでも偶然見つけた訳ですが、大事になる前で良かったと思います。

    Log Centerは、最初に設定した時や設定を変更した時には、しばらくは、できれば毎日見た方が良いですし、今回の教訓から特にWarningは、文字通り注意して見る必要があります。特に,同じIPアドレスが何度も記録されていることは要注意です。

    前述した「例3」の設定では、24時間で10回以上、または、1週間で70回以上のログイン試行を同じIPアドレスからされた場合に自動ブロックできます。

    もしも、自動ブロックが出来ない間隔で不正ログイン試行をされた場合でも、毎週1回のLog Centerの確認によリ、最悪でも70未満の試行回数で発見できます。もちろん、毎日のLog Centerの確認により、10回未満の試行回数で発見できます。

    勿論、少ない回数で鍵を開けられない程度の複雑なPW設定を前提にしています。攻撃者に対して、決して、宝くじの当たる確率を上げないように運用していきたいものです。

    Synology Routerの設定

    以上の設定は、Synology Routerにも同様に設定できるので、それぞれがターゲットとなっても大事に至らないよう、同様に設定しておきます。

    • ネットワークセンター → セキュリティ → 自動プロック

    まとめ

    レンタルサーバーを使わず、自前のマシンを使っってBlogをしたり、ホームサーバーとして構築していたとしても、外部からのアクセスを許して運用している御同輩の皆さんは、一般ユーザーとは異なり、私もそうですが、茨の道を進んでいるのです。

    防御能力は攻撃能力よりも重要です。しっかり「マイホーム」を守れるように日々精進したいと思います。

    以上

    編集履歴

    2020/06/05 はりきり(Mr)
    2020/06/06 追記(例3)
    2021/01/22 文言整備、図の追加
    2022/11/20 文言整備
  • [WordPress] その昔憧れた、パーソナル・データベース生活を実現。 – イベント・プラグイン – を選定/導入する [2020/05/23]

    [WordPress] その昔憧れた、パーソナル・データベース生活を実現。 – イベント・プラグイン – を選定/導入する [2020/05/23]

    ID18377

    イベント・プラグインの使用目的

    背景

    初代iPadが発売されてから、iPad3くらいまでは、iPad用のDatabaseアプリが沢山ありました。

    使い方としては、データベースとして残しておきたい情報や自分のイベントなどについて、その情報のデザインを自分で行い、そのフォーマットにデータをエントリーしていくものです。

    以前にエントリーしたデータを見たくなった時、そのデータは検索により瞬時に得ることができます。しかも、端末がiPadやiPhoneなので、何時でも情報にアクセスできるという憧れのデーターベース生活を達成できるアプリたちでした。

    編集履歴
    2020/05/23 はりきり(Mr)

    中でも、デザインも機能も使いやすさも優れていたのが、Mac用のデータベースソフトで知られていたFileMaker (会社名も同じ)が開発した、iPad/iPhone用の

    bento

    でした(2012/07/16)。

    更に、機能を求めるなら、FileMakeを購入してWindows/Macにインストールし、少しフォーマットを開発すれば、以下のことが可能となる予定でした。

    • 親データベース自体は、Mac/Windowsに置く
    • 端末であるiPad/iPhoneの「bento」から吸い出して外出
    • オフライでのデータベースのアップデートや検察
    • その後帰ってから、親データベースに「bento」で接続してアップデート

    Windows用のFileMakerの購入も考えていましたが、2013年に突然の提供の終了となりました。

    FileMaker、パーソナルデータベース「Bento」の提供を終了へ – ITmedia NEWS 2013/08/01 – より

    あれから7年が経ちました(2020年)。1.5年前には、WordPressなるものがあることを知りました。WordPressには、mySQLのサブセットであるMaria SQLが搭載されていることも知りました。

    目的

    その昔憧れた、「パーソナルデータベース生活」は、今日、可能になった!! のではないでしょうか。

    今回は、導入編です。

    イベント・プラグインを選ぶ理由

    WordPressのポスト機能を使用せず、イベント・プラグインを導入する理由ですが、やはり使い勝手の問題です。

    • プライベートを維持できるか
    • データー・エントリーは簡便か
    • 複数のイベント表示は、タイトな表示が可能か、カスタマ泉性は高いか

    検討したイベント・プラグイン

    4つのイベント・プラグインを選択し、インストールしました。「Setting」を一通り確認した後、イベントのエントリーの具合を以下の内容で確認しました。

    • イベント・プラグインを「event」で検索
    • 目ぼしいプラグインの詳細に飛び、「スクリーンショット」を確認して、自分が望む表示なのかを確認
    • 気に入ったプラグインは、「インストール」
    • 結果的に、4つをインストールしました
    • 各プラグインの「Setting/設定」を一通り流し読み
    • イベントをエントリーしてみて、表示機能を探して表示さる
    • 「Private」というキーワードが「Events Made Easy」プラグインにあることを確認
    • フル機能が「Upgrage」しないといけいプラグインをボツにする
    • 「Events Made Easy」はフル機能が提供されていることを確認
    • 一通りのプラグインのエントリーのしやすさを比較
    • 表示の比較

    イベントプラグイン

    Events Make Easy

    を選択。

    その結果、「Events Made Easy」を選定しました。更に、よりディープにつかいこんでみました。

    • 30レコードほどのイベントを入力
    • エントリーのしやすさの確認
    • 一括管理のしやすさの確認
    • 表示のショートコードの確認
    • Widgetの確認
    • Private機能の確認

    選定理由

    • フル機能が提供されている
    • 色々な機能が装備されていおり、支払い情報関連、メーリングリスト関連、メンバーシップ関連など多数あり、現状は必要ないが、将来性を買った
    • その内、有料版になると予想されるくらい完成度が高い
    • エントリーが簡便にできる
    • 表示など、ショートコードが充実しており、望む表示とカスタマイズ性も高く、将来的には使い込んでみたいと思った
    • Widgetも使用可能
    • イベントに「Private」を簡単に設定できる
    • イベントに「カテゴリー」をセットできる
    • WordPress内の検索機能ではヒットしないように、専用の検索を行うようになっている。

    使い方

    メニュー

    最小限の設定と最小限のエントリーの概要

    設定項目がおおいのですが、早速使ってみるための最小限の取り扱いについて、以下にまとめました。

    • 多数の設定項目はあるが、ほとんど、デフォルトで良い
    • 最小限のエントリーは、「タイトル」と「日付」を入力して保存する。その他、ロケーションなども使用可能
    • カレンダーの表示には、固定ページを設定する
    • カレンダーのWidgetも設定しておく
    • 「Private」にセットしている場合、ログイン・ユーザーでなければ、カレンダーに表示されない。ログイン・ユーザーであれば、リンク付きで表示される
    • 1点注意として、WordPress標準の検索では、引っかからない(タイトルさえ引っかからない)。これは、「Private」の維持としては正解である。
    • 因みに、メンバーシップを構築できるUltimate Memberプラグインでは、WordPressの標準の検索で、秘密の投稿でもタイトルはヒットしてしまう。
    • では、Events Made Easyで検索したい時、どうするか? 充実したショートコードを使用する(と現在は理解している)。ショートコードのサンプルは多数が紹介されている

    表示はどんな感じ?

    まだ、使い込んでいませんが、コンパクトにリスト化できれば、先ずは良しです。

    以下のショートコードで、1つのイベントのタイトル(リンク付き)が1行で表示されます。全体の俯瞰には、このシンプルさが最適です。

    もちろん、日付のカラム内にリンク付きで「カレンダー」表示が可能です。これもシートコードの挿入で簡単に、PAGEに配置できます。ページの属性を非公開にすれば、そのカレンダーは、パーソナルなカレンダーになります。

    Events Made Easy site

    Events Made Easyのメニュー

    まだまだ、使いこなすには至っていないので、設定画面など写真のみで雰囲気を感じてください。今後、レポートしていきたいと思います。

    Settingsのメニュー

    Generalの設定

    SEOの設定

    Eventsの設定

    Locationsの設定

    以上

  • [WordPress] 広告プラグイン – Advanced Ads Pro (有料版)の応用機能(Header/Footerにコードを挿入)  [2020/05/03]

    [WordPress] 広告プラグイン – Advanced Ads Pro (有料版)の応用機能(Header/Footerにコードを挿入) [2020/05/03]

    充実する広告表示機能を応用

    Advanced Adsプラグインは、Google Adsenseの対応に注力しているドイツ製のプラグインです。

    今回は、Advanced Adsのホームページを元に応用できる機能について紹介します。

    Header/Footerにコードをどのように挿入するか

    専用のプラグインを使わなくても、Advanced Ads(有料版)を使用しているなら、その機能の応用でコードをどこにでも挿入することも可能です。

    Advanced Adsで選べる「広告タイプ」は、7種類あります。

    • プレーンテキストとコード
    • ダミー
    • リットコンテンツ
    • 画像広告
    • 広告グループ
    • AMP
    • アドセンス広告

    今回紹介する内容は、「プレーンテキストとコード」を選択して「広告」を作り、Header/Footer部にコードとして「配置」を作れば、Header/Footer部にそのコードを自動的に挿入させることが可能です。

    プレーンテキストとコード広告の作り方

    もちろん、広告としてつくることもできますが、今回想定しているのは、以下のようなネットワークから指示されてコードをHeader/Footerに挿入する場合です。

    • Google Search Console
    • Google Analytics
    • Google AdSense
    • Bing Webmaster Tools
    • Alexa
    • Pinterest
    • Facebook

    操作方法

    概略

    先ず、広告を「プレーンテキストとコード」を選択して作り、配置を「Header」として作る。

    1. Advanced Ads → 広告(Ads) → 新しい広告
      • 「タイトル」入力
      • 広告タイプを「プレーンテキストとコード」にする
      • 「次に」
      • 「広告パラメータ」にコードを挿入
      • 最低限、以上の設定で広告の作成を完了してします
    2. Advanced Ads → 配置 → 配置の新規作成
      • 配置の種類を選択で、「</Head>」を選ぶ
      • 名前を入力
      • 広告又はグループを選択で、作成した広告を選択
      • 新しい配置を保存↩️

    以上で、自動的にHeader部にコードが挿入されます。

    応用

    挿入したいコードが複数ある

    1. 各コードに対応する広告の作成を作成
    2. 各コードの広告をグループ化する
    3. グループを「</head>」に配置として作成する

    まとめ

    <head>..</head>への挿入は、プラグインを使用すれば可能ですが、Advance Ads(有料版)を使用している場合は、そのような挿入プラグインを無効化して、Advance Adsにまとめることが可能です。それによって、サイトはシンプルになり、プラグイン同士のコンフリクトも少なくなり安定性も向上します。

    以上

    履歴

    2020/05/03 はりきり(Mr)

    Advanced ads関連

  • [Synology] Universal Searchで必要な書類は速攻探せる – 集中的なHDDアクセスの原因を確認する

    [Synology] Universal Searchで必要な書類は速攻探せる – 集中的なHDDアクセスの原因を確認する

    ID14937

    Universal Search

    Synology NASのDisk Station Manager (DSM)に付属している「Universal Search」は、「File Manager」と連携して、高速な検査を可能にしています。

    Universal Searchが、インデックスを作りだすと、長時間のHDDアクセスが行われます。本当に、それが原因かどうかを確認する1つとしてUniversal Searchの状態を確認してみましょう。

    以下の解説は、Universal Searchの環境設定画面を表示させて、「インデックス作成中」であることを確認します。

    ディスクトップモードにして、左上の窓マークをクリックすると、インストールされているパッケージが表示されます(図1)。

    図1. インストールしたパッケージ

    パッケージセンターから「Universal Search」を選ぶと、以下のように「Universal Search」の初期画面が起動します。

    「開く」をクリックすると環境設定画面が現れます(図2)

    図2. Universal Searchの初期画面

    Universal Search(図3上)の初期画面の右上メニューの歯車マークをクリックすると「環境設定」が面が現れます(図3中、下)。

    現在、インデックスを作るように設定している共有フォルダのリストが、「インデックス付きフォルダ」に表示されています。

    更に、ステータスには、「インデックス作成中」とあります。現在、インデックスの作成のため、HDDへのアクセスが集中的に行われていることが理解できます。

    図3. Universal Searchの環境設定画面でステータスの確認

    以上

    編集履歴
    2020/05/27 はりきり(Mr)

  • The site post list displaying improved by additional coding to the code of “Flex Post” plugin -ID14897 [2020/06/16]

    The site post list displaying improved by additional coding to the code of “Flex Post” plugin -ID14897 [2020/06/16]

    ID14897

    ポストのリスト・プラグインをソースコードで修正

    ページネーション(pagination)

    記事のリストには,「Flex Posts」プラグインを使用しています.軽くて良いプラグインですが,ページネーションが機能しませんが(2020/04/29現在),他のプラグインでも機能しないので,何かのプラグインが悪いか,相性が悪い可能性があります. 2020/06/07, その後、不要なプラグインの削除、Flex Postsの更新などがあったせいか、ページネーションは機能するようになりました。

    Flex Posts plugin

    Layout 1又はList-1の体裁が好みなのですが,featured imageが日本語表示ではバランス的に小さかったり,2カラムの投稿表示であるなど,好みでない部分がありました.

    今回,プラグインのソースコードを一通り確認して,修正する箇所を特定して少しいじりました.CSSで間に合う部分は,CSSに追加しました.

    1ライン(カラム)で1つの記事を表示するようにしました。

    フォントの修正は,CSSに

    /* Twenty Twenty Theme
    Entry header is changed to transparent
    */
    .singular .entry-header, .singular .featured-media:before,  .wp-block-pullquote:before {
        background-color: transparent;
    }
    
    /* FLEX POSTS plugin
     * image size of list-1
     * /plugin/flex-posts/public/css/flex-posts.cssを参照した
     * my customizing 2020/04/26
    */
    .fp-thumbnail img.size-thumbnail {
    width: 150px;
    height: 150px;
    }
    

    プラグインのソースコードの修正

    • コード修正したファイル
      • plugins\flex-posts\public\flex-posts-list-1.php
    • 修正概要は,fp-row, fp-colをClassに追加したり,削除したりして,2カラムになって,1行が短いことを1カラムなるように修正.タイトルフォトをH4からH5に修正
    • プラグインのVersion upがあった際には,修正ファイルと置き換えるか,コードを見ながらNew Versionを修正する

    修正済み(modified coed)

    plugins\flex-posts\public\flex-posts-list-2.php

    2020/06/16

    • フローチャート表示用に改造を開始
    • <center>⬇️</center>を配置
    <?php
    /**
     * Flex posts widget template: List 2
     *
     * @package Flex Posts
     */
    
    if ( ! defined( 'ABSPATH' ) ) {
    	exit;
    }
    
    ?>
    <div class="fp-row fp-list-2 fp-flex">
    
    	<?php while ( $query->have_posts() ) : ?>
    
    		<?php $query->the_post(); ?>
    
    		<div class="fp-col fp-post">
    			<?php flex_posts_thumbnail( $medium_size, $instance, $query->current_post ); ?>
    
    			<div class="fp-body">
    				<?php if ( ! empty( $instance['show_categories'] ) ) : ?>
    					<?php flex_posts_categories_meta(); ?>
    				<?php endif; ?>
    
    				<h4 class="fp-title">
    					<a href="<?php the_permalink(); ?>"><?php the_title(); ?></a>
    					<center>⬇️</center>
    				</h4>
    
    				<div class="fp-meta">
    					<?php flex_posts_meta( $instance ); ?>
    				</div>
    
    				<?php if ( ! empty( $instance['show_excerpt'] ) ) : ?>
    					<div class="fp-excerpt"><?php flex_posts_excerpt( $excerpt_length ); ?></div>
    				<?php endif; ?>
    
    				<?php if ( ! empty( $instance['show_readmore'] ) ) : ?>
    					<div class="fp-readmore">
    						<a href="<?php the_permalink(); ?>" class="fp-readmore-link"><?php echo esc_html( $readmore_text ); ?></a>
    					</div>
    				<?php endif; ?>
    			</div>
    		</div>
    
    	<?php endwhile; ?>
    
    	<div class="fp-col"></div>
    	<div class="fp-col"></div>
    
    </div>
    

    plugins\flex-posts\public\flex-posts-list-1.php

    2020/06/16

    Flex Posts – Widget and Gutenberg Block Version 1.60 to 1.70にupdateして、function flex_post_excerpt()が機能しなくなったため独自に修正とその他微調整。

    • オリジナルのflex_posts_excerpt()を削除し、the_excerpt()を配置
    • 日付metaの位置をthumbnailの上に変更
    <?php
    /**
     * Flex posts widget template: List 1
     *
     * @package Flex Posts
     */
    
    if ( ! defined( 'ABSPATH' ) ) {
    	exit;
    }
    
    ?>
    <div class="fp-list-1 fp-flex">
    
    	<?php while ( $query->have_posts() ) : ?>
    
    		<?php $query->the_post(); ?>
    
    		<div class="fp-post">
    			<div class="fp-meta">
    				<?php flex_posts_meta( $instance ); ?>
    			</div>
    
    			<div class="fp-row fp-flex">
    				<?php flex_posts_thumbnail( $thumbnail_size, $instance, $query->current_post ); ?>
    
    				<div class="fp-body">
    					<?php if ( ! empty( $instance['show_categories'] ) ) : ?>
    						<?php flex_posts_categories_meta(); ?>
    					<?php endif; ?>
    
    					<h5 class="fp-title">
    						<a href="<?php the_permalink(); ?>"><?php the_title(); ?></a>
    					</h5>
    			<?php if ( ! empty( $instance['show_excerpt'] ) ) : ?>
    				<div class="fp-excerpt">
    					<?php 
    						// flex_posts_excerpt($excerpt_length );
    						 the_excerpt(); 
    					?>
    				</div>
    			<?php endif; ?>
    				</div>
    			</div>
    
    			<?php if ( ! empty( $instance['show_readmore'] ) ) : ?>
    				<div class="fp-readmore">
    					<a href="<?php the_permalink(); ?>" class="fp-readmore-link"><?php echo esc_html( $readmore_text ); ?></a>
    				</div>
    			<?php endif; ?>
    		</div>
    
    	<?php endwhile; ?>
    
    	<div class="fp-col"></div>
    	<div class="fp-col"></div>
    
    </div>

    修正済み(modified coed)

    2020/04/29

    <?php
    /**
     * Flex posts widget template: List 1
     *
     * @package Flex Posts
     */
    
    if ( ! defined( 'ABSPATH' ) ) {
    	exit;
    }
    
    ?>
    <div class="fp-list-1 fp-flex">
    
    	<?php while ( $query->have_posts() ) : ?>
    
    		<?php $query->the_post(); ?>
    
    		<div class="fp-post">
    			<div class="fp-row fp-flex">
    				<?php flex_posts_thumbnail( $thumbnail_size, $instance, $query->current_post ); ?>
    
    				<div class="fp-body">
    					<?php if ( ! empty( $instance['show_categories'] ) ) : ?>
    						<?php flex_posts_categories_meta(); ?>
    					<?php endif; ?>
    
    					<h5 class="fp-title">
    						<a href="<?php the_permalink(); ?>"><?php the_title(); ?></a>
    					</h5>
    
    					<div class="fp-meta">
    						<?php flex_posts_meta( $instance ); ?>
    					</div>
    			<?php if ( ! empty( $instance['show_excerpt'] ) ) : ?>
    				<div class="fp-excerpt"><?php flex_posts_excerpt( $excerpt_length ); ?></div>
    			<?php endif; ?>
    				</div>
    			</div>
    
    			<?php if ( ! empty( $instance['show_readmore'] ) ) : ?>
    				<div class="fp-readmore">
    					<a href="<?php the_permalink(); ?>" class="fp-readmore-link"><?php echo esc_html( $readmore_text ); ?></a>
    				</div>
    			<?php endif; ?>
    		</div>
    
    	<?php endwhile; ?>
    
    	<div class="fp-col"></div>
    	<div class="fp-col"></div>
    
    </div>
    

    修正前(before)

    <?php
    /**
     * Flex posts widget template: List 1
     *
     * @package Flex Posts
     */
    
    if ( ! defined( 'ABSPATH' ) ) {
    	exit;
    }
    
    ?>
    <div class="fp-row fp-list-1 fp-flex">
    
    	<?php while ( $query->have_posts() ) : ?>
    
    		<?php $query->the_post(); ?>
    
    		<div class="fp-col fp-post">
    			<div class="fp-flex">
    				<?php flex_posts_thumbnail( $thumbnail_size, $instance, $query->current_post ); ?>
    
    				<div class="fp-body">
    					<?php if ( ! empty( $instance['show_categories'] ) ) : ?>
    						<?php flex_posts_categories_meta(); ?>
    					<?php endif; ?>
    
    					<h4 class="fp-title">
    						<a href="<?php the_permalink(); ?>"><?php the_title(); ?></a>
    					</h4>
    
    					<div class="fp-meta">
    						<?php flex_posts_meta( $instance ); ?>
    					</div>
    				</div>
    			</div>
    
    			<?php if ( ! empty( $instance['show_excerpt'] ) ) : ?>
    				<div class="fp-excerpt"><?php flex_posts_excerpt( $excerpt_length ); ?></div>
    			<?php endif; ?>
    
    			<?php if ( ! empty( $instance['show_readmore'] ) ) : ?>
    				<div class="fp-readmore">
    					<a href="<?php the_permalink(); ?>" class="fp-readmore-link"><?php echo esc_html( $readmore_text ); ?></a>
    				</div>
    			<?php endif; ?>
    		</div>
    
    	<?php endwhile; ?>
    
    	<div class="fp-col"></div>
    	<div class="fp-col"></div>
    
    </div>
    

    編集履歴

    2020/04/29 はりきり(Mr)
    2020/06/07 追記 (ページネーション機能が正常になったこと)
    2020/06/16 追記 (Flex Post Version 1.70でexcerpt非表示への対応、List-2の改造開始)
  • Preparing the contact form in HARIKIRI-STYLE site with reCAPTCHA v3 and function of form text storing to database

    Preparing the contact form in HARIKIRI-STYLE site with reCAPTCHA v3 and function of form text storing to database

    「お問い合わせ」フォーム

    サイトの「お問い合わせ」フォームにbot対策として、Googleの最新技術であるreCAPTCHA v3を追加しました。

    Googleがサービスしている「Google Search Console」と同様な技術で、登録のサイトを監視していて、不審なアクティビティについてスコアリングしてくれたり、emailにアラートを送ってくれたりが、あるようです。今後、どんなことが起こるのか、使い勝手はどうか、見守ってみます。

    2020/04/28 はりきり(Mr)

    編集履歴
    2020/04/28 Mr.HARIKIRI
  • [WordPress] Contact Form 7 – 「お問い合わせ」フォーム・プラグイン

    [WordPress] Contact Form 7 – 「お問い合わせ」フォーム・プラグイン

    ID14858

    問い合わせフォームをインストールする

    問い合わせフォームをデザインするためのプラグインです。問い合わせにはメールを使用しますが、メールが届かない場合に唱えて、WordPress側でその問い合わせのメールの内容を保管するプラグインも同時にインストールするのが良いでしょう。

    • Contact Form 7
    • flamingo

    reCAPTCHA V3に対応する「お問い合わせフォーム」として「Contact Form 7」を導入しました。

    クリエイターは同じ方(TAKAYUKI MIYAKE-さん)です。

    ある程度使ってみて継続する場合は、Donnateしないといけませんね。

    • Contact Form 7 (コンタクトフォーム/メール送信)
    • flamingo (メール送信内容のデーターベース保管)

    Contact Form 7

    • Ver. 5.1.7
    • 項目がいろいろ用意されているので、それを使ってフォームを作ります。
    • reCAPTCHA v3を設定します。

    セキュリティも確保したいので、reCAPTCHA v3を導入しますが、「Ultimate Member」プラグインの専用reCAPTCHA(v2を適用しているので競合しないはず)と競合しないことを併せて確認します。

    設定方法は以下のリンクにクリエイターさんのサイトがあります。

    プラグインの設定ページ

    reCAPTCHA v3とは、Googleが「アクションタグ」というものを使って、アクセス状況を見張ってくれているようです。そのような言い回しはしませんが。

    アクセスがどれくらい不審なのかスコアリングをしてくれて、自分の登録ページ(My reCAPTCHA)で、登録サイトのスコアを見ることができます。そのスコアリングに応じて、サイト管理者が対策をレベルに応じて打てることが売りのようです。また、不審なアクセスについて、登録しているアドレスにemailで知らせてくれるらしいです。今後、お世話になったら、その内容について追記していきます。

    flamingo

    Form 7には、問い合わせフォームをemailで送信する機能はありますが、保存機能がないので、Flamingoプラグインを導入します。

    WordPressのデータベースに問い合わせの項目の全てが保存されます。メールの送信エラーがあってもデーターベースに保管されているので安心です。

    • Ver. 2.1.1
    • 問い合わせ内容が送信される際、その項目の全てをWordPressのデータベースに保存

    参考

    参考1

    reCAPTCHA v3 – Googleより

    https://webmaster-ja.googleblog.com/2018/10/introducing-recaptcha-v3-new-way-to.html

    今後

    Ultimate MemberとContact Form 7の導入により、問い合わせを頂いた方に、形としては、メーリングリストの配信も考えています。

    何を配信するのかは、アイデアはないのですがね ^^;

    編集履歴
    2020/04/28 はりきり(Mr)
    
  • The site font-family were consisted more harmonizing – ID14235

    The site font-family were consisted more harmonizing – ID14235

    WordPressでは、サイトの表示は、使用しているプラグインの数が増えてくると、そのプラグインが独自で設定している「フォント」が使われるため、一貫性が低くなって見栄えが悪くなる。

    例えば、投稿の表示には「Flex Posts」プラグイン、サイト内の徳特定の投稿の表示には、「Advanced Gutenberg Blocks」プラグインを使用している。そのため、それぞれのフォントの違いが生じる。

    サイトのフォントについて調和(harmonizing)を実行した。

    編集履歴
    2020/04/24Mr.HARIKIRI
  • The site background color was set to the white – ID14231

    The site background color was set to the white – ID14231

    背景色

    自分が目が悪く見えづらいのに、これまで当サイトの「background color」は、肌色系にしていた。これは、最新バージョンWordPressの標準テーマであるTwenty Twentyのデフォルト色です。

    やはり、バックは「白」か「黒」が基本ですね。当サイトの立ち上げ当時は、黒のbackground colorにしていましたが、テーマをTwenty Twentyにしてから、その標準色のままでした。

    今回、「真っ白」に設定しました。

    カスタマイズ方法は、「外観 ->カスタマイズ」からできます。

    2021/10/17現在、バックのカラーは白のままです。

    編集履歴
    2020/04/24 Mr.HARIKIRI
    2021/10/17,追記(今でもバックのカラーは白のまま)