目次

この記事の目次です。

1. WordPressとは
2. 一般的なWordPressとWordPress.comのWordPressは異なる
3. WordPressのインストール方法
4. WordPressでの.htaccessの利用
5. URLの設定方法
6. 大量の画像のメディアアップロード
7. 立ち上げ後にレイアウト崩れ(CSSが効かない)の対処法
8. WordPressのデバック方法

更新履歴

1. WordPressとは

WordPress(ワードプレス)は、ホームページを作成・更新するために利用されているPHPで実装されたCMSの1つです。 オープンソースで提供されているため、無料で利用することができます。

CMS

CMSとは、サイトの更新を管理するシステムのことです。 Webページを構成するHTMLやCSS、画像など、配置や編集からサイト管理まで管理画面の操作で簡単に行える機能が備わっています。

WordPressの機能と特徴

WordPressの機能と特徴には主に以下のようなものがあります。

2. 一般的なWordPressとWordPress.comのWordPressは異なる

上述のWordPressとはの説明は一般的なWordPressについて説明したものです。 それとは別にWordPressにはWordPress.comというブログサービスが存在します。 知らずにWordPress.comのサービスでサイトを立ち上げて、一般的なWordPressの解説をみて、その通りにできないなどの問題に直面し、その後に一般的なWordPressの存在に気付いて、大変な思いをされる方もおられるので少しふれておきます。

一般的なWordPressとは

一般的なWordPressとは、wordpress.orgが提供する無料のインストール媒体をダウンロードしてきて、サーバにインストールして使用するWordPressです。 つまりインストール型のWordPressを指し、WordPress.comのようにサービスでアカウントを作成して、利用するものではありません。

WordPress.comのWordPressとは

WordPress.comのWordPressとは、WordPress.comが一般的なWordPressをカスタマイズして提供するブログ作成サービスです。 WordPress.comでアカウントを作成して、ブログ作成サービスを利用するサービス利用型のWordPressです。 プランによっては有料となります。

セキュリティ面も安心な反面、一般的なWordPressがベースとなってますが、その設定の多くが制限されており、一般的なWordPressの解説を見ても同じことが行えないことが多いです。 WordPress.comを利用する場合は、WordPress.comのマニュアルを確認する必要があります。

はじめに記載しましたが、この記事はWordPress.comのWordPressではなく、WordPress.orgが提供するインストール型のWordPressについて解説しています。

3. WordPressのインストール方法

WordPressのインストール方法について見ていきます。

WordPressの動作要件

WordPressはPHPとMySQLを利用したCMSです。WordPressの推奨要件は以下となっています。

WordPressはこれらよりも古いPHP5.6.20以上、MySQL5.0以上でも動作していますが、セキュリティの観点から推奨されていません。

WordPressのインストール概要

WordPressのインストールの概要は以下です。

  1. WordPress パッケージをダウンロードして、解凍
  2. サーバー上に、WordPress 用のデータベースと、そのデータベースへの全アクセス権・編集権を持つ MySQL ユーザーを作成
  3. wp-config-sample.php ファイルの名前を wp-config.php に変更
  4. テキストエディタでwp-config.phpを開き、wp-config.phpファイルの編集記事の説明に従いデータベース情報と秘密鍵の値を記入
  5. サーバー上の希望の場所に、WordPress ファイルを設置
  6. ドメインルート (http://example.com/ など) に WordPress を置きたいときは、解凍した wordpress ディレクトリの中身 (wordpress ディレクトリ自体を除く全ファイル) をサーバーのルートディレクトリへアップロード
  7. ウェブサイト上の WordPress 用サブディレクトリ (http://example.com/blog/ など) に WordPress を設置したいときは、解凍した wordpress フォルダを好きなサブディレクトリ名に変更し、丸ごとサーバーのルートにアップロード
  8. ブラウザで wp-admin/install.php へアクセスし、インストールスクリプトを実行
  9. ルートディレクトリに設置したなら: http://example.com/wp-admin/install.php
  10. blog というサブディレクトリに設置したなら: http://example.com/blog/wp-admin/install.php

参考URL)http://wpdocs.osdn.jp/WordPress_のインストール

WordPressのインストール媒体のダウンロード方法

WordPressのインストール媒体は公式サイトで公開されています。

最新

最新版は以下のURLでダウンロードできます。

4. WordPressでの.htaccessの利用

リダイレクトや常時SSL化、BASIC認証の追加、ダッシュボードやwp-config.phpへのアクセス制限など、WordPressを利用していても利用できます。

.htaccessの利用条件

.htaccessの利用条件はWordPressを使用していても同じです。 .htaccessがサーバで利用できる必要があります。後述しますが、.htaccessはApache HTTP Serverというソフトウェアの設定ファイルです。 ご利用のサーバでApacheを使用し、.htaccessファイルを有効にしている場合に利用できます。

そもそも.htaccessとは何かについて

.htaccessとは、リダイレクトや常時SSL化、BASIC認証の追加、ダッシュボードやwp-config.phpへのアクセス制限など、が行えるApache HTTP Serverというソフトウェアの設定ファイルです。 Apache HTTP Serverは略してApacheといわれるソフトウェアで、サーバーでホームページを公開するために使用されるソフトウェアです。

以下の記事で詳しく解説しています。

参考).htaccess

