次のコードを使用して、サイトのすべてのHTTPページをhttps://
バージョンにリダイレクトしました。
<link rel="canonical" href="">
<script>
var url = window.location.href; // get current URL
var link = document.querySelector('link[rel=canonical]'); // get the link element
var changedUrl = [url.slice(0, 4), 's', url.slice(4)].join(''); // change the URL to https://
link.setAttribute('href', changedUrl); // set href attribute of link element
</script>
さて、私の質問は、Googleが動的に生成された標準タグを読み取り、通常の標準タグのようにインデックスを作成しますか?または、別のアプローチを試す必要がありますか?
はい。しかし、それは依存します。挿入の速さから。 jsでいくつかの遅延ロードシナリオをテストしたところ、Googleのキャッシュにアフターロードが表示されていることがわかりました。これは、onLoadが起動されてから5秒後にも発生します。ところで、fetch as googleで検索コンソールに表示することはできません。fetchas googleはプレビューの一種です。私は、ページ全体がグーグルとしてフェッチに表示されなかった場合でも、それが長すぎたために知っています:)
ただし、Googleの忍耐を伸ばさないでください。できるだけ早く読み込み時間を設定してください。そして、私たちが実行できるすべてのテストの有効性はかなり制限されています。なぜなら、私たちが制御する要因のほかに、このゲームにはどんな要因があるのかわからないからです。
私があなたなら、x-robots-tagでヘッダーにカノニカルを挿入します-Googleがページを読み取る場合、動的に行うことができ、タグはすでに挿入されています。
目的をhttpからhttpsに変更する場合は、正規のURLを使用しないでください。同じコンテンツを持つ2つのサイト(つまり、Googleがhttps/httpを表示する方法)を使用しないでください。プロバイダー(ホスティング)パネルに移動して、https://としてホームページに301を作成し、 https://with-and-without-www.com のGoogle Search Consoleをセットアップします。 =。次に、httpの代わりにwwwまたはnotの.htaccessリダイレクトコードとhttpsを追加する必要があります。
目的がSEOの場合
yoast(または同様の)ツールを使用できない場合は、このリンクが自動正規URL挿入の可能な解決策のように思えるかもしれません: https://github.com/missiondata/google-analytics-code-inserter-Perl -script
または: https://css-tricks.com/snippets/javascript/get-url-and-url-parts-in-javascript/
または: http://www.simoahava.com/seo/dynamically-added-meta-data-indexed-google-crawlers/