ギガバイト  78LMT-USB3(REV.5.0)のWindows7 64bitのセットアップトラブル

パソコン-その他 | by 管理者
9月 17日 2014 年

今月頭に購入したGIGABYTEのマザーボード78LMT-USB3(REV.5.0)、すでにREV5.0なので息の長い枯れたマザーボードのはずだった・・・トラブルフリーじゃないの?

とにかくWindows7 professional 64 bitのセットアップに大変苦労した。

Windows7インストール直後に付属のインストールCDからドライバ類を入れたところ、AMD VISON Engine Control Centor(ディスプレイドライバの設定画面)が起動しない。

詳細はチップセットのドライバを入れてからビデオのドライバを入れると異常終了し、ビデオのドライバを入れてからチップセットのドライバを入れるとビデオのドライバが入っていないか正常に機能していないとのメッセージが表示されるというもの。

トラブル画面

にも拘わらず、どちらか1つだけドライバを入れると問題なく動作する。
ギガバイトのホームページから最新のドライバを入手したけど、結果は変わらなかった。

クロックアップしていないAMD PhenomⅡ 955、メモリーは4GBの1枚だけ、拡張カードはPT3を1枚だけ、IDE接続のDVDドライブにSATA接続のハードディスクを1台接続し、300Wの80plus電源とシンプルなハードウェア構成。
そしてBIOSはデフォルト設定からIDEモードをACHIモードに設定変更しただけ。

これでは使い物にならないので、ギガバイトのサポートに連絡して状況を説明すると初期不良じゃないのか?との返事だったが、それぞれ排他でチップセットとビデオのドライバを入れると正常動作するのでビデオのドライバとチップセットドライバの相性問題のように考えられ、もしドライバの相性が原因なら修理や新品交換しても意味が無いことになる。
※ なによりケースからマザーボードを取り外すのが面倒臭いし、他の故障の原因になるため、やりたくないというのが本音。

そこでAMDのホームページからデスクトップ製品のビデオのドライバだけ入手してインストールすると見事に解決した。

入手したファイル:13-9-legacy_vista_win7_64_dd_ccc_whql.exe

とはいえ、Windows7のセットアップ直後にチップセットのドライバと上記ビデオのドライバを入れてからWinodws Updateしたらエラーが山ほど出た(Windows7の復元ポイントで戻したことが原因かも?)ので、Windows7のセットアップを最初からやり直した上にビデオのドライバだけWindows Updateを終了してから入れてある。・・・この方法で問題なし。

上記内容をギガバイトのサポートに状況報告した上で検証依頼し、現在結果待ち。

今月末まで購入店の初期不良期間があるので、それまでにマザーボードの初期不良なのか、ドライバの相性なのかをはっきりさせたい。

*** 2014年9月24日 追加 ***
本日、ギガバイトサポートセンターから上記の事象を確認したとの連絡があった。
マザーボードの初期不良ではなくドライバのバグ。
画面右クリックで、AMD VISION Engine Control Centorの起動は出来ないけど、タスクトレイにアイコンが追加されるので、そちらからディスプレイドライバの設定変更が可能とのこと。
私は今更面倒なので、このままデスクトップのビデオのドライバを使う予定。

新手のWordPressを狙うパスワード総当り攻撃(ブルートフォースアタック)に注意

WordPress | by 管理者
7月 26日 2014 年

新手のブルートフォースアタック

1日にせいぜい10件程度だったWordpressのログイン画面を狙った、ユーザIDと力任せにパスワードを変更した組み合わせで何度も不正ログインを試みる攻撃が7月22日の朝から7月24日の朝まで延々と続いた。
下の画面は4回ログインに失敗するとプラグインのLimit Login Attemptsから送信されてくるメールの一覧だが約1500通あるので2日間で約6000回の不正ログインがあったことになる。

ブルートフォースアタック

一番初めのユーザIDはadminで始まり、次はtestに変わり、今度はサブドメイン名のitをユーザIDに変更してログインを試みているが、今回はいくら待っても終わる気配が無い。

既にWordpressを狙うパスワード総当り攻撃(ブルートフォースアタック)の対策として、数回パスワードを間違えるとログインできないようにIPアドレスを指定してロックを掛けているのだが、今回はいつもと様子が違う。

今までいくら長くても数時間で終わるのだが、どうしたのだろうか?

ユーザIDもパスワードも長くて複雑なものにしているので、何回不正ログインを試みても成功することはありえない。
しかし少なからずサーバのリソースを使っており、VPSサーバも共有サーバなので、こんな無駄なことにまともな対応をしたくない。
よって有無を言わせずアクセス拒否すべく、どこの国からアクセスしに来ているのか確認すると、アメリカが多いものの国際色豊かで一部の国を規制すれば良いというものではない。
そこで国内のIPアドレスのみログイン画面(wp-login.php)にアクセスできるように以下のコードを.htaccessに記述して制限することにした。

