ライブドアブログのクエリ(URL問題)解決方法

2020/06/05

web

t f B! P L


今はもうライブドアブログは使っていないのですが、以前、使っていた時にいろいろ苦心していたことをメモとして残しておきます。

どなたかの参考になれば幸いです。

ライブドアブログを使っていると、なぜか勝手にURLの末尾にクエリ(変なURL/文字列)が付いて、googleのsearch console の「HTMLの改善」で「タイトルタグの重複」を指摘されることが多々あったので、その解決方法をメモがてら書き残しておきます。

クエリの発生

これまで私のライブドアブログで検出されたクエリ(と言うのか、パラメータというのか正式名称は不明)は以下の通り。

?_f=jp
?guid=ON
?newwindow=true
?&sa=U&ei=
?id=
?iframe=true&width=100%&height=100%
?.link_prev=1

こうした ? (クエスチョン)以下の文字列(クエリ)が、

・・・・/archives/12345678.html?_f=jp

というふうに、普通のURLの後に勝手に付いて、googleに捕獲・検出される・・・ということが日常茶飯事でした。

なぜクエリが付くのか?

なぜこのようなクエリが勝手に付くのか、の正確な原因はわかりませんが、おそらくライブドア・ブログが、PC用とスマホ用、携帯用で表示やURLが異なる点に原因があるようです。

そしてどうやら、?_f=jp はどこかの誰かがスマホで閲覧した時、?guid=ON は携帯電話でどこかの誰かが閲覧した時などに付くものらしく、閲覧者依存で発生するものなので、こちら側では発生を食い止めることができません。

クエリが付くことでの問題点

このクエリが付いてしまうと、同じ内容のページなのに、2つのURLが存在するとみなされ(つまり同じサイト内に、同じ内容のページが2つ以上存在するとみなされ)、検索エンジンの評価が二分されたり、片一方の正規のページが無視されたりするので、SEO的にもよろしくありません。

トータルで1000ページぐらいしかないブログなのに、なぜかgoogleの「インデックス ステータス」では2500ページぐらいインデックスされていることになっているのも、こうしたクエリによる重複コンテンツが水増しされていることが原因と思われます。

そこで私が取った2つの解決法をメモしておきます。

1.robots.txtで拒否る

