自動挿入されてしまう「Gutenberg用CSS」を削除する方法

新たに自動挿入されるGutenberg用CSS

wordpressで自動的に出力されるHTMLに対応したスタイルシートが挿入されるようになりました。
何者かというと、WordPress 5.x系以降から採用となった新エディタGutenbergのものです。

style.min.css

ソースを確認すると、このようなものが追加されています。

<link rel=’stylesheet’ id=’wp-block-library-css’ href=’http://hogehoge.bom/wordpress/wp-includes/css/dist/block-library/style.min.css’ type=’text/css’ media=’all’ />

ソースを確認すると、このようなものが追加されています。

functions.phpの修正

テーマファイル内のfunctions.phpにコードを追加して、この機能を無効化をします。

 
add_action( 'wp_enqueue_scripts', 'remove_block_library_style' );
function remove_block_library_style() {
	wp_dequeue_style( 'wp-block-library' );
	wp_dequeue_style( 'wp-block-library-theme' );
}

終わりに

PageSpeed Insightsで引っかかるとどうしても対処したくなりますよね・・
これで1つすっきりです。

WordPress php7.2 Warning: count()の対処法

サーバーのphpのバージョンアップ

ここでは割愛しますが、サーバーも常にphpのバージョンをアップしていきます。
wordpressを利用していたら、これにきちんと追いついていかないとエラーが発生します。

今回のエラー

このようなエラーが吐き出されます

Warning: count(): Parameter must be an array or an object that implements Countable in …(ファイルパス)/wp-includes/post-template.php

対処法

該当のファイルを開く

今回はここ
Warning: count(): Parameter must be an array or an object that implements Countable in …(ファイルパス)/wp-includes/post-template.php

この箇所を・・

 
// If post password required and it doesn't match the cookie.
    if ( post_password_required( $post ) )
        return get_the_password_form( $post );
 
    if ( $page &gt; count( $pages ) ) // if the requested page doesn't exist
        $page = count( $pages ); // give them the highest numbered page that DOES exist
 

このように修正します。

 
// If post password required and it doesn't match the cookie.
    if ( post_password_required( $post ) )
        return get_the_password_form( $post );
    if ( ! empty( $pages ) ) {
    if ( $page > count( $pages ) ) // if the requested page doesn't exist
        $page = count( $pages ); // give them the highest numbered page that DOES exist
     
    } else {
        $page = 0;
    }
 

終わりに

急なエラーも焦らず、きちんとバックアップを取りながら進めましょう。

ワードプレスのセキュリティ対策:wp-config defline のランダム生成

はじめに

ワードプレスはとても便利ですが、セキュリティ面で少し不安が残ってしまうケースがあります。

先日はワードプレスのセキュリティ対策:パーミッションという記事を書きましたが、今回はconfigの設定の一部についてご紹介します。

wp-config.phpの修正

非常に簡単な事です。

下記画像部分に「ユニークキー」を当てる、という作業をします。

ユニークキーの自動生成

下記引用部分のURLにアクセスしてください。

これはwordpress.orgのapiで、シークレットキーの自動生成を行います。

こちらからアクセス

https://api.wordpress.org/secret-key/1.1/salt/

アクセスしたタイミングで自動生成されます。
(更新すると別のキーが生成されます)

自動生成したキーを貼り付け

上記で自動生成したキーを、config.phpに貼り付けて、サーバーにアップロードして完了です。

終わりに

その他諸々のワードプレスの情報はこちらからご確認ください。
ブログカテゴリ:ワードプレス

ワードプレスのセキュリティ対策:パーミッション

はじめに

シェアナンバー1の便利なCMS「ワードプレス」

便利だけど、怖いのが「セキュリティの脆弱性を突いた、悪意のある改ざん」です。

セキュリティ対策は色々ありますが、今回は一番ベーシックな必須の設定「パーミッションの設定」の記事です。

cmsとは

コンテンツ管理システムは、ウェブコンテンツを構成するテキストや画像などのデジタルコンテンツを統合・体系的に管理し、配信など必要な処理を行うシステムの総称。2005年頃より一般的に普及したといわれる。コンテンツマネージメントシステムとも呼ばれる。

引用:https://ja.wikipedia.org/wiki/コンテンツ管理システム

パーミッションとは

ホームページを表示するためのデータをサーバーという所に保管します。

このサーバーにおいたホームページのデータ(ファイル)を誰がどのように触ったり見たりできるか、の設定となります。

ファイルパーミッション(file permission)とは、ファイルごとに定義された、読み出し・書込みなどのアクセスに対する許可情報。通常は、ファイルシステム内のファイルごとに、特定のユーザーやグループに対してアクセス権を設定する。これによって、ユーザーごとのファイルシステムの見え方に影響を与え、ファイルシステムに対する変更を制限する。

引用:https://ja.wikipedia.org/wiki/ファイルパーミッション

パーミッションの基礎

権限を下記のようなアルファベットや数字で表します。

Permission 読み取り 書き込み 実行
アルファベット
ナンバー

デフォルトのパーミッション