Options +FollowSymLinks
RewriteEngine On

<Files wp-login.php>
order deny,allow
deny from all

allow from 1.0.16.0/20
allow from 1.0.64.0/18
allow from 1.1.64.0/18
allow from  ・
allow from  ・
allow from  ・
</Files>

ところが、一向に不正アクセスは収まらない。おかしい。

そこで、アクセスログを確認すると、wp-login.phpと同じ階層にあるxmlrpc.phpにアクセスしていることが分かった。

xmlrpc.phpって何だろうと思って、ブラウザからアクセスすると「XML-RPC server accepts POST requests only.」のメッセージが表示される。

ようするにxmlrpc.phpにユーザIDとパスワードを引数に持たせるとログイン画面(wp-login.php)を経由しなくてもログインできるみたいだ。

この方法なら、wp-login.phpの名称を変えようが、場所を変えようが関係ない。
本当にスパマーって良く考えるな~とあきれるばかり。

対策方法

そこで、wp-login.phpだけじゃなく、xmlrpc.phpも国外からアクセスできないように.htaccessを作成した。
この.htaccessをwp-login.phpとxmlrpc.phpのある場所(同じ場所)に配置するだけ。

試しに海外からアクセスするとhttpレスポンスコードが403(アクセス禁止)になるので、おそらく大丈夫だろう。
もちろん自分のパソコンからログイン画面にアクセスできることも確認済み。

ステータスチェッカー

最新のOperaにFirefox等の他のブラウザからブックマークを移行する方法

その他 | by 管理者
6月 09日 2014 年

Opera22にFirefoxからブックマークを移行する。

他のブラウザからOperaに乗り換えたい、若しくはOperaを使ってみたいと思ったときに使い慣れた他のブラウザからブックマークを移行したいと誰もが思うでしょう。
しかし最新のOpera22をセットアップしてから他のブラウザからブックマークを移行しようとしても出来ません。
これは「ブックマークインポータ」がグレイアウトされて選択出来なくなっていることが原因ではなく、例え選択出来たとしても他のブラウザから抜き出したブックマークを指定することが出来ないため、やりたくてもやれないというのが真相のようです。

「ブックマークインポータ」がグレイアウトされて選択出来なくなっている画面
opera22でブックマークインポータがグレイアウト

しかし他のブラウザからブックマークを移行する手段が全く無いわけでは無く、旧バージョンのOpera12は他のブラウザからブックマークを移行する機能を持っているため、Opera12をインストールして他のブラウザから抜き出したブックマークを一旦Opera12にインポートし、Opera22にアップデートすればOpera12からブックマークを引き継ぐことが出来るからです。
また、一旦ブックマークを移行してしまえば、Opera12を削除してもその後Operaのアップデートでブックマークが消えてしまうことは有りません。
このようにOpera12をインストールする手間が余分にかかりますが、他のブラウザから最新のOperaにブックマークを移行することが可能です。
ここで重要なポイントは、Opera12のインストールとOpera12にブックマークをインポートすることです。

Operaのブックマークインポータがグレイアウトする理由

Opera22だけをインストールしたときに「ブックマークインポータ」がグレイアウトされて選択出来ない理由はOpera12がインストールされていないことが原因だと思います。
推測ですが「ブックマークインポータ」がOpera12のブックマークをそれ以上のバージョンのOperaに移行するための機能であるため、Opera12がインストールされていない状態でそれ以上のバージョンのOperaをインストールしてもグレイアウトして使えなくなっていると考えられます。
試しにOpera12 → Opera16、Opera12 → Opera18、Opera12 → Opera22とインストールすると「ブックマークインポータ」が選択できるようになりました。

ブックマークの移行手順

他のブラウザのブックマークをOpera22に移行する場合の手順は以下のとおり。
1.Opera12をインストールする。
opera12のインストール

2.他のブラウザからブックマークを抜き出す。※この画面はFirefoxの画面です。
Firefoxのブックマーク
Firefoxの場合、この画面のように「ブックマーク」タブ→「未整理のブックマーク」→「インポートとバックアップ」タブ→「HTMLとしてエキスポート」でブックマークを抜き出せます。

3.Opera12にブックマークをインポートする。
Opera12にブックマークをインポート

4.Opera22をインストールする。
※ この時点で「ブックマークインポータ」が選択できるようになります。

opera22のインストール

ブックマークインポータを選択すると・・・
opera22のブックマークインポータ

このままでは使い難いのでブックマークを下の画面のように並び替えます。
その手間を考えるとブックマークの移行は最初の1回実行するだけでしょうね。

