好奇心

直感・閃き・気になる事探究を楽しむ

ワードプレスの記事のRSSが400 Bad Requestになる理由と対策

ワードプレスでRSSの更新情報を取得したけど、リンク先にアクセスすると400エラーが出る理由とそれに対する3つの対策について
400 Bad Request ワードプレス RSS

更新情報があったのでアクセスしてみると400 Bad Request

私は、更新を楽しみにしてるブログの情報は
RSSを取得して、更新を確認しています
その中でたまに、更新された記事にアクセスしようとすると
リンク先の記事に400 Bad Requestがでるケースがあります
実はこれ、ワードプレス利用者は気をつけないと
無意識に発生させてしまう理由があります

400 Bad Requestの引き金になる日本語URL

ワードプレスで記事を書いた際に、パーマリンクの設定によっては
記事タイトルがそのままページのURLになる事があります
例えば、こちらがそのエラーがでているRSSのケース
400 Bad Request RSS
これは更新を伝えるRSSデータの中身ですが
日本語を自動的にブラウザが認識するための変換をすることによって
記事URLを表すLINKの部分が相当長くなっている事がわかります
このRSSのデータ生成に関して内容に問題はなく
また、ユーザーも記事へのアクセスが可能なので
一見、何の問題もないように思えますが・・
ただ、更新先としてRSSを受け取るサービスや環境によって
URLの文字数制限(バイト制限)がある事があります
この文字数制限にひっかかると・・

400 Bad Request
Your browser sent a request that this server could not understand.
訳:お使いのブラウザは、このサーバが理解できなかった要求を送信しました。

この問題を解決方法は3つあります・・が
その前に、スラッグについて説明が必要ですね

スラッグとは?

記事のファイル名(URL)の部分を好きな英数字に指定できる機能
自動的に作成されるURLなどをわかりやすく変更する用途で使います
このスラッグをを理解した上で、以下の3つの対策を検討しましょう

日本語URLをピュニコード変換してからスラッグに利用する

日本語URLをピュニコード変換してからスラッグに利用する

どうしてもURLを日本語にしてアドレスバーに表示させるのであれば
テキストをピュニコード変換をしてURLに指定する方法があります
ピュニコード
ピュニコード変換はこちらで
今読んでいるこの記事のタイトルを仮に変換するとこんな感じ
正規化後:ワードプレスの記事のRSSが400BadRequestになる理由と対策
Punycode:xn--rss400badrequest-k23ofqgbt9ba00e07aol8lqttc9t9086effmdwy1h6bieq8ci63g
これを作成(下書き保存)した記事のURLの編集で記載すれば
アドレスバーでは日本語に表示され、RSSで文字数制限にひっかかりません
新しい記事を書くたびにひと手間かけるだけで
400 Bad Requestは防げます

記事URLに英数字のスラッグを設定する

記事URLに英数字のスラッグを設定する

記事編集画面右上のオプションをクリックして
スラッグにチェックを入れると入力欄が表示されます
スラッグ 英数字
任意の英数字に設定を行うだけの簡単操作です
ちなみにこの記事はこんなスラッグにしてます
wp-rss-400-bad-request
適当な英数字にしてもいいのですが
スラッグキーワードの関連性もSEOには有効です
このスラッグを使ったURLに関してはいろいろ実験もしました

日本語URLを利用しない

日本語URLを利用しない

例えば、このブログで言えばパーマリンク設定が以下のようになっています

/%category%/%postname%.html

実はカテゴリーにもスラッグを利用する事ができます
カテゴリー スラッグ
記事だけでなく、カテゴリに対してもスラッグを使用しない場合・・
カテゴリ/記事タイトルが・・全て日本語URLに変換されます
アドレスバーの表示は日本語であっても
とてつもない長さのURLを生成し・・400 Bad Request
日本語のアドレスにする事ってメリットよりも
デメリットのほうが大きいです

今からスラッグをつける時の注意

日本語URLをやめるには・・
今あるカテゴリにもスラッグをつければいいの?
URLを任意で短くできて、エラーがでなくなるのであれば
今すぐやればいいんでしょ?という簡単な話ではないです
すでに公開した記事に後からスラッグをつけるというのは・・
現在のURLが変わる事を意味します
つまり、検索エンジンに認識されているURL
外部から張られたリンク全てリンク切れになります
そのため、これから対策するという方は
次の記事からスラッグを意識してください

