こんにちは、レックです。
プログラマーとして活動しております。
最近は、ノーコードツールなどで簡単にホームページが作れるので、新規でホームページを作るというよりもリニューアル案件なども多いのではないのでしょうか。
「新規で作るのとリニューアルするのでそんな変わらないんじゃないか」
と余裕ぶっていた私ですが、納品時に苦労しました。

あんまりリニューアルの場合の納品について語っている記事が少なかったので、大変だった、、、
今回は、HPのリニューアル案件で納品するのに苦労した話ということでお話ししたいと思います。
リニューアル案件の納品で苦労している方に少しでも役立てばと思います。
HPのリニューアル案件で納品するのに苦労した話
前提を話すと、DreamWeaverで作ったサイトをWordpressサイトでリニューアルするというものでした。
レンタルサーバーがロリポップですので、ドメインと紐づくフォルダのことを公開フォルダと記載していますが、他のレンタルサーバーを使用している方はその点をご了承ください。
既存のサイトをhttp://example.com、example.comに紐づくフォルダをexampleとします。
また、ドメインとサーバーは変更しないケースです。
どうやってするん?
まず、リニューアル案件で「どうやって納品するのか」ということですが、私がやった方法を話すと、
今回の例ですと、exampleフォルダの直下に例えばtest(何でもいい)というフォルダを作成します。そこに、リニューアルサイトの内容(index.htmlなどのファイルや画像など)を入れていきます。
今回はWordpressで作成するので、http://example.com/testでwordpressをインストールします。
example.comがexampleフォルダですのでその配下の/testにwordpressをインストールするということですね。
WordPressなしでしたら、事前に作成したindex.htmlやstyle.cssなどのファイルや画像など全部をFTPソフトでtestフォルダにアップロードします。
リニューアルが出来たら、それをテストとしてクライアントに確認してもらいます。リニューアルサイトは、この時点でhttp://example.com/testで見れるかと思います。ただ、URLは既存のものと同じ(http://example.com/で見れるように)ままがいいのですよね。
その場合には、example.comに紐づくフォルダをexampleからexample/testに変更します。
ロリポップでしたら以下のように、


「公開フォルダ」という欄があるので、右の「確認・変更」からexample/testと記載します。
注意なのは、相対パスでしっかり書くことです。testだけだと動きません(testはあくまでサブディレクトリなのでルート直下からは参照できない)。



信じられないですが、私はこれで2時間溶かしました。
既存のサイトのファイルなどを消すのではなく、そのドメインと紐づいているドメインを変更することでリニューアルします。


ごちゃごちゃしてわかりづらいかも、、、
反映までに5〜10分ぐらいかかりますが、これでちゃんと映るはず、、、、
だったのですが、私の場合はTopページは表示されたのですが、下層ページが「Internal Server Error」になってしまい、また/wp-adminで管理画面に入ろうとしても同じく「Internal Server Error」が起きてしまいました(勘弁してほしい)。
URLがおかしい
よくよくURLを見ると、Topページの時はhttp://example.comで間違いないですが、
下層ページに遷移するとhttp://example.com/test/〜になってしまっています。
本来は、http://example.com/〜にしたいのですが、/test/〜だとそりゃあおかしくなります。
公開フォルダをexampleからexample/testに変更したので、http://example.com/はexample/testなのに、http://example.com/testだとexample/test/testになってしまいます(もちろん、testフォルダの直下にtestフォルダはありません)。



検証ツールでコードと睨めっこ、、
下層ページに遷移するためのaタグのhrefがhttp://example.com/test/〜になっています。もともと、wordpressではhome_url()ですが、公開フォルダを変更しただけではhome_url()が変わらず、公開フォルダ変更前の状態のままになっているかと思われます。
よって、home_url()を設定する必要がありますので、wp-config.phpファイル(testフォルダ直下)に
「define(‘WP_HOME’, ‘http://example.com’);
define(‘WP_SITEURL’, ‘http://example.com’);」
を追加します。
これで、aタグのhrefがちゃんと「http://example.com/〜」になりました。
ただ、まだエラーが消えません。
幸い、wp-adminでwordpressの管理画面には入れました。
パーマリンクの仕業



wordpressの管理画面になんかないかな、、
原因は「パーマリンク」でした。
「日付と投稿名」についていたのですが、公開フォルダを変える前のものは「カスタム構造」で「/%post_id%/」でした。
なのですぐにpost_idに変更したところ、改善しました!
皆さんも、パーマリンクを確認してみてください。
まとめ
公開フォルダの直下にサブディレクトリを作成して、公開フォルダをサブディレクトリに変更
wp-config.phpでhome_url()の設定
下層ページが「Internal Server Error」になる場合は、パーマリンクをチェック



ご覧いただきありがとうございました!

コメント