Tagged ‘WordPress’

パーマリンクをシンプルに

http://www.photo-ac.com/main/detail/22499

ログによると、このブログを始めたのは2005年11月で今で10年近く運営してる事になる。
Movable Typeからやっている関係もあってか、Wordpressのパーマリンク設定がURLに年月が付いてるものになっている。

例えば下記の感じのURLになる。
http://uda2.com/blog/2005/11/favicon/
月と投稿名「/%year%/%monthnum%/%postname%/」

最近の流行は投稿名だけのスタイルだ。

favicon:ホームページのアイコン


投稿名「/%postname%/」

芸能人のブログやニュース系のブログなら年月がある方がいいかもしれないが、ウチのように閲覧者の殆どが調べ物を探す為に使われてるブログでは年月は重要ではないので変更したい。変更するのは「設定」「パーマリンク設定」でラジオボタンを選択するだけで簡単だけど変更してしまうと10年の蓄積された被リンクが切れてしまうのが悩みどころです。
そういった方の為にPermalink Redirect WordPress Pluginなんていうプラグインもあるらしいけど古いしシンプルに年月取るだけなので.htaccessのredirectで飛ばす事にした。

そもそもWordpressをインストールすると.htaccessが作られるので、ダウンロードしてきて一番上に転送用の記述をした。
うちのブログ全体を「blog」フォルダに入れてるので転送先が「/blog/$1」になってるがルートに直置きはしてたら「/$1」になる。

<IfModule mod_rewrite.c>
RewriteEngine On
RewriteRule ^20[0-9]{2}/[0-9]{2}/(.*)$ /blog/$1 [R=301,L]
</IfModule>

これで「月と投稿名のパーマネントリンク」から「投稿名だけのパーマネントリンク」に転送されて、レスポンスコードを301にしてるので転送された事を検索エンジンとかに通知するようになりした。

XREAからCORE SERVER

XREAからCORESERVER.JP(CORE-A)に移転した。
管理画面は殆ど変わらない。独特で最初は取っつきにくいが使い慣れると使いやすい。
静的なコンテンツは「サーバー間コピー」で簡単に数分で終わったがDBがなぜかユーザー名のみのデータベースが生成されず、かなり時間がかかってしまった。
XREA(CORE SERVER)では例えばユーザー名が「user」だとすると「user_~」というアンダーバーの後に適当な文字を追加したデーターベースを複数作れる。xreaは昔は複数作れなかったのでユーザー名のみのデーターベースを作ってたので今回も同じ様な感じでいこうと思ったがphpmysqlでもログインできないし、telnetでもログイン出来ない。待てばいいのかと1時間待っても2時間待っても何も変わらない。仕方なくアンダーバー付きのデーターベースを作った。
WordPressは記事をバックアップしてインストールし直し、プラグインも入れ直した。
プラグインのアップデートの際CGI版PHP5にして動かしていたんだけど、管理画面の表示が崩れる事があった。CORE SERVERではCGI版PHP5は使わない方がいいみたいだ。CGI版が使えないのでWP Super Cacheのインストールはstupid website» ブログアーカイブ » xrea,coreserverでのWP Super Cacheを参考に複雑な手順を踏む事になった。モジュール版の方が安全で少し速いみたいなので結果オーライって事で。
テーマとかはバックアップしてあるので大丈夫だったがリンクとウィジェットが消えていたが、WP Super Cacheのキャッシュが残ってたのでなんとかなった。
あらかた正常に動くようになったのでKtai Styleを入れてみた。いつも携帯のチェック用に使ってるFireMobileSimulatorでチェックしたら思いっきり文字化け。色々調べたが直らず、実機で確認したところ問題無かった。httpヘッダで間違った文字コードを送ってるのかもしれないが、これもOKって事で。
他の非公開な確認用ムーバブルタイプをPhpMyAdminでバックアップとってリストアしたがデータが変になって使い物にならなかった。PhpMyAdminは高機能だけどバックアップとリストア機能は信用できない。過去に何度も酷い目にあってるので今回もダメかもと思いながらやったがダメだった。CORE SERVERとXREAの管理画面からリストアとバックアップをしても文字化けして使い物にならない。
掲示板はpsotgreSQLを使ってるのでPhpPgAdminでバックアップしようとしたがエラーが出てさせてくれなかった。もう意味が分からない。
結局、丸一日かけてサーバーの移動が終わった。(まだ、色んな非公開なツールの問題が解決してないけど・・・)
CORE SERVERとXREAを比べるとやっぱり早くなってる。CORE SERVERはDBが遅いと噂にあったので心配してたけど全然速かった。
過去にデータベース依存の高いソフトを入れた事のある激安サーバーで比べると
CORE SERVER = チカッパ >>> XREA >>> ロリポ
って感じです。もちろん当たり外れはあるけど。

