こんにちは、
ブログ始めてから今年で5年目。雨宮です。
昨今、アップデートや時代の変化とかでこの界隈はすんごいことになってますが、皆さん息してますでしょうか?
かくいう私は、去年の10月~11月に絶命していましたが最近はボチボチ復帰しています。
さておき
今回は、このサイトでは比較的珍しい自分と同じようにブログ・サイト運営をしている方向けの記事になります。
タイトルにもある通り、XMLサイトマップのプラグイン「XML Sitemap Generator for Google」の不具合にまつわる内容です。
WordPressでサイトを立ち上げたらほとんどの方が入れるプラグイン「XML Sitemap Generator for Google」
ですが、2022年頃から度々不具合報告が上がるようになり、その都度アップデートで修正。
と、いたちごっこみたいになってます。
直近では、2023年の12月に更新されたバージョン4.1.17で不具合あり。(以下他の運営者さんのポスト)
といった感じで安定しない。。
で、私自身上記のポストを見つけた時に自分のサイトマップを調べてみたら404エラーで無くなっており、
サーチコンソールでサイトマップのインデックス状況も調べてみたらガクッと落ちていることに気づき「これはいかん」と思い対処。
現在は解決しました↓
結論から述べるとプラグインから脱却して手動でサイトマップを作って配置することで根本的に解決。
この記事では、私がおこなった解決法を中心にご紹介し、プラグインエラーに怯えることなくサイト運営できるよう導きます。
この記事を読んでほしい人
- XMLsitemapのプラグイン不具合でうんざりしている人
この記事を読むと...
- プラグインの不具合に振り回されず比較的安定してサイトマップを管理できる。
- プラグインに依存することなくXMLサイトマップを管理できる。
- XMLサイトマップへの理解が深まる(手動でする為)
そもそもXMLサイトマップとは?
「WordPressで必須のプラグイン」って書いてあったからとりあえず入れてみたけど、
意味や仕組みはよくわかっていない...
そんな方もいらっしゃるのではないでしょうか?
大丈夫、私もそうでした。(5年目にしてやっと勉強した人←)
実際、開設当初はプラグインとか分析とかの勉強は後回しにして記事書いた方が良いです。
その為のプラグインですし
ですが、今回ご紹介する手動で行う方法を実行するなら、
- XMLサイトマップとは一体何なのか?
- どういう仕組みで機能しているのか?
について理解しておいた方が良いのでこちらで解説します。
サイトマップとは?
サイトマップとは、サイト内にどんな記事(ページ)があるかを伝える為に、一覧をまとめたファイルやページのことです。
読んで字の如く「サイトの地図」
サイトマップには大きく2つの種類があり、
1つは、Webサイトに訪れたユーザーへ知ってもらう為に作成する「HTMLサイトマップ」
もう1つは、検索エンジン(クローラー)に知ってもらう為に作成する「XMLサイトマップ」です。
サイトマップの種類
- HTMLサイトマップ:Webサイトに訪れたユーザーへ知ってもらう為のサイトマップ
→どんな記事があるのか視覚的にわかり、ユーザーの回遊性に繋がる。 - XMLサイトマップ:検索エンジン(クローラー)に知ってもらう為のサイトマップ
→クローラー(GoogleのWeb上を巡回し検索結果の表示順位をコントロールしているbot)に、
サイトの内容を知らせてインデックスを促進させる。
←今回作るのはコレ!
XMLサイトマップを作るには?
XMLサイトマップを作り検索エンジンに知らせる手順は以下の通りです。
検索エンジンに知らせる手順
- Googleが推奨する記述形式でXML形式のファイルに知らせたいページの情報を記載する。
- 作成したファイルをドメインの直下に配置しておく。
例:https://example.com/sitemap.xml - Googleサーチコンソールを使ってサイトマップの配置場所を検索エンジンに知らせる。
- 検索エンジン(クローラー)が巡回しファイルを読み込んでくれて完了!
また、XMLファイルは一度作ったら以後放置... ではなく。
新しい記事を更新したりリライトしたら、都度サイトマップも更新し検索エンジンに知らせなければ効果的な運用になりません。
でも、そんな毎回更新した覚えがない...
それもそのはず。
このぶっちゃけ手間な部分を自動でやってくれるのが「XML Sitemap Generator for Google」を始めとするサイトマッププラグインなんです。
初期設定したら以後、記事更新する度に
自動でやってくれるから魅力的。
プラグインに頼らずに自分でやる方法
それではやり方を紹介します。
今回紹介する方法は、有識者が無料で提供しているツールを使ってXML形式のサイトマップファイルを作り、FTPソフトを使用して直接ドメインの直下にファイルをアップロードします。
FTPソフトとは、サーバー内のファイルを直接いじれるソフトで、新しいデータを追加することも削除することもできるソフトです。
その為、非常にデリケートな操作なので誤った操作をしないように細心の注意を払いましょう。
また、万が一に備えて実行する前に
必ずバックアップを取ってください。
・
・
それでは使用するツールと手順を解説します。
使用するツール
- sitemap.xml Editor
→Googleが推奨する記述形式でXML形式のファイルを作ってくれるツール - FTPソフト
→ドメインの直下にXML形式のファイルを配置する為のツール
(レンタルサーバーに備わっていることが多い・WordPressプラグインでも可。)
※今回はエックスサーバーのFTPソフトで解説 - Googleサーチコンソール
事前準備
事前準備として次の3つを行います。
バックアップを取る
しつこく言って申し訳ないですがバックアップは絶対に取っておきましょう。
バックアップを取った後の復元方法についてもわからなければ事前に確認しておきましょう。(マジで大事)
「XML Sitemap Generator for Google」を無効化(削除)する
現在使っているプラグインを無効化します。
プラグインで作ったXMLサイトマップが消えているか確認する
恐らく「XML Sitemap Generator for Google」を無効化にした段階でそれまでに作っていたサイトマップが消えているはずです。
かちあうとよろしくないので確認しましょう。
アドレスバーに「https://自分のサイトのURL/sitemap.xml」と打って検索し、404エラーだったりNotFoundと表示された場合は、現状サイトマップが配置されていない状態です。
XMLサイトマップを作る
sitemap.xml Editor にアクセスし設定項目を入力
sitemap.xml Editorにアクセスし、自分のサイトのURLと必要に応じてオプション設定を入力します。
見本として私が実際に作った時の設定内容をお見せします。
除外ディレクトリは、運営者の私考やサイトのURLによって異なるので参考までですが、基本的にはインデックスしたくないURLのディレクトリを入れればOKです。
私は、自分のWordPressの管理画面とお問い合わせページとプライバシーポリシーのページを設定しました。
設定が完了したら「サイトマップ作成」を押して作成します。
作成が完了したらダウンロードして中身を確認しましょう。
コードがツラツラと書いてありますが、自分の記事のURLたちが書いてあるのですぐにピンと来るはずです。
確認のポイントは以下の2点
- 記事のURLが入っているか?
- 除外ディレクトリに入れたURLは入っていないか?
除外ディレクトリに入力する際にカンマやURLのスペルミスで、除外したいページが含まれていたり、逆にファイルの中身が空だったりします。
その場合は、もう一度手打ちで入力してから作成すると大抵解決するので打ちミスに気をつけてリトライしてみてください。
(私も2回ほどリトライしました。)
XMLサイトマップをドメイン直下に配置する
作成したXMLサイトマップをFTPソフトを使ってドメイン直下に配置します。
※当記事ではエックスサーバーのFTPソフトで解説します。
FTPソフトで「サイトURL→public html」へ遷移する
FTPソフトを開いたら「自分のサイトURL」のフォルダを開き「public html」を開きます。
こちらがトップページになるのでこの中に入れれば直下に配置されます。
「index.php」もしくは「index.html」が入っていればOK
ドメイン直下のフォルダです。
「public html」を開いたら上にある「アップロード」ボタンをクリック。
そうしたら、WordPressでよく見るようなアップロード画面に遷移するので、ファイル選択で先ほど作ったXMLサイトマップのファイルを選択します。
ファイル名の文字コードは「UTF-8」にしましょう。
ファイル・アップロード先・文字コードを確認したらアップロードをクリック。
すると「public_html」内にサイトマップが追加されます。
これでFTPソフトの操作は完了です。
誤操作を招かない為にもFTPソフトはログアウトしておきましょう。
念の為サイトマップが問題なく配置されているか確認します。
アドレスバーに「https://自分のサイトのURL/sitemap.xml」と打って検索し、下のようなページが出てコードがツラツラと書いてあればOKです。
「This XML file does not appear to have any style information associated with it. The document tree is shown below.」
(訳:この XML ファイルには、関連付けられたスタイル情報がないようです。ドキュメントツリーを以下に示します。)
と表示されていますが、こちらは無視してOKです。
Googleサーチコンソールで配置場所を知らせる
最後にサーチコンソールを使ってGoogleの検索エンジンにサイトマップを作ったことを知らせましょう。
左のサイドバーから「サイトマップ」をクリック。
「新しいサイトマップの追加」に先ほど確認時に入力したサイトマップを配置しているアドレスを入力して送信。
「送信されたサイトマップ」のステータスに「成功しました」と出て、かつ「検出されたページ数」の数と自分の記事数に乖離がなければ無事成功です。
その後、クローラーが巡回してくれるので数日経ったら送信されたサイトマップからインデックス状況を確認してみましょう。
早ければ4日,5日でインデックス状況のグラフが更新されるので、そこで回復していることを確認できるはずです。
これが手動でXMLサイトマップを更新する全行程です。
試してみてください。
その他の解決策
その他の解決策についても触れておきます。
一旦ダウングレードさせる
プラグイン全般にいえる手法ですが、アップデートして不具合が発生したらダウングレードさせて一旦様子を見る手法です。
いつも使っているダッシュボードからはダウングレードできないので
「WordPress.org」から旧バージョンのプラグインファイルをダウンロードし、
その後ダッシュボードからプラグインファイルをアップロードして有効化します。
こちらも行う場合は、バックアップをお忘れなく。
また、ダウングレードさせる際は現在のプラグインを削除しておきましょう。
ダウングレードさせる方法は、以下の通り。
ここでダウンロードしたプラグインファイルは、パソコン上に保存されます。
保存したファイルは、圧縮してZIP化しておきましょう。
ZIP化の方法
- Windowsの場合
ZIP化したいフォルダ・ファイルを選択して右クリック→「送信先」を選択→[ 圧縮 (zip 形式) フォルダー] をクリック
参照:ファイルを圧縮および展開する(Windows) - Macの場合
ZIP化したいフォルダ・ファイルを選択して右クリック→「〇〇を圧縮」をクリック
プラグインファイルをダウンロードして圧縮したら、WordPressのダッシュボードへ戻ってプラグインファイルをアップロードしてインストールしましょう。
その後、有効化したらダウングレード完了です。
ですが、この方法はあくまで応急処置みたいなところで、かつセキュリティの問題もあるので個人的には微妙です。
そのプラグインに解決の余地があるのであればダウングレードして様子見も良いかと。
ちなみにこの手法自体はXMLサイトマップに限らず、WordPress本体のバージョンアップやその他プラグインのアップデートによって起こる不具合時の処置に有効な手法なので覚えておいて損はないです。
XML Sitemap & Google Newsを使う
「XML Sitemap Generator for Google」に見切りを付けて、同様の機能が付いている「XML Sitemap & Google News」へ乗り換えるという方法もあります。
ネット上の評判は悪くないみたいですが、私は「使用中のWordPressバージョンで未検証」という文言が気になるので今のところは利用せず静観しています。
WordPressに備わっているXMLサイトマップを使う
実はWordPress5.5になってから、WordPress自体に標準でXMLサイトマップを生成する機能が追加されています。
ただ、プラグインや今回紹介した手動のやり方よりも細かい設定はできないので効果は未知数です。
「https://自分のサイトURL/wp-sitemap.xml」で確認できるみたいなんですが、自分のサイトは生成されていなかったのでこの手法は却下。
どうやらプラグインやテーマの干渉でオフになっているみたいです。
自分は手動で運用します。
ということで「XML Sitemap Generator for Google」プラグインの不具合に対する解決策を紹介していきました。
当初の予定は手動のやり方だけ懇切丁寧に紹介して、その他の解決策は列挙だけして「あとは調べてね☆」ってするつもりだったんですが、楽しくなってきたのでほぼ全部網羅しちゃいました。
で、手動運用なんですが少しの手間と神経を使うので、ぶっちゃけできることならプラグインで自動化したいです。←オイ
ですがやり方さえ間違えなければ確実にインデックスされますし、プラグインも1個減ってセキュリティ的にも動作的にも安全性は高まると思うので当面はこれでいきます。
あと個人的には、記事更新時に都度サーチコンソールでURL検査してインデックス登録リクエストを飛ばしておけば、インデックス漏れはないと思っているので、XMLサイトマップはあくまで保険というかお守り的な感じです。
不具合にうんざりしている方は今回の手法、試してみてください。
それでは、サイトマップを更新してくるので今回はこの辺で
以上、雨宮でした!
参考サイト
免責事項
今回当記事内で紹介した方法は、利用者の自己責任の下で実行をお願い致します。
万が一不具合やトラブル・損害等が起きた場合、一切の責任は負えませんのでご了承ください。