ちょっと古い記事ですが、WordPress and SEO(英文)という記事がありましたので、適当に翻訳&加筆しました。
メールフォームを設置する
大抵のホームページには、お問い合せフォームがあると思います。これをWordPressに組み込んでみます。
WordPressには、WP-Contactというプラグインがありますが、確認ページがでなかったり、項目の追加が難しそうなので使いません。
PAGEのテンプレートをメールフォームとして、新規に作ります。
contact.phpというファイルを作り、PAGEのテンプレートとします。
<?php
/*
Template Name: Contact
*/
get_header();
// ここにメールフォームのスクリプトを書く
get_footer();
?>
このテンプレートを使って、「お問い合せ」というPAGEを作ります。
テンプレート内に全ての処理を書いてもいいですが、"入力","確認","完了"とファイルを別々にして読み込ませる方がいいでしょう。
注意する点として、WordPressで使用している変数がありますのでかぶらないようにしてください。また、nameやpといったクエリを与えるとWordPressの誤動作を招きますので、"f_"のような接頭語を付けた上で、input要素のname属性等に使って下さい。
この点に注意すれば、簡単なフレームワークなら組み込むことも出来ます。当然mod_rewriteを使ったURLルーティングの機能は使えません。
メインページにニュースの一覧を表示する
まず、「ニュース」というカテゴリを作成します。作成するとカテゴリIDが自動的につきます。(ここでは例としてカテゴリIDを"2"とします。)
つぎに、テンプレートのhome.phpを編集します。ニュースを表示させたい箇所に以下のコードを書きます。
<ul>
<?php
$posts = get_posts("numberposts=5&category=2&orderby=post_date");
foreach ($posts as $post):
setup_postdata($post);
?>
<li><?php the_time('Y/m/d') ?><a href="<?php the_permalink() ?>"><?php the_title() ?></a></li>
<?php endforeach; ?>
</ul>
この例では、ニュースを新しいものから5件表示します。
the_date()でなくthe_time()を使っている理由は、the_date()の場合、同じ日付の記事が存在するとき、最初の記事にしか日付が表示されないためです。
the_time()の引数は、PHPのdate()関数と同じになります。
WordPressの基本構造
主要ページ
WordPressには、5種類のページがあります。
- メインページ
- サイトのトップページ (http://www.example.com/blog/)
- シングルページ
- 記事毎のページ (http://www.example.com/blog/?p=1)
- カテゴリーページ
- カテゴリ毎の一覧ページ (http://www.example.com/blog/?cat=1)
- 日付ページ
- 投稿日で分けた一覧ページ (http://www.example.com/blog/?m=200704)
- PAGE
- 時系列に依存しない独立したページ (http://www.example.com/blog/?page_id=1)
WordPressをCMS(コンテンツマネージメントシステム)として使う場合、PAGEが特に重要になってきます。
各ページには、それぞれテンプレートが用意されており、それぞれをカスタマイズすることで、サイトを構成していきます。
テンプレートには、優先度が指定されており、条件に一致するテンプレートがない場合、次のテンプレートを読みに行きます。
各テンプレートの優先度は以下のようになっています。
- メインページ
-
- home.php
- index.php
- カテゴリーページ
-
- category-*.php (*はカテゴリID)
- category.php
- archive.php
- index.php
- 日付ページ
-
- date.php
- archive.php
- index.php
- シングルページ
-
- single.php
- index.php
- PAGE
-
- 任意のページテンプレート
- page.php
- index.php
見て分かるように、最終的にはindex.phpがあれば、全てのページができあがります。ブログとして使うのであれば、それでもかまいませんが、一般的なサイトを作る場合は、条件分岐をさせるなど余計な手間がかかってしまいます。
必要に応じてテンプレートを作成することが重要です。
その他のページ
さらに以下のようなページのテンプレートも用意されています。
- 投稿者ページ
- 投稿者毎のページ
- author.php
- 検索結果
- 検索結果を表示するページ
- search.php
- 404ページ
- ページが見つからないときに表示するページ
- 404.php
パーツ
以上で紹介したページの共通部分(ヘッダー、フッター、サイドバー)を記載するパーツテンプレートがあり、これらを編集することでサイトの共通部分を一括して変更することができます。
これらには、読み込みようの関数が用意されています。
- ヘッダー
- header.php
- get_header()
- フッター
- footer.php
- get_footer()
- サイドバー
- sidebar.php
- get_sidebar()
- コメント
- comment.php
- comment_template()
- ポップアップコメント
- comments-popup.php
- comments_popup_link()
ポップアップコメントは、コメントを新規ウィンドウで表示する機能であまり使用する機会はありません。
スタイルシート
WordPressは、HTML(XHTML)とCSSを使って文書構造と見た目を完全に切り分けられるようになっています。これはSEO対策をする際とても有効であり、メンテナンスも簡単になります。
style.cssが読み込まれるスタイルシートになります。後述のテーマを識別する情報もこのファイルに書きます。
style.cssに全てのスタイル情報を書いても問題ありませんが、管理しやすくするために、用途毎にファイルを分ける方が後々楽になります。
テーマを識別する情報は以下のように書きます。
/*
Theme Name: テーマの名前
Theme URI: http://www.example.com/
Description: テーマの説明
Author: 山田太郎
*/
テーマ
WordPressは、以上のファイルを1つのディレクトリにまとめて、テーマとして扱います。テーマはクリック一つで切り替えることができるため、リニューアルが一瞬で完了してしまいます。
プラグイン
WordPressには、数多くプラグインが存在します。プラグインとは、wp-content/pluginsにアップロードし、有効化するだけで様々な効果をもたらすプログラムの固まりです。
WordPressのインストール
準備
WordPressをインストールするには、PHP4.2以上、MySQL3.23.23以上が使用できるサーバが必要です。また、mod_rewriteが使えるようであればSEO対策に有利になります。
WordPressは、海外で開発されたものですが日本向けのパッケージがあるので、こちらを使います。
WordPress Japanより最新のファイルをダウンロードして下さい。
2007年4月現在、WordPressは2.0系と2.1系の2通りありますが、お使いのMySQLのバージョンによってどちらか決めて下さい。2.1系の方が管理画面が使いやすくなっているようです。基本的な操作方法に変わりはありませんが、一部のプラグインが対応していなかったりするので注意して下さい。
設定ファイルの変更
ダウンロードしたファイルはZIP形式に圧縮されていますので、解凍ソフトなどで解凍して下さい。
解凍すると、中にwp-config-sample.phpというファイルがあります。このファイルをwp-config.phpに名前を変更します。
wp-config.phpには、MySQLへのアクセス情報や言語の指定などが書いてありますので、サーバに合わせて変更します。
<?php
mb_language("Japanese");
mb_internal_encoding("EUC-JP");
// ** MySQL settings ** //
define('DB_NAME', 'データベース名');
define('DB_USER', 'ユーザ名');
define('DB_PASSWORD', 'パスワード');
define('DB_HOST', 'localhost');
$table_prefix = 'wp_';
define ('WPLANG', 'ja_EUC');
...略...
DB_HOSTはほとんどの場合、localhostのままで動きます。WPLANGは、使用したい文字コードによって、ja_EUC, ja_UTFを指定します。MySQLの設定によっては、UTF-8で文字化けすることもありますが、UTF-8で提供されてるサービスを使うためにも、できるだけUTF-8を使うことをおすすめします。
mb_internal_encodingの値は、WPLANGに合わせて変更します。ja_EUCならEUC-JP、ja_UTFならUTF-8を指定して下さい。
WordPressを複数インストールするときは、$table_prefixを適宜変えてやることでいくつもインストールできます。
サーバへのアップロード
設定が終わったら、ファイル一式をサーバにアップロードします。アップロードする場所は、公開ディレクトリ以下であればどこでもいいです。アップロードが終わったら、そのディレクトリのパーミッションに書き込み権限(例: 707)を与えておきます。
同様にwp-contentも707のようにパーミッションを変更します。
ブラウザでインストール
ブラウザで先ほどインストールした場所にアクセスします。(例: http://www.example.com/blog/)
install.phpというリンクがありますので、これをクリックしインストールを進めていきます。インストールが完了すると、自動的にログインパスワードが作られますので、これを使って管理画面にログインします。




