SereneBachからWordPressへの乗り換えメモ(4)

Pocket

..まぁそれはそれとしてだ なんとか今日も生きてます..

ブログのソフトが変わったので、いままでの記事のURLが大幅に変更されたわけですが、そのせいもあってか、アクセス数ががた落ちです…。Google Analyticsで調べてみても、以前の記事のURLに飛んでくる人はいまだいるようで、Google ウェブマスターツールを利用して、サイトマップを再認識させたり…とかやってますがしばらくは記事が見つからない…という状況が続いてしまうでしょう。

というわけで、Wordpressの404ページをカスタマイズして、Googleから流れてくる人をなんとかつなぎとめる作戦です。これ、他のサイト(九天社とか、書籍のURLは印刷されているので変更できない…)のリプレイスをWordpressで行う場合にも使えると思うのでメモメモ。

概要をまとめると、カテゴリとエントリーの対応マップを作成して、その変換をしているだけです。データは例のごとくエクセルで工夫してなんとか用意して、最終的に以下のような感じの多次元配列に整形します。

&lt;?php<br />
$sbcate = array (<br />
"0" =&gt; array ("title" =&gt; "おしらせ","wpcat" =&gt;&gt; "info"),"<br />
"1" =&gt; array ("title" =&gt; "日常","wpcat" =&gt; "hibi"),"<br />
"2" =&gt; array ("title" =&gt; "妄想","wpcat" =&gt; "mousou"),"<br />
"3" =&gt; array ("title" =&gt; "FINAL FANTASY XI","wpcat" =&gt; "final-fantasy-xi"),"<br />
(中略)<br />
"97" =&gt; array ("title" =&gt; "高島アナのメガネ","wpcat" =&gt; "aya-megane")"<br />
);<br />
?&gt;


でもって、管理画面のデザインタブのテーマエディタで404テンプレートを以下のように編集します(使ってるテーマにもよると思うけど…)。

&lt;?php get_header(); ?&gt;<br />
 <br />
&lt;div class="narrowcolumn"&gt;<br />
&lt;div class="e404"&gt;<br />
&lt;div style="padding: 20px; font-size:12px;"&gt;<br />
 <br />
&lt;?php<br />
  require_once("./404nav/cate_list.php");<br />
  require_once("./404nav/entry_list.php");<br />
 <br />
  echo '指定した記事が見つかりません。'.'&lt;p /&gt;';<br />
 <br />
  if(!$sbent[$_REQUEST['eid']]['title']==''){<br />
    echo 'エントリー:'<br />
      .$sbentry[$_REQUEST['eid']]['title']<br />
      .'&lt;br /&gt;';<br />
    echo '   http://blog.neuve.com'<br />
      .$_SERVER["REQUEST_URI"].'&lt;p /&gt;';<br />
    echo 'は';<br />
    echo ' &lt;a href="'.'http://blog.neuve.com/archives/'<br />
      .$sbentry[$_REQUEST['eid']]['wpent']<br />
      .'/"&gt;http://blog.neuve.com/archives/'<br />
      .$sbentry[$_REQUEST['eid']]['wpent']<br />
      .'&lt;/a&gt; ';<br />
    echo 'へ移動しました。&lt;p /&gt;';<br />
  };<br />
 <br />
  if(!$sbcate[$_REQUEST['cid']]['title']==''){<br />
    echo 'カテゴリ:'<br />
      .$sbcate[$_REQUEST['cid']]['title']<br />
      .'&lt;br /&gt;';<br />
    echo '   http://blog.neuve.com'<br />
      .$_SERVER["REQUEST_URI"]<br />
      .'&lt;p /&gt;';<br />
    echo 'は';<br />
    echo ' &lt;a href="'.'http://blog.neuve.com/archives/category/'<br />
      .$sbcate[$_REQUEST['cid']]['wpcat']<br />
      .'/"&gt;http://blog.neuve.com/archives/category/'<br />
      .$sbcate[$_REQUEST['cid']]['wpcat']<br />
      .'&lt;/a&gt; ';<br />
    echo 'へ移動しました。&lt;p /&gt;';<br />
  };<br />
?&gt;<br />
 <br />
&lt;/div&gt;<br />
&lt;/div&gt;<br />
 <br />
&lt;/div&gt;<br />
&lt;?php get_footer(); ?&gt;

ポイントは
$sbcate[$_REQUEST[‘cid’]][‘title’]
で、
$_REQUEST[‘cid’]や$_REQUEST[‘eid’]で、お客さんが指定したURL
http://blog.neuve.com/sb.cgi?cid=97など
からcid=97の数字の部分をとりだして、
$sbcateの中の
“97” => array (“title” => “高島アナのメガネ”,”wpcat” => “aya-megane”)”
から、
$sbcate[97][‘title’]で”高島アナのメガネ”
$sbcate[97][‘wpcat’]で”aya-megane”
が取り出せるので、適当な場所に嵌め込んで表示させてます。

にしてもこのテーマの404画面かっこいいっすな。よかった。
てなわけでメモ終わり。

echoがうざいけど、暫定なので…何度も利用するようだったら別ファイルにまとめないとな…プラグインの仕様しらべてプラグインにしちゃおうかな…。

カテゴリー: サイト管理 パーマリンク
おもろないいまいちだふつう…だまあまあだおもしろい (未評価)
※よろしければ、今後のために「おもろ指数」の評価をお願いします。
Loading...

SereneBachからWordPressへの乗り換えメモ(4) への2件のフィードバック

  1. neuvecom のコメント:

    他のテンプレとか見てるとやたらとか1行でまとめてる記述が多いので、それに倣ってたんだけど、ごっそりブロックにしても動くみたいだから、ブロックにしてみた。たぶんecho<<<EOTみたいにしてもいけるはず。
    そのほうが見やすいし。

  2. neuvecom のコメント:

    こんなことしなくても、http://urbangiraffe.com/plugins/redirection/ が結構安定してつかえる。リダイレクトするのが単純か、少ない場合はこっちがベストかも。管理画面からいじれるし。

コメントを残す

メールアドレスが公開されることはありません。 * が付いている欄は必須項目です