12月 30

プラグインを利用しようとすると、以下のようなエラーが出てしまうことがある。

Fatal error: Allowed memory size of XXXXXXX bytes exhausted (tried to allocate XXXXXXX bytes) in /〜パス〜/hogehoge.php on line xxxx

※ XXXXXXXは数字が入ってます

要するに、hogehoge.phpを実行したいんだけども、あなたのサーバーではphpを動作させるのにメモリ容量が足りませんよーってこと。

じゃあ、メモリを増やせばいい。というわけで、修正箇所は1カ所。

wp-settings.phpの13行目辺りの

define('spids_www_MEMORY_LIMIT', '32M');

define('spids_www_MEMORY_LIMIT', '64M');

32Mを64Mにしてあげてもう一度プラグインをオンにしてみましょう。たいていこれで動くようになるが、もしかしたら他にも動かない原因というか、自分じゃどうにもできない場合ってのもありえるので、そのときはサーバー管理者に問合せてみるのがてっとりばやい。

10月 23

テーマに必要なファイルは「index.php」「style.css」

2ファイルで対応できない場合は、デフォルトのテーマファイルのものを使用。style.cssでは、下記のコメントを使用して、管理画面にテーマの情報を表示。

style.css

/*
Theme Name:[テーマの名称]
Theme URI:[テーマのURI]
Description:[テーマの説明]
Author:[テーマの制作者]
Author URI:[テーマの制作者のURI]
Version:[テーマのバージョン]
[コメントやライセンスなど]
*/

テーマを構成するファイル

  • home.php
    フロントページ(トップページ)
  • single.php
    投稿記事用ページ
  • attachment.php
    添付ファイル用ページ
  • page.php
    個別ページ用のページ
  • [yourname].php
    オリジナルのページ
  • links.php
    リンク用のページ
  • archives.php
    アーカイブインデックス用のページ
  • paged.php
    2ページ目用のページ
  • archive.php
    アーカイブ用のページ
  • category.php
    カテゴリ用のページ
  • tag.php
    タグ用のページ
  • author.php
    制作者用のページ
  • date.php
    日付・時間用のページ
  • search.php
    検索用のページ
  • 404.php
    404 Not Found用のページ

ファイルの優先順位

上記のファイルを全て用意する必要はありません。
ページが生成される際、ファイル選択に優先順位があり、該当するものが無い場合は代替のファイルが選択されます。ファイルの優先順位は「wp-include/theme.php」に設定されています。

条件タグ・インクルードタグ

条件タグはドキュメントタイプの指定、インクルードタグは他のファイルでそのファイルをインクルードすることができます。条件タグは「is_」、インクルードタグは「get_」となっているテキストです。

7月 20

うちのサーバーが悪いのか、たまにダッシュボード周辺の表示がおかしくなってしまう。
エントリーとサイドメニュー以外の部分が表示されなくなってしまう現象が起きる。

原因はいまいち判らないので、サーバーの所為なのか、なんなのか。こないだまでちゃんと表示されていたのに、なんでだろうって感じ。ネットで原因とか同じ症状になっている人を捜してみるも見当たらない。故に解決方法も定かなのが無い状態。

さっきも同じような症状になったので、試してみた事。どれが良かったのか判らないけれど、治った。

  • プラグインを全部一旦停止させてみる
  • テンプレートを標準のものに戻してみる
  • wordpressのバージョンを上げてみる

一応上の3パターンを試してみたらなんとか元に戻った。その後、プラグインを順番にというか、一つずつダッシュボードを確認しながら有効にしていく地道で面倒くさい作業をする。そのあとテンプレートを変更してみた。うん、大丈夫。

となると原因はバージョンなのかもしれない。いまはWordPress 2.8.2を稼働中。明らかな原因が判ればいいんだけれど、そこまではまだ力量不足です。

7月 14

方法 1: 事前に作業ディレクトリを作成しておく

