カテゴリー
Develop

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

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

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

カテゴリー
Develop

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

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

AddHandler php5-script .html

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

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

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

カテゴリー
Develop 未分類

movabletypeにSyntaxHighlighterを追加

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

/* syntaxhighlighter */
.syntaxhighlighter {
margin: -1rem 0 1rem 0 !important;
-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管理の検索|置換では検索しか正規表現が使えないため、の様に記事自体の変更はできないが、グローバルモディファイアとしてregex_replaceというのがあるのでそれを利用する。
(つまりビルド時に置換処理を行ってするということ)

カテゴリー
未分類

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

既存のURLを継承するためにではなく、を選択したというのに、エントリーアーカイブのネーミングルールが継承されず、デフォルトの”Entry-basename.“で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が、ジョンアップ(Movable type 3.35から5.161へバージョンアップ – apeirophobia)に伴い全て表出する事態が発生。
これまでの学習が継承されていないのかは不明。
とりあえず1000件/日ペースで投下されるため、学習させるのもしんどいな~ということで、幸いにImage:Magickがインストール済だったのでMT純正のを利用することに。
ただしテンプレートが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月ごろになったら触ってみよう。