htaccessとは、ホームページを公開するApache HTTP Server(Webサーバ)の設定ファイルです。 読み方は「エイチティーアクセス」です。htaccessの使い方から技術サポートを目的にまとめています。

詳細

WordPressのどこにあるか?.htaccessの場所について

WordPressのインストール媒体を解凍するとその中には「.htaccess」は含まれていません。 どこに「.htaccess」あるのでしょうか。 .htaccessがWordPressのどこにあるのか、また、どこに設置すればよいのかなど、まとめていきます。

URの設定がパーマリンクの形式の時に自動生成される

「?p=N」のようなデフォルトの形式でなく、「/pagename」のようなパーマリンク形式の設定を行うと、WordPressは.htaccessファイルを生成もしくは既存の.htaccessに記述を追加します。

自動生成される場所

自動生成される場所はWordPressインストールディレクトリの直下になります。 インストールディレクトリとWordPressのURLのトップを変更している場合は、URLのトップの位置のディレクトリになります。

WordPressの「.htaccess」内の記述場所と注意点

WordPressの「.htaccess」内の記述場所と注意点についてです。

WordPressは「.htaccess」を自動更新します。自動更新される場所にリダイレクトの記述など追記してしまうと、いつの間にか消えてしまう恐れがあるので注意が必要です。

WordPressが出力する記述

WordPressが出力する記述は以下になります。

# BEGIN WordPress
<IfModule mod_rewrite.c>
RewriteEngine On
RewriteBase /
RewriteCond %{REQUEST_FILENAME} !-f
RewriteCond %{REQUEST_FILENAME} !-d
RewriteRule . /index.php [L]
</IfModule>

# END WordPress

# BEGIN WordPress ~ # END WordPressは自動更新エリア

BEGIN WordPress ~ # END WordPressは自動更新エリアになります。 自動更新エリアにリダイレクトなどの設定を追記しても自動更新のタイミングでクリアされてしまうので注意しましょう。

WordPressの.htaccessの自動更新タイミング

「ダッシュボード>設定>パーマネントリンク設定」の画面を表示したタイミングで自動更新が行われます。 もしどうしても# BEGIN WordPress ~ # END WordPressの自動更新エリアの中の記述を編集しなければならない場合は、.htaccessのアクセス権を444に設定して書込みできないようにすると自動更新されなくなります。

.htaccessを利用したWordPressのセキュリティ対策の例

.htaccessを利用したWordPressのセキュリティ対策の例です。

HTTPレスポンスヘッダーの設定

.htaccessでHTTPレスポンスヘッダーの設定が行えます。

<ifModule mod_headers.c>
Header always set X-XSS-Protection "1; mode=block"
Header always set X-Content-Type-Options "nosniff"
Header always set X-Frame-Options sameorigin
Header always set X-Download-Options: noopen
Header always set X-Powered-By: ""
</ifModule>

<IfModule mod_php5.c>
php_flag session.cookie_httponly on
php_flag session.cookie_secure On
</IfModule>