既にOpera22がインストールされている状態でブックマークを移行したい場合も同様です。
Opera12をインストールして、他のブラウザから抜き出したブックマークをインポートしOpera22にアップデートします。
前もってOpera22を削除してからやった方が確実だと思いますが、確認していません。

opera22のブックマーク

私はハードディスクの故障でWindows7を再セットアップした時にOperaにFirefoxからブックマークの移行が出来なくて、長い間Operaを使っていませんでした。
Operaの開発スタッフはスピードダイアルがあればブックマークなんて不要だと考えているのかもしれませんが、スピードダイアルに階層を持たせることが出来ないので、やはりブックマークは欲しいです。
そう考えると、こんな面倒な手順を踏まなくても最新のOperaでブックマークの移行が出来るようにして欲しいですね。

opera12がインストール済みなのにOpera22のブックマークインポータがグレイアウトするケース

Operaをインストールする順番を間違うとopera12が入っているのに最新のOperaを入れてもブックマークインポータがグレイアウトしたまま、選択できない場合があります。
例えば、Opera18 → Opera12と順番にインストールしてOpera12にブックマークをFirefoxからインポートする。
次にOpera18をOpera22にアップデートすると、ブックマークインポータがグレイアウトしたままになります。
Opera12が入っていれば大丈夫という訳ではありません。
Opera12の上位バージョン(ここではOpera18)のブックマークインポータがグレイアウトしている場合、さらに上位バージョンにアップグレード(ここではOpera22)してもグレイアウトしたままのようです。

Operaのダウンロード先

旧バージョンのOperaは以下に纏めてあります。
http://arc.opera.com/pub/opera/

こちらは全てのOperaが纏めてあります。(備忘録として掲載)
http://get.geo.opera.com/pub/opera/

尚、ここで紹介しているOpera12は以下にあります。・・・2箇所
http://arc.opera.com/pub/opera/win/1217/int/
http://get.geo.opera.com/pub/opera/win/1217/int/

普通にセットアップすれば最新版になりますが、最新のインストールアーカイブが欲しければ以下から入手可能です。
http://get.geo.opera.com/pub/opera/desktop/

さくらインターネットのVPS環境へMondo Rescueでリストアする方法 (Interactively編)

サーバの運用 | by 管理者
4月 30日 2014 年

Interactivelyでのリストア

さくらインターネットのVPS環境へのInteractivelyによるリストア方法を備忘録として記録します。

尚、バックアップファイルをさくらインターネット環境にアップロードする方法はさくらインターネットのVPS環境へMondo Rescueでリストアする方法 (Automatically編)をご覧ください。

Mondo Rescueのリストア画面が表示されたら、interactiveを入力します。

100

以下のメニュー画面でInteractivelyを選択します。

101

DVD-disksを選択します。

102

この画面で既にover-allocatedとエラーが出ています。
実を言うとこのままリストアしても途中で容量を再計算して割り当てなおしてくれるため、問題なく成功しますが、自分でサイズを指定したいのでこの画面で指定しなおします。

103-ok

再描画が上手く出来てなくて画面が崩れていますが、何度か試すと変更箇所が分かるようになります。
ちなみに、/dev/vda3が98299、/dev/vda1が500、/dev/vda2が2055と入力しました。

104

これも分かりにくい画面ですが、「OK」を押します。2つ上の画面と比較すると「OK」ボタンの意味が分かりますよね。

105

「Yes」を選択します。

106

「Yes」を選択します。

106-1

リストアが始まります。

107

「Yes」を選択します。

108

2週間のお試し期間の別環境にリストアしますが、仮想サーバなのでバックアップもリストアも同じ環境のはず。
よってブートローダーを作りなおす必要は無いだろうと考えて「No」を選択します。

109

「Yes」を選択します。

110

サーバを再起動します。
本番環境を上書きでリストアしたのであれば、IPアドレスの変更は不要ですが、2週間のお試し期間を使って別の環境にリストアしたのでIPアドレスが重複するため、本来のIPアドレスに変更します。
サーバーのIPアドレスの変更方法はさくらインターネットのVPS環境へMondo Rescueでリストアする方法 (Automatically編)をご覧ください。

さくらインターネットのVPS環境へMondo Rescueでリストアする方法 (Automatically編)

サーバの運用 | by 管理者
4月 30日 2014 年

さくらインターネットのVPS環境のバックアップとリストア

バックアップとリストアはどちらか一方出来るだけでは全く無意味です。
Mondo Rescueによるバックアップは比較的簡単に出来ますが、リストアは幾つも罠が仕掛けられていて一筋縄ではいきません。
そこで本番環境であるさくらインターネットのVPS環境にMondo Rescueでリストアできるかどうかを確認したときの備忘録です。
とはいえ、いきなり本番環境にレストアして本番環境を壊してしまうのは非常に怖いので、新規に契約するときの2週間のお試し期間を使って別のIPアドレス環境へのリストアになります。
参考までに、Mondo Rescueによるバックアップは以下のコマンドで行っていますが、バックアップ方法は沢山のサイトで詳細に解説されているので省略します。

