アイテムやコメントに登場する外部リンクをリダイレクトに変更するプラグイン、NP_SEOの導入。
デフォルトではいくつか不具合があるので修正も含めて。
このブログではバンバン自動で外部リンクを張っていきたい感じです。まだ調整中ですがBulkfeedsの形態素解析によるキーワードと、NP_GoogleItを勝手に改変したやつでバリバリ自動リンク中。すでに重いですが。
はてなキーワードは明らかにさらに重いので後日。
アルゴリズムとか一切考えないでやってるのでキーワードの2乗とかに比例して重くなるはず。
NP_SEOはそういった外部リンクの濫用によって検索エンジンから嫌われることを防いでくれる、というか誤魔化してくれるものらしいですが、
- アンパサンドなどが復号できない場合がある。
- a要素内の属性をhref属性とtitle属性しか反映してくれない
という大きく二つの不具合があって躓いた。あと効果がないという話も。
前者はif($redirect)内で特殊記号を直してるところを
$trans_tbl = get_html_translation_table (HTML_ENTITIES);
$trans_tbl = array_flip ($trans_tbl);
$row->url = strtr ($row->url, $trans_tbl);
に変更して回避。マニュアル丸写し。
(追記)
アンパサンドの問題が解決できてなかったです。
正直に$row->url = str_repace("&","&",$row->url);で回避。
後者はちまちまa要素内の属性を正規表現でばらして再構成してます。コード割愛。汚くなっちゃったから。
一応今のところそれなりにまともに動いているようですが果たして……。
こういう処理順が重要なプラグインが増えていくと後々泣くことになりそうな……。