あらかじめアップグレードスクリプトが使用する作業ディレクトリ tmp を作成し、書き込み可能なパーミッションを設定しておく方法です。

  1. アカウントのトップディレクトリの直下に tmp ディレクトリを作成し、パーミッションを 707 に設定。(XREA では /virtual/{アカウント名}/tmp/
  2. サーバより wp-config.php をダウンロードし、テキストエディタで開く。
    1. // 編集が必要なのはここまでです ! より前に次の1行を挿入。
      define ('WP_TEMP_DIR', '/{アカウントのディレクトリ}/tmp/');
    2. UTF-8 BOM なしで保存し、サーバへアップロード。
  3. 管理パネル > ツール > アップグレード画面を開く。
    1. [自動アップグレードを実行] ボタンをクリック。
    2. 接続情報を求められたら FTP の接続情報を入力する。
      • ホスト名: localhost または FTP 接続時のホスト名
      • ユーザー名、パスワード: FTP と同じ
      • 接続形式: FTPS 対応サーバでは「FTPS (SSL) 」を選択。XREA は「FTP」
    3. [開始] ボタンをクリック
      → 自動アップグレード処理が実行されます。
  4. アップグレードが成功したら、上記 1 で作成した tmp ディレクトリを削除。

方法 2: PHP を CGI モードで動かす

XREA、CORESERVER.JP の場合、次の内容を書いた .htaccess ファイルを wp-admin/ ディレクトリに置きます。(セーフモードの影響を受ける全機能を CGIモードで動かすには、まとめを参照)

<Files update-core.php>
AddHandler application/x-httpd-phpcgi .php
</Files>

XREA・CORESERVER.JP にて CGIモードで動かす場合(まとめ)

XREA・CORESERVER.JP にて、PHP を CGIモードで動かすことにより対処したい場合、次の内容を書いた .htaccess ファイルを wp-admin/ ディレクトリに置きます。(WordPress 2.7.1)

<files async-upload.php>
AddHandler application/x-httpd-phpcgi .php
</files>
<Files plugin-install.php>
AddHandler application/x-httpd-phpcgi .php
</Files>
<Files update.php>
AddHandler application/x-httpd-phpcgi .php
</Files>
<Files update-core.php>
AddHandler application/x-httpd-phpcgi .php
</Files>
7月 14

プラグインの最新バージョンを 1クリックでダウンロード・アップグレードできる機能が搭載されました(公式プラグインリポジトリに登録され、当機能に対応しているプラグインのみ)。通 常は、新バージョンをダウンロード・展開するディレクトリを WordPress が作成するため、セーフモードでは正常に動作しません。

方法 1: 事前に作業ディレクトリを作成しておく

方法 2: PHP を CGI モードで動かす
ファイルアップロード機能と同様に、次の内容を書いた .htaccess ファイルを wp-admin/ ディレクトリに置きます。

<Files plugin-install.php>
AddHandler application/x-httpd-phpcgi .php
</Files>
7月 14

プラグインの最新バージョンを 1クリックでダウンロード・アップグレードできる機能が搭載されました(公式プラグインリポジトリに登録され、当機能に対応しているプラグインのみ)。通常は、新バージョンをダウンロード・展開するディレクトリを WordPress が作成するため、セーフモードでは正常に動作しません。

方法 1: 事前に作業ディレクトリを作成しておく

方法 2: PHP を CGI モードで動かす


7月 13

WPの方で「表示数」をいくら設定しても10件までしか表示されなかったのですが、これもブログ検索のパラメータを修正する必要があり、「num=10」の部分を20とすればMAXまで表示できます。

7月 12

PHP がセーフモードで動作するサーバーを利用している場合、WordPress の一部の機能に制限が生じます。このページでは、セーフモードにより問題が生じる機能とその対処方法のまとめ。

ファイルアップロード機能

ローカルコンピュータ上の画像をサーバへアップロード(サムネイルも作成)する機能があります。通常、アップロードディレクトリは WordPress により自動作成されますが、セーフモードの場合、ディレクトリを自動作成できないため、アップロードができません。

□対処方法その1
事前にアップロードディレクトリを作成し、パーミッションの書き込み権限を与えておきます。作成するディレクトリ名は「管理パネル > 設定 > その他の設定」によって変わります。

□対処方法その2
アップロード処理を行なうスクリプトを CGI モードで動かします。次の内容を書いた .htaccess ファイルを wp-admin/ ディレクトリに置きます。

<files async-upload.php>
AddHandler application/x-httpd-phpcgi .php
</files>
6月 17

WordPressで簡易LPOを実現するプラグイン「wp-SearchKeyword」

事前準備としてAmaury BALMER氏作のプラグイン「Simple Tags」を入れておく。
wp-SearchKeywordは、関連エントリ情報はタイトルや本文などをキーワードで検索して抽出するのではなく、エントリにつけられたタグ情報を 利用しています。Simple Tagsは、WordPressのタグ機能を強化するプラグインで、タグの入力支援や一括編集などのほか、関連エントリを自動的に表示する機能がある。

Simple TagsはWordPresssユーザーの間で利用率が高いプラグインですので、すでに導入している方も多いと思いますが、まだ導入されていない場合は、あらかじめインストールし、管理画面で有効にしておいて下さい。

wp-SearchKeyword
http://de-lab.com/work/wordpress-plugin-searchkeyword/

テーマテンプレートの「single.php」(単一記事)を開き、検索結果に応じた関連エントリを自動表示させたい場所に、以下のコードを挿入。

<?php wpSearchKeyword(); ?> 

プラグインで生成する部分のデザインの変更は、クラス名(wpSearchKeyword)のスタイルシートを指定。また、wp- SearchKeywordプラグインは引数で簡単なカスタマイズが可能。HTMLのマークアップを変更したいときなどには、先ほどテーマテンプレー トに挿入したコードを以下の書式で書き換えてください。

<?php wpSearchKeyword("header" , "title属性" , "footer"); ?> 
header
  • リストの直前に出力するコードやテキスト(文字列)
  • デフォルト値: <div>
title属性
  • 見出し要素のレベル(H1,H2,H3…の数値部分)
  • デフォルト値: 3
footer
  • リストの直後に出力するコードやテキスト(文字列)
  • デフォルト値: </div>

Movable Type用簡易LPOモジュール「SearchKeyword」

事前準備として、タグ機能を拡張するプラグイン「TagSupplementals 0.10」を利用して、関連エントリの表示部分を実装。

次に、新しいテンプレートモジュールを作成。テンプレートモジュールは、管理画面の「デザイン」→「テンプレート」から作成。「テンプレートモ ジュールを作成」を選択し、以下のソースコードをコピー&ペーストしてください。テンプレートモジュールの名前は「SearchKeyword」にして保 存します。

<?php
define("CHARACTERSET","UTF-8");
    function keyword($linkurl) {
    if (strpos($linkurl,".google.")) {
        $str = eregi_replace(".+q=([^&]+).*","\\1",$linkurl);
        $str = urldecode($str);
        $str = mb_convert_encoding($str,CHARACTERSET,"UTF-8");
    } elseif (strpos($linkurl,".goo.")) {
        $str = eregi_replace(".+MT=([^&]+).*","\\1",$linkurl);
        $str = urldecode($str);
        $str = mb_convert_encoding($str,CHARACTERSET,"EUC-JP");
    } elseif (strpos($linkurl,".yahoo.")) {
        $str = eregi_replace(".+p=([^&]+).*","\\1",$linkurl);
        $str = urldecode($str);
        $str = mb_convert_encoding($str,CHARACTERSET,"UTF-8");
    } elseif (strpos($linkurl,".msn.")) {
        $str = eregi_replace(".+q=([^&]+).*","\\1",$linkurl);
        $str = urldecode($str);
        $str = mb_convert_encoding($str,CHARACTERSET,"UTF-8");
    }
    $key = mb_convert_kana($str,"s");
    return $key ;
}
$key = keyword($_SERVER['HTTP_REFERER']);
if($key != ""){
    echo '<h3>', $key, '関連の記事が見つかりました</h3>';
?>
<ul>
<MTRelatedEntries lastn="5" offset="0">
<li><a href="<$MTEntryPermalink$>"><$MTEntryTitle$></a></li>
</MTRelatedEntries>
</ul>
<?php }?>

続いて、同じくテンプレートのメニューにある「アーカイブテンプレート」の中から「ブログ記事」を開きます。関連エントリを表示させたい場所に次のコードを記述すれば、実装完了です。

<$mt:Include module=”SearchKeyword”$>

テンプレートモジュールはPHPを利用していますので、MTが出力するアーカイブページがデフォルトのHTMLになっている場合は、PHPへ変更す る必要 があります。管理画面の「設定」→「公開設定」を開き、アーカイブオプションのファイル拡張子を「php」と書き換える必要がある。

6月 16

ページに表示するテキストの内容や、レイアウト、配色、画像と文字の割合などを改善することで、商品の購入や資料請求といったコンバージョンは高められる。ネットショップで例えると、「見出し」や「画像」を替えただけで急に停滞していた商品が売れ出したり、「資料請求フォーム」の送信ボタン周辺をちょっと改良したら申し込み件数がアップしたなんてことはよくある事である。

従来ならば、これらの既存サイトを修正する作業にとりかかる場合、過去の経験だったり、人からのアドバイスであったりを参考にしたりして、試行錯誤した結果、たどり着けるものであった。ただ、このちまちました作業は組み合わせるだけでも膨大なパターンが生まれるので、それほど大きくない規模の会社なんかでは細かい調整なんかは実質無理があると言わざるを得ない。

本来なら、我々のようなウェブ制作会社が対応するべきもので、元をたどれば、そういう業者がしっかりと対策を考慮したうえでサイト制作するべきものである。

「Google Webサイトオプティマイザー」は、上記のような改善を「自動テスト」と「効果測定」によって助けてくれるツール。複数の画像や素材を用意しておけば、自動的にテストを行ってくれる。あとは導きだしてくれたコンバージョン率の高いパターンをベースにサイトデザインやコンテンツを改善していくことになる。

Google Webサイトオプティマイザーのテストは同一ページの異なるバージョンを比較するテストと、見出しや画像などの部分要素を組み合わせて比較するテストの2種類。テストするページとコンバージョンページを設定しておき、テストページへアクセスしたユーザーのうち目標ページにたどり着いた割合を算出してくれる。

サイトが自動的に改善されるわけではなく、テスト用のコンテンツを用意する手間や人の目による修正作業は欠かせないが、手軽に利用できる“お助けツール”として、ぜひ使いこなしたい。

« Previous Entries