追記
BBSは壊れててるけど、あまり使われていないので直さないかもしれません。

WP Super CacheとKtai Styleが同居OKになった

ktai久々にWordPressのプラグインをバージョンアップした。(本体はサーバーの問題でバージョンアップ出来ない。)

.htaccessでセーフモードにしてポチポチとアップデートを済ませたが、ブログを確認すると「Simple Tags」でエラーが出た「hash()って何ですか?」的なメッセージだった。確かhash()はPHP5から付いた機能、既に運営してるブログのPHPのバージョンを上げていいものか分からないけど.htaccessでPHP5にしてみたら、すんなり直った。

ブログがPHP5になったという事でPHP4では入れられなかった携帯対応プラグイン「Ktai Style」を入れたくなって調べてみると、「WordPress Plugins」とバッティングする問題は解消された様だ。

入ってるプラグインを見てみるとWP Super Cacheを入れたはいいがKtai Styleとバッティングするのがイヤで停止してあった。とりあえずバージョンアップしたばかりのWP Super Cacheを有効にしてみた。設定画面に「Mobile device support.」てのがあったので有効にしておいた。一応、確認してみたらエラーは出てないがキャッシュが貯まらない。xrea,coreserverでのWP Super Cacheを参考に見直してみると「wp-content」フォルダの「advanced-cache.php」だけ古いバージョンのままだった。自動バージョンアップしても「advanced-cache.php」は勝手に書き換わってくれる訳では無いようだ。

そして、「Ktai Style」をインストール。どうやったら見れるかと思ったらそのままのアドレスでOKだった。

テーマとか選べるてMovableTypeの時に使ってたMT4iよりも簡単になってます。

追記
この記事を書いてる途中から表示が崩れ始めて最終的に編集が困難になってきたのでPHP4に戻しました。「Ktai Style」はCGI版のPHP5では動かないのかもしれません。サーバーを変更してPHP5でインストールし直します。

WordPressの続きをページ内リンクさせない

WordPress2.8.4にバージョンアップしてから記事のタイトルの下(正確には記事の上)に記事へのURLが現れる様になった。
原因は「the_content」の3つ目の現在使用されてないmore以降を表示する為のリンク先を指定したのが原因だった。
現在のテンプレートはCSSの都合でページ内リンクをすると表示が変になるのでページの頭に飛ばしたくて付けたんだけど現在サポートされていないという事で「いつかバージョンアップして直ればいいな」ぐらいに思ってたんだけど、なぜかWordPress2.8.4から3番目の文字を記事の上に表示する様になった。

そこで、まずテンプレートの「the_content」の3つめの引数を削除した。(2番目もついでに消した。)
それから無理矢理リンク先のアドレスからページ内リンクを削除する事にした。
「the_content」は「/wp-includes/post-template.php」に関数がある。
これは「the_content」は「get_the_content」を出力用に整形してるらしい。
そこで226行あたりにある「get_the_content」のリンクを生成してる記述から「#more-$id」を削除した。
とりあえず、コレで思い通りページ内リンクしなくなったけど、バージョンアップの度に修正する必要があるのが不便。

XREAのWordPressバージョンアップ

WordPressのバージョン2.8.2を使ってたんだけど脆弱性があるとの事でバージョンアップしました。
WordPressのアップデートは過去にしたことがあるがサーバーがXREAでそのままの状態ではバージョンアップ出来ず、データベースやファイルを一旦バックアップして本家からダウンロードしてちまちまファイルをアップしてアップデートしてたので「面倒なんでイヤだな」と思ってたのですが。
Core Update Host Compatibility – WordPress Codex 日本語版というサイトを見つけた。
このサイトには色んなサーバーのバージョンアップ情報が載っていてXREAの情報も記載しておりその通りやると1分も掛からず終わった。
今までの苦労はなんだったのだろう・・・

試してみた5つのWordPressプラグイン

