インターネット
 Computer >> コンピューター >  >> ネットワーキング >> インターネット

WordPressをクライアントにとって使いやすくするための5つの実践テクニック

WordPressをクライアントにとって使いやすくするための5つの実践テクニック

WordPressサイトをクライアントや友人のために構築する場合、「誰でも直感的に操作できる」ことと「うっかり重大なミスでサイトを壊されない」ことの両立が重要になります。

ユーザーのニーズに合ったサイトを目指すなら、機能を絞り込み、不要なものは思い切って削るのが効果的です。適切な初期設定を施しておけば、WordPress特有の操作ミスを自然と防げます。この記事では、クライアントが快適にサイトを運用できる状態を保ちながら、トラブルを未然に回避するための5つの方法を詳しく解説します。

1. 管理者アカウントを制限する

チームメンバーやクライアントの中には、WordPressの操作に慣れている人もいれば、そうでない人もいます。管理者(Administrator)ロールは強力な権限である反面、それに伴う責任も大きくなります。WordPressに不慣れなユーザーには、編集者(Editor)ロールにとどめておき、別途管理者アカウントを分けて設定するのが賢明です。こうすることで、サイトの重要な設定部分に不用意に触れられるリスクを減らせます。

WordPressをクライアントにとって使いやすくするための5つの実践テクニック

クライアントがサイト管理に習熟するまでは、管理者認証情報を制作側で保管しておくのが安全です。あるいは、管理者と編集者の両方の認証情報を渡し、日常業務には編集者アカウントを使い、高度な管理作業が必要なときだけ管理者アカウントでログインするようルールを伝えてもよいでしょう。

管理者アカウントを制限することは、セキュリティや運用上の脆弱性対策としても有効です。さらに、ダッシュボードの画面がシンプルになり、初めてWordPressを使う人でも圧倒されずに済みます。

2. テーマカスタマイザーのオプションを無効化する

親テーマには、子テーマとの整合性が取れていないカスタマイズオプションが含まれていることがあります。こうしたオプションが原因でコードが壊れたり、子テーマでは単純に使われていない機能が残ったりするケースがあります。

WordPressをクライアントにとって使いやすくするための5つの実践テクニック

WordPressのテーマカスタマイザーAPIを利用すれば、親テーマのカスタマイズオプションを簡単に削除できます。以下のコードをテーマの「functions.php」ファイルに追加してください。スニペット内の各行が個々のカスタマイズオプションに対応しており、コメントアウトを解除した行の項目が無効化されます。

# Remove customizer options.
function mte_remove_customizer_options( $wp_customize ) {
    // $wp_customize->remove_section( 'static_front_page' );
    // $wp_customize->remove_section( 'title_tagline' );
    $wp_customize->remove_section( 'colors' );
    $wp_customize->remove_section( 'header_image' );
    $wp_customize->remove_section( 'background_image' );
    // $wp_customize->remove_section( 'nav' );
    // $wp_customize->remove_section( 'themes' );
    // $wp_customize->remove_section( 'featured_content' );
    // $wp_customize->remove_panel( 'widgets' );
}
add_action( 'customize_register', 'mte_remove_customizer_options', 30 );

3. 必要なダッシュボードメニューだけを表示する

すべてのWordPressサイトが同じ機能を必要とするわけではありません。たとえば、ブログを持たないサイトなら「投稿」メニューは不要です。ダッシュボードのメニュー数を減らせば、画面がすっきりしてユーザーの混乱を防げます。ここでは例として「投稿」メニューを非表示にするため、次のコードスニペットを「functions.php」に追加します。

以下の各行は特定のダッシュボードメニューに対応しています。なお、ファイル名が実際のメニュー名と一致しない場合もあるため、コメント行はあくまで目安として参照してください。

function mte_custom_menu_page_removing() {
  // remove_menu_page( 'index.php' );                  //Dashboard
  // remove_menu_page( 'jetpack' );                    //Jetpack* 
  remove_menu_page( 'edit.php' );                   //Posts
  remove_menu_page( 'upload.php' );                 //Media
  // remove_menu_page( 'edit.php?post_type=page' );    //Pages
  remove_menu_page( 'edit-comments.php' );          //Comments
  // remove_menu_page( 'themes.php' );                 //Appearance
  // remove_menu_page( 'plugins.php' );                //Plugins
  // remove_menu_page( 'users.php' );                  //Users
  // remove_menu_page( 'tools.php' );                  //Tools
  // remove_menu_page( 'options-general.php' );        //Settings
}
add_action( 'admin_menu', 'mte_custom_menu_page_removing' );

「投稿」メニューを非表示にする前のダッシュボードは次の画像のようになっています。

WordPressをクライアントにとって使いやすくするための5つの実践テクニック

非表示にすると、次のようにスッキリとした見た目になります。

