カテゴリー
Develop

Movable typeからWordPress移行のリダイレクト設定

Movable Type (以降MT) からWordpress (以降WP) へ移行した際のリダイレクト設定に関するメモ。移行仕様は以下(URLはダミー)

URLCMS
旧サイトhttps://old.img8.com/Movable Type
新サイトhttps://new.img8.com/WordPress

課題

  • MTの投稿URLを”MTEntryID”で設定していた。
  • MTの投稿Exportで”MTEntryID”は出力されない。
  • “MTEntryID”をWPへImportできない。
  • WPにMTのURLを継承できなかった。

このため、旧サイトの投稿URLをすべて新サイトの投稿URLにリダイレクトさせる必要がある😭

※後日、”MTEntryID”をExportする方法を発見😅 ( [WordPress]IDを維持したままMovable Type 3.2からWordPress2.0.2へ移行する )

カテゴリー
Develop SPAM

Movable type バージョンアップに伴うSPAM対策(2)

Movable type バージョンアップに伴うSPAM対策 – APEIROPHOBIAからの続き。
CAPTCHAでスパム投稿自体が減るかな?と思っていたのですが、実際公開されていないだけでスパムフィルタによって保留コメントにされているだけの状態でした。
しかも投稿数が400件/日ぐらいの量のため、人力で学習させる許容を超えていたため、別の方法を検討。
今回導入したプラグインはMT-Keystrokes
仕組みを簡単に書くと、コメント入力欄と投稿ボタンを人が操作しているかチェックすることで振り分けを行う感じ。hidden変数でその値をチェックしているだけなので、普及率が高くなれば対抗されてしまう可能性はあるけれど、藁にもすがる現状ということで試してみる。
導入はプラグインをインストールしてCommentsテンプレートを3箇所ほど変更するだけと非常に簡単ですが、一点注意があります。
上記サイト上からはv0.1.5として提供されていますが、実際ダウンロードされるのは0.1.4。
ダウンロードURLを0.1.5に変えると0.1.5がダウンロードできるのですが、導入してみたところ何故か正常な投稿もブロックされる状態になったため、0.1.4をStable versionとして利用しております。
ということでSPAMコメントの動向を見守りたいと思います。

カテゴリー
Develop

Movable type5.1でPHPインクルードを使ったスマホサイト切り分け

CSSなどのPC/スマフォの切り分けはCSS内で対応したのですが、GoogleのAdsense、AmazonのアフェリエイトバナーなどはJSなどで切り分けるとNGのようなので、サーバ側での切り替えを行うことに。
WordPressには”wp_is_mobile()”などという便利な関数があるらしいのですが、MTにはそれらしいものが見当たらず。MTIncludeなどを調べてみましたが、どーも対応できないっぽい。ダイナミックパブリッシングに関しての記述は多々あったのだけど、結構トラブル多いみたいなのでスタティックのまま、PHPインクルードで対応する方法を模索。
Googleさんで検索しても、マッチする情報が無かったので一応メモしておく。
まずはhtml拡張子で、phpが動作するように.htaccessを設定。
hetemlの場合はヘテムルレンタルサーバー|よくある質問:拡張子 .html で PHP を動作させたい。ということで、以下のみを設定してアップ。(他のBlogではgzip解除とか記述がありましたが、こちらは以下のみで稼働した)

AddHandler php5-script .html

次にブログ側の設定。
MT管理画面内対象ブログの「全般設定/モジュール設定」内

  • 「サーバーサイドインクルード」を「PHPのインクルード」に設定。
  • 「モジュールのキャッシュ:再構築の速度向上のために、テンプレートモジュール毎のキャッシュ設定を有効にする」はとりあえずOFF。(このへんはまた後日最適化)

これでブログの設定は完了。

カテゴリー
Develop 未分類

movabletypeにSyntaxHighlighterを追加

HTML上に記述されたソースコードを整形、強調表示してくれるJSライブラリSyntaxHighlighterを、MT5にインストール。
MT3の時から利用していたが、しばらくみないうちにFlash連携によるコピペの機能などが割愛され、完全JS駆動になっておりました。(スマホ展開などが理由でしょうけど)
で、MT4のプラグイン化されたものがあり、これを使うと記事作成画面のフォーマットから制御できるらしい。
SyntaxHighlighter for Movable Type | kwLog
便利そうではあるが、コード部分の指定労力が最新版SyntaxHighlighterのと大差ない感じだったので、本家の最新版をインストール。
インストールは特に悩むことも無く、JSとCSSを一式アップロード。
利用する言語のブラシJSだけを読み込み処理して、Styleも適当に。
これで終わり。
ただなぜか縦スクロールが表示されて不格好な感じになっていたので、CSSを以下のように調整。
これで縦スクロールはでなくなった。(どっかの外人がoverflow-y: hidden !important;だ!とか書いていたけど・・)