mondoarchive -Oi -L -N -s 4480m -d バックアップフォルダ -E 除外フォルダ -p sakura-`hostname`-`date +%Y-%m-%d`

そして、そのバックアップを予め作業用のパソコンにコピーしておきます。

バックアップファイルのアップロード

Mondo Rescueでバックアップしたファイルをさくらインターネットのサーバにアップロードします。アップロードは以下の画面の「ISOイメージインストールへ」で行います。

01

以下の画面で「アカウント作成」ボタンを押してバックアップファイルをアップロードするためのアカウントを作成します。

02

以下の画面の内容に従ってバックアップファイルをアップロードする準備を行います。

031

SFTP続できるツールを使用してisoディレクトリの下にバックアップファイルをアップロードします。ここではWinSCPを使ってアップロードしています。

041

バックアップファイルのアップロードが完了してから、「更新」ボタンを押すと以下の画面のようにバックアップファイルが認識されていることが分かります。
そして画面最下部の「確認」ボタンを押すとMondo Rescueのリストア画面が表示されます。
※ 後で必要になるため、ここでIPアドレスやゲートウェイ等の情報を書き留めておきます。

00

 フルオート:Automaticallyでのリストア

一番簡単にリストアするには以下の画面で「nuke」と入力して「Enter」を押します。

08

リストアが始まります。

09

「Enter」を押します。

10

以下の画面が表示されたらリストアが終了しています。右上の×ボタンを押してこの画面を消します。

11

以下の画面で「再起動」ボタンを押します。
本番環境へのリストアであれば、これで終了ですが、今回リストアしている環境は別のIPアドレスの環境になります。
そのため、このまま再起動したら本番環境とIPアドレスが重複するため、それを解消します。

12

リモートコンソールの画面で「Enter」を押します。
※ タイミングが遅いとOSが起動してしまうので、その場合は再起動する。

14

以下の画面が表示されたら、「e」を押します。

15

kernel***の行を選択し、「e」を押します。

17

「スペース」キーに続いて「1」を押して「Enter」を押してシングルモードで起動します。

18

シングルモードでの起動完了。

19

以下をタイプしてIPアドレス等のネットワーク環境を書き換えます。
vi /etc/sysconfig/network-scripts/ifcfg-eth0

20

前もって書き留めておいたネットワーク情報を元に修正してからリブートします。

21

ログイン画面が表示され、無事にリストアが完了したことが分かります。

120

試しにブラウザでIPアドレスを指定すると、ホームページが表示されます。

121-1

Automaticallyによるリストアは簡単にリストアできる半面、バックアップ前とパーティションの容量が違っていたりします。
これが嫌な場合はInteractivelyでパーティションの大きさを指定してリストアします。
今回、比較的簡単にリストアできたのは、さくらインターネットが標準で用意したOSを使用して特別なことをやらなかったからかもしれないです。
ここではさくらインターネットのメモリ1GB・ハードディスク100GBのVPS環境をバッアップ・リストアしましたが、メモリ1GB・ハードディスク100GBのVPS環境をバックアップして上位のメモリ2GB・ハードディスク200GBのプランにリストアすることで手軽にマイグレーションできるのではないかと思います。
これは時間を見つけて確認したいと思います。

Mondo Rescueによるリストアを失敗しないために。

セットアップ, その他 | by 管理者
4月 21日 2014 年

Mondo Rescueのリストアに失敗する?

Linuxの定番のバックアップツールであるMondo Rescueは使い難い、というかバックアップは割りと簡単に取れるのだが、それとは裏腹にリストアは難しい。バックアップアップもリストアも全く同じハードディスクであれば、成功するかも知れないが、たとえ同じ容量でもメーカーや型番が違えばリストア出来ないこともある。事実、SEGATEのST31000528AS(SATA 1TB)から日立のHDS721010CLS332(SATA 1TB)にリストアできなかった。ハードディスクの故障で全く同じハードディスクが用意できるとは限らないわけで、これはこれで大問題。

その時に発生したエラーがこれ。
この画面を見ると、/dev/vg_king/lv_homeをマウントできないと表示されているが、ログを調べるとこのLVMの論理ボリュームを確保するときに容量が足りなくてエラーになっているようだった。同じ容量のディスクなのに微妙に違うのか?

リストア失敗

