パーマリンクがWordPressで機能しない理由を理解する方法

公開: 2021-12-27

多くのサイトタスクは、検索エンジン最適化(SEO)に焦点を当てています。これは、可視性と検索ランキングを向上させることができるためです。 SEO戦略の一部は、URL構造に基づいている必要がありますが、パーマリンクがWordPressで機能していない場合は、トラフィックの数値を小さくするのに苦労します。

パーマリンクが壊れていることを知るのは簡単ですが、それほど簡単に理解できないのは、それを修正する方法です。 ほとんどの場合、サーバー構成ファイルにジャンプして、いくつかの変更を加える必要があります。 ただし、WordPress内からのクイックリセットで十分な場合があります。

次のいくつかのセクションでは、パーマリンクがWordPressで機能していない場合の対処方法を説明します。 まず、壊れたパーマリンクとその外観について詳しく説明します。

壊れたパーマリンクがWordPressでどのように見えるか

使用するサーバーやそのセットアップに関係なく、壊れたパーマリンクはすべて同じように見えます。 ほとんどの場合、ホームページは完璧であることがわかりますが、他のページには404エラーが表示されます。

WPKube404ページ。

一部の特定のインスタンス(つまり、サイト内に存在しない正当なURL)の場合、404エラーをホームページにリダイレクトできます。 ただし、多くの場合、検出されない根本的な問題が発生することが多いため、これは永続的な解決策ではありません。

さらに、パーマリンクがWordPress内で機能していない場合は、サイトを閲覧しない限りわかりません。 問題の最初の問題は、ユーザーが通知を送信したときである可能性があります。 これは、ユーザーエクスペリエンス(UX)にとっても、評判にとっても良くありません。

パーマリンクがWordPressで機能しない理由

WordPressのスラッグとパーマリンクは、サイトの「設定して忘れる」側面です。 投稿ごとにスラッグを編集することもできますが、WordPressの最初のインストールプロセスの後にグローバルパーマリンク構造を設定します。 SEOに影響を与える可能性があるため、推奨される一般的な方法は、この後のままにしておくことです。

そのため、WordPressで壊れたパーマリンクは、直接関与することがないため、修正が困難です。 代わりに、探索する他のいくつかの方法があります。

  • 新しいプラグインをインストールするか、古いプラグインの設定を変更すると、パーマリンクに間接的な変更を加えることができます。 これは、サーバー構成ファイルにフックするプラグインに特に当てはまります。
  • わずかなチャンスですが、コア、テーマ、プラグインの更新によってパーマリンクが破損する可能性があります。 これが、クリーンで最新のバックアップを用意したい理由の1つです(詳細は後で説明します)。
  • そういえば、バックアップを使用してサイトを復元する必要がある場合、これによってパーマリンク構造が壊れる可能性もあります。 これは、サイトの移行にも当てはまります。

ただし、パーマリンクがWordPressで機能しない原因として、より一般的なものが1つあります。それは、サーバー構成ファイルを手動で編集することです。 これらのファイルをいじくり回すことにした場合、これは競合するプラグインと同じダメージを与えます。

エラーの理由に関係なく、エラーの修正に取り掛かる必要があります。 これで原因がわかったので、問題がどこにあるのかを掘り下げて発見することができます。

壊れたWordPressパーマリンクを修正するために必要なもの

まだ小刻みに動かしていない場合は、サーバーのコアファイルにジャンプする必要があります。 このため、必要なものをすべて手に入れて、ロックンロールする準備をするのは良いことです。 準備したい要素のチェックリストは次のとおりです。

  • サーバーのファイルを操作するためのサーバーへの管理アクセス。 ほとんどの場合、特にサイトの所有者の場合、これには入力は必要ありません。
  • サーバーのクレデンシャル、特にログインの詳細。 これらは、ホスティングコントロールパネル、またはプロバイダーからの電子メールにあります。 クレデンシャルが見つからない場合は、ホストがクレデンシャルの場所を教えてくれます。
  • Cyber​​duck、FileZilla、Transmitなどのセキュアファイル転送プロトコル(SFTP)クライアント。 これらはそれぞれ、サーバー上での単純なファイルブラウジングの能力を超えています。
  • 問題を起こさずにSFTPを使用するスキル。 言うまでもなく、このチュートリアル全体を通してSFTPの使用方法を知りたいと思うでしょう。
  • あなたのウェブサイト、そしておそらくサーバーのクリーンで最新の完全なバックアップ。 永続的な(または導入された)エラーのために復元する必要がある場合、バックアップは所有する最も価値のあるファイルになります。

テキストエディタなどのオプションのツールがありますが、それらは必須ではありません。 上記のリストは、WordPressで機能しないパーマリンクを修正するために必要なすべてです。

WordPressで機能していないパーマリンクを修正する方法

必要なツール、スキル、サービスがすべて揃ったら、仕事に取り掛かることができます。 次の数分間で、WordPressで機能していないパーマリンクを次の方法で修正する方法を紹介します。

  1. WordPressダッシュボードからパーマリンクをリセットします。リセットには数秒かかります。
  2. パーマリンクに影響を与える可能性のあるプラグインとの非互換性をチェックします。
  3. Apacheサーバーの場合、パーマリンクの問題を修正する場所を示します。
  4. Nginxサーバーについても、同じように(それ以上ではないにしても)人気があるので、同じことを紹介します。

