読者です 読者をやめる 読者になる 読者になる

カンボジアで働いている人の備忘録

24歳、なんかカンボジアで起業したみたいです(他人事)

未経験でWEB関連の仕事に取り掛かった - 2ヶ月弱経過

今日も今日とてコーディング。

作業の大半はPHPJavascriptが占めている。どっちも触り始めて1ヶ月半ぐらいだけど、言語自体はそれほど複雑ではないので助かってる。

その代わり、両方とも自由度が高いだけにコードが日に日に汚くなってる...いつかリファクタリングしないと、メンテコストが高くつきそうだ。

さて、ここ最近の作業を振り返ろうと思う。

検索機能を強化

既存のサイトはYiiフレームワークによって構築されていた。数行のコードで必要最低限の機能が全てジェネレートされるという、対費用効果バツグンの素敵仕様。ただ問題になるのが、このままではカユい部分に手が届かないことだった。

範囲検索が出来なかったり、日付や名前で絞り込んだ後にソートしたり、複数データをまとめて変更したり。そんな「こういうことが出来たらもっと便利なのになぁ」という要望は、フレームワークの仕様上実装できなかった。

フレームワークが提供する機能を解析してカスタマイズ、というやり方も考えたのだが、ライブラリをいじるなんて高度過ぎて私には無理だ。かといって「仕様上、貴方の要望は実装できません」とクライアントに言えるハズもなく。

だったらイチからやった方が確実だし早い。 そんなワケで、PHP+Javascriptを駆使して機能を自作した。実際とはかなり違うが、実装イメージはこんな感じ。

f:id:wn_trinity:20160421175147p:plain

クリックイベントなどの画面の制御はJavascriptで、データベースとのやりとりはPHPで。プログラミング言語にはフロントサイドとかサーバサイドとか色々あるらしいが、今回の件でやっと違いが分かった気がする。

ソースコードの中身はかなり汚くなったが、クライアントの要望は全て実装出来た。細かい部分のブラッシュアップは今後の課題として、ひとまずは完成。動けばいいんだ、動けば。

特定データの修正

現在データベース上には数千件のレコードが存在するのだが、一部の項目を修正する必要があった。

f:id:wn_trinity:20160421183012p:plain

問題なのは振り替え対象のデータが1000件以上あるということ。こんな作業、とてもじゃないが人力でやるワケにはいかない。抜き出すデータが決まっているならプログラムに任せてしまえばいいだろう。

PHP側で「YoutubeのリンクがDescription内に存在する場合、リンク部分を抽出して別カラムにコピーする」というプログラムを書いて、実行。一瞬で終了した。おコンピューター様は処理が早くて助かる。

HTTPS対応に伴う修正

検索結果の上位にサイトを表示させるため、いくつかSEO対策を行う必要があった。その内のひとつがHTTPS対応。「このサイトはセキュリティがしっかりしてますよ!」と証明するための通信方式、それがHTTPS

www.seohacks.net

HTTPS対応だが、本来ならSSL証明書の発行やhtaccessファイルなどのサーバ設定書き換えなどを行う必要がある。しかし今回は、その辺の面倒な設定はサーバ管理者が全て済ませてくれたようだ。

HTTPS移行直後はJavascriptGoogle APIを使ってる部分が軒並み死んでてちょっとビビッた。すぐにサイト内に仕込まれた「http://〜」というパスを「https://〜」または「//」に書き換えて、移行に伴う不具合を全て修正した。

パンくずリストの追加

パンくずリストが何かというと、Amazonなんかでよくみるコレのこと。

f:id:wn_trinity:20160425134546p:plain

いま自分がサイト内のどのページにいるのか、をユーザーに対して視覚的に分かりやすく伝えるために設置される。基本的にはユーザビリティ向上のために設置されることが多い。

が、今回はどっちかというとSEO対策が主な目的。検索結果にパンくずリストも表示されるため、ユーザーにクリックして貰いやすくなるという利点がある。

f:id:wn_trinity:20160425135612p:plain

パンくずリストにはもうひとつ利点がある。サーチエンジンの検索ロボット(クロウラー)の巡回頻度が増えるということだ。

パンくずリストの理想的な設定方法と作り方

とりあえずパンくずリスト自体の設置はできたが、修正の余地はまだまだある。SEOの効果を見つつ、適宜ブラッシュアップをしていきたい。

Sitemap.xmlの自動生成

サーチエンジン検索ロボットが効率的にサイト内の全ページを巡回出来るようにするための地図、それがSitemap.xmlファイルだ。当然これもSEO対策。

sitemaps.org - プロトコル

これをしっかり作ってないと、新しく作った商品ページが検索対象から漏れてしまうこともしばしば。動的に新たなページが生成され続けるDB連動サイトの場合、Sitemap.xmlは常に最新の状態に保っておく必要がある。

しかし現在の仕様に問題があった。毎回手動でSitemap.xmlを更新しなければならず、管理に手間が掛かるという点である。そこで動的にSitemapを生成するプログラムを組み、何もしなくても自動的に最新の状態になるように修正した。

これからの作業内容について

今までは細かな修正ばかりやってきたが、これからはもう少し難易度が上がりそうだ。

現状のサイトはスマホ対応しておらず、ユーザーや管理者にとって非常に使い勝手の悪い作りになっている。カンボジアではPCよりもスマホの普及率の方が圧倒的に高いのにも関わらず、である。

SEO的にもスマホ対応サイトは上位に表示されやすくなるため、コストや時間が掛かってもいずれはスマホ対応サイトを作る時が来るだろう...というのがクライアントの見立てだ。

そんなワケで、お試しで管理画面をスマホ対応させることになった。私のスキルセットで「スマホサイトを一から作る」という要望に応えられるのだろうか。期限は5月いっぱい。どこまで出来ることやら。

この経験が将来的にカネになるかどうかは分からないが、「ちょっとしたスマホサイトぐらいならチャチャっと作れますよー」というのは結構強みになりそうなので、出来る限り頑張ってモノにしてみようと思う。