CSV Importerの補足

久々の投稿ですが、WordPressの一括投稿と重複削除のプラグインで、CSV Importerの補足です。

CSVファイルの各フィールド内では、”フィールド1”,”フィールド2”,”フィールド2”,・・・とフィールドの区切りは「”」(ダブルクオート)と「,」(カンマ)で区切ります。

じゃあ、このフォールド内で、「”」(ダブルクオート)を使う場合は、どうしたら良いかというと、

例えば、”<a href=””http://your.com”” traget=””_blank”” rel=””nofollow””>”,

などのようにフィールド内のダブルクオートを2個にして、ダブルクオートエスケープ処理すると、うまくフィールドを認識してくれます。

あと、プラグインがバージョンアップされたら、CSV Importerの説明をよく読んで、適宜、CSVファイルのフィールドを見直す必要があります。

WordPressの簡単にリンク作成できるプラグイン

投稿記事を書いている時、同じURLの内部リンクや外部リンクを何度も挿入することがあると思います。

そんな時に役に立つプラグインが、Automatic SEO Linksです。

これは、あらかじめ、特定の言葉とそのURLの紐付を登録しておけば、その特定の言葉を記事中で使うと、自動的にリンクを張ってくれるプラグインです。

例えば、以下のように登録しておくと、記事中で、「AutomaticSEOLinks」という言葉を使うと、エディターでリンクを挿入しなくても、公開時に自動的にリンクが張られています。

  • 特定の言葉=”AutomaticSEOLinks”
  • URL=”http://wordpress.org/extend/plugins/automatic-seo-links/”

記事を沢山、一気に書き上げるような人は、特に、リンクをちまちま設定する必要がなくて、重宝すると思います。

使い方は単純で、

  1. プラグインをダウンロードして、ZIPファイルを解凍
  2. 出来たAutomatic SEO Linksのフォルダをフォルダごと、WordPressのプラグインフォルダにアップロード
  3. WordPressのプラグインの項目で、Automatic SEO Linksを有効にする
  4. WordPressの設定の項目にあるAutomatic SEO Linksで、特定の言葉と対応するURLを登録する

これだけです。

なかなか便利ですよ。

WordPressの一括投稿と重複削除のプラグイン

アフィリエイトやインターネットショップをWordPressで構築していると、投稿記事を一括でアップロードすることも多いと思います。

そんな時に役に立つプラグインが、CSV Importerです。

これは、単純なCSV(テキスト)ファイルに複数の記事を保存して、アップロードすれば、一度に記事が投稿できるというものです。