ライブドアブログはrobots.txtが使用できる数少ない無料ブログです。(ライブドアの標準ドメイン http://blog.livedoor.jp/example/ では使えませんが、サブドメインへ移行※無料 すればrobots.txt がアップロードできるようになります。)

そこで、Windowsのふつうの「メモ帳」(テキストファイル)に以下の記述をし、

User-Agent: *
Disallow: /*?guid=ON
Disallow: /*?_f=jp
Disallow: /*?newwindow
Disallow: /*?id
Disallow: /*?iframe
Disallow: /*?&sa=
Disallow: /*?.link_prev=1

ライブドア・ブログの、

管理画面 > 画像/ファイル > ファイル管理

から、上記のテキストファイルをアップロードしました。

それだけでrobots.txt の設定は完了。

以降、上に記載した ? が付いたページは、検索エンジンは拒否られる(読み込まなくなる)ので、「HTMLの改善」で検出された数は、数週間~数ヶ月程度かけて徐々に減っていき、解決しました。

robots.txtの記述は、上記の通り、変なクエリが検出され次第、個別に1つ1つ追加していってもよいですが、モグラ叩きの如く、次々と新種のクエリが検出されるので、業を煮やして、私はその後、以下のような記述に改訂しました。

User-Agent: *
Disallow: /*?

これだと、「? が付いたURLのページはすべて検索エンジンに読み込ませない」という拒否宣言なので、上記の様々なクエリを一網打尽できます。

ただ、このDisallow: /*? の記述だと、ページ送りの ?p=2とか?p=3 などの2頁目、3頁目がある長尺ページや、カテゴリーページの2頁目以降も読み込ませないようにしてしまう、という欠点があるものの、2頁目以降のものは、あまり重要ではないものが多いので、私の場合は?が付いたものはすべて拒否で良し、としました。

クエリによる「HTMLの改善」の解決方法は、上記のrobots.txtでの拒否設定が一番確実で効果が現れる時間も早いですが、併せて以下の方法もやるとよいかもしれません。

2.canonical設定する

canonical は「正規化」のことで、「このページ(URL)が正規のものですよ。」と検索エンジンに知らせる方法である。

具体的には、ライブドアブログの、

管理画面 > ブログ設定 > カスタムJS > カスタマイズ

にて、各HTML(個別記事ページ、カテゴリーページ)の~の間に、

個別記事ページ
<link href="<$ArticlePermalink$>" rel="canonical"></link>

カテゴリアーカイブ
<link href="<$CurrentUrl$><UnlessIsFirstPage>?p=<$PageNumber$></UnlessIsFirstPage>" rel="canonical"></link>

月別アーカイブ
<link href="<$CurrentUrl$><UnlessIsFirstPage>?p=<$PageNumber$></UnlessIsFirstPage>" rel="canonical"></link>

と設置(ライブドアの独自タグをcanonical宣言)すれば、
・・・・/archives/12345678.html のhtml以降に変な? が付いても、それはcanonical(正規)ではない、という意思表示を検索エンジンが読み取ってくれ、?が付いたページの評価を下げる/または無視してくれるようになります。

ただ、このcanonical設定だけだと、効き目が表れるのがかなり遅いです。

私は最初(いつのまにか)「HTMLの改善」で「タイトルタグの重複」が900以上あったので、まずcanonical設定したのですが、それだと900が480まで減るのに約2ヶ月かかりました。

その後、robots.txtで拒否る方法を知り、実践したところ、2ヶ月で「HTMLの改善」で「タイトルタグの重複」をゼロにすることができました。

robots.txtは、余計なお世話なwayback machineなどを拒否することができるので、何かと重宝しました。

3.偽物を見つけたら削除する

最後に補足となりますが、上記の1,2の効果をさらに促進する方法として、google検索でページタイトルやページURLの「全文一致」で検索して、偽物(クエリが付いたURL)が検索に現れている場合、それを削除していくのも効果的です。

具体的には、

(1)
googleの検索窓に、"  " を付けて「全文一致」検索をする。
例: "・・・・/archives/12345678.html "
(2)
そうすると、その検索結果に、
最も的確な検索結果を表示するために、上の ● 件と似たページは除外されています。
検索結果をすべて表示するには、ここから再検索してください。

と表示されたりするので、「ここから再検索してください」をクリックすると、重複(同じページで、異なる複数のURLのページ)が列挙されるので、

(3)
クエリが付いたcanonicalではない方の検索結果タイトルをコピペして、
search console の「古いコンテンツの削除」(www.google.com/webmasters/tools/removals)にて、マニュアルで1つ1つ削除していく。

といった流れです。

結論:引っ越ししたほうがいいかも

ただ、結局のところ、あれやこれやしないといけないライブドア・ブログは、特にスマホ対応の部分で弱いので、いっそ、ライブドア・ブログから自分でサーバー借りて、WORDPRESSで運用していくほうが、何かと良いかと思われます。

やはり、robots.txtやcanonical設定など、検索エンジンにいろいろ指示出しするサイトは、検索エンジンからの評価が下がる傾向があるように思われます。

私も(このサイトではありませんが)ライブドア・ブログからWORDPRESSへ移行して、ねらったキーワードで各ページが検索10位圏内にことごとく入るようになり、結果、売上も前年比1.5倍以上に改善しました。

ライブドアからWORDPRESSへ引っ越し後の検索順位

あと、ライブドア・ブログだとスマホ版だと広告が強制表示されるのに対し、PC版だと広告が表示されない、つまりスマホ版とPC版で違うものを見せている、というのも検索エンジンからマイナスポイント加算されているように感じられます。

クエリなどが勝手に発生しない、シンプルで軽いサイト作りが一番(シンプル・イズ・ベスト)です。

以上、どなたかのお役に立てれば幸いです。

QooQ