「がとらぼ」の中の人は大昔に作成した動画を除いてはほぼYouTubeにアップロードして、そのYouTube動画をブログ等に貼っているので動画というのはほぼYouTube。ウェブサイトに貼る他人の動画をも(ほぼ?)全てYouTubeのものなので基本的にはYouTubeの動画のメタ情報取得して構造化データに変換するツールを作れば良さそう。Google公式のYouTube Data APIが提供されているのでYouTube動画のページURLか動画IDからとても簡単に動画情報を取得できる。あとはその情報を加工してVideoObject構造化データ(動画構造化データ)を作成するだけ。この部分だけスクリプトでやらせれば良いかなと。
YouTube Data APIの使用制限が厳しくて1日に利用できる回数がかなり少ないです。そこで、このウェブツールは1IPアドレスから24時間で20回までの制限とさせていただきます。「悪いインターネット」はアクセスが少ないとはいえ1日「数人」が数回ずつ使用するだけで制限を迎える計算です。
使えないよということであったら恐らくYouTube Data APIの使用制限なのでゴメンナサイ。
Google XML Sitemapsプラグインは、WordPressのサイトマップを作成するだけでなく、更新した際にGoogleに通知する機能も持っています。この通知機能はPing送信機能と呼ばれます。しかし、このPing送信はあまり効果がないため、WordPressの標準のサイトマップ表示機能や他のサイトマップ出力プラグインにはあまり採用されていません。Ping送信が効果がないことは、前回の記事で説明しました。
このページでは改めてPing送信について説明します。
WordPressのXMLサイトマップ出力用プラグインにはXMLサイトマップのPing送信機能を持っているものがあります。WordPressのXMLサイトマップ出力用プラグインの中でも最も利用者が多いGoogle XML SitemapsプラグインにはPing送信機能があります。
このXMLサイトマップのPing機能はどのように動作するのか見てみましょう。
Google XML SitemapsプラグインでのPing送信はどのようなことをしているでしょうか。
2022年8月19日時点で最新版のバージョン 4.1.5 ではBingへの通知は無くなってGoogleにのみPing送信を行うようになっています。
WordPressの在り処/wp-content/plugins/google-sitemap-generator/sitemap-core.phpの2300行周辺にGoogleへのPing送信の処理が書かれています。
$ curl "http://www.google.com/webmasters/sitemaps/ping?sitemap=https://gato.intaa.net/sitemap.xml"
<html><meta http-equiv="content-type" content="text/html; charset=UTF-8">
<head><title>Google Webmaster Tools
-
Sitemap Notification Received</title>
<meta name="robots" content="noindex, noodp">
<script src="https://ssl.google-analytics.com/urchin.js" type="text/javascript">
</script>
<script type="text/javascript">
_uacct="UA-18009-2";
_utcp="/webmasters/";
_uanchor=1;
urchinTracker();
</script></head>
<body><h2>Sitemap Notification Received</h2>
<br>
Your Sitemap has been successfully added to our list of Sitemaps to crawl. If this is the first time you are notifying Google about this Sitemap, please add it via <a href="http://www.google.com/webmasters/tools/">http://www.google.com/webmasters/tools/</a> so you can track its status. Please note that we do not add all submitted URLs to our index, and we cannot make any predictions or guarantees about when or if they will appear.</body></html>
Google XML Sitemapsプラグインは、WordPressのXMLサイトマップを自動的に作成し、GoogleにXMLサイトマップの更新を通知することができる便利なツールです。しかし、Ping送信が正常に行われているかどうかは、WordPressの管理画面からは確認できません。「送信しました」という表示がアテにならないという意味です。WordPressのデータベースに直接アクセスして、Ping送信の結果を見る必要があります。
実行の際の最後に注意点として、Google XML Sitemapsプラグインでは「GA TID」という設定項目があります。これはGoogle Analytics(グーグルアナリティクス)用のトラッキングIDです。もしもこの設定項目を空白にしていると、Ping送信が行われない可能性があります。そのため、「GA TID」設定項目は必ず何らかの値(例えば「1」)を入力しておくことをお勧めします。このGA TIDの入力を必要とする挙動はGoogle XML Sitemaps v4.1.6で解消されています。
以上でGoogle XML SitemapsプラグインのPing送信結果確認方法と注意点をご紹介しました。
何故Ping送信がどうでも良い機能なのか
Google XML Sitemapsプラグインはsitemap.xmlのURLをGoogleにPing送信しますが、このsitemap.xmlはサイトマップインデックスファイルです。サイトマップインデックス(目次)には子サイトマップのURLが書かれています。子サイトマップにはコンテンツ(投稿/記事)URLやカテゴリ/タグなどのURLが書かれています。
サイトマップインデックスのURLをGoogleに送信するとGooglebotはすぐにサイトマップインデックスを取得します。しかし、サイトによりますが、子サイトマップはすぐにクロールするわけではありません。実際には、数日から数週間かかることもあります。これはGoogleが自分でクロールするタイミングを決めているからです。つまり、Ping送信しても子サイトマップやそこに書かれているコンテンツURLのページが早くクロールされる保証はありません。
前回の記事では、WordPress用のGoogle XML SitemapsプラグインのPing送信が必須ではないと書きましたが、Ping送信機能がどうでも良い理由がお分かりいただけたでしょうか。
XML SitemapsプラグインのPing送信先は以下になっています。 http://www.google.com/webmasters/sitemaps/ping?sitemap=サイトマップURL
後者は旧ウェブマスターツール系のURLになっています。プラグインが新しいURLを使わない理由を知りたいところです。