使い方は単純で、

  1. プラグインをダウンロードして、ZIPファイルを解凍
  2. 出来たCSV Importerのフォルダをフォルダごと、WordPressのプラグインフォルダにアップロード
  3. WordPressのプラグインの項目で、CSV Importerを有効にする
  4. あとは、サンプルのCSVが、プ ラグインのサイト(http://wordpress.org/extend/plugins/csv-importer/other_notes/)に あるので、これをもとに、複数の記事を記載したCSVファイルを作成する
  5. そして、WordPressのツールの項目にあるCSV Importerで、作成したCSVファイルアップロードする

また、アップロードする際に、以下のオプションがありますので、適宜チェックをすることで、ドラフトとして保存したり、記事ではなく固定ページとして保存したりできます。

  • Import posts as drafts:チェックをするとドラフトとして保存、チェックをはずすと記事が公開されます。
  • Import rows as pages, not posts:チェックをすると固定ページとして保存されます。

以上で、複数記事の一括投稿ができます。注意点としては、アップロードできる記事数というかデータ量というか、とにかく容量的なものに制限があるようなので、あまり多くの記事をアップロードすると、エラーが発生する場合もあるようです。

一応、CSVファイルのヘッダー項目も解説しておくと、以下の通り。

  • csv_post_title:記事のタイトル
  • csv_post_post:記事の内容
  • csv_post_excerpt:記事の要約
  • csv_post_categories:カテゴリ(複数の場合は、カンマ(,)で区切る)
  • csv_post_tags:タグ(複数の場合は、カンマ(,)で区切る
  • csv_post_date:記事の投稿日(過去日付も先日付も対応。先日付にすれば、予約投稿になります。)
  • custom_field_1・・・:上記の項目は必須で、それ以外のヘッダー項目はカスタムフィールドして認識され、フィールド名を書けば、自動で項目が追加されます。

また、カスタムフィールドを使用している別のプラグインがある場合、そのプラグインのフィールド名を正しく記述すれば、そのプラグインの設定も自動更新できるようです。(ただし、記事編集画面にそのプラグインのフィールド名が表記されていない場合は、ソースコードからフィールド名を探さないと上手くいかないようです。)

※CSVファイルのフィールド内で、「”」(ダブルクオート)を使う場合(たとえは、csv_post_post内でアンカーリンクを使う場合など)には、:CSV Importerの補足をみてください。

さらに、CSV Importerを使っていると、何かしらのミスやアップロードのエラーで、記事を2重、3重と保存することがあります。

そんなときに役立つのが、Delete Duplicate Postsです。

このプラグインは、文字通り、重複する記事を検索して、削除してくれる優れものです。
こちらも使い方は単純で、

  1. プラグインをダウンロードして、ZIPファイルを解凍
  2. 出来たDelete Duplicate Postsのフォルダをフォルダごと、WordPressのプラグインフォルダにアップロード
  3. WordPressのプラグインの項目で、Delete Duplicate Postsを有効にする
  4. WordPressのツールの項目にあるDelete Duplicate Postsで、検索ボタンを押す
  5. すると、重複記事がリストアップされるので、そのリストを確認して、削除ボタンを押す

これだけです。注意点としては、リストアップできる記事数が限られているようで、重複記事が多いと一度ですべての重複記事を削除することができないようです。その場合は、何回か繰り返せば、重複記事がすべて削除することができます。

WordPressのXMLsitemapを作るプラグイン

たいした量の記事は書いていないけど、そろそろグーグルやヤフーのクローラにサイトを登録しようと思い、サイトマップを作成するプラグインを探していたところ、ありました!良いのが!

Google XML Sitemaps

このプラグインは、XMLサイトマップを自動で作成できるだけでなく、Google、Bing、Yahoo!などの検索エンジンへのサイトマップの通知も自動で実施してくれます。

また、その他にも、色々な設定がビジュアルな操作で簡単にできるようになっていてとても便利です。例えば、

  • サイトマップに含めるページや除外するページを、ページ単位、カテゴリ単位などを設定できる。
  • ホームページ、アーカイブ、固定ページ、タグページ、カテゴリ別ページなどの更新頻度を簡単に設定できる。
  • 上記の種類毎のページの優先順位を簡単に設定できる。

まあ、私はデフォルト設定でしか使用していませんが・・・。

一応、WordPressのプラグインのインストール方法を書いておくと、主な方法は2つあります。

  • 管理ページからインストールする方法
  • ダウンロードしたGoogle XML SitemapsのZIPファイルを解凍して、フォルダごと、wp-content/pluginsディレクトリにFTPでアップロードする方法

開発環境を整備する(その3)

  • WebサーバーMAMPの設定といっても、ノートPCにローカルの開発系WEBサーバーを構築するだけです。

特に設定をしなくても、アプリケーションフォルダのMAMPをクリックすれば、WEBサーバーは立ち上がるのですが、この教科書通り[PHP 逆引きレシピ]に、以下3点の設定を行います。

  • 日本語のエンコード設定
  • エラー表示の設定
  • タイムゾーンの設定

アプリケーションのMAMPフォルダ配下、/Applications/MAMP/conf/php5/にphp.iniという設定ファイルがあります。このファイルの以下の項目を設定します。

・・・とその前に、の設定ファイルの編集は、macbook標準アプリのテキストエディタで編集すると色々と不都合なことが多いので、Mac OS X 用のテキストエディタ「Mi」をインストールして使います。

参考書のこの本[PHP 逆引きレシピ]には親切に行番号まで記載してますが、Mac OS X 用のテキストエディタ「Mi」の検索機能(検索メニューからキーワードを入れて検索する)で、検索すれば結構楽に探し出すことができます。

PHP.iniの設定変更①:magic_quotes_gpc = On  → Off に変更する。

「magic_quotes」は、セキュリティ対策として

  • 「’」(シングルクオート)
  • 「”」 (ダブルクオート)
  • 「\」(バックスラッシュ)
  • NULL

に、全て自動的に バックスラッシュでエスケープ処理(制御文字を無害な文字列に「エスケープ」)する機能なのですが、この機能が不完全というか、実行環境などによって、上手く動作しないことが多いため、Offにするケースが多いようです。そのため、PHP6系からは、この機能は搭載されないことが決まっているようです。(代わりに、個々のプログラムのコーディングのなかで、エスケープ処理をする必要があります。)

PHP.iniの設定変更②:日本語エンコードを整える。

次の設定変更は、エンコードを「UTF-8」に統一し、日本語環境を整えるすることです。エンコード設定は、統一されていればあまり不都合は無いようですが、「UTF-8」がPHPでは一般的なようで、望ましいエンコードらしいです。

  • default_charset = “UTF-8″にする。(デフォルトではセットされていないので、「UTF-8」と書く)
  • mbstring.language = Japaneseにする。(デフォルトでは「;」が先頭にあり、コメントになっているので、これを消す。)
  • mbstring.internal_encoding = UTF-8にする。(同じく、コメントになっているので「;」を消す。)
  • mbstring.http_input = auto(同じく、コメントになっているので「;」を消す。)
  • mbstring.detect_order = SJIS,EUC-JP,JIS,UTF-8,ASCII(同じく、コメントになっているので「;」を消す。そして、値が「auto」になっているので、これを、「SJIS,EUC-JP,JIS,UTF-8,ASCII」にする。autoでも良いらしいですが、うまく自動判定が機能しない場合もあるらしく、定義しておくと良いと書いてありました。)

PHP.iniの設定変更③:タイムゾーンを設定する。

MAMPのPHP.iniには、タイムゾーンの設定が無いそうなので、この[PHP 逆引きレシピ]に従って、510行ぐらいに、以下の値を追加して、タイムゾーンを日本にしておく。

[Date]

; Defines the default timezone used by the date functions
date.timezone = Asia/Tokyo

これで、MAMPでの設定は終わり。

あと、エラーメッセージが表示されるようになっているハズですが、一応、230行〜330行あたりの、「Error handling and logging」の項目をみて、

  • error_reporting  =  E_ALL
  • display_errors = On

となっていることを確認する。まあ、デバックに必要なので開発環境では、エラー表示はオンにしておく。逆に、本番環境だと、セキュリティ上の問題になるので、この辺の値は、ログに書き込ませて、WEBでは表示させない設定にする。

あと、localホストの開発環境なんで、セキュリティ対策の心配はあまりありませんが、一応、MacBookの「システム環境設定」の「共有」のところで、「インターネット共有」のチェックが”無い(チェックがあれば、はずす)”ことを確認する。

一応、これで、MAMPの設定は終了で、開発用のWebサーバーが構築できました。

次は、開発用の統合環境Eclipseです。これは、その4につづく。






本を読んで、とりあえず、作ったサイト

このブログを立ち上げたそばから、記事更新をさぼっておりますが・・・それはさておき、今日は、この本の成果ということで、

この本[PHP 逆引きレシピ]を読んで、PHPでのプログラミングがおおよそ分かってきたところで、一つ、プログラムを書いて、構築中のWebサイトを紹介します。(完了型でないところが、なかなか、いろいろやりたくなって、これで終わりというところまでに至らない、やれやれ。)

サイト:「絵本の人気TOP10」です。

このサイトは、pearパッケージServices_Amazonを使って、アマゾンから人気絵本を色々なカテゴリで検索して、カテゴリ別10件の商品紹介を、Smartyで静的なhtmlファイルに吐き出すプログラムで作りました。

本当は、PHPのスクリプトを使って、検索結果やメニューなどをサイト全体を表示させるつもりだったのですが、

  • 表示速度が遅いのと、(pearのcachingパッケージを使っても、初回表示はどうにもならないし)
  • 自前のプログラムの場合、PHPのセキュリティ対策がしっかり分かっておらず、ちょっと不安だったので

とりあえず、静的HTMLに吐き出すようにしてみました。

レンタルサーバーは、海外のものです。

もちろん無料ですが、PHPや他のCGI、SQLサーバーなど、色々とできるし、ある程度、日本語対応もしっかりしています。国内のレンタルサービスより、格段に条件が良いので、悪質なサイトもあるようですが、良く調べれば、海外レンタルサーバーの方が良いことも分かりました。

あと、PHPのパッケージやテンプレートエンジンなどを使わなくても、利用するだけなら、WordPressやMTなど、フリーや商用のCMSを使った方が断然楽だと作ってみて実感しました。

やりたいことを自分の好きなように行うには、プログラムを書いた方が良いですが、オッサンには時間がかかります。

まあ、でも、面白いので、ぼちぼちやって行きます。

開発環境を整備する(その2)

開発用のPCっていっても、私のノートPCは2〜3世代前ぐらいのMacBookです。

最近のPCスペックの向上ぶりには驚かされます。簡単なWebプログラミングなら、ノートパソコンで、さくさく動く開発環境ができるので、余計なコストがかからず助かります。ホント。

一応、私のMacBookのスペックは、システムプロファイラを見るとこんな感じです。

  • 機種名:    MacBook
  • プロセッサ名:    Intel Core 2 Duo
  • プロセッサ速度:    2 GHz
  • 二次キャッシュ:    4 MB
  • メモリ:    2 GB
  • バス速度:    667 MHz
  • HDD容量:    120.03 GB(120,034,123,776 バイト)

OSのバージョンは、最初、MacOS X10.4(Tiger)だったのですが、OSの値段も安かったので適時アップグレードして、今は、MacOS X10.6(Snow Leopard)です。

特に、今使っているこのMacOS X10.6(Snow Leopardは、アップグレードするたびに動作が重くなるWindows系のOSと違い、古いスペックのノートPCでもサクサク動きます。

そして、MacOS X10.5(Leopard)からのマイナーアップグレードということもあって、3000円と安い上に、MacOS X10.5(Leopard)の時より、7GBもHDDの空き容量ができました。

別に、Mac信者では無かったのですが、なんか、WindowsOSのパソコンから切り替えて良かったと思う一番の出来事でした。

まあ、それはさておき、PHPでWebプログラミングを行う上での開発環境の整備の方はというと、MAMPEclipseをダウンロードして、インストールって言う感じです。

あと、MacOSにはWebサーバのApacheがすでにインストールされており、簡単に立ち上げることができるそうですが、ひよっこオジさんデベロッパーの私は教科書通り[PHP 逆引きレシピ](23ページ)に従って、MAMPをインストールすることに。

ほとんど手順って呼べる内容ではないですが、敢て手順を書くとこんな感じです。

Webサーバのインストール

  1. MAMP(http://www.mamp.info/en/index.html)から最新バージョンのMAMPをダウンロード。(同ページにはMAMP PROもありますが、これは商用版。)
  2. 適当なフォルダにZIPファイルをダウンロードしたら、ZIPファイルを解凍する。
  3. 解凍すると、イメージディスクファイル(dmgファイル)が自動的に開く。
  4. 開いら、MAMPフォルダをアプリケーションフォルダにドラッグ&ドロップする。(最新版は、MAMP PROも含まれているみたいですが、MAMPだけ、ドラッグすれば良いです。私は、PROの方もドラッグしちゃいましたが、まあ、使わなければどうってことなし。)

一応、これでWebサーバのインストールは終わりです。

このあと、日本語環境やタイムゾーンの設定をおこないますが、これも、教科書通りなら、とても簡単。

開発環境を整備する(その3)へ続く。






開発環境を整備する(その1)

PHPでWebプログラミングを始めると決めたけど、開発用サーバーなんか買ってコストをかけたくないし・・・と思っていたら、PHP 逆引きレシピ (¥2730円)を読むと、ノートブックでも、簡単に開発環境が用意できるとのこと。

でも、Webサーバーやデータベース、エディタなど、ソフト代がかかるんじゃ・・・

と思ったら、全部タダで入手できるとPHP 逆引きレシピに書いてある。昔の記憶では、フリーソフトって、設定とか面倒なんだよな〜・・・

と、思ったけど、PHP 逆引きレシピを良く読むと、インストールや設定方法など分かり易く書いてある。しかも、かなり簡単そう。でも、

大抵、Windows向けで、Mac向けってあるの?って思っていたら、Mac用のWebサーバーなども詳しく書いてある。

ちゅーことで、本に紹介してあった、以下のソフトを入手し、インストールすることにする。

開発環境を整備する(その2)へつづく

まあ、とても簡単にインストールできるので、あんまり書くこと無いんだけどね。


PHP事始め


PHP 逆引きレシピ


PHP 逆引きレシピ(2730円)

この本は、開発環境の構築やPHP構文のイロハといった初級レベルからセキュリティ対策まで詳しく書かれています。分厚い本ですが、その分説明やサンプルコードが豊富です。

良く判らない時は教科書通り!という鉄則に従って、私は、とりあえず、最初から3章まで通読し、サンプルコードを試しました。

半日位で、割と簡単にノートパソコンに開発環境を構築し、簡単なプログラムを実行できました。

これから、その時の記録をすこしづつでも紹介できればと思います。