Google様の激しいhttps推進に対応するために記事内のリンクの修正を開始しました。

現在の当サイト記事内リンクの問題点


現在の当サイトの記事内で記載しているリンクには3つほど問題点があります。

  • mixedコンテンツがある
  • プロトコルを省略しているリンクがある
  • httpsで配信しているサイトもhttpで書いてるところがある

ちょっとめんどくさいので順番に超簡単に説明します。

mixedコンテンツ問題

うちのサイトだとAmazonアフィリエイトの画像とか一部CSSとかでプロトコルがhttpで記述しているところがあって、これの何が問題になるかというと、うちのサイト自身はhttpsにしていても内部のリソースでhttpが含まれてると「安全じゃないサイトですよ判定」されてしまうやつですね。

プロトコルを省略しているリンク

これ自体の詳しい説明は下記の記事みてください。

リンクのhttp:https:を省略して現在のプロトコルでリンク先にアクセスさせる

コレはRFC的にもOKな上に、もともとGoogle様も推奨していたのですが、Google様が「やっぱなし」とか言い出して、とあるChromeのバージョンからプロトコルを省略しているリンクは 全部httpsで接続しに行くという ことをやりだしはじめたんですよ。で、これの何が困るかというと、私は全部省略して記述していたのですが、そうすると「httpでしか配信してないサイトもChromeだとhttpsで接続しに行く」その結果セキュリティの警告がでるというユーザーアンフレンドリーな状況を作り出してしまうわけですよ。かなり前から認識はしていたのですが、ちょっとええ加減なおさなアカンな。と。

httpsで配信しているサイトもhttpで書いてるところがある

なんでか知らないんですがhttpsで配信してるサイトもなぜかhttpでリンクを書いてるところがあって、これは明らかに記事を書くときに自分がやらかしてしまっているので、なんでそんなことになってるのか自分に聞きたいのですが皆目見当もつかないです。これに関してはぶっちゃけ私的には無害なんですが、リダイレクトが発生したりしてユーザと参照先のサイトにとってあんまりよくないなぁ。と思ったので直すことにしました。

対応方法


検索かけて置換です。割とマジです。自動でやるとすれば…

  • 記事内のhttpもしくはプロトコルの指定されていないリンクを抽出する
  • リンク先がhttpsに対応しているかどうか確認する
  • 対応しているのであればhttpsを付与する

というスクリプトを書くことになるのではないかと思います。

しかしながら、私が検索をかけた結果だとおおよそ200件くらいで、しかも結構同一ドメインのものもあったので、ぶっちゃけ手でやった方がはやいんじゃないかと思ったので手でやることにしました。こういう時ってエンジニアはいかに自動でやるかにこだわってしまうのですが、同じ結果が出せてはやい(&作業に飽きない)のであれば今回のように手でやるというのも正しい選択だと思います。エンジニアってそういうところも含めて判断するものじゃないですか。あと、私はこんな本質的じゃないところを何とかするプログラムで時間かけたくないですし。そもそも、わたくしぃ、先日書いた通りエンジニアではございませんのでぇ…