<IfModule mod_php7.c>
php_flag session.cookie_httponly on
php_flag session.cookie_secure On
</IfModule>

※「X-Frame-Options」の設定はdenyにするとElementor(ロード中で止まる)などのプラグインが動作しなくなりますので、sameoriginを設定します。

管理画面(ダッシュボード)へのアクセス制限

管理画面(ダッシュボード)へのアクセス制限も.htaccessで行えます。 以下はBASIC認証を設定する例です。

パスワードファイル作成は以下で行えます。

htpasswd -c .htpassword <ユーザ名>

.htaccessに以下の設定を追加します。

<Files wp-login.php>
AuthUserFile <パス>/.htpassword
AuthGroupFile /dev/null
AuthName "Please enter your ID and password"
AuthType Basic
require valid-user
</Files>

5. URLの設定方法

WordPressのサイトURLの設定変更は、ダッシュボード(管理画面)から行う方法とwp-config.php(設定ファイル)で定数を定義する方法の2つがあります。

ダッシュボード(管理画面)から行うサイトURLの変更方法

ダッシュボード(管理画面)「設定>一般設定」画面に「WordPress アドレス (URL)」と「サイトアドレス (URL)」という2つの欄があります。 これらは「ホーム」および「サイト URL」設定と呼ばれることがありますが、こちらを設定してサイトのベースとなるURLを変更する方法です。

wp-config.php(設定ファイル)で定数を定義するサイトURLの変更方法

サイトURLの設定はダッシュボード(管理画面)から行うのが一般てきですが、前者の設定をミスしてしまうと表示が崩れたり、ダッシュボードにログインできなくなったり、リダイレクトループに陥ることがあります。 その設定ミスの影響を回避に使えるのが後者の方法です。

なお、上記でサイトURLのベースを変更しても投稿内やテーマに記述したURLは変更されません。 1つ1つダッシュボードで訂正する、あるいはSearch Replace DBなどのツールを使ってデータベース中の古いURLを変更する必要があります。

以下は、wp-config.php(設定ファイル)で定数を定義する方法についての解説です。

WP_SITEURLとWP_HOM

WordPressのダッシュボード(管理画面)の一般設定にて、誤ってWordPressアドレス(URL)とサイトアドレス(URL)を変更してしまい、リダイレクトされてWordPressのダッシュボードに入れなくなったことはありませんか。 そんな時は、wp-config.phpにWP_SITEURLとWP_HOMEという定数を定義することで、WordPressサイトURLの設定変更が行えます。

詳細

記事URLの変更方法

サイトURLはWordPressのページ全体のトップレベル(ルート)までのURLを設定します。 それ以外に、WordPressでは記事単位のURLの変更が行えます。

デフォルトの記事URL

WordPressをインストールした直後の状態では、記事のURLはhttps://htaccess-support.com/index.php?p=1のように、パラメータ―形式のURLになります。

記事URLの変更方法

ダッシュボード(管理画面)の「設定>パーマリンク設定」でリライト機能をONにすると、URLを書き換えるリライト機能を利用して、例えば、https://htaccess-support.com/aaa/というような記事名を付けたURLに変更することができます。

6. 大量の画像のメディアアップロード

大量の画像を一括でアップロードして投稿に挿入したい場合は、メディアアップロードを使わずに画像ディレクトリに配置してWordPressの投稿にリンクさせる選択もあります。

WordPressのメディアアップロードを使うとアップロードに時間がかかるだけでなく、画像1枚に付き1つの記事が内部的に作成されるなど、 データベースのデータ容量が増えて、サーバ側の実行速度劣化につながりやすいですので、メディアアップロードを使わない選択も検討してみてはいかがでしょうか。

7. 立ち上げ後にレイアウト崩れ(CSSが効かない)の対処法

特に設定変更などせずに、立ち上げ後にレイアウト崩れ(CSSが効かない)場合、ChromeやFirefoxなどのブラウザで、view-source:<ページURL>を表示し、ご利用のテーマのCSSファイルの取込の出力がされているか確認してみましょう。

もし出力されていないようでしたら、テーマがWordPressやPHPのバージョンの仕様にあっていないコードを記述していて、表示するとエラーが発生し、CSSの出力部分が実行されていないことが多いです。 PHPのバージョンを下げたり、WordPressのバージョンを下げて、確認してみましょう。