/* syntaxhighlighter */
.syntaxhighlighter {
margin: -1rem 0 1rem 0 !important;
font-size: 1.4rem !important;
padding: 1rem 0;
}
カテゴリー
Develop

投稿済み記事内のyoutube動画をスマホ幅に合わせて表示

CSSの設定など大枠はYoutubeやHTML5video等の埋め込み動画のサイズをwindow幅に合わせて動的にリサイズ/可変にする方法 | HTML5 – CSS3 magを参考に。
ここではMovable Typeでのタグの置換方法について。
記事内に埋め込まれているタグは

<iframe width="519" height="264" src="http://www.youtube.com/embed/uFoe0kcKGFg" frameborder="0" allowfullscreen></iframe>

な感じ。これをサイズ制御用のdivで囲む必要がある。
Movable Type管理画面の検索|置換では検索しか正規表現が使えないため、WordPressの様に記事自体の変更はできないが、グローバルモディファイアとしてregex_replaceというのがあるのでそれを利用する。
(つまりビルド時に置換処理を行ってHTMLを生成するということ)

カテゴリー
未分類

Movable type バージョンアップに伴うEntryページURLの継承

既存ページのURLを継承するためにWordPressではなく、MovableTypeを選択したというのに、エントリーアーカイブのネーミングルールが継承されず、デフォルトの”Entry-basename.html”でEntryページが生成されているという事実が発覚。
バージョンアップ後投稿、編集したEntryはその名前でページ生成され、アーカイブ系ページからのリンク先もそのネーミングルールでリンクが設定。ただし、既存EntryページはそのままEntryIDベースの名前で生成されているため、全体としてリンクDeadのカタマリの状態になっていた。
そもそもアーカイブマッピング設定がバージョンアップで継承されないというのは予想外だったのだけど、それ以前にDB移設に伴うEntryIDの非継承を考慮するのを失念していた。
ということで、以前のEntryIDと新DBのEntryIDの一致を確認。(簡単にEntryIDの確認するには、MT管理画面の既存エントリー編集画面のURL内のidの値を参照)
幸いにも丸っとDBごと移植したからか、ズレは発生していなかった。
ということでEntryページのマッピングをEntryIDベースに変更する。
MTの管理画面から[デザイン]/[テンプレート]/[アーカイブテンプレート]:[Entry]を選択してテンプレート編集画面へ。
最下部の[テンプレートの設定]ブロック内の[アーカイブマッピング]部分から[カスタム]を選択し、以下設定。

%y/%m/%e.html

その他のルールを定義したい場合などは以下を参考に

カテゴリー
Develop SPAM

Movable type バージョンアップに伴うSPAM対策

これまでSPAMフィルターで表出していなかったSPAMが、バージョンアップ(Movable type 3.35から5.161へバージョンアップ – apeirophobia)に伴い全て表出する事態が発生。
これまでの学習が継承されていないのかは不明。
とりあえず1000件/日ペースで投下されるため、学習させるのもしんどいな~ということで、幸いサーバにImage:Magickがインストール済だったのでMT純正のCAPTCHAを利用することに。
ただしカスタムテンプレートがCAPTCHA非対応だったので、MTデフォルトのテンプレートに変更。
これでガツッと投稿レベルで全部ブロックできました。
[追記 20140117]
どうもCAPTCHAでは投稿自体をブロックできる状態ではないようなので、違う対策を検討することにしました。
Movable type バージョンアップに伴うSPAM対策(2) – APEIROPHOBIA

カテゴリー
Develop

Movable type 3.35から5.161へバージョンアップ

7年ぐらい前からver.3.35のままだった本ブログのシステムを、やっとこアップグレードしました。
途中ver.4を経由してアップグレードを試み失敗したりと右往左往しましたが、なんとか無事アップグレードできたのではないかと・・・(ただテンプレートがそのままってのはちょっと意外でしたけど・・・テンプレートってDBに入っているのかしら?)
いや、まだ詳しく確認してないので、なにか途方も無いバグを内包しているのかもしれません。
余力があったら詳細書きます

カテゴリー
Develop

Aqueous surface


Videoタグを書いて貼り付けていたけれど、Instagram謹製のEmbedタグが用意されておりました。
ま、iframeな訳ですけれど。
ということでテスト

カテゴリー
未分類

タグ機能がついたんだすね

MT3.3からタグ機能が追加されていた。
うれしいのだけど、テンプレートが昔のものをベースにカスタムしたものなので、機能していない。
といってMTのテンプレートとかいじる暇は無い。
12月ごろになったら触ってみよう。