WordPressサイトをRailsで書き直しました

区分
エンディングパーク
報告者

こんにちは、kawaguchiです。

WordPressで動いていたエンディングパークを去年の6月頃にRailsで書き直しました。</br> その時にやったことを思い出しながら書きます。

gemのこと

WordPressのカテゴリはツリー構造になっていたので、ancestryというgemを使って同じデータ構造を作りました。

タグはacts-as-taggable-on。

画像アップロードはpaperclip。

認証はsorcery。

認可はcancan。

スマホはjpmobile。

そういえば開発当時は、Rails4のベータで出たばかりでした。

データ移行のこと

記事データは、データベースをcsvにエクスポートして、Rails側で取り込みました。

アイキャッチも同じくcsvを使い、記事IDをキーにしてファイルパスを取得して画像の移行をしました。

静的ファイルは、スクレイピングをして取り込みました。

SQL

WordPress時代のエンディングパークは、記事と辞典がメインコンテンツでした。
その記事と辞典で期待するレコードを吐くにはSQLがだいぶ違うこともあり、↓みたいな顔してSQLをこねていました。

画像・cssの移行のこと

Wordpressの管理画面からアップロードされた画像とtheme配下のassetsは、app/assets配下にそのままコピーし、
移行スクリプトの中で、今回取り込んだHTMLテキストのaタグに書いているパスをRails用のパスに書き換える処理を走らせました。

あわせて読みたい

WordPressには「あわせて読みたい」という類似記事(?)を表示するプラグインがあります。
Railsでどう実装しようか考えた結果、記事中に同じ単語が含まれているかでスコアリングして関連記事を抽出するようにしました。

自動キーワードリンク

同様に、本文中にある単語が任意の単語もしくは、記事に一致する場合にリンクを貼るプラグインがあります。
こちらも実装をしました。

レコード数が少ないので今は正規表現で対象の置換をしています。

URL

WordpressとRailsではURLが若干変わっているのでnginxでリライトするようにしました。
検索エンジンの評価やアクセス数が下がったようなことはなかったと思います。

まとめ

WordPress爆発しろ!!

トップページに戻る

技師部隊からの
お知らせ

【求人】エンジニア募集しています。

本頁の来客数
八十七万千百七十六名以上(計測停止中)

メンバー一覧

アクトインディ技師部隊員名簿

アクトインディ技師部元隊員

アクトインディへ

カテゴリー

アクトインディ

aaaa