記事の終わりまでに、パーマリンク関連の問題を今後修正できることを確認するための適切な知識が得られます。 やり遂げるにはたくさんのことがあるので、WordPress自体から始めましょう。

1.WordPress内でパーマリンクをリセットします

WordPressダッシュボード内のパーマリンクをすばやくリセットすることで、問題が解決することを願っています。 数秒かかるはずです。パーマリンクの問題を修正する簡単な方法なので、最初にこれを行うことをお勧めします。

開始するには、WordPress内の[設定]>[パーマリンク]ページに移動します。

WordPressのパーマリンクページ。

最近のほとんどのWordPressインストールでは、投稿名のパーマリンク構造があります。 ただし、今のところ、一時的に変更する必要があります。 これを行うには、他のラジオボタンをチェックします。 URL構造をそのまま維持することに非常に注意したい場合は、[カスタム構造]を選択し、 /%postname%/タグを使用することをお勧めします。

カスタムパーマリンク構造を追加します。

次に、変更を保存し、元の構造(この場合は投稿名)を再度選択してから、変更を再度保存します。 これによりパーマリンクがリセットされるはずなので、サイトをチェックして、問題が解決したかどうかを確認してください。

2.プラグインの競合と非互換性を確認します

WordPressで機能しないパーマリンクを修正する次の方法は、多くのWordPressの問題を修正するための一般的な手順をより簡単に実行することです。 プラグインは(もちろん)サイトの無数の領域に影響を与えるため、不正なプラグインがパーマリンクに問題を引き起こす可能性があります。

この段階での標準的なアプローチは、SFTPを介してサーバーにログインすることですが、この場合はログインする必要はありません。 代わりに、WordPress内の[プラグイン]>[インストール済みプラグイン]ページに移動します。

WordPress内のプラグインページ。

この画面で、各プラグインのすべてのチェックボックスを選択し(上部のグローバルチェックボックスを使用して時間を節約できます)、ドロップダウンの[一括操作]メニューから[非アクティブ化]を選択します。

[一括操作]ドロップダウンメニューの[非アクティブ化]オプション。

これにより、すべてのプラグインがオフになりますが、サイトに影響するパーマリンクの問題も修正されることを願っています。

次に、パーマリンクが機能しなくなるまで、各プラグインを順番に有効にします。 プラグインを見つけたら、それを再度非アクティブ化し、サイトを元の状態に戻します。問題のあるプラグインはありません。

この時点で、いくつかのオプションがあります。

  • プラグインが不要になった場合は、プラグインを完全に削除してください。
  • WordPressプラグインディレクトリから始めて、別の方法を見つけてください。
  • 開発者に連絡して、彼らに知らせ、修正を依頼してください。

いずれにせよ、パーマリンクが壊れたままになりたくないので、解決策が得られるまでプラグインを無効にしておくことをお勧めします。

3.Apacheサーバーを構成します

今では以前ほど人気が​​ありませんが、Apacheサーバーは依然としてWebサイトをホストするための確実な方法です。 さらに、平均的なユーザーが管理するのは簡単です(これには欠点がありますが、それは別の記事のためです)。

そのため、WordPressパーマリンクを再び機能させるために実行できるいくつかのタスクを見てみましょう。

.htaccessファイルを操作して、パーマリンクを再び機能させる

WordPress内のさまざまなパーマリンク構造を切り替えるのと同じように、ある種の.htaccessファイルをリセットすることもできます。 知らない人のために、これはサーバーがその内容を管理するのに役立つ構成ファイルです。 新しい手順で編集できますが、この場合は無効にします(または、少なくともサーバーが一時的に使用しないようにします)。

.htaccessファイルは新しい手順で編集できますが、この場合は無効にします(または、少なくともサーバーが一時的に使用しないようにします)。

このためには、以前に取得した資格情報と選択したSFTPクライアントを使用してサーバーにログインする必要があります。 入ったら、適切なサイトに移動する必要があります。 サーバー上にそれが1つしかない場合、これはそれほど難しいことではありません。 ただし、複数のサイトについては、特定の名前の何かを探してください。

サイトの名前が表示されない場合は、それがサーバーのプライマリインストールである可能性があります。 この場合、 wwwrootpublic_html 、または同様のものを探します。 あなたのサイトのファイルはそこにあります。

適切な場所に移動したら、 .htaccessファイルを探します。 最上位のディレクトリにあるはずです。

Cyber​​duck内の.htaccessファイル。

このファイルをバックアップすることはできますが、サーバーには残りますが、別の名前で保存されます。 これを行うには、ファイルを右クリックし、コンテキストメニューから[名前の変更(または同様の)]オプションを見つけます。

Cyber​​duck内でファイルの名前を変更します。

これにより、WordPressは.htaccessファイルが存在しないかのようにスキップします。 ここから、ガイドの最初のステップに従ってパーマリンクをリセットする必要があります。 これにより、サーバー上に新しい.htaccessファイルが作成され、パーマリンクが機能していないかどうかをテストできます。