ところで我が家のサーバでは1TBのディスクを使っていながら、中身のデータはその1/10も無いため、この論理ボリュームを縮小してバックアップ→リストアしたところ成功させることが出来た。つまりMondo Rescueによるリストアを成功させる鍵は、ハードディスク一杯に容量を確保しないことだろう思う。ここまで分かれば、実データの容量に見合う小さなハードディスクでも良いだろうと想像出来るし、今は使わなくなった120GBや160GBのハードディスクがあるので、これに戻してみた。

そのためには確保している論理ボリュームの容量が大きすぎるので、下の画面のように/dev/vg_king/lv_homeを50GBに縮小した。
※ /dev/vg_king/lv_rootが50GB、/dev/vg_king/lv_homeが50GB、/dev/vg_king/lv_swapが6GB、その他もろもろ合わせて全部で110GB程度になる。

容量の縮小

リストア方法

Mondo RescueによるリストアはAutomaticallyによるフルオートとInteractivelyによる容量を指定しながら行う方法がある(完全マニュアルのexpertは割愛)が、Automaticallyでリストアすると一見問題なく終了しているのに「Error 13: Invalid or unsupported executable format. Press any key to continue 」と表示されて何故か起動しなかったり、元の容量と大きく違ったりするので、そのような問題が発生したときはInteractivelyでリストアすれば良い。
しかしInteractivelyを選択した時に初期表示される容量はかなりデタラメ。

RIMG0671

ここで全ての値を入力する。

sda2とsda1の合計が一致するように値を変更し、論理ボリュームは120GBのディスクを使うことを考慮してSizeを適当に埋める。論理ボリュームが存在しないとdose not exitとエラーが表示されるが、ここでは無視。

RIMG0672

「パーティションを削除するか?」、「全てのデータをリストアするか?」の問い合わせに対して両方とも「YES」を選択。「boot loaderを初期化するか?」の問い合わせに対して「YES」を選択。

RIMG0680

initrdを再作成するか?の問い合わせに対して「YES」を選択。

RIMG0681

/にchrootして/bootの下で以下のコマンドを打つように指示されるが、エラーが出て上手くいかないので、そのまま以下のコマンドをタイプする。
# mkinitrd -f -v initrd-2.x.y.img 2.x.y
※ e.g.・・・はfor exapmleのことで無視。

RIMG0682

initrdを再作成中

RIMG0686

リブートするとUUIDが違うため、CentOSの起動途中でストップする。そこでrootパスワードを入れて一旦抜ける。そして以下のコマンドををタイプしてハードディスクのUUIDを確認する。
# blkid /dev/sda1

RIMG0688

CentOSのインストールディスクで立ち上げ、レスキューモードを選択して、/etc/fstabのUUIDを正しい値に編集してからリブートする。

RIMG0689

無事に起動完了

RIMG0690

AutomaticallyでリストアするとハードディスクのUUIDも自動で書き換えてくれるので楽だが、意外に思ったとおりにならないので、運が良ければ使える程度に考えておいた方が良いと思う。

後日、SEAGATEの160GBのハードディスクからMondo RescueでバックアップしたけどWesternDigitalの160GBのハードディスクにリストア出来なかった。

このパソコンは本番環境で障害が発生したときに使用する使用頻度の低い自宅サーバなので、普段はBIOSでハードディスクを切り替えてWindows7のパソコンとして嫁が使用しているが、Mondo rescueでバックアップするときもWindows7のハードディスクが繋がった状態でバックアップし、リストアするときはWindows7のハードディスクを外して行ったため、ハードディスクの構成が違っていたことが原因となってリストアに失敗した。
Windows7の入ったディスクだから大丈夫だろうと安易に考えてバックアップしたのが間違いだった。Mondo Rescueでバックアップするときにハードディスクを外す手間を考えると、電源付きのハードディスクのリムーバブルケースを購入した方が良さそうだ。

WordPressのパーマリンク設定がデフォルト(動的URL)の場合の重複コンテンツ対策

WordPress | by 管理者
3月 28日 2014 年

