.htaccess記述ミスで404エラーに。パーマリンクを変更して対処した話



404エラー

どうも、管理人の末次ゆう(@ysgenfu)です。

先日、厳風~Genfu~に大障害(自称)が発生し、大変なことになりました。

どの記事もクリックすると404エラー(not found)になる。マジで焦った・・。

私自身、ウェブの知識は磯野波平さんの毛ほどしかありません。HTMLやCSSもありがたーいコピペ記事でなんとかごまかしながらサイトを作っています。

で、今回のエラーも、「ググればどうにかなるだろう」なんて気楽に考えていたんですよ。しかし、どれだけググっても明確な解決方法がでてきません。本当に絶望的…。

結果、自力でどうにかすることに。数時間におよぶ試行錯誤の末、パーマリンクを弄って元に戻りました。備忘録でまとめます。

 

不具合の詳細:.htaccessを弄って404エラーに

気づいたのは、WordPressのスマホアプリでPV数を確認しているときでした。

なんと、昼の14時ごろから気づいた20時ごろまでほとんどゼロ。いくら弱小ブロガーとはいえ、こんなことブログをはじめたてのころしか経験がありません。

末次ゆう
これはサイトに不具合が起きているとしか思えない…!

そして記事を開いてみると、案の定404エラーになっています。しかも全記事が。もう最悪です。

うっすらと原因は分かっていました。

サイトのさらなる軽量化を図るために、キャッシュ設定などを見よう見まねで.htaccess(エイチティーアクセス)に記述していたんです。何かの拍子で変なコードを入力したのか、全ての記述を消しても404エラーのまま…。

マジで終わったかと思いました。ブロガー引退のときか・・。

 

試行錯誤の記録

いくら落ち込んでも解決しないので、冒頭で述べたようにググってみました。結果、これといった対処法がありません。

こうなったら、ヤケクソ。ダメ元で思いつく限りの対処をしてみます。

 

全プラグインの停止

まずは不具合解決の王道コース。

プラグインの全停止です。全部で9個のプラグインを使っており、それらを全停止。

※当ブログで使っているwpxサーバーで運用するために必須なプラグイン『wpX 404 Cache』・『wpX Cache Controller』は仕様により削除できませんでした。

 

→変化なし。404エラーのまま。

 

SSL化の一時停止。リダイレクトのリセット

こちらもwpxサーバー仕様のものです。

標準装備でSSL化の補助機能を無料で使えるのですが、リダイレクトの設定がうまくいっていないのかと考え一時的に停止。関係あるか知りませんが、キャッシュも削除しておきました。

 

→変化なし。404エラーのまま。

 

サブブログの.htaccessをコピペ

実は、同じサーバーでもう一つサイトを運営しています。

その.htaccessをコピペすれば上手くいくんじゃないか、と考えました。

実際に開いてみると記述なし(白紙だった)。記述の全削除は先にやって効果がなかったので、これも×

 

パーマリンクを変更したらなおった!

打つ手なしかと絶望を感じます。頭をフル回転…。リンク先のURLは確実にあっているので、記事ごとのファイルのアドレス(URL)が変わってしまったと考えます。

・・てことは、強制的にURLを変更・リセットしたら直るかも。根拠はありませんが、こうなったら何でも試してみるものです。

 

パーマリンク変更

「設定→パーマリンク変更」と進み、パーマリンクを強制的に書き換えます。

すると・・

 

【祝】各記事に繋がりました!!

 

今までは「数字ベース」にしていたのですが、SEOを考えると「投稿名」が最適なようです。ただ、ある程度サイトが成長してしまっているため、途中でURLを変えてしまうと今までの評価がなくなってしまいます。

そのため、ずっと躊躇していたんですよね。でも、これはいい機会です。またゼロからやり直す気持ちでブログと向き合おう。変化を恐れるな!

 

パーマリンク変更後の対応

これで404エラー問題は解決しました。ですが、よく考えるとまだまだ問題があります。

  1. 「投稿名」でパーマリンクを設定したため、アルファベットに書き替える
  2. リダイレクトの設定
  3. 内部リンクの書き換え(リダイレクト設定すれば問題なしだった)

一つずつ解決しましょう。

末次ゆう
パーマリンクを一時的に変更して、またもとのパーマリンク設定を戻しても正常に表示されるようになりました。

変更する必要がない場合は、ここまで解決できたと思います。




 

パーマリンクを記事ごとに書き換え

今回、パーマリンクを「/%postname%/%post_id%/」に書きかえました。(和訳:投稿名/記事コード)

「投稿名」のままだと、URLがタイトルと同じになってしまいます。日本語URLはSEO的に悪いですし、見た目からも敬遠されがち。これは要変更です。

 

パーマリンクの書き換え、手動

肝心の書き換え作業ですが、手入力しかありませんね…。記事一覧からクイック編集を選択し、スラッグを変更しましょう。

当ブログも対象記事が338もありましたが、何とか全て書き換えました。パーマリンクにも狙っているSEOキーワードを英語で入れておくと効果が期待できますよ!

 

リダイレクトの設定

次に、旧URLから新URLへとリダイレクトを設定する必要があります。

上級者の方は、.htaccessにコードを記述して設定されるようですね。もちろん、私はそんな技術がないのでプラグインに頼ります。.htaccessトラウマになりそうですし。w

Permalink Redirect』というプラグインを使用しました。詳しい使い方は、別の方の記事をどうぞ。

参考記事パーマリンクの変更とうまくリダイレクトされない時の設定

 

記事内にも書いてありますが、302リダイレクトだとSEO効果が引き継がれないため、301へと変更することを忘れないでください。

当ブログはこのように変更しました。

旧パーマリンク:archives/%post_id%

新パーマリンク:/%postname%/%post_id%/

『%postname%』は勧められる方が多いですよね。SEOに絶対はないので何とも言えませんが…。

 

内部リンクの張替え

実は、リダイレクト設定をする前に内部リンクの張替え作業を行っていました。

リダイレクト設定をしていれば、必要ないかなと思います。将来的にリダイレクト設定を外したい場合はやっておきましょう。

もちろん、一つ一つ記事を編集していてはキリがありません。1000記事レベルになるとただの拷問です。

Search Regex』という便利なプラグインがあるので活用しましょう。

参考記事Search Regexプラグインの使い方

※常に有効化しておく必要がないプラグインなので、作業後は停止しておくことを勧めます。

 

「Fetch as Google」リンク送信&サイトマップ送信

新しいリンクの送信

新しいリンクの送信

SEO対策のために、Fetch as Googleへ新しいリンクを送信しておきましょう。全てのリンクを一斉には送信できないため、検索流入が多い記事から送信していくといいです。

同時に、XMLサイトマップも再送信しておくと確実ですね。

※当サイトはプラグイン「Google XML Sitemaps」を使って、XMLサイトマップを自動生成しています。その他の方法を使われている方は、新しいパーマリンクでXMLサイトマップが作られているかどうか確認をしておきましょう。

 

まとめ

直感的に、「パーマリンクを変更しよう」と思いつけて良かった…。冷や汗かきまくりでしたね。勉強の大切さを思い知らされました。

リダイレクト設定したあとも、PV数は現状維持できています。大きなペナルティーは今のところありません。

仮にこれでも直らなかったら、『ココナラ』の相談サービスを利用する予定でした。ワードプレスの相談だったら5000円~30000円くらいでしょうか。痛い出費です…。

あわせて読みたい

【ブログノウハウ】参考にしているおすすめブログ・本・運営環境一覧


ちーだ日本一周広告