YONのドバトブログ

YONの土鳩ブログ

ゲーム好きの鳩"YON"がツイッターでは言い切れないことについて書き連ねるブログ

はてなブログの自動下線キーワードリンクを除去するフリーソフトを作った

この記事では、はてなブログ記事に自動追加される下線付きはてなブログタグリンクを、自作のフリーソフトを使って手早く除去する方法を解説する。ソフトはGitHubで公開中。

【2021/04/18 追記】pythonコードを直接実行する形式ではなく、exeファイルを実行する形式に変更した。Windowsを使っていない人は従来通り付属のpyファイルを使ってほしい。

f:id:YON_4:20210327191133p:plain

△こういうのが下線リンク

 

自動下線リンクの詳細

自動下線リンクは邪魔で汚く役に立たない、はてなブログにおける最たるゴミ仕様である。「スペシャル」「スプレーガン」「キューバンボム」など単語の区切り位置がおかしいクソリンクはいくらでもあるし、スマホでは誤タップを誘発する。

これを除去する方法は3つある。

  1. 有料のはてなブログProを使う
  2. CSS設定で非表示にする
  3. 自動リンク停止構文[]でキーワードを挟む

1は月額600円という少なくない費用が必要、2は「本来表示されるはずのリンクを非表示にしている」のでSEO上のリスクがあるほか、手法によっては下線が消えるだけでリンクはそのまま残ってしまう。というわけで一番無難なのは3だが、リンクが貼られているキーワード全てを[]で囲む必要があり手作業では面倒。というわけでプログラムの力を利用して、[]を効率よく挿入する

ちなみに、 []は編集画面で表示されるだけで、実際に閲覧する記事では表示されない。この記事の []は特殊な編集タグを使ってあえて表示させている。

 

下線リンク除去手順

事前準備

リンク先からファイル"hatena_remove_links.exe"を入手する。右上の緑色のCodeボタン→Download Zip→zipファイル解凍でOK

記事の下線リンクを除去する

  1. 記事を公開する
  2. hatena_remove_links.exeを実行する
  3. WindowsによってPCが保護されました」のウィンドウが出た場合、「詳細情報」→「実行」をクリックする *1
  4. 表示される指示に従い、記事のURLを入力してOKを押す *2

    f:id:YON_4:20210502024151p:plain

  5. 表示される指示に従い、記事のHTML編集本文を貼り付けてOKを押す。処理済のHTML本文が表示されると同時に、クリップボードにコピーされる
    f:id:YON_4:20210419014237p:plain

    f:id:YON_4:20210502024337p:plain

  6. クリップボードの中身をHTML編集本文に上書き貼り付けする
  7. 記事を更新する

プログラムの仕組み

  1. 入力された記事URLにアクセスする
  2. 記事中で"http://d.hatena.ne.jp/keyword/"から始まるリンクが貼られている単語を全て抜き出し、文字数順に昇順ソートしてA1, A2, A3,...とおく
  3. クリップボードのHTML編集本文中のA1, A2, A3,...を[]A1[], []A2[], []A3[],...にそれぞれ置換する

 

以前紹介した手法との違い・改善点

以前、Wordマクロを使って下線リンクを除去する方法を紹介したことがある。

自分は少し前までこのWordマクロを使っていた。この方法は記事のほぼ全ての箇所を[]で囲む力技で、記事公開前に実施できる利点があるが、ソースコード貼り付けやツイート埋め込みに対応していない欠点があった。いちいち様々な書式に対応するのも面倒なので、根本的に実装方針を変えることにした。

つまり、記事にアクセスして実際に下線リンクが貼られている単語を調べ、それらの単語だけを[]で囲む。一度記事を公開する必要はあるが、処理はすぐ終わるので大きな問題は無い。編集画面もスッキリして一石二鳥。気に入ったら是非使ってみてほしい(バグがあったら教えてほしい)。

 

 

*1:exeファイルが行う処理はhatena_remove_links.pyに書かれている。別に危険な処理をするわけではないが、万が一何らかの損害が発生しても責任は負わないので注意してほしい(詳細は付属のLICENSEを参照)。不安な人はhatena_remove_links.pyの中身をチェックした上で、python環境下で直接実行してもよい

*2:ここでアクセス許可を求める警告ウィンドウが出ることがある。「OK」や「許可」などを押して進めればOK