WordPressをクライアントにとって使いやすくするための5つの実践テクニック

ただし、メニューを隠すことはユーザー権限を取り消すこととは異なります。ユーザーはURLを直接入力すれば、隠された「投稿」メニューへアクセスできてしまいます。メニューの非表示はダッシュボードの整理には有効ですが、アクセスそのものを完全に禁止したい場合は、ユーザーロール自体を変更する必要があります。その場合は、以下のコードスニペットをプラグインのアクティベーションフックに追加してください(一度実行すれば十分です)。

global $wp_roles; // global class
$role = 'author';
$cap = 'delete_published_posts';
$wp_roles->remove_cap( $role, $cap );

4. mu-pluginsディレクトリを設置して活用する

「mu-plugins」ディレクトリの存在を知っている開発者は実は少数派です。これはプラグインをインストールできるもうひとつの場所で、接頭辞の「mu」は「must use(必須)」を意味します。mu-pluginsディレクトリに置かれたプラグインは、ダッシュボードから誤って無効化されることがなく、手動での有効化も不要――自動的に有効化されます。

WordPressをクライアントにとって使いやすくするための5つの実践テクニック

mu-pluginsディレクトリ内のプラグインは、他のプラグインよりも先に読み込まれます。この優先読み込みの仕組みは、サイトの動作に不可欠なプラグインにとって大きなメリットです。サイトが安定稼働するために絶対に必要なプラグインは、mu-pluginsディレクトリに配置するのが理想的です。また、ここに追加したコードは、テーマの変更や切り替えがあっても常に有効であり続ける点も魅力です。

mu-pluginsディレクトリはWordPressに標準搭載されていないため、「wp-content」フォルダ内に自分で作成する必要があります。

ただし制限もあります。WordPressはサブディレクトリ内のコードを無視し、mu-pluginsのトップレベルにあるファイルしか検索しません。この制限を回避するには、mu-pluginsの最上位にひとつのPHPファイルを作成し、そのファイル経由で兄弟サブディレクトリ内のコードを読み込むようにします。

もうひとつの注意点として、mu-pluginsでは更新通知が届きません。そのため、mu-pluginsは「クライアントが意識する必要のない重要なコード」を置く場所として扱うのがベストです。詳細については公式ドキュメント(Codex)を参照してください。

5. プラグインエディターとテーマエディターを無効化する

本番稼働中のWordPressサイトのプラグインやテーマのファイルを、ダッシュボードから直接編集するのはプロフェッショナルとは言えません。サイトが壊れる原因になるだけでなく、ハッカーによる攻撃への暴露リスクも高めます。テーマおよびプラグインのライブ編集を無効化するには、次のコードをサイトの「wp-config.php」ファイルに追記します。これにより、テーマエディターとプラグインエディターの両方が無効になります。

define( 'DISALLOW_FILE_EDIT', true );

WordPressをクライアントにとって使いやすくするための5つの実践テクニック

まとめ

WordPressでのユーザーミスの発生確率を下げるには、①管理者アカウントの制限、②テーマカスタマイザーオプションの無効化、③不要なダッシュボードメニューの整理、④mu-pluginsディレクトリの活用、⑤プラグイン・テーマエディターの無効化、という5つの施策が有効です。これらのヒントについての感想やご自身の事例があれば、ぜひコメント欄でお聞かせください。

  1. WordPressサイトの画像を最適化する7つの実践テクニック【表示速度とSEO改善】

    画像は、質の高いWebサイトを構成する最も重要な要素のひとつです。訪問者の注意を引きつけ、コンテンツの拡散を促し、商品購入などの行動へとユーザーを導く力を持っています。 しかし、高解像度の画像やファイルサイズの大きな画像をそのまま使うと、ページの表示速度が低下し、ユーザー体験を大きく損なってしまいます。画質を目立って劣化させることなく画像を圧縮できるツールが数多く存在する今、表示速度の遅さを放置することは言い訳できません。 この記事では、Web、とりわけWordPressサイトで画像を最適化するための具体的な方法を紹介します。 1. 適切なファイル形式を選ぶ Webで最もよく使われて

  2. Windows 11をタブレットで快適に使う方法——知っておきたい6つの設定とテクニック

    Windowsは従来、マウスとキーボードの操作を前提に設計されてきましたが、Microsoftは近年この状況を変えようとしています。Windows 8のタイル型インターフェースは、デザイン全体の評判こそ今ひとつでしたが、タッチスクリーンデバイスでは使いやすいものでした。その後Windows 10では、OS本体とは独立した専用の「タブレットモード」が導入されました。このモードはWindows 11の登場とともに廃止されましたが、だからといってMicrosoftがタブレットやタッチ対応ノートPCを軽視しているわけではありません。むしろ逆で、いくつかの重要な機能や設定を把握しておけば、現在のWind