ガジェット、モタスポ、カメラ

いまさらだけどSitemap.xmlを導入する

こんにちは。

実はいままでsitemap.xml(サイトマップ)を作ってませんでした。いや、必要だなとは思ってたんですがめんどくさくて……。

今回はベッタベタなプラグイン「Google XML Sitemaps」の導入と、WordPress5.5から(勝手に)有効になった自動サイトマップ生成を止める対応をしてみたいと思います。

wp-sitemap.xml

WordPress5.5の新機能で生成されるサイトマップがこれです。

ブログの一番上の階層に作られるので、このブログだと「https://n-e-j-m.xyz/wp-sitemap.xml」になります(後述する対応をおこなったため、もう内容は別物になってます)。

このサイトのWordPress5.5が作ったサイトマップXML

 

デイリーガジェットさんのサイトマップXML(Jetpackテーマで作ってるようです)

 

一見してわかるのは「最終更新時刻」が入っていないこと。これは検索エンジンに更新を通知するには大事な要素だと思うので、ぜひともいれたいところですね。

あと、WordPress5.5のサイトマップは、記事の取捨選択ができないそうで、固定ページなど入れたくないページがあっても制御ができないそうです。

Google XML Sitemapsを導入する

今回は特別な設定をするつもりもなく、とにかくサイトマップXMLを作ることに終始するので簡単です。だってインストールするだけだもん。

Google XML Sitemaps

こちらから導入できます。

それはいいんですが、作者の名前が世の中でよく紹介されている「Arne Brachhold」さんじゃなく、「Auctollo」さんになってます。もしかしてフィッシングプラグイン? と思ったんですが、なんのことはない、作者のリンクをクリックするとArne Brachholdさんのサイトに飛びました。

爽やかなドイツ人

安心ですね。

というわけで、入れてみましょう。

インストールから有効化、XMLの確認

インストール中……

このあと「有効化」をクリックすると有効になります。

プラグインの「詳細」を開いたところ

ベタにsitemap.xmlというファイル名で生成されているようです。このサイトの場合、「https://n-e-j-m.xyz/sitemap.xml」になります。

ばっちりできてますね

いろいろカスタマイズしたいところですが、今日はここまで。まずはサーチコンソールに登録しましょう。

検索エンジンに登録する

上記、プラグインの説明にもあったとおり、作れば勝手に拾ってくれるわけではなので、きちんと検索エンジンに登録しましょう。

Google Search Console

サーチコンソールの「サイトマップ」をひらきます

ここにさきほど生成されたURLを入れればOK。

Bing Webmaster

うちのブログは全然Bingで出てこないので、こちらもサイトマップを登録しておきましょう。

BingはWebmasterというツール(https://www.bing.com/webmasters)で提供しています。見た目もほぼGoogleのサーチコンソールと同じなので迷うところはないんじゃないかなとおもいます。

こちらも左から「Sitemaps」のリンクをクリック。めちゃくちゃ寂しいページが・・・
「Submit sitemap」をクリックすると入力フォームがでるのでsitemap.xmlのURLをいれておきます。
Processing になったので受け取ってはくれてるみたいです。

これで検索エンジン用サイトマップについては一通り対応が終了しました。少しはアクセスが増えるといいな。

wp-sitemap.xmlを無効化する

最後にWordPress5.5で生成されるサイトマップXMLを出さないようにしましょう。

プラグインを使って無効にする

こちらのプラグインを使うと無効にできるみたいです。「Lightweight – only one line of code.」って書いてるからホンマかよ? と思ってソースコードを覗いてみましたが本当に一行でした(define行も含むと2行ですが)。

wp-sitemap.xmlをsitemap.xmlにリダイレクトする

リダイレクトする、とはwp-sitemap.xmlにアクセスがきたとき、スルーしてsitemap.xmlを見るように設定する方法です。

このブログはサーバ側の設定を「.htaccess」でいじれるので、こちらの方法で対応します。

リダイレクトの設定

苦手な人はバックアップを取りながら作業をすすめてください。

おそらくブログの置いてあるサーバにログインすると、一番上の階層に「.htaccess」が存在するはずです。WordPressの場合はここに何らかの設定がもともと書かれているので、ないということはほぼゼロじゃないかな……と思います。

もともと記述されている設定より「前」の部分に以下を追加します。

#wp-sitemap.xml
<IfModule mod_rewrite.c>
    RewriteEngine on
    RewriteBase /
    RewriteRule ^wp-sitemap.xml$ sitemap.xml [R=301,L]
</IfModule>
#wp-sitemap.xml

細かい説明は省きますが、ブラウザから「https://xxxxxx.com/wp-sitemap.xml」にアクセスがきたとい、wp-sitemap.xmlの内容は返さずに、恒久的に「https://xxxxxx.com/sitemap.xml」へと飛ばしてしまう設定、です。もちろん飛ばした先のsitemap.xmlの内容が返るようになります。

このブログの「https://n-e-j-m.xyz/wp-sitemap.xml」にアクセスしていただくと、ブラウザのURLが勝手に「https://n-e-j-m.xyz/sitemap.xml」に変わっているのがわかるかと思います。

正直、WordPressのプラグインで無効化しても全然いいと思います。どっちにしろアクセスさせたくないページですし。この辺は好みですね。

まとめ

最後のwp-sitemap.xmlを消すところは、ちょっとむずかしいところもあったでしょうか。

正直、そのままで悪影響があるかと言われると、ないです。もし間違って登録してしまっても、リダイレクトが設定できるのであればあとからでも対応できますし。自分の性格上、一緒にやらないと絶対やらないのでまとめてやってしまいました(笑)。

これでサーチコンソールにいちいち記事のURLを送信しなくてよくなる……はず。この記事を公開したら確認してみます。

コメントを残す

メールアドレスが公開されることはありません。 が付いている欄は必須項目です

CAPTCHA


このサイトはスパムを低減するために Akismet を使っています。コメントデータの処理方法の詳細はこちらをご覧ください