豊富なプラグインが特徴のWordPressに移行したという事で色々プラグインを試してみた。
Wordpress SEO PluginAll in One SEO Pack
SEOに効くらしいプラグイン。
元々ブログってかなりSEOを意識した作りになってるし、正直、あまり効果は無いと思うけど一応入れてみた。
個人的にはWordPressのタイトルのセパレーターが「»」ってのが気に入らなかったので書き換えられたぐらいかな。


Popularity ContestPopularity Contest
人気記事を表示するプラグイン。
右のウィジェットに入れてます。
これは以前から入れたかったのでいい感じ。
コメントやページビューなどを優先する項目を微調整して人気記事をランキング表示できます。


Simple TagsSimple Tags
タグ付けプラグイン。
そもそも、最近のWordPressにはタグ機能があるのでいらないんだけど、コレを導入すると「関連する記事」が付けられます。
これも以前から付けたかったのでいい感じ、ただ本体のタブ機能とかぶってるってのがスッキリしない。


WP Super CacheWP Super Cache
キャッシュ機能を付けて高速化するプラグイン。
WordPressの一番の弱点は表示が遅いこと、これを解決するプラグインなんだけど、SafeMode(多くのレンタルサーバー適用されているサーバーを安全に運用するためのPHPのモード)だと動かすのが厄介で、なんとか、xrea,coreserverでのWP Super Cacheとかwp-super-cacheのインストール(ロリポップ)を参考に問題のあるエラーは表示しなくなったけど表示は遅いままキャッシュにもファイルは貯まっていない。
なんか入れると不安定になったとかいう人もいるのでとりあえず外して、DBを最適化してちょっとは速くしようと思ったのですが何の変化もありませんでした。


WP-PageNaviWP-PageNavi
ページを新しい記事、古い記事、だけじゃなくページ番号でリンクするプラグイン。
入れようと思ったけど、またテンプレート弄らなきゃいけないし、ブログだと新しい記事、古い記事だけで十分かなとか思って一回も使ってません。


あと、前回紹介した「SexyBookmarks」と自分で作った登録した広告をランダムに表示するプラグインを入れてます。

RSSのアドレスもWordPressに移行

rssWordPressで生成されたソースを見てみるとRSSの記述が分かりにくい事になってる。
しかも、アドレスが変わってしまってる。
このブログをRSSリーダーで見てる人はいないだろうけどTechnorati (テクノラティ) なんかはRSSから情報を取ってる可能性があるのでアドレスが変わってしまうと今後参照してくれないかもしれない。
そこで、とりあえずRSSの記述はheader.phpに普通のhtmlで追記して、アドレスの方はWordPress Codex 日本語版を参考に.htaccessで飛ばそうとしたが自力ではうまく行かなかったので、[WordPress]MovableTypeから移行するときにRss/Atomフィードも転送するの記事の通りやると上手いこといった。

WordPressに移行しました。

WordPressようやく、WordPressに移行しました。
MovavleType3からMovavleType4にしたときもデザインを変えなかったので、今回も前のデザインのまま作ってみたけど新しくなった感じがしないんでデザインを変更しました。
ゾウがいなくなると別のサイトみたいになるのでゾウ残しという事でサーカスっぽい感じにしてみました。
移行するにあたって別のフォルダを作って調整してから、フォルダ名を替えて本アップする流れにしようと別フォルダにインストールした。
インストールは簡単に終わってMovavleTypeの「システムメニュー」からブログをエキスポートで記事をファイルに書き出してWordPressの「ツール」の「インポート」から「Movable Type と TypePad」を選びファイルを指定すると簡単に移行できるんだけど落とし穴があった。
WordPressはMovavleTypeの「キーワード」をタグとして認識するらしい。
ググってみるとMovableType 4.23 から WordPress 2.7 へ移行しましたって記事に解決法が書いてあった。
ファイル名が変わるのも気になって他がこれも直してくれるらしい。
後はMovavleTypeの時は拡張子をphpにしてあったので「パーマリンク設定」で「カスタム機構」を選んで
/%year%/%monthnum%/%postname%.php
と書き換えたらほぼ同じアドレスになった。
WEBページに関しては書き出したり取り込んだり出来ないので一つ一つコピペしていった。
それでもMovableTypeの時は拡張子があったのにWordPressには拡張子が無い。
まあ、これは数が少ないから飛ばす方が楽かもしれない。
ちなみに携帯は利用者が殆どいないので未対応にしてます。