LaravelサイトのHTMLを直接修正して大丈夫? WordPressとの違いを実案件から考える
「これ、HTMLを直接直していいの?」
最近、Laravelで構築されたWebサイトを触る機会がありました。
Laravelそのものを使ってサイトを一から開発した案件ではありません。
すでに存在しているサイトについて、HTMLやCSSの一部を修正する必要がありました。
そこで最初に思ったのが、
「フレームワークで作られているサイトなのに、静的ファイルを直接変更して大丈夫なのか?」
ということでした。
普段WordPressを触ることが多いと、これはかなり気になります。
例えばWordPressなら、管理画面やテーマから生成されているHTMLをブラウザで見つけたからといって、出力結果を直接変更することはできません。
元になっているテーマファイルなどを修正します。
Laravelも同じなのではないか、と考えたわけです。
LaravelはCMSではなくフレームワーク
まず整理すると、LaravelはWordPressのようなCMSではありません。
PHPでWebアプリケーションを作るためのフレームワークです。
ざっくり言えば、
Webシステムを作るための土台
です。
WordPressの場合、
- 投稿
- 固定ページ
- 管理画面
- ユーザー管理
- テーマ
- プラグイン
などが最初から用意されています。
Laravelはもっと自由です。
どんなURLで何を表示し、どのデータを読み込み、どんな処理をするかを開発者が設計します。
publicディレクトリにあるもの
Laravelには通常 public ディレクトリがあります。
Webブラウザから直接アクセスされる公開領域です。
ここには、
- CSS
- JavaScript
- 画像
- favicon
- 静的ファイル
などを置くことがあります。
そのため、サイトによっては public 以下に普通のHTMLファイルが置かれていることもあります。
もしそのHTMLがLaravelのテンプレートから自動生成されるものではなく、
本当に静的ファイルとして公開されているもの
であれば、直接修正しても問題ありません。
重要なのはファイルの拡張子ではなく、
「そのファイルがどのように生成されているのか」
です。
routes/web.phpを見るとサイトの流れが分かる
LaravelでWebページのURLを管理する重要な場所のひとつが、
routes/web.php
です。
ここを見ると、
「このURLへアクセスされたときに、どの処理へ渡すのか」
といったルーティングが記述されています。
今回確認したサイトでは、特定のURLについてLaravel側で処理しつつ、その他は静的コンテンツを表示するような構成になっていました。
つまり、
Laravelだからサイト全体がLaravelテンプレートで作られているとは限らない
ということです。
静的HTMLとLaravelの機能が混在するサイトも作れます。
WordPressで例えるならどういう感覚か
WordPressに慣れていると、Laravelは少し分かりにくいかもしれません。
感覚的には、
「WordPressそのもの」
というより、
WordPressのようなシステムを作るための部品や仕組み
に近いです。
以前からPHPを触っている人なら、CodeIgniterなどのPHPフレームワークと同じジャンルと考えると分かりやすいでしょう。
EC-CUBEも内部にはフレームワーク的な構造があります。
画面上では普通のWebサイトに見えていても、裏ではURL、データベース、テンプレート、処理が分離されています。
直接変更して危険なファイルもある
もちろん、
「publicにあれば何でも直接直していい」
という意味ではありません。
例えばビルドツールによって自動生成されるCSSやJavaScriptを直接変更すると、次回ビルド時に上書きされる可能性があります。
またテンプレートから生成されたファイルを直接変更しても、元データが更新されれば消えてしまいます。
そのため最初に確認したいのは、
- このファイルは手書きか
- ビルドによる生成物か
- Bladeテンプレートから出ているか
- Gitなどで管理されているか
- デプロイ時に上書きされないか
といった点です。
AIで作られたサイトでは特に構造確認が重要
最近ではClaudeなどのAIにWebサイトやシステムを作ってもらうケースも増えています。
本人は、
「AIにサイトを作ってもらった」
と認識していても、実際の中身を見るとLaravelだったりNext.jsだったり、独自の構成になっていたりします。
利用者自身が技術構成を決めていないこともあります。
だからこそ修正を依頼された側は、
見た目だけで判断せず、まず構造を確認する
必要があります。
フレームワークだから触れないわけではない
今回自分の中で整理できたのは、
「Laravelだから静的HTMLを直接変更してはいけない」
という考え方ではない、ということです。
重要なのは、
そのHTMLがシステムの中でどういう役割を持っているか
です。
普通の静的ファイルなら普通に修正できる。
Laravel側で管理されているページなら、正しいテンプレートや処理を修正する。
この判断さえできればいいわけです。
AIによるWeb制作が増えてくると、
「何で作られているのか分からないサイトを引き継ぐ」
仕事も増えてくる気がします。
これからはHTMLやWordPressだけではなく、
サイトの構造を読み解く力
が、ますます必要になりそうです。