スラッグに関しての豆知識

一度利用したスラッグは重複利用できません

カテゴリのスラッグとタグのスラッグも重複できません

以前、そういった問題に直面した時に対策をまとめました
ワードプレスで同じスラッグが使えない時の対処法
結構大変な作業になるので覚悟してください(笑)
このRSSのURLの文字数制限のエラーに関しては
自分で気づいてない人も多いです
もし、気づいたら、この記事を教えてあげてください
私の場合は人気ブログランキングに登録してあるブログの更新情報が
すぐにわかるブログマーク機能を利用してて気づきました
人気ブログランキングの「ブログマーク」で自然に順位をキープ
毎回記事の更新を楽しみにしてるブログがあって・・
目を惹くタイトルで開いてもコンテンツを3スクロールで閉じる中で唯一の・・
そのブログの更新情報が毎回・・
400 Bad Requestでアクセスできない・・Σ(゚Д゚;)ガーン!!
それに業を煮やしたので、対策法を書いてみました
URLの文字数制限の問題は人気ブログランキングだけの事じゃなく
RSS関連のほかのサービスにも言える事なので
ピュニコード変換などを使っていない状態で
記事タイトルが日本語URLになってる方は注意してくださいね

COMMENTS & TRACKBACKS

  • Comments ( 6 )
  • Trackbacks ( 0 )
  1. これは私のための記事みたいなもんだねー!
    勉強になるよ、ありがとう。どんどんやってくれたまえ苦しゅうない。

    • スラッグ切らないで記事URLを日本語で出してたのか?
      だとしたら、今まで400エラーでなかったのは
      記事タイトルが短かったからだろうね(ただのラッキーだ)
      WPはテーマとかプラグインとか魅力的な要素多いけど
      本体の仕組みをよー知ってないとあかんから気をつけてな~

  2. 私の場合、ブログの記事名をブログ村用に釣りな感じで出すから、スラッグはちゃんとした内容におきかえてたのが功をなしたのかもね!
    後で記事の題名変えたりして大変なんだけど、ページビューを増やす為には、不幸そうな題名で釣らないといけないんだよね。
    SEO的に見て、釣りでページビューあげてその後に題名ちゃんとしたのに書き換えるってのが、どう影響するかは分からないけど・・
    てか、この件についてどう思う?始めからちゃんとした記事の題名付けた方がいいのかな?

    • うーん、その辺はどっちに重点を置くかの考え方しだいだと思う
      参考記事:https://curiosity-koukisin.com/tanukichiboyaki/title-contents-3scroll.html
      ブログ村からの集客のほうが数が多い、あるいは共感を集めやすいなら
      無理にSEOに最適化しないのもひとつの方法だと思うし(リアルタイム)
      書いた内容によって長期的に、多くの人の共感を得られそうなら
      最初からSEOに最適化していくのもありかと(ロングテール)
      タイトル付け替えるだけなら、順位変動くらいで済むと思うよ
      スラッグやURLを変えるとあかんって話だけどね

  3. たぬきちさん、こんばんは。
    マフィーです^^
    うん?うーん。
    ちょっと、飲み込むまでしばし時間がかかります。
    記事下のスラッグに英数字←次回からはOK
    それにしても、ずーっと前から何も変更せずに書いてるはずなんですが、
    なんでだろ。
    多分、その時期前後にSEOのプラグインを入れてみて(活用度ゼロ)
    そういうのも関係あるんでしょうか。
    あと、↑の題名のつけ方、参考になります。
    ランキングからのアクセスが多いから(新ブログのほう)
    ランキング意識したタイトルばっか。
    書いた内容によって変えてみます。

    • マフィーさん いらっしゃい
      たぶん、ブログ開始時にパーマリンク設定でカスタムURLにしたとして
      その後、一切、記事とカテゴリにスラッグを使ってない=何も変更せずに
      であれば・・うん、当然、長~い自動変換のURLになるよw
      スラッグはあくまでもURL(短くする)って考えて
      長い記事タイトル書いたら、スラッグつけるのを忘れずに

LEAVE A REPLY

*
*
* (公開されません)

Return Top