URL の正規化を実施 – https://www.senris.com の www を省略

update 最終更新日:2023年11月27日 at 1:34 PM

表題の通り、本サイトの正式なURL(https://www.senris.com)から www を省略し、https://senris.com へ変更しました。

これは、WordPress の管理画面の一般設定において、WordPress アドレス (URL) と サイトアドレス (URL) から www の記述を削除するだけで、簡単に URL の正規化が実施できます。

但し、URL の正規化を実施後、WordPress プラグイン 「Site Kit by Google」の設定において、 Search Console, AdSense, アナリスティックス, PageSpeed Insights への再接続が必要となりました。
その後、Google サーチコンソールの 「Search Console Insights」 と 「Google アナリスティックス4 プロパティ」との関連付けも行いました。

Google サーチコンソールの設定に関しては、現在はドメインプロパティへ移行していますが、www 無しの URL もインデックスに登録する必要があるため、Google インデックス に www 無しの URL をインデックス登録を依頼したところ、以下ワーニングが表示されました。

重複しています。Google により、ユーザーがマークしたページとは異なるページが正規ページとして選択されました

https://search.google.com › search-console

基本的に最初に登録した URL が正規と判断されるようなので、Google インデックスに関しては、途中からの URL 変更は難しいようです。

なお、URL の正規化に伴い、以下のプラグインで、www への内部リンクで何件かのリンクエラーが発生しました。そのため、Pz カード管理のツールにて、当該箇所のリンクエラーを修復しました。

URL の正規化は、 WordPress の設定変更だけで完結するはずなのですが、Pz カード管理でのリンクエラーの原因は良くわかりません。しかし、取りあえず修復できたので、この作業は完了と致します。

因みに、「CDN」を考慮する必要がある場合は、URL に www が有った方が良いとされていますが、 CDN のお世話になっていない当サイトには関係ない話なので、短くて済む www 無しの URL に統一することにしました。

2022.07.25 追記

Facebook の「いいね!」数に関する SSL 化対応へのプログラム修正

URLの正規化を実施したところ、トップページに設定された Facebook の「いいね!」数の値がおかしくなりました。
Facebook のシェアデバッガーで確認したところ、トップページの og:url プロパティの構築に誤りがありました。原因はソーシャルボタンを表示するプログラムのミスであり、URLを www 無しにした結果、トップページかどうかの判断ができなくなっていました。

“http://” の時代に書かれた古い記事は、og:url プロパティを旧URLでFacebookクローラーへ通知し、昔のいいね!数を維持させますが、トップページだけこの処理から除外するというロジックが破綻していました。

修正箇所は、social_buttons.php に2か所ありました。以下は、Facebook のいいね!ボタン表示部と OGP タグ設定部について、修正されたコードです。

$fb_appid = get_option('hpb_social_facebook_app_id');

$STR_DATA_HREF = get_permalink();
if ( 20200206 >= intval(get_the_date('Ymd')) ) {
  if ( $STR_DATA_HREF !== 'https://www.senris.com/' and $STR_DATA_HREF !== 'https://senris.com/' ) {
	  // TOPページ以外でなおかつSSL化前の記事だけ data-href のURLを古いURLに変更する
	  $STR_DATA_HREF = str_replace( 'https://', 'http://',$STR_DATA_HREF);
  }
}
$STR_OGP_URL = $STR_DATA_HREF;	// og:url

// Facebookいいね!ボタン表示
$facebook_like = '<div id="fb-root"></div>
<script async defer crossorigin="anonymous" src="https://connect.facebook.net/ja_JP/sdk.js#xfbml=1&version=v14.0&appId='.$fb_appid.'&autoLogAppEvents=1 nonce="********"></script>
<div class="fb-like" data-href="'.$STR_DATA_HREF.'" data-send="false" data-layout="'.$facebook_like_layout.'" data-width="'.$facebook_like_width.'" data-size="small" data-share="true"></div>'."\n";

$content_social .= $facebook_like;
 ・
 ・
// 以下は、再度、3~10行の処理を実行してから
//  ↓
<meta property="og:title" content="<?php the_title(); ?> | <?php bloginfo('name'); ?>"/>
<meta property="og:url" content="<?php echo esc_url($STR_OGP_URL); ?>"/>
<meta property="og:image" content="<?php echo esc_url(hpb_get_thumbnail_url($id,'large')); ?>"/>
<meta property="og:image" content="<?php echo esc_url(hpb_get_thumbnail_url($id,'medium')); ?>"/>
 ・
 ・
function hpb_get_thumbnail_url( $id, $size ) {
	// OGP用サムネイル画像のURL取得
	$thumbnail_url = get_the_post_thumbnail_url($id, $size);

	if ( !$thumbnail_url ) {
		$query = 'post_parent=' . $id . '&post_type=attachment&post_mime_type=image';
		$postImg = get_children($query);
		if ( !empty($postImg) ){
			$keys = array_keys($postImg);
			$num = $keys[sizeOf($keys)-1];
			$thumb = wp_get_attachment_image_src($num, $size);
			$thumbnail_url = clean_url($thumb[0]);
		} else {
			$thumbnail_url = get_bloginfo('template_directory').'/screenshot.jpg';
		}

	}
	
	return $thumbnail_url;
}

📝 14行目の「nonce=”********”」に記述された値(*)は、 Facebook for Developers から取得した値を記入します。

ソーシャルボタンについては、以下の記事で詳しく解説しています。

今回、全ての作業に3日を要しましたが、URL の正規化に併せて、WordPressにセキュリティのプラグイン Solid Security (iThemes Security) をインストールし、更にはスマホなどのレスポンシブに対応し、セキュリティが強化された画像掲示板のCGIプログラム Joyful Note X v2.0 に入れ替えました。

その後、パンくずリスト生成プログラム(schema.org対応)を入れ替えると共に、管理画面でのSNSボタン設定で「Google+」の削除、はてなブックマーク、TwitterなどのSNSのスクリプトとアイコンを最新版に変更しました。これらは、hpb22 体験版プログラム “social_buttons.php” から拝借させて頂きました。😅

2022.07.26 追記

Google インデックス登録

本日、Google サーチコンソールの URL 検査にて、 https://senris.com をチェックしたところ、以下のように、「URL は Google に登録されています」のメッセージが表示されました。
無事、URL の正規化後の URL が Google インデックスに登録されたようです。

なお、URL の正規化に伴い、Webサイトのコンテンツを Google のクローラーが構造的に把握できるように提示するデータ形式である「 構造化データ JSON-LD + schema.org 」を、以下の記事で紹介されたWordPress プラグイン「Markup (JSON-LD) structured in schema.org」において設定変更も行いました。

Google サーチコンソールへは、これらの処理を行ってから、正規化後の新しい URL を送信しています。

2022.08.01 更新
以下の通り、 Yoast SEO の導入により、プラグイン「Markup (JSON-LD) structured in schema.org」ならびに「hpb seo plugin for WordPress」, 「Google XML Sitemaps」は不要となったため、アンインストールしました。
また、パンくずリスト生成プログラムは、 hpb22 の breadcrumb.php に入れ替えています。

このエントリーをはてなブックマークに追加
X(ポスト)

コメントを残す