サーバーにワードプレスのファイル群をアップロードした時は、このパーミッションがデフォルトのままに(サーバー環境によるが)なっています。

基本的に「自分で設定しないといけない最初のセキュリティ対策」と思ってください。

パーミッションの変更

それではパーミッションの変更作業に入ります。

.htaccess

「604」

よくある改ざん事例が、この.htaccessというファイルです。
主に転送設定や根幹ルールの設定を行います。
604が使えない場合は「606」。

wp-config.php

ワードプレスのデータベースのアクセス権が書かれたファイルとなります。

「400」が推奨の値となります。

その他

ファイル

ファイルは「604」に変更。

ディレクトリ

ディレクトリ(フォルダ)は「705」に変更。

全てのファイルを変更するのは手間!

FileZillaだと「以下のディレクトリにもファイルやフォルダがある場合」、下記画像のように一括で修正可能です。

終わりに

以上で簡単なパーミッション推奨設定は終わりです。

他にも「ssl化」「プラグインで気をつける事」「テーマについて」「アップデートについて」「プレフィックスについて」「バックアップを取る」など、たくさんがりますが、また次の機会にご紹介します。

wpemojiSettingsを削除

wordpressのwpemojiSettingsって何?

ごめんなさい。
単純に絵文字が使えまっせ、という機能です。

wpemojiSettingsを削除する意味

ユーザーのスマホからwebアクセスをする数が増大し始めて、wordpress バージョン4.2から絵文字に対応するようになりました。

しかし、世の中のブログの大半はそこまで「交流型ブログ」までたどり着いてない気がします。
※中には素晴らしいコミュニケーションツールとして活用されているブログも存在します。

そこで割とソースを割いてしまう(下記画像参照)ものなので、できる限りソースを綺麗に書きたいソルアライアンスとしては、削除対象になってしまうのです・・・(ごめんなさい)

emojiのソースが入るとこんなに行数が増えてしまいます。

wpemojiSettingsを削除しよう

ここでまたfunction.phpの出番です。
ソースは下記。

 
function disable_emojis() {
     remove_action( 'wp_head', 'print_emoji_detection_script', 7 );
     remove_action( 'admin_print_scripts', 'print_emoji_detection_script' );
     remove_action( 'wp_print_styles', 'print_emoji_styles' );
     remove_action( 'admin_print_styles', 'print_emoji_styles' );
     remove_filter( 'the_content_feed', 'wp_staticize_emoji' );
     remove_filter( 'comment_text_rss', 'wp_staticize_emoji' );
     remove_filter( 'wp_mail', 'wp_staticize_emoji_for_email' );
     add_filter( 'tiny_mce_plugins', 'disable_emojis_tinymce' );
}
add_action( 'init', 'disable_emojis' );
 
emojiのソースがなくなってすっきりした状態です。

はい、超すっきりですね。
とは言え、どうしてもプラグインは楽なので、このブログも多用してるので、あれこれとソースは多いのが現状ですが。。。

サーバーにアップロード

いつも通り、ご利用のFTPソフトで上記加筆をしたfunction.phpをアップロードして下さい。

まとめ

必須作業ではないですが、きちんと細かくワードプレスの仕様を見ていくという観点では、割と良い対策かもしれません。

少しでも綺麗なホームページ(ソース)をお客様にご提供していくよう、尽力致します

Pタグの自動化をさせない

wordpressのfunction修正シリーズ第一弾
もはや常識?「p」タグを自動挿入させない方法についての記事です。

なぜ「p」タグを自動挿入させないのか?

ワードプレスのページや記事の投稿には「文字入力をすると勝手にpタグをつけてくれる」という親切機能があります。
が、、、時にこれは、「ものすごく邪魔な時」があるのです・・・。

例えば画像にこの「p」が入ってしまったり、「ul」でリストを書きたいのにこの中にも「p」が出現したり・・。

具体的に言うと、「普通のHTMLの記述をしているつもりが、勝手にpタグが入ることにより、思ったレイアウトにならない時があって困る」という感じです。

普通に文字だけでブログを書く程度だと、問題は特にないのですが、PCだけでなくスマホも対応したりとレイアウトにも気を使わないといけない昨今、割と使いにくい状況にもなるのです。

「p」タグを消去する方法

ずばり簡単。
テーマフォルダにある「functions.php」に一手間加えるだけです。

 
add_action('init', function() {
remove_filter('the_excerpt', 'wpautop');
remove_filter('the_content', 'wpautop');
});
add_filter('tiny_mce_before_init', function($init) {
$init['wpautop'] = false;
$init['apply_source_formatting'] = ture;
return $init;
});
 

サーバーにアップロード

ご利用のFTPソフトで上記加筆をしたfunction.phpをアップロードして下さい。

エンドユーザーがブログ更新をするなら?

エンドユーザーがブログを更新する場合は、タグなんてあまり関係ないケースが多いので、シンプルなブログでしたら自動タグはありで問題ないと思います

お客様の利用シーンに応じて、カスタマイズすることが大前提になるかと思います。

ご利用は計画的に。