もしそれで解決できない場合は、別のテーマで確認したり、サーバーに出力されるログやテーマの実装を確認し、CSSのコードが出力されていない原因を特定して対処する必要があります。

8. WordPressのデバック方法

WordPressにはプロセスを単純化し、コア、プラグイン、テーマにまたがるコードを標準化するために設計されたデバッグ・システムが付属しています。 ここでは、WordPressのデバッグツールの使い方について説明していきます。

WP_DEBUG

WP_DEBUGはPHP定数で、WordPressのデバッグモードのトリガに使われる定数です。 既定ではfalseでデバックモード無効になり、WordPressのwp-config.phpファイルなどでWP_DEBUGをtrueに設定するとデバッグモードが有効になります。

define( 'WP_DEBUG', true );

なお、WP_DEBUGを有効にすると、PHPのエラー、注意、警告がすべて表示されます。

WP_DEBUG_LOG

WP_DEBUG_LOGはWP_DEBUGの仲間で、すべてのエラーもdebug.logログファイルに保存されます。

PHPの組み込み関数error_log()を使用してログファイルに書き込むことができます。 trueに設定した場合、ログはサイトのファイルシステム内のコンテンツディレクトリ(通常は、wp-content/debug.log)のdebug.logに保存されます。 有効なファイルパスに設定して、ファイルを別の場所に保存することもできます。

WP_DEBUG_LOGを指定する場合、WP_DEBUGを有効 (true) にする必要があります。

既定の場所に出力する場合

define( 'WP_DEBUG_LOG', true );

出力する場所を指定する場合

define( 'WP_DEBUG_LOG', '/tmp/wp-errors.log' );

WP_DEBUG_DISPLAY

WP_DEBUG_DISPLAYは、デバッグメッセージをページのHTML内に表示するかどうかを制御するWP_DEBUGのもう1つの設定です。 既定はtrueで、生成されたエラーと警告が表示されます。 falseに設定すると、すべてのエラーが非表示になります。

WP_DEBUG_DISPLAYを指定する場合、WP_DEBUGを有効 (true) にする必要があります。

define( 'WP_DEBUG_DISPLAY', false );

SCRIPT_DEBUG

SCRIPT_DEBUGは、WordPressが通常ロードされる縮小バージョンではなく、コアCSSとJavaScriptファイルの 「dev」 バージョンを使用することを強制する関連定数です。 これは、組み込み.jsまたは.cssファイルの変更をテストする場合に便利です。既定値はfalseです。

define( 'SCRIPT_DEBUG', true );

SAVEQUERIES

SAVEQUERIESは、データベースクエリーを配列に保存し、その配列を表示してクエリーの分析に役立てることができます。 trueとして定義された定数は、各クエリーを保存し、そのクエリーの実行にかかった時間と、そのクエリーを呼び出す関数を指定します。

配列はグローバルな$wpdb->queriesに格納されます。

define( 'SAVEQUERIES', true );

wp-config.phpのデバッグ設定の例

次のコードをwp-config.phpファイルに記述すると、すべてのエラー、通知、および警告が、wp-content/debug.logに記録されます。 また、エラーを非表示にして、ページ生成を中断しないようにします。

コードは「/* That's all, stop editing! Happy blogging. */」の前に記述する必要があります。

define( 'WP_DEBUG', true );
define( 'WP_DEBUG_LOG', true );
define( 'WP_DEBUG_DISPLAY', false );
@ini_set( 'display_errors', 0 );
define( 'SCRIPT_DEBUG', true );

ログが出力されない場合

もし、上記を記述してもログファイルが出力されないという場合は、空のdebug.logを作成したり、パーミッションで書き込み可能になっているかどうか確認します。

ログファイルのアクセス制限

例えばhttp://htaccess-support.com/wp-content/debug.logのようにWebからアクセスするとログが表示されてしまいます。 アクセス制限されていない環境でログを出力する場合は、.htaccessなどでアクセス制限する必要があります。

<Files debug.log>
Order allow,deny
Deny from all
</Files>

更新履歴

更新履歴になります。

位置:トップWordPress