「Blogger」URLから【?m=1】を削除したい
「Blogger」でブログを利用していると、スマホとPCでURLが重複しているのに、スマホでは、末尾に「?m=1」が付いていて、これって大丈夫なの?って心配していませんか。
「Blogger」では、スマホで閲覧時のURLリンクには、以前から「?m=1」が追加される仕様となっていますが、この「?m=1」を表示させないことができます。
URLから「?m=1」を表示させないようにするには、次の手順で行います。
テーマへ移動する
「Blogger」のダッシュボードに移動し、左側メニューにある「テーマ」を選択します
「テーマ」のページ内にある「カスマイズ」のボタンの隣にある「▼」をクリックし、「HTMLを編集」をクリックします。
テンプレートのソース(HTML)が表示されるので、ソース内を一度クリックしてから、ショートカットキー「Ctrl + F」で<head>を検索します。
大抵の場合、ソースの上部にあることが多いのですが、見つけにくい場合は、検索するとすぐに見つけられます。
<head>以下にスクリプトを追加する
テンプレートのHTML内にある<head>を見つけることができたら、以下のスクリプトを追加します。
<script type='text/javascript'>
//<![CDATA[
var uri = window.location.toString();
if (uri.indexOf("%3D","%3D") > 0) {
var clean_uri = uri.substring(0, uri.indexOf("%3D"));
window.history.replaceState({}, document.title, clean_uri);
}
var uri = window.location.toString();
if (uri.indexOf("%3D%3D","%3D%3D") > 0) {
var clean_uri = uri.substring(0, uri.indexOf("%3D%3D"));
window.history.replaceState({}, document.title, clean_uri);
}
var uri = window.location.toString();
if (uri.indexOf("&m=1","&m=1") > 0) {
var clean_uri = uri.substring(0, uri.indexOf("&m=1"));
window.history.replaceState({}, document.title, clean_uri);
}
var uri = window.location.toString();
if (uri.indexOf("?m=1","?m=1") > 0) {
var clean_uri = uri.substring(0, uri.indexOf("?m=1"));
window.history.replaceState({}, document.title, clean_uri);
}
//]]>
</script>
追加して、HTMLを保存すると、スマホからブログを閲覧した際に、リンクの末尾に「?m=1」が追加されなくなります。
<head>直下でなくても良いようです。
もっと短いスクリプトを追加したい
上記のスクリプトでは、うまく機能しない場合には、以下のコードを使用しても、URL から「?m=1」を表示させなくすることもできます。
<script>/*<![CDATA[*/ var uri = window.location.toString();if (uri.indexOf("?m=1","?m=1") > 0) {var clean_uri = uri.substring(0, uri.indexOf("?m=1"));window.history.replaceState({}, document.title, clean_uri); }; /*]]>*/</script>
絶対に「?m=1」は削除すべきか?
スクリプトを使用して「?m=1」を非表示にするやり方を説明しましたが、実際にはやらなくても良いのではないか。という疑問もあります。
「?m=1」が末尾に付く条件として、スマホやモバイルでの閲覧時に表示されると言うことです。PCでの閲覧時では、特定の条件以外では表示されません。
つまり、アクセス解析などで「?m=1」が付くリンクがあれば、それはスマホやモバイルからのアクセスだとわかるわけです。
どうしても、表示させたくないと言う場合にはお試しいただければと思います。