それらが機能する場合は、 .htaccessファイル内の何かがパーマリンクエラーの原因になります。 カットアンドペースト作業を実行して、問題の原因となっている行を見つけることもできますが、新しい.htaccessファイルを用意しているので、必要ない場合があります。

AllowOverrideルールをApache構成に追加します ファイル

この次のヒントでは、サーバーのルートフォルダーにいる必要があります。 これはアクセスできる最高レベルであり、一部のホストではアクセスできない場合があることに注意してください。 そのため、共有サーバーを使用する場合、これはオプションにはなりません。 ただし、サーバーを管理している人や仮想プライベートネットワーク(VPN)を使用している人は、次のことを実行できます。

etcフォルダーがあるので、適切な場所にいるかどうかがわかります。 一部のサーバーにはetc/httpd/httpd.confパスとファイルがありますが、Linuxサーバーはetc/apache2/apache2.confを使用する場合があります。

Apache構成ファイルへのパスを表示するサーバー。

ディレクトリごとにサーバーの特定の側面をオーバーライドできるようにするルールをapache2.confファイルに追加する必要があります。 複雑さを理解する必要がないので、ここではこれの詳細については説明しません。 ただし、これを試す前に、必ずバックアップしてください。

SFTPクライアントに戻り、 apache2.confファイルに移動して、テキストエディターで開きます。 内で、次の一連のコードを探します。

 <Directory /var/www/> Options Indexes FollowSymLinks AllowOverride None Require all granted </Directory>

AllowOverride None行をAllowOverride Allに変更する必要があります。 変更を保存したら、パーマリンクが機能するかどうかを確認する必要があります。 そうでない場合は、サーバーを再起動する必要があります。 これは、Secure Shell(SSH)アクセスを使用する高度な手法です。 これについては、ブログの別の記事で説明しています。

サーバーを使用しているときに、 sudo systemctl restart apache2と入力してサーバーを再起動します。 さまざまなホストが複雑であるため、問題が発生した場合は、ホストと話し合うことをお勧めします。 多くのホストにはサーバーにアクセスするためのカスタムの方法があり、最適なアプローチを見つける必要があります。

4.Nginxサーバーを構成します

Nginxは、Apacheのブリキトップホットロッドと比較して非常に滑らかなレーシングカーです。 このように、それは多くのファンを持っており、競合他社と比較して大きな市場シェアを持っています。

ここでの欠点は、必要なファイルを見つけるのが他の種類のサーバーよりも難しいことです。 ただし、それでも可能であるため、Nginxサーバー内で機能しないパーマリンクを修正する方法を説明します。

Nginx構成ファイルを見つける

まず、適切な構成ファイルを見つける必要があります。 ここでサーバー上の正確な場所についてホストに相談する必要がある場合があります。 私たちの場合、ファイルはetc/nginx/site-enabled/ディレクトリにありますが、実際のファイルとは異なる場合があります。

内部に入ったら、 default.confという名前のファイル、またはサイトにちなんで名付けられたファイルを探します。必要に応じて、ホストに相談してください。 Nginx構成ファイルは、コードのブロックを使用してさまざまなルールを定義します。 server {で始まるブロックがあるため、ファイルが正しいかどうかがわかります。

このブロックを見つけたら、サイトがルートにあるかサブディレクトリにあるかに基づいてブロックを修正できます。

Nginx構成ファイルを修正する

default.confファイルを開き、カーソルをserverブロックの周りに置いた状態で、別のインデントされたブロックを探します。今回はlocation /を探します。 内に、以下を追加します。

try_files $uri $uri/ /index.php?$args;

完全なブロックは次のようになります。

 location / try_files $uri $uri/ /index.php?$args;

これは、サイトがサーバーのルートディレクトリにある場合にのみ適用されます。 サイトがサブディレクトリにある場合(おそらくそれは多くのサイトの1つです)、その場所をそのサブディレクトリにポイントする必要があります。

 location /subdirectort/ try_files $uri $uri/ /subdirectory/index.php?$args;

変更を保存したら、 sudo systemctl reload nginxを使用してサーバーを再起動します。 Apacheの手順と同様に、これを実行できない場合があります。その場合は、ホストに相談して、支援を求めてください。

まとめ

パーマリンクは、Webサイトの投稿やページにアクセスするための人間が読める方法を表しています。 それらがうまくいかない場合、フォールアウトはあなたのサイトをひざまずく可能性があります。 多くの場合、WordPressでパーマリンクが機能していないことを最初に知るのは、ユーザーが受け取る404エラーの数が多いことです。

これを修正するための最良のシナリオは、WordPress内のパーマリンクをリセットすることです。 ただし、他の多くの場合、サーバーを開き、ファイルを削除(またはその他の方法で修正)して、正常に動作させる必要があります。 この投稿では、船を正して航海を続けるために必要なスキルとワークフローを提供する必要があります。

あなたのパーマリンクがWordPressで機能していないのは、以前に遭遇したことのあることですか、それとも今経験していることですか? 以下のコメントセクションで、状況と改善策を共有してください。