WordPressのパーマリンク設定がデフォルト(URLがhttp://サイト名/?p=123の形式)で運用しているサイトの重複コンテンツ対策は簡単ではありません。何故なら存在しないURLでもHTMLレスポンスコードの200を返して、あたかもページが存在するように振舞う場合があり、プラグインでは対策不可。結局ソースを弄って対策しましたが、その方法について紹介します。

あなたのWordpressサイトは重複コンテンツ対策できていますか?

以下のテストで重複対策できているのか、ご確認ください。

1. http://www.exapmle.com/?p=123  ・・・個別記事のURLです。※ ドメイン名や記事IDは適宜ご自分のサイト名のものに修正してください。

1-1. http://www.exapmle.com/?p123  ・・・イコールを抜きます。

2. http://www.exapmle.com/?m=2014  ・・・2014年の記事を新しい記事の順に表示します。

2-1. http://www.exapmle.com/?m2014  ・・・イコールを抜きます。

3. http://www.exapmle.com/?m=2014&paged=2  ・・・2014年の記事を新しい記事の順に表示したときの2ページ目を表示します。

3-1. http://www.exapmle.com/?m2014&paged=2  ・・・イコールを抜きます。

4. http://www.exapmle.com/?cat=5  ・・・カテゴリの記事を新しい記事の順に表示します。 ※ カテゴリのIDはご自分のサイトでカテゴリをクリックすると分かります。

4-1. http://www.exapmle.com/?cat5  ・・・イコールを抜きます。

5. http://www.exapmle.com/?cat=5&paged=2  ・・・カテゴリの記事を新しい記事の順に表示したときの2ページ目を表示します。

5-1. http://www.exapmle.com/?cat5&paged=2  ・・・イコールを抜きます。

これらの上記テストで下線を引いたURLは存在しないURLなので、「ページが存在しない」と表示されればOK。

もし、何事も無くページが表示されるなら、マウスで右クリックしてソースを表示し、「canonical」をいう文字を検索します。

canonicalを探す

そして「canonical」が示すURLが正しければOK。しかし、「canonical」をいう文字が無かったり、URLが間違っていた場合は重複エラーになっています。そして、ほとんどのパーマリンクをデフォルトで運用しているWordpressのサイトでは2-1、3-1、4-1、5-1のテストでNGになります。

そもそも重複コンテンツはなぜダメなの?

重複コンテンツがあるとサイトの品質が低いと評価されてGoogleの掲載順位が下がります。これはパンダアップデートが導入されたときから言われていたことですが、実際にウェブマスターツールの「HTMLの改善」に重複したURLが表示され、管理者に重複コンテンツの修正を促しています。

下の画面は4ヶ月前に重複コンテンツの対策をしたときのウェブマスターツールの「HTMLの改善」画面ですが、存在しないデタラメな文字列のURLなのに404(ページが存在しない)を返さないで200(ページが存在する)を返しているため、重複コンテンツとして認識されています。

重複パターン

簡単に解決できるか!?

重複コンテンツを解決する定番の方法は、対策用のプラグインを入れることですが、パーマリンクをデフォルトで運用しているWordpressではこの方法が使えません。私は定番のプラグインである「WordPress SEO by Yoast」と「All in One SEO Pack」を確認しただけですが、前者は上記テストの2でNG(m=2012を指定してもcanonicalは最新の年である2014を引っ張って来てしまう)、後者は動的URLに対応していないため、URLの&が/になってしまいました。

※ 他にも重複対策用のプラグインがありますが、上記以外のプラグインは調べていません。もしかしたら、それで解決できる可能性はあります。

重複コンテンツ対策

基本的な対策は以下の2つ。

存在しないページにはHTTPステータスコード404を返し、それが不可能な場合には重複したページにcanonicalを挿入します。

① 存在しないページとしてHTTPステータスコード404を返す。

functon.phpに以下を追加します。

function check_invalid_query_vars( $wp ) {
	global $wp_query;
	if ( ! is_admin() && $wp_query->is_main_query() ) {
		foreach ( $wp->query_vars as $key => $val ) {
			$wp_query_var = (string)$wp_query->get( $key );
			if ( $wp_query_var != $val ) {
				$wp_query->set_404();
				status_header( 404 );
				break;
			}
		}
	}
}
add_action( 'wp', 'check_invalid_query_vars' );

一番最後の?>の上にでも挿入すればOKです。

② canonicalを挿入する。

WordPressの個別記事は自動的にcanonicalが挿入されますが、それ以外は挿入されません。
そのため、日付やカテゴリ、そしてこれらが複数ページになった場合にcanonicalを挿入するようにします。
functon.phpに以下を追加します。

remove_action('wp_head', 'rel_canonical');

一番最後の?>の上にでも挿入すればOKです。

header.phpの<head>~</head>に以下を追加します。

<?php if ( is_home() ) {
    $canonical_url=get_bloginfo('url')."/";
    if ( $paged >= 2 || $page >= 2)
    {
    $canonical_url=$canonical_url.'?paged='.max( $paged, $page ); 
    }
?>
<link rel="canonical" href="<?php echo $canonical_url; ?>" />
<?php
}
else if (is_category())
{
    $canonical_url=get_category_link(get_query_var('cat'));
    if ( $paged >= 2 || $page >= 2)
    {
    $canonical_url=$canonical_url.'&#038;paged='.max( $paged, $page ); 
    }
?>
<link rel="canonical" href="<?php echo $canonical_url; ?>" />
<?php
}
else if (is_year())
{
    $canonical_url=get_year_link(get_the_time('Y'));
    if ( $paged >= 2 || $page >= 2)
    {
    $canonical_url=$canonical_url.'&#038;paged='.max( $paged, $page ); 
    }
?>
<link rel="canonical" href="<?php echo $canonical_url; ?>" />
<?php
}else if (is_month())
{
    $canonical_url=get_month_link(get_the_time('Y'),get_the_time('m'));
    if ( $paged >= 2 || $page >= 2)
    {
    $canonical_url=$canonical_url.'&#038;paged='.max( $paged, $page ); 
    }
?>
<link rel="canonical" href="<?php echo $canonical_url; ?>" />
<?php
}
else if (is_day())
{
    $canonical_url=get_day_link(get_the_time('Y'),get_the_time('m'),get_the_time('d'));
    if ( $paged >= 2 || $page >= 2)
    {
    $canonical_url=$canonical_url.'&#038;paged='.max( $paged, $page ); 
    }
?>
<link rel="canonical" href="<?php echo $canonical_url; ?>" />
<?php
}
else if (is_page()||is_single())
{
    $canonical_url=get_permalink();
    if ( $paged >= 2 || $page >= 2)
    {
    $canonical_url=$canonical_url.'&#038;paged='.max( $paged, $page ); 
    }
?>
<link rel="canonical" href="<?php echo $canonical_url; ?>" />
<?php
}
?>

私はTitleの下に挿入していますが、お好きな場所に入れてください。

但し、お約束ですが自己責任でお願いします。

PT3のセットアップでTvTestの画面が止まって音が出ない。・・・PT3からBSコンバーターへの給電は大丈夫?

PT3とKTV-FSPCIE | by 管理者
2月 24日 2014 年

PT3を実家のPCにセットアップしたけど、セットアップ~夕方まではTvTestの視聴に問題なし。

しかし、夜になってBS放送をTvTestで見ていた時に画面が止まり、音が出なくなったという連絡があった。

パソコンの動作に異常は無く、TvTestだけを再起動してもダメ。

 

実を言うとPT3のセットアップはこれで3台目。

前程になるソフトウェアのMicrosoft Visual C++やMicrosoft .NET Framework、PT3のドライバー以外は過去にセットアップしたPCからディレクトリ構成をそのままコピーすれば動いてしまう。・・・はず。

だから、画面が止まる原因はPT3のセットアップの外にある可能性が高い。

 

そこで、TvTestを起動してからマウスで右クリックして表示されたメニューの「設定」からBSチャンネルを再スキャンをしてもらったところ、入力ゲインが少なすぎてスキャンが出来ないとの回答。

そこで考えられる原因はBSコンバーターに給電されていないのではないか?

 

新しい住宅やアパート・マンションであればブースターがBSコンバーターに給電しているが、古い家はそうじゃないことが多い。

実家は屋根の上のアンテナマストで地デジとBS/CSの信号を混合してから2分配し、1本は1階のリビングへ、もう1本は2階のPT3に接続している。

セットアップ中にTvTestが動作したのは、偶然1階でテレビを見ていたため、BSコンバーターに1階のテレビから給電されていたから。

そのため、1階のテレビを切るとBSコンバーターに給電されなくなり、2階のTvTestも見れなくなってしまう。

 

アンテナ

 

図で説明するとこんな感じ。

だからTvTestでテレビ視聴中はPT3からBSコンバーターに給電するように設定を変更してやらないといけない。

方法はBonDriver_PT3-ST.iniをメモ帳で開き、UseLNB=0をUseLNB=1に変更するだけ。

;LNB電源
UseLNB=1

 

この変更を行ってから今日で2日目になるが、TvTestでBS・CSの視聴中に止まったという報告は無いので、おそらく解決したのだろうと思う。

古い住宅の場合はこのようなことがあると思うので、要注意。

WordPressの日付による絞り込み機能(カレンダー機能)は削除した方が良い?

SEO | by 管理者
2月 14日 2014 年

ブログを日記のように書いていくと、記事の主たる分類は日付になり、ホームページのようにテーマ主体で記事を書くと主たる分類はテーマに属するカテゴリになります。

しかし私のブログはIT関連だったり珈琲の焙煎だったりテーマ主体だけど、月ごとに記事を絞り込む機能も実装していました。

月で絞り込む

 

 

月で絞り込む機能は有っても邪魔にならないし、何より過去に投稿した記事へのアクセスがしやすい。

いつ頃の記事かな?って探す時や時系列に記事を追う時も使いやすい。

しかし一つ落とし穴があります。

 

ウェブマスターツールで内部リンクを見ると下の画像のように日付のページが上位を占めるようになってしまいます。

内部リンクで上位の日付ページ

 

 

ところで、何処のSEO関連のサイトを見ても内部施策は大切、とりわけ沢山リンクされたページはそのサイトの中で重要なページであると認識されるため、内部リンクは重要とあります。

ということは、俺のサイトはこんな日付のページが重要なのか?ってことになってしまいます。

 

そこで日付のページが上位を占める原因を調査開始。

 

普通、リンクと言えば以下のようなaタグによるリンクを想像しますが、この場合は違っていました。

<a href="http://www.example.com/xxx.html">リンク</a>

 

ここでリンクされている日付のページはjavascriptによるこんな書き方。

<li><h2>過去の投稿記事</h2>
<select name="xxxx" onchange='document.location.href=this.options[this.selectedIndex].value;'>
	<option value="">月を選択</option>
	<option value='http://www.exapmle.com/?m=201402'> 2014年2月 &nbsp;(1)</option>
	<option value='http://www.exapmle.com/?m=201312'> 2013年12月 &nbsp;(1)</option>
	<option value='http://www.exapmle.com/?m=201311'> 2013年11月 &nbsp;(3)</option>
	<option value='http://www.exapmle.com/?m=201310'> 2013年10月 &nbsp;(1)</option>
</select>
</li>

 

aタグによるリンクは使い方を間違えるとスパム扱いされるので注意するのですが、javascriptによるリンクはノーマークでした。

早速、月による絞り込み機能を削除しましたが、逆に過去記事へのアクセスはやり難くなってしまいました。

 

昔はカレンダーを実装しているサイトが多かったと思いますが、最近少なくなっているのはこのようなことが理由かもしれないです。

ブログが日記であればxx月xx日の日記というようにカレンダーは必須だと思いますが、テーマ主体のブログであれば重要なのは日付ではなくテーマやそれに従属するカテゴリなのでカレンダーは無い方が良いのでしょうね。

 

Google検索における合成キーワードの検索順位

SEO | by 管理者
2月 03日 2014 年

何となくネットで「自転車」を調べていて老舗のブランドである「パナソニック自転車」や「ブリジストン自転車」が検索されないことに気が付きました。

そこで、様々なキーワードで調査したところ、面白いことが分かりました。

検索順位の調査結果

パナソニック サイクルテック株式会社・・・(以下、パナソニック自転車)

パナソニックサイクルの検索結果

・自転車:83位
・電動自転車:4位
・電動アシスト自転車:3位

ブリヂストンサイクル株式会社・・・(以下、ブリヂストン自転車)

ブリジストンサイクルの検索結果

・自転車:圏外
・電動自転車:18位
・電動アシスト:圏外

株式会社ミヤタサイクル・・・(以下、ミヤタ自転車)

ミヤタ自転車の検索結果

自転車:7位
電動自転車:65位
電動アシスト自転車:52位

自転車購入において、ネットでどのような自転車があるのか調べるときに指定するキーワードは、多くの場合「自転車」です。

しかし、自転車メーカーであるパナソニック自転車は83位、ブリジストン自転車は圏外となって検索されません。

町の小さな自転車屋が検索されるのに、このような老舗の自転車メーカーが検索されないなんて、おかしいと思いませんか?
じゃ、どのように検索者はパナソニック自転車やブリジストン自転車を探しているのか?

答えは、ここに有りました。

下画面の「自転車に関連するキーワード」を良く見ると、「ブリジストン 自転車」、「パナソニック 自転車」が有ります。

つまり「ブリジストン 自転車」、「パナソニック 自転車」のようにさらに検索条件を増やして検索している訳です。

こんな面倒なことを強いられるのはGoogleやGoogleのエンジンを使っているYahooだけ。

そしてBingや最近使い始めたDuckDuckGoですら、まともな検索結果になりました。

自転車に関連する検索キーワード

では、何故Googleはこんな検索結果になってしまうのか?

おそらく検索条件が違った時にいつも同じサイトを上位表示するのではなく、いろいろなサイトを検索結果に表示しようと検索結果の多様性を狙った結果だと思います。

さらに分析すると、検索単語の組み合わせで、いづれかのキーワードが検索結果で上位に入ると、それ以外のキーワードはサイトの価値やサイト内の有益な情報を考慮せずに無条件に検索順位を落としているように思えます。

例えば、パナソニック自転車は電動自転車(「電動アシスト自転車」を含む)を上位表示したため、普通の自転車は無条件に順位を落とす。

ブリヂストン自転車も同様に電動自転車(「電動アシスト自転車」を含む)を上位表示したため、普通の自転車は無条件に順位を落として圏外。

ミヤタ自転車は普通の自転車が上位表示しているため、電動自転車(「電動アシスト自転車」を含む)は無条件に順位を落とす。

という具合に!

殆ど独占状態になってシェアの多いGoogleですが、意外なところが使い難いと思います。